mirror of
https://codeberg.org/timelimit/timelimit-android.git
synced 2025-10-05 10:49:26 +02:00
Always allow emergency calls
This commit is contained in:
parent
128f017f63
commit
b6584e8126
3 changed files with 16 additions and 3 deletions
|
@ -50,12 +50,19 @@ object AndroidIntegrationApps {
|
||||||
ignoredApps["com.android.nfc"] = AndroidIntegrationApps.IgnoredAppHandling.Ignore
|
ignoredApps["com.android.nfc"] = AndroidIntegrationApps.IgnoredAppHandling.Ignore
|
||||||
ignoredApps["com.android.packageinstaller"] = AndroidIntegrationApps.IgnoredAppHandling.IgnoreOnStoreOtherwiseWhitelistAndDontDisable
|
ignoredApps["com.android.packageinstaller"] = AndroidIntegrationApps.IgnoredAppHandling.IgnoreOnStoreOtherwiseWhitelistAndDontDisable
|
||||||
ignoredApps["com.google.android.packageinstaller"] = AndroidIntegrationApps.IgnoredAppHandling.IgnoreOnStoreOtherwiseWhitelistAndDontDisable
|
ignoredApps["com.google.android.packageinstaller"] = AndroidIntegrationApps.IgnoredAppHandling.IgnoreOnStoreOtherwiseWhitelistAndDontDisable
|
||||||
|
ignoredApps["com.android.emergency"] = IgnoredAppHandling.Ignore
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val appsToNotSuspend = setOf<String>(
|
||||||
|
"com.android.emergency",
|
||||||
|
"com.android.phone"
|
||||||
|
)
|
||||||
|
|
||||||
private val ignoredActivities = setOf<String>(
|
private val ignoredActivities = setOf<String>(
|
||||||
"com.android.settings:com.android.settings.enterprise.ActionDisabledByAdminDialog",
|
"com.android.settings:com.android.settings.enterprise.ActionDisabledByAdminDialog",
|
||||||
"com.android.packageinstaller:com.android.packageinstaller.permission.ui.GrantPermissionActivity",
|
"com.android.packageinstaller:com.android.packageinstaller.permission.ui.GrantPermissionActivity",
|
||||||
"com.google.android.packageinstaller:com.android.packageinstaller.permission.ui.GrantPermissionsActivity"
|
"com.google.android.packageinstaller:com.android.packageinstaller.permission.ui.GrantPermissionsActivity",
|
||||||
|
"com.android.phone:com.android.phone.EmergencyDialer"
|
||||||
)
|
)
|
||||||
|
|
||||||
fun shouldIgnoreActivity(packageName: String, activityName: String) = ignoredActivities.contains("$packageName:$activityName")
|
fun shouldIgnoreActivity(packageName: String, activityName: String) = ignoredActivities.contains("$packageName:$activityName")
|
||||||
|
|
|
@ -335,7 +335,10 @@ class BackgroundTaskLogic(val appLogic: AppLogic) {
|
||||||
if (category == null) {
|
if (category == null) {
|
||||||
usedTimeUpdateHelper?.commit(appLogic)
|
usedTimeUpdateHelper?.commit(appLogic)
|
||||||
|
|
||||||
if (AndroidIntegrationApps.ignoredApps[foregroundAppPackageName] == null) {
|
if (
|
||||||
|
AndroidIntegrationApps.ignoredApps[foregroundAppPackageName] == null &&
|
||||||
|
AndroidIntegrationApps.appsToNotSuspend.contains(foregroundAppPackageName) == false
|
||||||
|
) {
|
||||||
// don't suspend system apps which are whitelisted in any version
|
// don't suspend system apps which are whitelisted in any version
|
||||||
appLogic.platformIntegration.setSuspendedApps(listOf(foregroundAppPackageName), true)
|
appLogic.platformIntegration.setSuspendedApps(listOf(foregroundAppPackageName), true)
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ import io.timelimit.android.data.model.Category
|
||||||
import io.timelimit.android.data.model.CategoryApp
|
import io.timelimit.android.data.model.CategoryApp
|
||||||
import io.timelimit.android.data.model.ExperimentalFlags
|
import io.timelimit.android.data.model.ExperimentalFlags
|
||||||
import io.timelimit.android.data.model.UserType
|
import io.timelimit.android.data.model.UserType
|
||||||
|
import io.timelimit.android.integration.platform.android.AndroidIntegrationApps
|
||||||
import io.timelimit.android.livedata.ignoreUnchanged
|
import io.timelimit.android.livedata.ignoreUnchanged
|
||||||
import io.timelimit.android.livedata.liveDataFromValue
|
import io.timelimit.android.livedata.liveDataFromValue
|
||||||
import io.timelimit.android.livedata.map
|
import io.timelimit.android.livedata.map
|
||||||
|
@ -87,7 +88,9 @@ class SuspendAppsLogic(private val appLogic: AppLogic) {
|
||||||
val appCategories = prepared[packageName] ?: emptySet()
|
val appCategories = prepared[packageName] ?: emptySet()
|
||||||
|
|
||||||
if (appCategories.find { categoryId -> (blockingReasons[categoryId] ?: BlockingReason.None) == BlockingReason.None } == null) {
|
if (appCategories.find { categoryId -> (blockingReasons[categoryId] ?: BlockingReason.None) == BlockingReason.None } == null) {
|
||||||
result.add(packageName)
|
if (!AndroidIntegrationApps.appsToNotSuspend.contains(packageName)) {
|
||||||
|
result.add(packageName)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue