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)