android: show info for Xiaomi users about autostart restrictions (#5295)

* android: show info for Xiaomi users about autostart restrictions

* text and placement

* update strings

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
This commit is contained in:
Stanislav Dmitrenko
2024-12-02 23:32:04 +07:00
committed by GitHub
parent a62ce9168e
commit 665501026d
5 changed files with 21 additions and 5 deletions
@@ -332,6 +332,8 @@ class SimplexApp: Application(), LifecycleEventObserver {
NetworkObserver.shared.restartNetworkObserver()
}
override fun androidIsXiaomiDevice(): Boolean = setOf("xiaomi", "redmi", "poco").contains(Build.BRAND.lowercase())
@SuppressLint("SourceLockedOrientationActivity")
@Composable
override fun androidLockPortraitOrientation() {
@@ -497,6 +497,12 @@ class SimplexService: Service() {
Modifier.padding(bottom = 8.dp)
)
Text(annotatedStringResource(MR.strings.turn_off_battery_optimization))
if (platform.androidIsXiaomiDevice() && (mode == NotificationsMode.PERIODIC || mode == NotificationsMode.SERVICE)) {
Text(annotatedStringResource(MR.strings.xiaomi_ignore_battery_optimization),
Modifier.padding(top = 8.dp)
)
}
}
},
dismissButton = {
@@ -623,7 +629,7 @@ class SimplexService: Service() {
fun isBackgroundAllowed(): Boolean = isIgnoringBatteryOptimizations() && !isBackgroundRestricted()
fun isIgnoringBatteryOptimizations(): Boolean {
private fun isIgnoringBatteryOptimizations(): Boolean {
val powerManager = androidAppContext.getSystemService(Application.POWER_SERVICE) as PowerManager
return powerManager.isIgnoringBatteryOptimizations(androidAppContext.packageName)
}