fix status bar not being transparent on some devices

This commit is contained in:
tibbi 2023-02-07 14:41:45 +01:00
parent c1c9b62102
commit c09cf0a618
2 changed files with 33 additions and 28 deletions

View File

@ -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)

View File

@ -8,6 +8,7 @@
<item name="android:windowActionBar">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:enforceNavigationBarContrast">false</item>
<item name="android:windowTranslucentStatus">true</item>
</style>
<style name="Widget.App.Button.OutlineButton.IconOnly" parent="Widget.MaterialComponents.Button.TextButton">