diff options
| -rw-r--r-- | services/autofill/java/com/android/server/autofill/Session.java | 6 | ||||
| -rw-r--r-- | services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java | 27 |
2 files changed, 27 insertions, 6 deletions
diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java index fdbcceef764e..c95623a519c4 100644 --- a/services/autofill/java/com/android/server/autofill/Session.java +++ b/services/autofill/java/com/android/server/autofill/Session.java @@ -2254,7 +2254,6 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState @Override public void save() { synchronized (mLock) { - mSaveEventLogger.maybeSetSaveButtonClicked(true); if (mDestroyed) { Slog.w(TAG, "Call to Session#save() rejected - session: " + id + " destroyed"); @@ -2273,7 +2272,6 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState public void cancelSave() { synchronized (mLock) { mSessionFlags.mShowingSaveUi = false; - mSaveEventLogger.maybeSetDialogDismissed(true); if (mDestroyed) { Slog.w(TAG, "Call to Session#cancelSave() rejected - session: " + id + " destroyed"); @@ -3428,7 +3426,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState getUiForShowing().showSaveUi(serviceLabel, serviceIcon, mService.getServicePackageName(), saveInfo, this, mComponentName, this, mContext, mPendingSaveUi, isUpdate, mCompatMode, - response.getShowSaveDialogIcon()); + response.getShowSaveDialogIcon(), mSaveEventLogger); mSaveEventLogger.maybeSetLatencySaveUiDisplayMillis( SystemClock.elapsedRealtime()- saveUiDisplayStartTimestamp); if (client != null) { @@ -4413,7 +4411,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState getUiForShowing().showFillDialog(filledId, response, filterText, mService.getServicePackageName(), mComponentName, serviceIcon, this, - id, mCompatMode); + id, mCompatMode, mPresentationStatsEventLogger); return true; } diff --git a/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java b/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java index b3cbe45ea4a7..f92d38dc0deb 100644 --- a/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java +++ b/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java @@ -52,6 +52,8 @@ import com.android.server.LocalServices; import com.android.server.UiModeManagerInternal; import com.android.server.UiThread; import com.android.server.autofill.Helper; +import com.android.server.autofill.PresentationStatsEventLogger; +import com.android.server.autofill.SaveEventLogger; import com.android.server.utils.Slogf; import java.io.PrintWriter; @@ -326,7 +328,7 @@ public final class AutoFillUI { @NonNull ValueFinder valueFinder, @NonNull ComponentName componentName, @NonNull AutoFillUiCallback callback, @NonNull Context context, @NonNull PendingUi pendingSaveUi, boolean isUpdate, boolean compatMode, - boolean showServiceIcon) { + boolean showServiceIcon, @Nullable SaveEventLogger mSaveEventLogger) { if (sVerbose) { Slogf.v(TAG, "showSaveUi(update=%b) for %s and display %d: %s", isUpdate, componentName.toShortString(), context.getDisplayId(), info); @@ -355,6 +357,9 @@ public final class AutoFillUI { @Override public void onSave() { log.setType(MetricsEvent.TYPE_ACTION); + if (mSaveEventLogger != null) { + mSaveEventLogger.maybeSetSaveButtonClicked(true); + } hideSaveUiUiThread(callback); callback.save(); destroySaveUiUiThread(pendingSaveUi, true); @@ -363,6 +368,9 @@ public final class AutoFillUI { @Override public void onCancel(IntentSender listener) { log.setType(MetricsEvent.TYPE_DISMISS); + if (mSaveEventLogger != null) { + mSaveEventLogger.maybeSetCancelButtonClicked(true); + } hideSaveUiUiThread(callback); if (listener != null) { try { @@ -384,6 +392,9 @@ public final class AutoFillUI { callback.cancelSave(); } mMetricsLogger.write(log); + if (mSaveEventLogger != null) { + mSaveEventLogger.maybeSetDialogDismissed(true); + } } @Override @@ -400,7 +411,8 @@ public final class AutoFillUI { public void showFillDialog(@NonNull AutofillId focusedId, @NonNull FillResponse response, @Nullable String filterText, @Nullable String servicePackageName, @NonNull ComponentName componentName, @Nullable Drawable serviceIcon, - @NonNull AutoFillUiCallback callback, int sessionId, boolean compatMode) { + @NonNull AutoFillUiCallback callback, int sessionId, boolean compatMode, + @Nullable PresentationStatsEventLogger mPresentationStatsEventLogger) { if (sVerbose) { Slog.v(TAG, "showFillDialog for " + componentName.toShortString() + ": " + response); @@ -442,6 +454,10 @@ public final class AutoFillUI { @Override public void onDatasetPicked(Dataset dataset) { log(MetricsEvent.TYPE_ACTION); + if (mPresentationStatsEventLogger != null) { + mPresentationStatsEventLogger.maybeSetPositiveCtaButtonClicked( + true); + } hideFillDialogUiThread(callback); if (mCallback != null) { final int datasetIndex = response.getDatasets().indexOf(dataset); @@ -453,6 +469,9 @@ public final class AutoFillUI { @Override public void onDismissed() { log(MetricsEvent.TYPE_DISMISS); + if (mPresentationStatsEventLogger != null) { + mPresentationStatsEventLogger.maybeSetDialogDismissed(true); + } hideFillDialogUiThread(callback); callback.requestShowSoftInput(focusedId); callback.requestFallbackFromFillDialog(); @@ -461,6 +480,10 @@ public final class AutoFillUI { @Override public void onCanceled() { log(MetricsEvent.TYPE_CLOSE); + if (mPresentationStatsEventLogger != null) { + mPresentationStatsEventLogger.maybeSetNegativeCtaButtonClicked( + true); + } hideFillDialogUiThread(callback); callback.requestShowSoftInput(focusedId); callback.requestFallbackFromFillDialog(); |