Merge "Fix kotlin nullable errors in Settings" into aosp-main-future
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt b/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt
index e9380f5..4d1b90b 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt
+++ b/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt
@@ -95,10 +95,10 @@
             WindowManager.LayoutParams.FLAG_SECURE
         )
         dialog.setCanceledOnTouchOutside(false)
-        val textView = dialog.findViewById<TextView>(R.id.esim_id_value)
+        val textView = dialog.requireViewById<TextView>(R.id.esim_id_value)
         textView.text = PhoneNumberUtil.expandByTts(eid)
 
-        val qrCodeView = dialog.findViewById<ImageView>(R.id.esim_id_qrcode)
+        val qrCodeView = dialog.requireViewById<ImageView>(R.id.esim_id_qrcode)
         qrCodeView.setImageBitmap(getEidQrCode(eid))
 
         // After "Tap to show", eid is displayed on preference.
diff --git a/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt b/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt
index ec99749..2cc26f6 100644
--- a/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt
+++ b/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt
@@ -81,7 +81,7 @@
     private fun isPermissionRequested(): Boolean {
         val packageInfo = packageManager.getPackageInfo(packageName, GET_PERMISSIONS)
 
-        for (requestedPermission in packageInfo.requestedPermissions) {
+        for (requestedPermission in packageInfo.requestedPermissions.orEmpty()) {
             if (USE_FULL_SCREEN_INTENT.equals(requestedPermission)) {
                 return true
             }
@@ -115,4 +115,4 @@
         const val KEY_FSI_PERMISSION = "fsi_permission"
         const val TAG = "FsiPermPrefController"
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/spa/app/appinfo/AppButtons.kt b/src/com/android/settings/spa/app/appinfo/AppButtons.kt
index e43c673..b93c12a 100644
--- a/src/com/android/settings/spa/app/appinfo/AppButtons.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppButtons.kt
@@ -47,7 +47,7 @@
     @Composable
     fun getActionButtons() =
         packageInfoPresenter.flow.collectAsStateWithLifecycle(initialValue = null).value?.let {
-            getActionButtons(it.applicationInfo)
+            getActionButtons(checkNotNull(it.applicationInfo))
         } ?: emptyList()
 
     @Composable
diff --git a/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt b/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
index d59a4f7..8cb48fb 100644
--- a/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
@@ -119,7 +119,7 @@
 private fun AppInfoSettings(packageInfoPresenter: PackageInfoPresenter) {
     LifecycleEffect(onStart = { packageInfoPresenter.reloadPackageInfo() })
     val packageInfo = packageInfoPresenter.flow.collectAsStateWithLifecycle().value ?: return
-    val app = packageInfo.applicationInfo
+    val app = checkNotNull(packageInfo.applicationInfo)
     RegularScaffold(
         title = stringResource(R.string.application_info_label),
         actions = {
diff --git a/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt b/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt
index 0fb4373..09697bf 100644
--- a/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt
+++ b/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt
@@ -43,7 +43,7 @@
     @Composable
     fun getActionButtons() =
         packageInfoPresenter.flow.collectAsStateWithLifecycle(initialValue = null).value?.let {
-            getActionButtons(it.applicationInfo)
+            getActionButtons(checkNotNull(it.applicationInfo))
         } ?: emptyList()
 
     @Composable
diff --git a/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt b/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt
index 52c8ad7..961778f 100644
--- a/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt
+++ b/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt
@@ -77,7 +77,7 @@
         DisposableBroadcastReceiverAsUser(intentFilter, userHandle) { intent ->
             if (packageName == intent.data?.schemeSpecificPart) {
                 val packageInfo = flow.value
-                if (packageInfo != null && packageInfo.applicationInfo.isSystemApp) {
+                if (packageInfo != null && packageInfo.applicationInfo?.isSystemApp == true) {
                     // System app still exists after uninstalling the updates, refresh the page.
                     reloadPackageInfo()
                 } else {