From c09cf0a6186357416428a3c6d7e8d69f7fc7f898 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 7 Feb 2023 14:41:45 +0100 Subject: [PATCH] fix status bar not being transparent on some devices --- .../camera/activities/MainActivity.kt | 60 ++++++++++--------- app/src/main/res/values/styles.xml | 1 + 2 files changed, 33 insertions(+), 28 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt index bfcdeb3d..4ff9588e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/MainActivity.kt @@ -117,31 +117,6 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera } } - private fun selectPhotoTab(triggerListener: Boolean = false) { - if (!triggerListener) { - removeTabListener() - } - - camera_mode_tab.getTabAt(PHOTO_MODE_INDEX)?.select() - setTabListener() - } - - private fun selectVideoTab(triggerListener: Boolean = false) { - if (!triggerListener) { - removeTabListener() - } - camera_mode_tab.getTabAt(VIDEO_MODE_INDEX)?.select() - setTabListener() - } - - private fun setTabListener() { - camera_mode_tab.addOnTabSelectedListener(tabSelectedListener) - } - - private fun removeTabListener() { - camera_mode_tab.removeOnTabSelectedListener(tabSelectedListener) - } - override fun onResume() { super.onResume() if (hasStorageAndCameraPermissions()) { @@ -154,10 +129,10 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) ensureTransparentNavigationBar() - } - private fun ensureTransparentNavigationBar() { - window.navigationBarColor = ContextCompat.getColor(this, android.R.color.transparent) + if (ViewCompat.getWindowInsetsController(window.decorView) == null) { + window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + } } override fun onPause() { @@ -186,6 +161,35 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera } } + private fun selectPhotoTab(triggerListener: Boolean = false) { + if (!triggerListener) { + removeTabListener() + } + + camera_mode_tab.getTabAt(PHOTO_MODE_INDEX)?.select() + setTabListener() + } + + private fun selectVideoTab(triggerListener: Boolean = false) { + if (!triggerListener) { + removeTabListener() + } + camera_mode_tab.getTabAt(VIDEO_MODE_INDEX)?.select() + setTabListener() + } + + private fun setTabListener() { + camera_mode_tab.addOnTabSelectedListener(tabSelectedListener) + } + + private fun removeTabListener() { + camera_mode_tab.removeOnTabSelectedListener(tabSelectedListener) + } + + private fun ensureTransparentNavigationBar() { + window.navigationBarColor = ContextCompat.getColor(this, android.R.color.transparent) + } + private fun initVariables() { mIsHardwareShutterHandled = false mediaSoundHelper = MediaSoundHelper(this) diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index b9b56009..c5fbb377 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -8,6 +8,7 @@ false shortEdges false + true