diff --git a/src/com/android/settings/security/applock/AppLockBiometricPreferenceController.kt b/src/com/android/settings/security/applock/AppLockBiometricPreferenceController.kt index 62022131e66cdfdf1a48f9381fd45f5dd71cb3ee..b347a56fc54742a97533826f5d424117247c1251 100644 --- a/src/com/android/settings/security/applock/AppLockBiometricPreferenceController.kt +++ b/src/com/android/settings/security/applock/AppLockBiometricPreferenceController.kt @@ -1,5 +1,6 @@ /* * Copyright (C) 2022 FlamingoOS Project + * Copyright (C) 2024 The LibreMobileOS Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -55,7 +56,7 @@ class AppLockBiometricPreferenceController( } override fun getAvailabilityStatus(): Int { - val result = biometricManager.canAuthenticate(BIOMETRIC_STRONG) + val result = biometricManager?.canAuthenticate(BIOMETRIC_STRONG) return if (result == BiometricManager.BIOMETRIC_SUCCESS) AVAILABLE else CONDITIONALLY_UNAVAILABLE } diff --git a/src/com/android/settings/security/applock/AppLockCredentialActivity.kt b/src/com/android/settings/security/applock/AppLockCredentialActivity.kt index 5cdf62086cfc6ec1fcb965704ce544b2e8f87fa3..46f1a711fc914021456f50f3362b30b11ec19e1e 100644 --- a/src/com/android/settings/security/applock/AppLockCredentialActivity.kt +++ b/src/com/android/settings/security/applock/AppLockCredentialActivity.kt @@ -1,6 +1,7 @@ /* * Copyright (C) 2014 The Android Open Source Project * Copyright (C) 2022 FlamingoOS Project + * Copyright (C) 2024 The LibreMobileOS Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -75,7 +76,7 @@ class AppLockCredentialActivity : FragmentActivity() { override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) { waitingForBiometricCallback = false - appLockManager.unlockPackage(packageName) + packageName?.let { appLockManager.unlockPackage(it) } ConfirmDeviceCredentialUtils.checkForPendingIntent(this@AppLockCredentialActivity) setResult(Activity.RESULT_OK) finish() diff --git a/src/com/android/settings/security/applock/AppLockPackageConfigFragment.kt b/src/com/android/settings/security/applock/AppLockPackageConfigFragment.kt index c2b139a8583591e1fe59756c2e64fe5c53ebc956..ea8509dbbe528591d5542c86f2e96c3eb3923349 100644 --- a/src/com/android/settings/security/applock/AppLockPackageConfigFragment.kt +++ b/src/com/android/settings/security/applock/AppLockPackageConfigFragment.kt @@ -1,5 +1,6 @@ /* * Copyright (C) 2022 FlamingoOS Project + * Copyright (C) 2024 The LibreMobileOS Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -52,8 +53,7 @@ class AppLockPackageConfigFragment : DashboardFragment() { requireActivity(), this, header?.findViewById(R.id.entity_header) - ).setRecyclerView(listView, settingsLifecycle) - .setPackageName(packageInfo.packageName) + ).setPackageName(packageInfo.packageName) .setButtonActions( EntityHeaderController.ActionType.ACTION_NONE, EntityHeaderController.ActionType.ACTION_NONE @@ -61,7 +61,7 @@ class AppLockPackageConfigFragment : DashboardFragment() { .bindHeaderButtons() .setLabel(appEntry) .setIcon(appEntry) - .done(requireActivity(), false /* rebindActions */) + .done(false /* rebindActions */) } override protected fun createPreferenceControllers( diff --git a/src/com/android/settings/security/applock/AppLockPackageListFragment.kt b/src/com/android/settings/security/applock/AppLockPackageListFragment.kt index 080038f86f982238c1b08ca1a1327278a7c82244..3ae60be3b485a1a3da49ed7d016a657116a12ffb 100644 --- a/src/com/android/settings/security/applock/AppLockPackageListFragment.kt +++ b/src/com/android/settings/security/applock/AppLockPackageListFragment.kt @@ -1,5 +1,6 @@ /* * Copyright (C) 2022 FlamingoOS Project + * Copyright (C) 2024 The LibreMobileOS Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -66,7 +67,8 @@ class AppLockPackageListFragment : DashboardFragment() { pm.getInstalledPackages( PackageInfoFlags.of(PackageManager.MATCH_ALL.toLong()) ).filter { - !it.applicationInfo.isSystemApp() || whiteListedPackages.contains(it.packageName) + !(it.applicationInfo?.isSystemApp() == true) + || whiteListedPackages.contains(it.packageName) }.sortedWith { first, second -> getLabel(first).compareTo(getLabel(second)) } @@ -100,14 +102,14 @@ class AppLockPackageListFragment : DashboardFragment() { } private fun getLabel(packageInfo: PackageInfo) = - packageInfo.applicationInfo.loadLabel(pm).toString() + packageInfo.applicationInfo?.loadLabel(pm).toString() private fun createPreference(packageInfo: PackageInfo, isProtected: Boolean): Preference { val label = getLabel(packageInfo) return PrimarySwitchPreference(requireContext()).apply { key = packageInfo.packageName title = label - icon = packageInfo.applicationInfo.loadIcon(pm) + icon = packageInfo.applicationInfo?.loadIcon(pm) setIconSize(ICON_SIZE_SMALL) isChecked = isProtected setOnPreferenceChangeListener { _, newValue -> diff --git a/src/com/android/settings/security/applock/AppLockSettingsPreferenceController.kt b/src/com/android/settings/security/applock/AppLockSettingsPreferenceController.kt index 0e611b12e726717a062aec853ee7ca836c7fb2bf..1daa6986ab5e89008b3cd814ab14f4cd7461b3cc 100644 --- a/src/com/android/settings/security/applock/AppLockSettingsPreferenceController.kt +++ b/src/com/android/settings/security/applock/AppLockSettingsPreferenceController.kt @@ -1,5 +1,6 @@ /* * Copyright (C) 2022 FlamingoOS Project + * Copyright (C) 2024 The LibreMobileOS Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -119,7 +120,7 @@ class AppLockSettingsPreferenceController( val title = mContext.getString(R.string.app_lock_authentication_dialog_title) val intent = Intent().apply { setClassName(SETTINGS_PACKAGE_NAME, - ConfirmDeviceCredentialActivity::class.qualifiedName) + ConfirmDeviceCredentialActivity::class.qualifiedName!!) putExtra(KeyguardManager.EXTRA_TITLE, title) } securityPromptLauncher.launch(intent)