Settings: Allow locking all apps visible in launcher
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
This commit is contained in:
@@ -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))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user