Merge "Fix sessionCommitEvent's commit_reason logging." into udc-dev am: 939888da9a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23220444 Change-Id: I2e0c03670e94aac93482d4af54bf1e66a13f1201 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -468,7 +468,8 @@ public final class AutofillManager {
|
||||
COMMIT_REASON_ACTIVITY_FINISHED,
|
||||
COMMIT_REASON_VIEW_COMMITTED,
|
||||
COMMIT_REASON_VIEW_CLICKED,
|
||||
COMMIT_REASON_VIEW_CHANGED
|
||||
COMMIT_REASON_VIEW_CHANGED,
|
||||
COMMIT_REASON_SESSION_DESTROYED
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface AutofillCommitReason {}
|
||||
@@ -507,6 +508,12 @@ public final class AutofillManager {
|
||||
* @hide
|
||||
*/
|
||||
public static final int COMMIT_REASON_VIEW_CHANGED = 4;
|
||||
/**
|
||||
* Autofill context was committed because of the session was destroyed.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public static final int COMMIT_REASON_SESSION_DESTROYED = 5;
|
||||
|
||||
/**
|
||||
* Makes an authentication id from a request id and a dataset id.
|
||||
|
||||
@@ -42,6 +42,7 @@ import static android.view.autofill.AutofillManager.ACTION_START_SESSION;
|
||||
import static android.view.autofill.AutofillManager.ACTION_VALUE_CHANGED;
|
||||
import static android.view.autofill.AutofillManager.ACTION_VIEW_ENTERED;
|
||||
import static android.view.autofill.AutofillManager.ACTION_VIEW_EXITED;
|
||||
import static android.view.autofill.AutofillManager.COMMIT_REASON_SESSION_DESTROYED;
|
||||
import static android.view.autofill.AutofillManager.COMMIT_REASON_UNKNOWN;
|
||||
import static android.view.autofill.AutofillManager.FLAG_SMART_SUGGESTION_SYSTEM;
|
||||
import static android.view.autofill.AutofillManager.getSmartSuggestionModeToString;
|
||||
@@ -85,7 +86,6 @@ import static com.android.server.autofill.SaveEventLogger.SAVE_UI_SHOWN_REASON_O
|
||||
import static com.android.server.autofill.SaveEventLogger.SAVE_UI_SHOWN_REASON_REQUIRED_ID_CHANGE;
|
||||
import static com.android.server.autofill.SaveEventLogger.SAVE_UI_SHOWN_REASON_TRIGGER_ID_SET;
|
||||
import static com.android.server.autofill.SaveEventLogger.SAVE_UI_SHOWN_REASON_UNKNOWN;
|
||||
import static com.android.server.autofill.SessionCommittedEventLogger.COMMIT_REASON_SESSION_DESTROYED;
|
||||
import static com.android.server.wm.ActivityTaskManagerInternal.ASSIST_KEY_RECEIVER_EXTRAS;
|
||||
import static com.android.server.wm.ActivityTaskManagerInternal.ASSIST_KEY_STRUCTURE;
|
||||
|
||||
@@ -2730,6 +2730,7 @@ 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);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2743,6 +2744,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
|
||||
@AutofillCommitReason int commitReason) {
|
||||
mHandler.sendMessage(obtainMessage(Session::handleLogContextCommitted, this,
|
||||
saveDialogNotShowReason, commitReason));
|
||||
logAllEvents(commitReason);
|
||||
}
|
||||
|
||||
private void handleLogContextCommitted(@NoSaveReason int saveDialogNotShowReason,
|
||||
@@ -2974,6 +2976,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
|
||||
changedFieldIds, changedDatasetIds, manuallyFilledFieldIds,
|
||||
manuallyFilledDatasetIds, detectedFieldIds, detectedFieldClassifications,
|
||||
mComponentName, mCompatMode, saveDialogNotShowReason);
|
||||
logAllEvents(commitReason);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -5679,6 +5682,19 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
|
||||
}
|
||||
}
|
||||
|
||||
@GuardedBy("mLock")
|
||||
private void logAllEvents(@AutofillCommitReason int val) {
|
||||
mSessionCommittedEventLogger.maybeSetCommitReason(val);
|
||||
mSessionCommittedEventLogger.maybeSetRequestCount(mRequestCount);
|
||||
mSessionCommittedEventLogger.maybeSetSessionDurationMillis(
|
||||
SystemClock.elapsedRealtime() - mStartTime);
|
||||
mFillRequestEventLogger.logAndEndEvent();
|
||||
mFillResponseEventLogger.logAndEndEvent();
|
||||
mPresentationStatsEventLogger.logAndEndEvent();
|
||||
mSaveEventLogger.logAndEndEvent();
|
||||
mSessionCommittedEventLogger.logAndEndEvent();
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroy this session and perform any clean up work.
|
||||
*
|
||||
@@ -5693,15 +5709,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
|
||||
@GuardedBy("mLock")
|
||||
RemoteFillService destroyLocked() {
|
||||
// Log unlogged events.
|
||||
mSessionCommittedEventLogger.maybeSetCommitReason(COMMIT_REASON_SESSION_DESTROYED);
|
||||
mSessionCommittedEventLogger.maybeSetRequestCount(mRequestCount);
|
||||
mSessionCommittedEventLogger.maybeSetSessionDurationMillis(
|
||||
SystemClock.elapsedRealtime() - mStartTime);
|
||||
mSessionCommittedEventLogger.logAndEndEvent();
|
||||
mPresentationStatsEventLogger.logAndEndEvent();
|
||||
mSaveEventLogger.logAndEndEvent();
|
||||
mFillResponseEventLogger.logAndEndEvent();
|
||||
mFillRequestEventLogger.logAndEndEvent();
|
||||
logAllEvents(COMMIT_REASON_SESSION_DESTROYED);
|
||||
|
||||
if (mDestroyed) {
|
||||
return null;
|
||||
|
||||
@@ -16,13 +16,8 @@
|
||||
|
||||
package com.android.server.autofill;
|
||||
|
||||
import static android.view.autofill.AutofillManager.COMMIT_REASON_UNKNOWN;
|
||||
import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_SESSION_COMMITTED;
|
||||
import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_ACTIVITY_FINISHED;
|
||||
import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_SESSION_DESTROYED;
|
||||
import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_UNKNOWN;
|
||||
import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_VIEW_CHANGED;
|
||||
import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_VIEW_CLICKED;
|
||||
import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_VIEW_COMMITTED;
|
||||
import static com.android.server.autofill.Helper.sVerbose;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
@@ -32,7 +27,7 @@ import android.content.pm.PackageManager;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Slog;
|
||||
|
||||
import android.view.autofill.AutofillManager.AutofillCommitReason;
|
||||
import com.android.internal.util.FrameworkStatsLog;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
@@ -45,35 +40,6 @@ import java.util.Optional;
|
||||
public final class SessionCommittedEventLogger {
|
||||
private static final String TAG = "SessionCommittedEventLogger";
|
||||
|
||||
/**
|
||||
* Reasons why presentation was not shown. These are wrappers around
|
||||
* {@link com.android.os.AtomsProto.AutofillSessionCommitted.AutofillCommitReason}.
|
||||
*/
|
||||
@IntDef(prefix = {"COMMIT_REASON"}, value = {
|
||||
COMMIT_REASON_UNKNOWN,
|
||||
COMMIT_REASON_ACTIVITY_FINISHED,
|
||||
COMMIT_REASON_VIEW_COMMITTED,
|
||||
COMMIT_REASON_VIEW_CLICKED,
|
||||
COMMIT_REASON_VIEW_CHANGED,
|
||||
COMMIT_REASON_SESSION_DESTROYED
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface CommitReason {
|
||||
}
|
||||
|
||||
public static final int COMMIT_REASON_UNKNOWN =
|
||||
AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_UNKNOWN;
|
||||
public static final int COMMIT_REASON_ACTIVITY_FINISHED =
|
||||
AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_ACTIVITY_FINISHED;
|
||||
public static final int COMMIT_REASON_VIEW_COMMITTED =
|
||||
AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_VIEW_COMMITTED;
|
||||
public static final int COMMIT_REASON_VIEW_CLICKED =
|
||||
AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_VIEW_CLICKED;
|
||||
public static final int COMMIT_REASON_VIEW_CHANGED =
|
||||
AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_VIEW_CHANGED;
|
||||
public static final int COMMIT_REASON_SESSION_DESTROYED =
|
||||
AUTOFILL_SESSION_COMMITTED__COMMIT_REASON__COMMIT_REASON_SESSION_DESTROYED;
|
||||
|
||||
private final int mSessionId;
|
||||
private Optional<SessionCommittedEventInternal> mEventInternal;
|
||||
|
||||
@@ -110,9 +76,9 @@ public final class SessionCommittedEventLogger {
|
||||
/**
|
||||
* Set commit_reason as long as mEventInternal presents.
|
||||
*/
|
||||
public void maybeSetCommitReason(@CommitReason int val) {
|
||||
public void maybeSetCommitReason(@AutofillCommitReason int val) {
|
||||
mEventInternal.ifPresent(event -> {
|
||||
event.mCommitReason = val;
|
||||
event.mCommitReason = val;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user