diff --git a/app-glasses/src/main/kotlin/pw/binom/viewmate/glasses/MainActivity.kt b/app-glasses/src/main/kotlin/pw/binom/viewmate/glasses/MainActivity.kt index 9a1a0c6..e748df6 100644 --- a/app-glasses/src/main/kotlin/pw/binom/viewmate/glasses/MainActivity.kt +++ b/app-glasses/src/main/kotlin/pw/binom/viewmate/glasses/MainActivity.kt @@ -23,6 +23,8 @@ import androidx.compose.ui.unit.dp import pw.binom.viewmate.glasses.ui.GlassesMovieScreen class MainActivity : ComponentActivity() { + private var resumeAfterScreenOn = false + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) @@ -43,9 +45,21 @@ class MainActivity : ComponentActivity() { log("ui", "иммерсивный режим включён") } + override fun onPause() { + super.onPause() + val was = GlassesApp.instance.movieController.pauseIfPlaying() + resumeAfterScreenOn = was + if (was) log("ui", "экран погас — пауза") + } + override fun onResume() { super.onResume() hideSystemBars() + if (resumeAfterScreenOn) { + resumeAfterScreenOn = false + GlassesApp.instance.movieController.resume() + log("ui", "экран включён — продолжаю") + } } private fun hideSystemBars() { diff --git a/app-glasses/src/main/kotlin/pw/binom/viewmate/glasses/MovieController.kt b/app-glasses/src/main/kotlin/pw/binom/viewmate/glasses/MovieController.kt index 450be76..732e355 100644 --- a/app-glasses/src/main/kotlin/pw/binom/viewmate/glasses/MovieController.kt +++ b/app-glasses/src/main/kotlin/pw/binom/viewmate/glasses/MovieController.kt @@ -162,8 +162,12 @@ class MovieController(private val context: Context) { return wasPlaying } - /** Продолжить с того же места (связь восстановилась). Только с главного потока. */ + /** Продолжить с того же места (связь восстановилась / экран включён). Только с главного потока. */ fun resume() { - _player?.play() + val player = _player ?: run { + log("glasses", "resume проигнорирован: плеер не активен") + return + } + player.play() } }