Skip to content

Commit 3211e93

Browse files
authored
Fix the exampe apps on API 35+ (#77)
1 parent ce36cdf commit 3211e93

File tree

6 files changed

+42
-3
lines changed

6 files changed

+42
-3
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@
1111
android:roundIcon="@mipmap/ic_launcher_round"
1212
android:supportsRtl="true"
1313
android:theme="@style/Theme.MuxVideoMedia3"
14-
tools:targetApi="31">
14+
>
1515
<activity
1616
android:name=".examples.carousel.PlayerCarouselActivity"
1717
android:screenOrientation="sensorPortrait"
1818
android:exported="false"
19+
android:theme="@style/Theme.MuxVideoMedia3.NoActionBar"
1920
tools:ignore="LockedOrientationActivity" />
2021
<activity
2122
android:name=".examples.BasicPlayerActivity"

app/src/main/java/com/mux/player/media3/MainActivity.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ import android.os.Bundle
66
import android.view.LayoutInflater
77
import android.view.View
88
import android.view.ViewGroup
9+
import android.widget.Toast
910
import androidx.appcompat.app.AppCompatActivity
11+
import androidx.core.view.ViewCompat
12+
import androidx.core.view.WindowInsetsCompat
13+
import androidx.core.view.updatePadding
1014
import androidx.recyclerview.widget.LinearLayoutManager
1115
import androidx.recyclerview.widget.RecyclerView
1216
import com.mux.player.media3.databinding.ActivityMainBinding
@@ -25,6 +29,19 @@ class MainActivity : AppCompatActivity() {
2529
super.onCreate(savedInstanceState)
2630
binding = ActivityMainBinding.inflate(layoutInflater)
2731
setContentView(binding.root)
32+
33+
ViewCompat.setOnApplyWindowInsetsListener(binding.mainExampleTb) { v, insets ->
34+
val bars = insets.getInsets(
35+
WindowInsetsCompat.Type.systemBars()
36+
or WindowInsetsCompat.Type.displayCutout()
37+
)
38+
v.updatePadding(
39+
top = bars.top,
40+
bottom = bars.bottom,
41+
)
42+
WindowInsetsCompat.CONSUMED
43+
}
44+
2845
examplesView.layoutManager = LinearLayoutManager(this)
2946

3047
binding.mainExampleTb.apply {

app/src/main/java/com/mux/player/media3/examples/BasicPlayerActivity.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.util.Log
66
import android.widget.Toast
77
import androidx.annotation.OptIn
88
import androidx.appcompat.app.AppCompatActivity
9+
import androidx.core.view.WindowCompat
910
import androidx.media3.common.MediaMetadata
1011
import androidx.media3.common.PlaybackException
1112
import androidx.media3.common.Player
@@ -32,6 +33,9 @@ class BasicPlayerActivity : AppCompatActivity() {
3233

3334
override fun onCreate(savedInstanceState: Bundle?) {
3435
super.onCreate(savedInstanceState)
36+
37+
WindowCompat.setDecorFitsSystemWindows(window, true)
38+
3539
binding = ActivityBasicPlayerBinding.inflate(layoutInflater)
3640
setContentView(binding.root)
3741
}

app/src/main/java/com/mux/player/media3/examples/ConfigurablePlayerActivity.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ import android.widget.Toast
1414
import androidx.annotation.OptIn
1515
import androidx.appcompat.app.AppCompatActivity
1616
import androidx.constraintlayout.widget.ConstraintLayout
17+
import androidx.core.view.ViewCompat
18+
import androidx.core.view.WindowInsetsCompat
19+
import androidx.core.view.updatePadding
1720
import androidx.media3.common.MediaItem
1821
import androidx.media3.common.MediaMetadata
1922
import androidx.media3.common.PlaybackException
@@ -52,6 +55,18 @@ class ConfigurablePlayerActivity : AppCompatActivity() {
5255
binding = ActivityConfigurablePlayerBinding.inflate(layoutInflater)
5356
setContentView(binding.root)
5457

58+
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
59+
val bars = insets.getInsets(
60+
WindowInsetsCompat.Type.systemBars()
61+
or WindowInsetsCompat.Type.displayCutout()
62+
)
63+
v.updatePadding(
64+
top = bars.top,
65+
bottom = bars.bottom,
66+
)
67+
WindowInsetsCompat.CONSUMED
68+
}
69+
5570
if (savedInstanceState != null) {
5671
playbackParamsHelper.restoreInstanceState(savedInstanceState)
5772
}

app/src/main/res/layout/activity_basic_player.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
<androidx.media3.ui.PlayerView
1111
android:id="@+id/player"
1212
android:layout_width="match_parent"
13-
android:layout_height="320dp"
13+
android:layout_height="0dp"
14+
app:layout_constraintDimensionRatio="4:3"
1415
app:layout_constraintTop_toTopOf="parent" />
1516

1617
</androidx.constraintlayout.widget.ConstraintLayout>

app/src/main/res/layout/activity_configurable_player.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
<androidx.media3.ui.PlayerView
1414
android:id="@+id/player"
1515
android:layout_width="match_parent"
16-
android:layout_height="320dp"
16+
android:layout_height="0dp"
17+
app:layout_constraintDimensionRatio="4:3"
1718
app:layout_constraintTop_toTopOf="parent" />
1819

1920
<LinearLayout

0 commit comments

Comments
 (0)