diff --git a/services/credentials/java/com/android/server/credentials/GetRequestSession.java b/services/credentials/java/com/android/server/credentials/GetRequestSession.java index aee4f583eec95..c9e691e199c71 100644 --- a/services/credentials/java/com/android/server/credentials/GetRequestSession.java +++ b/services/credentials/java/com/android/server/credentials/GetRequestSession.java @@ -28,6 +28,7 @@ import android.credentials.GetCredentialResponse; import android.credentials.IGetCredentialCallback; import android.credentials.ui.ProviderData; import android.credentials.ui.RequestInfo; +import android.os.Binder; import android.os.CancellationSignal; import android.os.RemoteException; import android.service.credentials.CallingAppInfo; @@ -98,8 +99,9 @@ public class GetRequestSession extends RequestSession providerDataList) { mRequestSessionMetric.collectUiCallStartTime(System.nanoTime()); mCredentialManagerUi.setStatus(CredentialManagerUi.UiStatus.USER_INTERACTION); - cancelExistingPendingIntent(); + Binder.withCleanCallingIdentity(()-> { try { + cancelExistingPendingIntent(); mPendingIntent = mCredentialManagerUi.createPendingIntent( RequestInfo.newGetRequestInfo( mRequestId, mClientRequest, mClientAppInfo.getPackageName(), @@ -112,9 +114,9 @@ public class GetRequestSession extends RequestSession>) filterResult - -> filterResult.mCredentialEntries.stream()) - .collect(Collectors.toList()); + (Function>) + filterResult -> filterResult.mCredentialEntries.stream()) + .collect(Collectors.toList()); updateStatusAndInvokeCallback(Status.CREDENTIALS_RECEIVED, - /*source=*/ CredentialsSource.REGISTRY); + /*source=*/ CredentialsSource.REGISTRY); mProviderSessionMetric.collectCandidateEntryMetrics(mCredentialEntries); }