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
}