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

Commit 333eb7d2 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 udc-dev am: cf918bef

parents 80771a26 cf918bef
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();