From b2f96a28bc27ee5e74cf58b300bf17b44b70b952 Mon Sep 17 00:00:00 2001 From: Helen Qin Date: Mon, 8 May 2023 03:11:47 +0000 Subject: [PATCH] Do not crash ui app upon bad provider pending intent. Test: manual Bug: 281335878 Change-Id: I37eb8ecf9d24131cfedc4a5344a5f7c608f44534 --- .../credentialmanager/CredentialSelectorViewModel.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorViewModel.kt b/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorViewModel.kt index f2377db86609f..e96e536c00d54 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorViewModel.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorViewModel.kt @@ -119,7 +119,12 @@ class CredentialSelectorViewModel( uiState = uiState.copy(providerActivityState = ProviderActivityState.PENDING) val intentSenderRequest = IntentSenderRequest.Builder(entry.pendingIntent) .setFillInIntent(entry.fillInIntent).build() - launcher.launch(intentSenderRequest) + try { + launcher.launch(intentSenderRequest) + } catch (e: Exception) { + Log.w(Constants.LOG_TAG, "Failed to launch provider UI: $e") + onInternalError() + } } else { Log.d(Constants.LOG_TAG, "No provider UI to launch") onInternalError()