Loading services/autofill/java/com/android/server/autofill/AutofillManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -2003,7 +2003,7 @@ public final class AutofillManagerService final AutofillManagerServiceImpl service = peekServiceForUserWithLocalBinderIdentityLocked(userId); if (service != null) { service.setViewAutofilled(sessionId, getCallingUid(), id); service.setViewAutofilledLocked(sessionId, getCallingUid(), id); } else if (sVerbose) { Slog.v(TAG, "setAutofillFailure(): no service for " + userId); } Loading services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java +4 −5 Original line number Diff line number Diff line Loading @@ -478,7 +478,7 @@ final class AutofillManagerServiceImpl } @GuardedBy("mLock") void setViewAutofilled(int sessionId, int uid, @NonNull AutofillId id) { void setViewAutofilledLocked(int sessionId, int uid, @NonNull AutofillId id) { if (!isEnabledLocked()) { Slog.wtf(TAG, "Service not enabled"); return; Loading @@ -488,7 +488,7 @@ final class AutofillManagerServiceImpl Slog.v(TAG, "setViewAutofilled(): no session for " + sessionId + "(" + uid + ")"); return; } session.setViewAutofilled(id); session.setViewAutofilledLocked(id); } @GuardedBy("mLock") Loading Loading @@ -792,11 +792,10 @@ final class AutofillManagerServiceImpl * Initializes the last fill selection after an autofill service returned a new * {@link FillResponse}. */ void setLastResponse(int sessionId, @NonNull FillResponse response) { synchronized (mLock) { @GuardedBy("mLock") void setLastResponseLocked(int sessionId, @NonNull FillResponse response) { mEventHistory = new FillEventHistory(sessionId, response.getClientState()); } } void setLastAugmentedAutofillResponse(int sessionId) { synchronized (mLock) { Loading services/autofill/java/com/android/server/autofill/Session.java +53 −49 Original line number Diff line number Diff line Loading @@ -1677,6 +1677,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState final LogMaker requestLog; synchronized (mLock) { // Start a new FillResponse logger for the success case. mFillResponseEventLogger.startLogForNewResponse(); mFillResponseEventLogger.maybeSetRequestId(requestId); Loading @@ -1690,9 +1691,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState (int) (fillRequestReceivedRelativeTimestamp)); mFillResponseEventLogger.maybeSetLatencyFillResponseReceivedMillis( (int) (fillRequestReceivedRelativeTimestamp)); mFillResponseEventLogger.maybeSetDetectionPreference(getDetectionPreferenceForLogging()); mFillResponseEventLogger.maybeSetDetectionPreference( getDetectionPreferenceForLogging()); synchronized (mLock) { if (mDestroyed) { Slog.w(TAG, "Call to Session#onFillRequestSuccess() rejected - session: " + id + " destroyed"); Loading Loading @@ -1744,11 +1745,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState Slog.v(TAG, "Service requested to wait for delayed fill response."); registerDelayedFillBroadcastLocked(); } } mService.setLastResponse(id, response); mService.setLastResponseLocked(id, response); synchronized (mLock) { if (mLogViewEntered) { mLogViewEntered = false; mService.logViewEntered(id, null); Loading Loading @@ -1821,6 +1820,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState } int datasetCount = (datasetList == null) ? 0 : datasetList.size(); synchronized (mLock) { mFillResponseEventLogger.maybeSetTotalDatasetsProvided(datasetCount); // It's possible that this maybe overwritten later on after PCC filtering. mFillResponseEventLogger.maybeSetAvailableCount(datasetCount); Loading @@ -1832,6 +1832,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState mFillResponseEventLogger.maybeSetLatencyResponseProcessingMillis(); mFillResponseEventLogger.logAndEndEvent(); } } @GuardedBy("mLock") Loading Loading @@ -2381,6 +2382,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState @Nullable CharSequence message) { boolean showMessage = !TextUtils.isEmpty(message); synchronized (mLock) { // Start a new FillResponse logger for the failure or timeout case. mFillResponseEventLogger.startLogForNewResponse(); mFillResponseEventLogger.maybeSetRequestId(requestId); Loading @@ -2389,13 +2391,13 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState AVAILABLE_COUNT_WHEN_FILL_REQUEST_FAILED_OR_TIMEOUT); mFillResponseEventLogger.maybeSetTotalDatasetsProvided( AVAILABLE_COUNT_WHEN_FILL_REQUEST_FAILED_OR_TIMEOUT); mFillResponseEventLogger.maybeSetDetectionPreference(getDetectionPreferenceForLogging()); mFillResponseEventLogger.maybeSetDetectionPreference( getDetectionPreferenceForLogging()); final long fillRequestReceivedRelativeTimestamp = SystemClock.elapsedRealtime() - mLatencyBaseTime; mFillResponseEventLogger.maybeSetLatencyFillResponseReceivedMillis( (int) (fillRequestReceivedRelativeTimestamp)); synchronized (mLock) { unregisterDelayedFillBroadcastLocked(); if (mDestroyed) { Slog.w(TAG, "Call to Session#onFillRequestFailureOrTimeout(req=" + requestId Loading Loading @@ -2635,8 +2637,8 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState + id + " destroyed"); return; } } mSaveEventLogger.maybeSetLatencySaveRequestMillis(); } mHandler.sendMessage(obtainMessage( AutofillManagerServiceImpl::handleSessionSave, mService, this)); Loading Loading @@ -3279,7 +3281,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState mHandler.sendMessage(obtainMessage(Session::handleLogContextCommitted, this, Event.NO_SAVE_UI_REASON_NONE, COMMIT_REASON_UNKNOWN)); logAllEvents(COMMIT_REASON_UNKNOWN); synchronized (mLock) { logAllEventsLocked(COMMIT_REASON_UNKNOWN); } } /** Loading Loading @@ -4628,7 +4632,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState FillResponse response = viewState.getSecondaryResponse(); if (response != null) { logPresentationStatsOnViewEntered(response, isCredmanRequested); logPresentationStatsOnViewEnteredLocked(response, isCredmanRequested); } // If the ViewState is ready to be displayed, onReady() will be called. Loading Loading @@ -4719,7 +4723,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState FillResponse response = viewState.getResponse(); if (response != null) { logPresentationStatsOnViewEntered(response, isCredmanRequested); logPresentationStatsOnViewEnteredLocked(response, isCredmanRequested); } if (isSameViewEntered) { Loading Loading @@ -4760,7 +4764,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState } @GuardedBy("mLock") private void logPresentationStatsOnViewEntered(FillResponse response, private void logPresentationStatsOnViewEnteredLocked(FillResponse response, boolean isCredmanRequested) { mPresentationStatsEventLogger.maybeSetRequestId(response.getRequestId()); mPresentationStatsEventLogger.maybeSetIsCredentialRequest(isCredmanRequested); Loading Loading @@ -5118,7 +5122,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState getUiForShowing().showFillDialog(filledId, response, filterText, mService.getServicePackageName(), mComponentName, serviceIcon, this, id, mCompatMode, mPresentationStatsEventLogger); id, mCompatMode, mPresentationStatsEventLogger, mLock); return true; } Loading Loading @@ -5477,7 +5481,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState * Sets the state of views that failed to autofill. */ @GuardedBy("mLock") void setViewAutofilled(@NonNull AutofillId id) { void setViewAutofilledLocked(@NonNull AutofillId id) { if (sVerbose) { Slog.v(TAG, "View autofilled: " + id); } Loading Loading @@ -6720,7 +6724,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState } @GuardedBy("mLock") private void logAllEvents(@AutofillCommitReason int val) { private void logAllEventsLocked(@AutofillCommitReason int val) { if (sVerbose) { Slog.v(TAG, "logAllEvents(" + id + "): commitReason: " + val); } Loading Loading @@ -6752,7 +6756,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState if (sVerbose) { Slog.v(TAG, "destroyLocked for session: " + id); } logAllEvents(COMMIT_REASON_SESSION_DESTROYED); logAllEventsLocked(COMMIT_REASON_SESSION_DESTROYED); if (mDestroyed) { return null; Loading services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java +16 −9 Original line number Diff line number Diff line Loading @@ -425,7 +425,8 @@ public final class AutoFillUI { @Nullable String filterText, @Nullable String servicePackageName, @NonNull ComponentName componentName, @Nullable Drawable serviceIcon, @NonNull AutoFillUiCallback callback, int sessionId, boolean compatMode, @Nullable PresentationStatsEventLogger mPresentationStatsEventLogger) { @Nullable PresentationStatsEventLogger presentationStatsEventLogger, @NonNull Object sessionLock) { if (sVerbose) { Slog.v(TAG, "showFillDialog for " + componentName.toShortString() + ": " + response); Loading Loading @@ -467,10 +468,12 @@ public final class AutoFillUI { @Override public void onDatasetPicked(Dataset dataset) { log(MetricsEvent.TYPE_ACTION); if (mPresentationStatsEventLogger != null) { mPresentationStatsEventLogger.maybeSetPositiveCtaButtonClicked( synchronized (sessionLock) { if (presentationStatsEventLogger != null) { presentationStatsEventLogger.maybeSetPositiveCtaButtonClicked( true); } } hideFillDialogUiThread(callback); if (mCallback != null) { final int datasetIndex = response.getDatasets().indexOf(dataset); Loading @@ -482,8 +485,10 @@ public final class AutoFillUI { @Override public void onDismissed() { log(MetricsEvent.TYPE_DISMISS); if (mPresentationStatsEventLogger != null) { mPresentationStatsEventLogger.maybeSetDialogDismissed(true); synchronized (sessionLock) { if (presentationStatsEventLogger != null) { presentationStatsEventLogger.maybeSetDialogDismissed(true); } } hideFillDialogUiThread(callback); callback.requestShowSoftInput(focusedId); Loading @@ -493,10 +498,12 @@ public final class AutoFillUI { @Override public void onCanceled() { log(MetricsEvent.TYPE_CLOSE); if (mPresentationStatsEventLogger != null) { mPresentationStatsEventLogger.maybeSetNegativeCtaButtonClicked( synchronized (sessionLock) { if (presentationStatsEventLogger != null) { presentationStatsEventLogger.maybeSetNegativeCtaButtonClicked( true); } } hideFillDialogUiThread(callback); callback.requestShowSoftInput(focusedId); callback.requestFallbackFromFillDialog(); Loading Loading
services/autofill/java/com/android/server/autofill/AutofillManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -2003,7 +2003,7 @@ public final class AutofillManagerService final AutofillManagerServiceImpl service = peekServiceForUserWithLocalBinderIdentityLocked(userId); if (service != null) { service.setViewAutofilled(sessionId, getCallingUid(), id); service.setViewAutofilledLocked(sessionId, getCallingUid(), id); } else if (sVerbose) { Slog.v(TAG, "setAutofillFailure(): no service for " + userId); } Loading
services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java +4 −5 Original line number Diff line number Diff line Loading @@ -478,7 +478,7 @@ final class AutofillManagerServiceImpl } @GuardedBy("mLock") void setViewAutofilled(int sessionId, int uid, @NonNull AutofillId id) { void setViewAutofilledLocked(int sessionId, int uid, @NonNull AutofillId id) { if (!isEnabledLocked()) { Slog.wtf(TAG, "Service not enabled"); return; Loading @@ -488,7 +488,7 @@ final class AutofillManagerServiceImpl Slog.v(TAG, "setViewAutofilled(): no session for " + sessionId + "(" + uid + ")"); return; } session.setViewAutofilled(id); session.setViewAutofilledLocked(id); } @GuardedBy("mLock") Loading Loading @@ -792,11 +792,10 @@ final class AutofillManagerServiceImpl * Initializes the last fill selection after an autofill service returned a new * {@link FillResponse}. */ void setLastResponse(int sessionId, @NonNull FillResponse response) { synchronized (mLock) { @GuardedBy("mLock") void setLastResponseLocked(int sessionId, @NonNull FillResponse response) { mEventHistory = new FillEventHistory(sessionId, response.getClientState()); } } void setLastAugmentedAutofillResponse(int sessionId) { synchronized (mLock) { Loading
services/autofill/java/com/android/server/autofill/Session.java +53 −49 Original line number Diff line number Diff line Loading @@ -1677,6 +1677,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState final LogMaker requestLog; synchronized (mLock) { // Start a new FillResponse logger for the success case. mFillResponseEventLogger.startLogForNewResponse(); mFillResponseEventLogger.maybeSetRequestId(requestId); Loading @@ -1690,9 +1691,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState (int) (fillRequestReceivedRelativeTimestamp)); mFillResponseEventLogger.maybeSetLatencyFillResponseReceivedMillis( (int) (fillRequestReceivedRelativeTimestamp)); mFillResponseEventLogger.maybeSetDetectionPreference(getDetectionPreferenceForLogging()); mFillResponseEventLogger.maybeSetDetectionPreference( getDetectionPreferenceForLogging()); synchronized (mLock) { if (mDestroyed) { Slog.w(TAG, "Call to Session#onFillRequestSuccess() rejected - session: " + id + " destroyed"); Loading Loading @@ -1744,11 +1745,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState Slog.v(TAG, "Service requested to wait for delayed fill response."); registerDelayedFillBroadcastLocked(); } } mService.setLastResponse(id, response); mService.setLastResponseLocked(id, response); synchronized (mLock) { if (mLogViewEntered) { mLogViewEntered = false; mService.logViewEntered(id, null); Loading Loading @@ -1821,6 +1820,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState } int datasetCount = (datasetList == null) ? 0 : datasetList.size(); synchronized (mLock) { mFillResponseEventLogger.maybeSetTotalDatasetsProvided(datasetCount); // It's possible that this maybe overwritten later on after PCC filtering. mFillResponseEventLogger.maybeSetAvailableCount(datasetCount); Loading @@ -1832,6 +1832,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState mFillResponseEventLogger.maybeSetLatencyResponseProcessingMillis(); mFillResponseEventLogger.logAndEndEvent(); } } @GuardedBy("mLock") Loading Loading @@ -2381,6 +2382,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState @Nullable CharSequence message) { boolean showMessage = !TextUtils.isEmpty(message); synchronized (mLock) { // Start a new FillResponse logger for the failure or timeout case. mFillResponseEventLogger.startLogForNewResponse(); mFillResponseEventLogger.maybeSetRequestId(requestId); Loading @@ -2389,13 +2391,13 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState AVAILABLE_COUNT_WHEN_FILL_REQUEST_FAILED_OR_TIMEOUT); mFillResponseEventLogger.maybeSetTotalDatasetsProvided( AVAILABLE_COUNT_WHEN_FILL_REQUEST_FAILED_OR_TIMEOUT); mFillResponseEventLogger.maybeSetDetectionPreference(getDetectionPreferenceForLogging()); mFillResponseEventLogger.maybeSetDetectionPreference( getDetectionPreferenceForLogging()); final long fillRequestReceivedRelativeTimestamp = SystemClock.elapsedRealtime() - mLatencyBaseTime; mFillResponseEventLogger.maybeSetLatencyFillResponseReceivedMillis( (int) (fillRequestReceivedRelativeTimestamp)); synchronized (mLock) { unregisterDelayedFillBroadcastLocked(); if (mDestroyed) { Slog.w(TAG, "Call to Session#onFillRequestFailureOrTimeout(req=" + requestId Loading Loading @@ -2635,8 +2637,8 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState + id + " destroyed"); return; } } mSaveEventLogger.maybeSetLatencySaveRequestMillis(); } mHandler.sendMessage(obtainMessage( AutofillManagerServiceImpl::handleSessionSave, mService, this)); Loading Loading @@ -3279,7 +3281,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState mHandler.sendMessage(obtainMessage(Session::handleLogContextCommitted, this, Event.NO_SAVE_UI_REASON_NONE, COMMIT_REASON_UNKNOWN)); logAllEvents(COMMIT_REASON_UNKNOWN); synchronized (mLock) { logAllEventsLocked(COMMIT_REASON_UNKNOWN); } } /** Loading Loading @@ -4628,7 +4632,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState FillResponse response = viewState.getSecondaryResponse(); if (response != null) { logPresentationStatsOnViewEntered(response, isCredmanRequested); logPresentationStatsOnViewEnteredLocked(response, isCredmanRequested); } // If the ViewState is ready to be displayed, onReady() will be called. Loading Loading @@ -4719,7 +4723,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState FillResponse response = viewState.getResponse(); if (response != null) { logPresentationStatsOnViewEntered(response, isCredmanRequested); logPresentationStatsOnViewEnteredLocked(response, isCredmanRequested); } if (isSameViewEntered) { Loading Loading @@ -4760,7 +4764,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState } @GuardedBy("mLock") private void logPresentationStatsOnViewEntered(FillResponse response, private void logPresentationStatsOnViewEnteredLocked(FillResponse response, boolean isCredmanRequested) { mPresentationStatsEventLogger.maybeSetRequestId(response.getRequestId()); mPresentationStatsEventLogger.maybeSetIsCredentialRequest(isCredmanRequested); Loading Loading @@ -5118,7 +5122,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState getUiForShowing().showFillDialog(filledId, response, filterText, mService.getServicePackageName(), mComponentName, serviceIcon, this, id, mCompatMode, mPresentationStatsEventLogger); id, mCompatMode, mPresentationStatsEventLogger, mLock); return true; } Loading Loading @@ -5477,7 +5481,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState * Sets the state of views that failed to autofill. */ @GuardedBy("mLock") void setViewAutofilled(@NonNull AutofillId id) { void setViewAutofilledLocked(@NonNull AutofillId id) { if (sVerbose) { Slog.v(TAG, "View autofilled: " + id); } Loading Loading @@ -6720,7 +6724,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState } @GuardedBy("mLock") private void logAllEvents(@AutofillCommitReason int val) { private void logAllEventsLocked(@AutofillCommitReason int val) { if (sVerbose) { Slog.v(TAG, "logAllEvents(" + id + "): commitReason: " + val); } Loading Loading @@ -6752,7 +6756,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState if (sVerbose) { Slog.v(TAG, "destroyLocked for session: " + id); } logAllEvents(COMMIT_REASON_SESSION_DESTROYED); logAllEventsLocked(COMMIT_REASON_SESSION_DESTROYED); if (mDestroyed) { return null; Loading
services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java +16 −9 Original line number Diff line number Diff line Loading @@ -425,7 +425,8 @@ public final class AutoFillUI { @Nullable String filterText, @Nullable String servicePackageName, @NonNull ComponentName componentName, @Nullable Drawable serviceIcon, @NonNull AutoFillUiCallback callback, int sessionId, boolean compatMode, @Nullable PresentationStatsEventLogger mPresentationStatsEventLogger) { @Nullable PresentationStatsEventLogger presentationStatsEventLogger, @NonNull Object sessionLock) { if (sVerbose) { Slog.v(TAG, "showFillDialog for " + componentName.toShortString() + ": " + response); Loading Loading @@ -467,10 +468,12 @@ public final class AutoFillUI { @Override public void onDatasetPicked(Dataset dataset) { log(MetricsEvent.TYPE_ACTION); if (mPresentationStatsEventLogger != null) { mPresentationStatsEventLogger.maybeSetPositiveCtaButtonClicked( synchronized (sessionLock) { if (presentationStatsEventLogger != null) { presentationStatsEventLogger.maybeSetPositiveCtaButtonClicked( true); } } hideFillDialogUiThread(callback); if (mCallback != null) { final int datasetIndex = response.getDatasets().indexOf(dataset); Loading @@ -482,8 +485,10 @@ public final class AutoFillUI { @Override public void onDismissed() { log(MetricsEvent.TYPE_DISMISS); if (mPresentationStatsEventLogger != null) { mPresentationStatsEventLogger.maybeSetDialogDismissed(true); synchronized (sessionLock) { if (presentationStatsEventLogger != null) { presentationStatsEventLogger.maybeSetDialogDismissed(true); } } hideFillDialogUiThread(callback); callback.requestShowSoftInput(focusedId); Loading @@ -493,10 +498,12 @@ public final class AutoFillUI { @Override public void onCanceled() { log(MetricsEvent.TYPE_CLOSE); if (mPresentationStatsEventLogger != null) { mPresentationStatsEventLogger.maybeSetNegativeCtaButtonClicked( synchronized (sessionLock) { if (presentationStatsEventLogger != null) { presentationStatsEventLogger.maybeSetNegativeCtaButtonClicked( true); } } hideFillDialogUiThread(callback); callback.requestShowSoftInput(focusedId); callback.requestFallbackFromFillDialog(); Loading