From 877e7c6ec1404314ac0413b43d9183e4e98b4656 Mon Sep 17 00:00:00 2001 From: mcc Date: Tue, 12 Dec 2023 18:01:18 -0500 Subject: [PATCH] Adjust ViewMediaActivity FLAG_KEEP_SCREEN_ON logic to support swipe gestures --- .../com/keylesspalace/tusky/ViewMediaActivity.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/ViewMediaActivity.kt b/app/src/main/java/com/keylesspalace/tusky/ViewMediaActivity.kt index f0943264c..4569ca1dc 100644 --- a/app/src/main/java/com/keylesspalace/tusky/ViewMediaActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/ViewMediaActivity.kt @@ -125,6 +125,7 @@ class ViewMediaActivity : BaseActivity(), HasAndroidInjector, ViewImageFragment. binding.viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() { override fun onPageSelected(position: Int) { binding.toolbar.title = getPageTitle(position) + adjustScreenWakefulness() } }) @@ -157,10 +158,7 @@ class ViewMediaActivity : BaseActivity(), HasAndroidInjector, ViewImageFragment. } }) - // Prevent this activity from dimming or sleeping the screen if it is playing video or audio - if (attachments!![binding.viewPager.currentItem].attachment.type != Attachment.Type.IMAGE) { - window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) - } + adjustScreenWakefulness() } override fun onCreateOptionsMenu(menu: Menu): Boolean { @@ -348,6 +346,15 @@ class ViewMediaActivity : BaseActivity(), HasAndroidInjector, ViewImageFragment. shareFile(file, mimeType) } + // Prevent this activity from dimming or sleeping the screen if, and only if, it is playing video or audio + private fun adjustScreenWakefulness() { + if (attachments!![binding.viewPager.currentItem].attachment.type == Attachment.Type.IMAGE) { + window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) + } else { + window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) + } + } + override fun androidInjector() = androidInjector companion object {