diff --git a/res/xml/app_lock_package_config_settings.xml b/res/xml/app_lock_package_config_settings.xml
index 81f3491f7d6..42d2368a3b7 100644
--- a/res/xml/app_lock_package_config_settings.xml
+++ b/res/xml/app_lock_package_config_settings.xml
@@ -34,8 +34,7 @@
+ android:summary="@string/hide_from_launcher_summary" />
{
return withContext(Dispatchers.IO) {
- appLockManager.packageData.map { it.packageName }.toSet()
+ appLockManager.packageData.filter {
+ it.shouldProtectApp == true
+ }.map {
+ it.packageName
+ }.toSet()
}
}
@@ -116,11 +120,7 @@ class AppLockPackageListFragment : DashboardFragment() {
isChecked = isProtected
setOnPreferenceChangeListener { _, newValue ->
lifecycleScope.launch(Dispatchers.IO) {
- if (newValue as Boolean) {
- appLockManager.addPackage(packageInfo.packageName)
- } else {
- appLockManager.removePackage(packageInfo.packageName)
- }
+ appLockManager.setShouldProtectApp(packageInfo.packageName, newValue as Boolean)
}
return@setOnPreferenceChangeListener true
}
diff --git a/src/com/android/settings/security/applock/AppLockPackageProtectionPC.kt b/src/com/android/settings/security/applock/AppLockPackageProtectionPC.kt
index 34fd2cf5b4a..22548443330 100644
--- a/src/com/android/settings/security/applock/AppLockPackageProtectionPC.kt
+++ b/src/com/android/settings/security/applock/AppLockPackageProtectionPC.kt
@@ -43,9 +43,9 @@ class AppLockPackageProtectionPC(
init {
coroutineScope.launch {
isProtected = withContext(Dispatchers.Default) {
- appLockManager.packageData.any {
+ appLockManager.packageData.find {
it.packageName == packageName
- }
+ }?.shouldProtectApp == true
}
preference?.let {
updateState(it)
@@ -61,11 +61,7 @@ class AppLockPackageProtectionPC(
if (isProtected == checked) return false
isProtected = checked
coroutineScope.launch(Dispatchers.Default) {
- if (isProtected) {
- appLockManager.addPackage(packageName)
- } else {
- appLockManager.removePackage(packageName)
- }
+ appLockManager.setShouldProtectApp(packageName, isProtected)
}
return true
}
diff --git a/src/com/android/settings/security/applock/AppLockSettingsPreferenceController.kt b/src/com/android/settings/security/applock/AppLockSettingsPreferenceController.kt
index 9e3d9240480..80113f3e795 100644
--- a/src/com/android/settings/security/applock/AppLockSettingsPreferenceController.kt
+++ b/src/com/android/settings/security/applock/AppLockSettingsPreferenceController.kt
@@ -98,7 +98,9 @@ class AppLockSettingsPreferenceController(
preference.apply {
if (getAvailabilityStatus() == AVAILABLE) {
setEnabled(true)
- summary = getSummaryForListSize(appLockManager.packageData.size)
+ summary = getSummaryForListSize(appLockManager.packageData.filter {
+ it.shouldProtectApp == true
+ }.size)
} else {
setEnabled(false)
summary = mContext.getString(R.string.disabled_because_no_backup_security)