Add try/catch to handle invalid settings activity

Change-Id: I20d9480fd3bfe14fe4e85ed2937aaba3df09302d
Test: make
Bug: 322287971
This commit is contained in:
Becca Hughes
2024-01-26 17:51:55 +00:00
parent 5fe4714851
commit 09fa333f47
2 changed files with 13 additions and 2 deletions

View File

@@ -20,6 +20,7 @@ import static androidx.lifecycle.Lifecycle.Event.ON_CREATE;
import android.app.Activity; import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.content.ActivityNotFoundException;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
@@ -656,7 +657,11 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
CombinedProviderInfo.createSettingsActivityIntent( CombinedProviderInfo.createSettingsActivityIntent(
mContext, packageName, settingsActivity, getUser()); mContext, packageName, settingsActivity, getUser());
if (settingsIntent != null) { if (settingsIntent != null) {
mContext.startActivity(settingsIntent); try {
mContext.startActivity(settingsIntent);
} catch (ActivityNotFoundException e) {
Log.e(TAG, "Failed to open settings activity", e);
}
} }
} }
}); });

View File

@@ -16,6 +16,7 @@
package com.android.settings.applications.credentials; package com.android.settings.applications.credentials;
import android.content.ActivityNotFoundException;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.credentials.CredentialManager; import android.credentials.CredentialManager;
@@ -26,6 +27,7 @@ import android.provider.Settings;
import android.service.autofill.AutofillService; import android.service.autofill.AutofillService;
import android.service.autofill.AutofillServiceInfo; import android.service.autofill.AutofillServiceInfo;
import android.view.autofill.AutofillManager; import android.view.autofill.AutofillManager;
import android.util.Slog;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@@ -132,7 +134,11 @@ public class DefaultCombinedPreferenceController extends DefaultAppPreferenceCon
new PrimaryProviderPreference.Delegate() { new PrimaryProviderPreference.Delegate() {
public void onOpenButtonClicked() { public void onOpenButtonClicked() {
if (settingsActivityIntent != null) { if (settingsActivityIntent != null) {
startActivity(settingsActivityIntent); try {
startActivity(settingsActivityIntent);
} catch (ActivityNotFoundException e) {
Slog.e(TAG, "Failed to open settings activity", e);
}
} }
} }