Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23462d5a authored by Jiewen Lei's avatar Jiewen Lei Committed by Automerger Merge Worker
Browse files

Merge "Fix user interaction logging for both fill dialog and save ui." into...

Merge "Fix user interaction logging for both fill dialog and save ui." into udc-dev am: cf918bef am: ba75ebc4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23221336



Change-Id: I9870a4e50acb453e1f7df78ed2643340c2134b15
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 459e4ab5 ba75ebc4
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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;
    }

+25 −2
Original line number Diff line number Diff line
@@ -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();