Loading services/autofill/java/com/android/server/autofill/Session.java +0 −2 Original line number Diff line number Diff line Loading @@ -4782,7 +4782,6 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState } if (isCredmanIntegrationActive(response)) { Slog.d(TAG, "Attempting to add Credential Manager callback to pinned entries"); addCredentialManagerCallback(response); } Loading Loading @@ -5713,7 +5712,6 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState /* isPrimary= */ true); updateFillDialogTriggerIdsLocked(); updateTrackedIdsLocked(); if (mCurrentViewId == null) { return; } Loading services/credentials/java/com/android/server/credentials/GetCandidateRequestSession.java +5 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,8 @@ import android.service.credentials.CredentialProviderService; import android.service.credentials.PermissionUtils; import android.util.Slog; import com.android.server.credentials.metrics.ApiStatus; import java.util.ArrayList; import java.util.List; import java.util.Set; Loading Loading @@ -180,7 +182,7 @@ public class GetCandidateRequestSession extends RequestSession<GetCredentialRequ } else { Slog.w(TAG, "onUiCancellation called but finalResponseReceiver not found"); } finishSession(/*propagateCancellation=*/false); finishSession(/*propagateCancellation=*/false, ApiStatus.FAILURE.getMetricCode()); } @Override Loading Loading @@ -221,9 +223,10 @@ public class GetCandidateRequestSession extends RequestSession<GetCredentialRequ resultData.putParcelable( CredentialProviderService.EXTRA_GET_CREDENTIAL_RESPONSE, response); mFinalResponseReceiver.send(Constants.SUCCESS_CREDMAN_SELECTOR, resultData); finishSession(/*propagateCancellation=*/ false); finishSession(/*propagateCancellation=*/ false, ApiStatus.SUCCESS.getMetricCode()); } else { Slog.w(TAG, "onFinalResponseReceived result receiver not found for pinned entry"); finishSession(/*propagateCancellation=*/ false, ApiStatus.FAILURE.getMetricCode()); } } Loading services/credentials/java/com/android/server/credentials/RequestSession.java +22 −18 Original line number Diff line number Diff line Loading @@ -175,7 +175,7 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential () -> { Slog.d(TAG, "Cancellation invoked from the client - clearing session"); boolean isUiActive = maybeCancelUi(); finishSession(!isUiActive); finishSession(!isUiActive, ApiStatus.CLIENT_CANCELED.getMetricCode()); } ); } Loading Loading @@ -231,7 +231,8 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential return; } if (isSessionCancelled()) { finishSession(/*propagateCancellation=*/true); finishSession(/*propagateCancellation=*/true, ApiStatus.CLIENT_CANCELED.getMetricCode()); return; } String providerId = selection.getProviderId(); Loading @@ -257,11 +258,12 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential } } protected void finishSession(boolean propagateCancellation) { protected void finishSession(boolean propagateCancellation, int apiStatus) { Slog.i(TAG, "finishing session with propagateCancellation " + propagateCancellation); if (propagateCancellation) { mProviders.values().forEach(ProviderSession::cancelProviderRemoteSession); } mRequestSessionMetric.logApiCalledAtFinish(apiStatus); mRequestSessionStatus = RequestSessionStatus.COMPLETE; mProviders.clear(); clearRequestSessionLocked(); Loading Loading @@ -326,7 +328,8 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential mRequestSessionMetric.logCandidatePhaseMetrics(mProviders); if (isSessionCancelled()) { finishSession(/*propagateCancellation=*/true); finishSession(/*propagateCancellation=*/true, ApiStatus.CLIENT_CANCELED.getMetricCode()); return providerDataList; } Loading @@ -353,23 +356,20 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential return; } if (isSessionCancelled()) { mRequestSessionMetric.logApiCalledAtFinish( /*apiStatus=*/ ApiStatus.CLIENT_CANCELED.getMetricCode()); finishSession(/*propagateCancellation=*/true); finishSession(/*propagateCancellation=*/true, ApiStatus.CLIENT_CANCELED.getMetricCode()); return; } try { invokeClientCallbackSuccess(response); mRequestSessionMetric.logApiCalledAtFinish( /*apiStatus=*/ ApiStatus.SUCCESS.getMetricCode()); finishSession(/*propagateCancellation=*/false, ApiStatus.SUCCESS.getMetricCode()); } catch (RemoteException e) { mRequestSessionMetric.collectFinalPhaseProviderMetricStatus( /*has_exception=*/ true, ProviderStatusForMetrics.FINAL_FAILURE); Slog.e(TAG, "Issue while responding to client with a response : " + e); mRequestSessionMetric.logApiCalledAtFinish( /*apiStatus=*/ ApiStatus.FAILURE.getMetricCode()); finishSession(/*propagateCancellation=*/false, ApiStatus.FAILURE.getMetricCode()); } finishSession(/*propagateCancellation=*/false); } /** Loading @@ -387,9 +387,7 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential return; } if (isSessionCancelled()) { mRequestSessionMetric.logApiCalledAtFinish( /*apiStatus=*/ ApiStatus.CLIENT_CANCELED.getMetricCode()); finishSession(/*propagateCancellation=*/true); finishSession(/*propagateCancellation=*/true, ApiStatus.CLIENT_CANCELED.getMetricCode()); return; } Loading @@ -399,8 +397,14 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential Slog.e(TAG, "Issue while responding to client with error : " + e); } boolean isUserCanceled = errorType.contains(MetricUtilities.USER_CANCELED_SUBSTRING); mRequestSessionMetric.logFailureOrUserCancel(isUserCanceled); finishSession(/*propagateCancellation=*/false); if (isUserCanceled) { mRequestSessionMetric.setHasExceptionFinalPhase(/* has_exception */ false); finishSession(/*propagateCancellation=*/false, ApiStatus.USER_CANCELED.getMetricCode()); } else { finishSession(/*propagateCancellation=*/false, ApiStatus.FAILURE.getMetricCode()); } } /** Loading @@ -419,7 +423,7 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential @Override public void binderDied() { Slog.d(TAG, "Client binder died - clearing session"); finishSession(isUiWaitingForData()); finishSession(isUiWaitingForData(), ApiStatus.CLIENT_CANCELED.getMetricCode()); } } } services/credentials/java/com/android/server/credentials/metrics/RequestSessionMetric.java +1 −1 Original line number Diff line number Diff line Loading @@ -247,7 +247,7 @@ public class RequestSessionMetric { * * @param exceptionBitFinalPhase represents if the final phase provider had an exception */ private void setHasExceptionFinalPhase(boolean exceptionBitFinalPhase) { public void setHasExceptionFinalPhase(boolean exceptionBitFinalPhase) { try { mChosenProviderFinalPhaseMetric.setHasException(exceptionBitFinalPhase); } catch (Exception e) { Loading Loading
services/autofill/java/com/android/server/autofill/Session.java +0 −2 Original line number Diff line number Diff line Loading @@ -4782,7 +4782,6 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState } if (isCredmanIntegrationActive(response)) { Slog.d(TAG, "Attempting to add Credential Manager callback to pinned entries"); addCredentialManagerCallback(response); } Loading Loading @@ -5713,7 +5712,6 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState /* isPrimary= */ true); updateFillDialogTriggerIdsLocked(); updateTrackedIdsLocked(); if (mCurrentViewId == null) { return; } Loading
services/credentials/java/com/android/server/credentials/GetCandidateRequestSession.java +5 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,8 @@ import android.service.credentials.CredentialProviderService; import android.service.credentials.PermissionUtils; import android.util.Slog; import com.android.server.credentials.metrics.ApiStatus; import java.util.ArrayList; import java.util.List; import java.util.Set; Loading Loading @@ -180,7 +182,7 @@ public class GetCandidateRequestSession extends RequestSession<GetCredentialRequ } else { Slog.w(TAG, "onUiCancellation called but finalResponseReceiver not found"); } finishSession(/*propagateCancellation=*/false); finishSession(/*propagateCancellation=*/false, ApiStatus.FAILURE.getMetricCode()); } @Override Loading Loading @@ -221,9 +223,10 @@ public class GetCandidateRequestSession extends RequestSession<GetCredentialRequ resultData.putParcelable( CredentialProviderService.EXTRA_GET_CREDENTIAL_RESPONSE, response); mFinalResponseReceiver.send(Constants.SUCCESS_CREDMAN_SELECTOR, resultData); finishSession(/*propagateCancellation=*/ false); finishSession(/*propagateCancellation=*/ false, ApiStatus.SUCCESS.getMetricCode()); } else { Slog.w(TAG, "onFinalResponseReceived result receiver not found for pinned entry"); finishSession(/*propagateCancellation=*/ false, ApiStatus.FAILURE.getMetricCode()); } } Loading
services/credentials/java/com/android/server/credentials/RequestSession.java +22 −18 Original line number Diff line number Diff line Loading @@ -175,7 +175,7 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential () -> { Slog.d(TAG, "Cancellation invoked from the client - clearing session"); boolean isUiActive = maybeCancelUi(); finishSession(!isUiActive); finishSession(!isUiActive, ApiStatus.CLIENT_CANCELED.getMetricCode()); } ); } Loading Loading @@ -231,7 +231,8 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential return; } if (isSessionCancelled()) { finishSession(/*propagateCancellation=*/true); finishSession(/*propagateCancellation=*/true, ApiStatus.CLIENT_CANCELED.getMetricCode()); return; } String providerId = selection.getProviderId(); Loading @@ -257,11 +258,12 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential } } protected void finishSession(boolean propagateCancellation) { protected void finishSession(boolean propagateCancellation, int apiStatus) { Slog.i(TAG, "finishing session with propagateCancellation " + propagateCancellation); if (propagateCancellation) { mProviders.values().forEach(ProviderSession::cancelProviderRemoteSession); } mRequestSessionMetric.logApiCalledAtFinish(apiStatus); mRequestSessionStatus = RequestSessionStatus.COMPLETE; mProviders.clear(); clearRequestSessionLocked(); Loading Loading @@ -326,7 +328,8 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential mRequestSessionMetric.logCandidatePhaseMetrics(mProviders); if (isSessionCancelled()) { finishSession(/*propagateCancellation=*/true); finishSession(/*propagateCancellation=*/true, ApiStatus.CLIENT_CANCELED.getMetricCode()); return providerDataList; } Loading @@ -353,23 +356,20 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential return; } if (isSessionCancelled()) { mRequestSessionMetric.logApiCalledAtFinish( /*apiStatus=*/ ApiStatus.CLIENT_CANCELED.getMetricCode()); finishSession(/*propagateCancellation=*/true); finishSession(/*propagateCancellation=*/true, ApiStatus.CLIENT_CANCELED.getMetricCode()); return; } try { invokeClientCallbackSuccess(response); mRequestSessionMetric.logApiCalledAtFinish( /*apiStatus=*/ ApiStatus.SUCCESS.getMetricCode()); finishSession(/*propagateCancellation=*/false, ApiStatus.SUCCESS.getMetricCode()); } catch (RemoteException e) { mRequestSessionMetric.collectFinalPhaseProviderMetricStatus( /*has_exception=*/ true, ProviderStatusForMetrics.FINAL_FAILURE); Slog.e(TAG, "Issue while responding to client with a response : " + e); mRequestSessionMetric.logApiCalledAtFinish( /*apiStatus=*/ ApiStatus.FAILURE.getMetricCode()); finishSession(/*propagateCancellation=*/false, ApiStatus.FAILURE.getMetricCode()); } finishSession(/*propagateCancellation=*/false); } /** Loading @@ -387,9 +387,7 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential return; } if (isSessionCancelled()) { mRequestSessionMetric.logApiCalledAtFinish( /*apiStatus=*/ ApiStatus.CLIENT_CANCELED.getMetricCode()); finishSession(/*propagateCancellation=*/true); finishSession(/*propagateCancellation=*/true, ApiStatus.CLIENT_CANCELED.getMetricCode()); return; } Loading @@ -399,8 +397,14 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential Slog.e(TAG, "Issue while responding to client with error : " + e); } boolean isUserCanceled = errorType.contains(MetricUtilities.USER_CANCELED_SUBSTRING); mRequestSessionMetric.logFailureOrUserCancel(isUserCanceled); finishSession(/*propagateCancellation=*/false); if (isUserCanceled) { mRequestSessionMetric.setHasExceptionFinalPhase(/* has_exception */ false); finishSession(/*propagateCancellation=*/false, ApiStatus.USER_CANCELED.getMetricCode()); } else { finishSession(/*propagateCancellation=*/false, ApiStatus.FAILURE.getMetricCode()); } } /** Loading @@ -419,7 +423,7 @@ abstract class RequestSession<T, U, V> implements CredentialManagerUi.Credential @Override public void binderDied() { Slog.d(TAG, "Client binder died - clearing session"); finishSession(isUiWaitingForData()); finishSession(isUiWaitingForData(), ApiStatus.CLIENT_CANCELED.getMetricCode()); } } }
services/credentials/java/com/android/server/credentials/metrics/RequestSessionMetric.java +1 −1 Original line number Diff line number Diff line Loading @@ -247,7 +247,7 @@ public class RequestSessionMetric { * * @param exceptionBitFinalPhase represents if the final phase provider had an exception */ private void setHasExceptionFinalPhase(boolean exceptionBitFinalPhase) { public void setHasExceptionFinalPhase(boolean exceptionBitFinalPhase) { try { mChosenProviderFinalPhaseMetric.setHasException(exceptionBitFinalPhase); } catch (Exception e) { Loading