Avoid potential ActivityNotFoundException

Bug: 332202168
Flag: com.android.settings.flags.catalyst
Test: Manual
Change-Id: I74d7bbc9eb34e0f8d04cfb663b04393a3432e784
This commit is contained in:
Jacky Wang
2024-09-25 11:58:10 +08:00
parent 00c90b0e6f
commit 1c486036ef

View File

@@ -249,6 +249,15 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
@Override @Override
public boolean onPreferenceTreeClick(Preference preference) { public boolean onPreferenceTreeClick(Preference preference) {
if (isCatalystEnabled()) {
Intent intent = preference.getIntent();
if (intent != null && preference.getContext().getPackageManager().queryIntentActivities(
intent, 0).isEmpty()) {
Log.w(TAG, "No activity to start for " + intent);
return true;
}
}
final Collection<List<AbstractPreferenceController>> controllers = final Collection<List<AbstractPreferenceController>> controllers =
mPreferenceControllers.values(); mPreferenceControllers.values();
for (List<AbstractPreferenceController> controllerList : controllers) { for (List<AbstractPreferenceController> controllerList : controllers) {