Settings: Allow locking all apps visible in launcher

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
This commit is contained in:
Pranav Vashi
2023-02-26 17:06:33 +05:30
committed by Joey
parent edadced2f0
commit 4fd4972322

View File

@@ -29,6 +29,7 @@ import androidx.preference.Preference
import androidx.preference.forEach
import com.android.internal.logging.nano.MetricsProto
import com.android.internal.util.evolution.Utils
import com.android.settings.R
import com.android.settings.core.SubSettingLauncher
@@ -48,11 +49,13 @@ class AppLockPackageListFragment : DashboardFragment() {
private lateinit var appLockManager: AppLockManager
private lateinit var pm: PackageManager
private lateinit var whiteListedPackages: Array<String>
private lateinit var launchablePackages: List<String>
override fun onAttach(context: Context) {
super.onAttach(context)
appLockManager = context.getSystemService(AppLockManager::class.java)
pm = context.packageManager
launchablePackages = Utils.launchablePackages(context)
whiteListedPackages = resources.getStringArray(
com.android.internal.R.array.config_appLockAllowedSystemApps)
}
@@ -65,7 +68,9 @@ class AppLockPackageListFragment : DashboardFragment() {
pm.getInstalledPackages(
PackageInfoFlags.of(PackageManager.MATCH_ALL.toLong())
).filter {
!it.applicationInfo.isSystemApp() || whiteListedPackages.contains(it.packageName)
!it.applicationInfo.isSystemApp() ||
launchablePackages.contains(it.packageName) ||
whiteListedPackages.contains(it.packageName)
}.sortedWith { first, second ->
getLabel(first).compareTo(getLabel(second))
}