Merge cherrypicks of ['googleplex-android-review.googlesource.com/28036491'] into 24Q3-release.

Change-Id: Ife612928a2651d27322d7a4da6ad469b530759e4
diff --git a/src/com/android/settings/system/DeviceDiagnosticsPreferenceController.kt b/src/com/android/settings/system/DeviceDiagnosticsPreferenceController.kt
index 695bb5b..d683804 100644
--- a/src/com/android/settings/system/DeviceDiagnosticsPreferenceController.kt
+++ b/src/com/android/settings/system/DeviceDiagnosticsPreferenceController.kt
@@ -26,7 +26,7 @@
 import com.android.settings.core.BasePreferenceController
 import com.android.settings.flags.Flags
 
-class DeviceDiagnosticsPreferenceController(context: Context, preferenceKey: String) :
+open class DeviceDiagnosticsPreferenceController(context: Context, preferenceKey: String) :
     BasePreferenceController(context, preferenceKey) {
 
     override fun getAvailabilityStatus(): Int {
@@ -59,6 +59,12 @@
         val packageName = mContext.getResources().getString(
                 R.string.config_device_diagnostics_package_name)
         intent.setPackage(packageName)
+
+        val info = mContext.getPackageManager().resolveActivity(intent, 0)
+        if (info == null) {
+            return null
+        }
+
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
         return intent
     }