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

Commit 2d628262 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 am: 23462d5a

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



Change-Id: Iedc9f4b14e1bbf577cc3acc7017a1905c5bed958
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents d3979fea 23462d5a
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();