Fix crash on API < 30 and light theme (#2774)
This commit is contained in:
parent
a65f846929
commit
3c06517d9e
|
@ -8,7 +8,7 @@ Improvements 🙌:
|
||||||
-
|
-
|
||||||
|
|
||||||
Bugfix 🐛:
|
Bugfix 🐛:
|
||||||
-
|
- Fix crash on API < 30 and light theme (#2774)
|
||||||
|
|
||||||
Translations 🗣:
|
Translations 🗣:
|
||||||
-
|
-
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
*/
|
*/
|
||||||
package im.vector.app.features.popup
|
package im.vector.app.features.popup
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
|
@ -158,27 +157,37 @@ class PopupAlertManager @Inject constructor(private val avatarRenderer: Lazy<Ava
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("InlinedApi")
|
|
||||||
private fun clearLightStatusBar() {
|
private fun clearLightStatusBar() {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
weakCurrentActivity?.get()
|
weakCurrentActivity?.get()
|
||||||
?.takeIf { Build.VERSION.SDK_INT >= Build.VERSION_CODES.M }
|
|
||||||
// Do not change anything on Dark themes
|
// Do not change anything on Dark themes
|
||||||
?.takeIf { ThemeUtils.isLightTheme(it) }
|
?.takeIf { ThemeUtils.isLightTheme(it) }
|
||||||
?.let { it.window?.decorView }
|
?.window?.decorView
|
||||||
?.let { view ->
|
?.let { view ->
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
view.windowInsetsController?.setSystemBarsAppearance(0, APPEARANCE_LIGHT_STATUS_BARS)
|
view.windowInsetsController?.setSystemBarsAppearance(0, APPEARANCE_LIGHT_STATUS_BARS)
|
||||||
|
} else {
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
view.systemUiVisibility = view.systemUiVisibility and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("InlinedApi")
|
|
||||||
private fun setLightStatusBar() {
|
private fun setLightStatusBar() {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
weakCurrentActivity?.get()
|
weakCurrentActivity?.get()
|
||||||
?.takeIf { Build.VERSION.SDK_INT >= Build.VERSION_CODES.M }
|
|
||||||
// Do not change anything on Dark themes
|
// Do not change anything on Dark themes
|
||||||
?.takeIf { ThemeUtils.isLightTheme(it) }
|
?.takeIf { ThemeUtils.isLightTheme(it) }
|
||||||
?.let { it.window?.decorView }
|
?.window?.decorView
|
||||||
?.let { view ->
|
?.let { view ->
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
view.windowInsetsController?.setSystemBarsAppearance(APPEARANCE_LIGHT_STATUS_BARS, APPEARANCE_LIGHT_STATUS_BARS)
|
view.windowInsetsController?.setSystemBarsAppearance(APPEARANCE_LIGHT_STATUS_BARS, APPEARANCE_LIGHT_STATUS_BARS)
|
||||||
|
} else {
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
view.systemUiVisibility = view.systemUiVisibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue