diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 86d309e..9e768e4 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -11,10 +11,15 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
-
+
+ android:label="@string/app_name"
+ android:screenOrientation="portrait">
diff --git a/app/src/main/java/org/mosad/teapod/PlayerActivity.kt b/app/src/main/java/org/mosad/teapod/PlayerActivity.kt
index 19e317f..bfca283 100644
--- a/app/src/main/java/org/mosad/teapod/PlayerActivity.kt
+++ b/app/src/main/java/org/mosad/teapod/PlayerActivity.kt
@@ -1,8 +1,12 @@
package org.mosad.teapod
import android.net.Uri
+import android.os.Build
import android.os.Bundle
+import android.util.Log
import android.view.View
+import android.view.WindowInsets
+import android.view.WindowInsetsController
import androidx.appcompat.app.AppCompatActivity
import com.google.android.exoplayer2.ExoPlayer
import com.google.android.exoplayer2.MediaItem
@@ -26,9 +30,11 @@ class PlayerActivity : AppCompatActivity() {
private var currentWindow = 0
private var playbackPosition: Long = 0
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_player)
+ hideBars() // Initial hide the bars
streamUrl = intent.getStringExtra("streamUrl").toString()
}
@@ -68,7 +74,7 @@ class PlayerActivity : AppCompatActivity() {
private fun initPlayer() {
if (streamUrl.isEmpty()) {
- println("no streamUrl set")
+ Log.e(javaClass.name, "No stream url was set.")
return
}
@@ -87,13 +93,18 @@ class PlayerActivity : AppCompatActivity() {
super.onPlaybackStateChanged(state)
loading.visibility = when (state) {
- ExoPlayer.STATE_READY -> View.GONE
+ ExoPlayer.STATE_READY -> View.GONE
ExoPlayer.STATE_BUFFERING -> View.VISIBLE
else -> View.GONE
}
}
})
+ // when the player controls get hidden, hide the bars too
+ video_view.setControllerVisibilityListener {
+ if (it == View.GONE) hideBars()
+ }
+
video_view.player = player
}
@@ -104,4 +115,20 @@ class PlayerActivity : AppCompatActivity() {
player.release()
}
+ /**
+ * hide the status and navigation bar
+ */
+ private fun hideBars() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+ window.setDecorFitsSystemWindows(false)
+ window.insetsController?.apply {
+ hide(WindowInsets.Type.statusBars() or WindowInsets.Type.navigationBars())
+ systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE
+ }
+ } else {
+ @Suppress("deprecation")
+ window.decorView.systemUiVisibility =
+ (View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)
+ }
+ }
}
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index fac9291..e84605b 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -7,4 +7,12 @@
- @color/colorAccent
+
+
+
\ No newline at end of file