Merge "Fix sessionCommitEvent's commit_reason logging." into udc-dev
This commit is contained in:
@@ -468,7 +468,8 @@ public final class AutofillManager {
|
|||||||
COMMIT_REASON_ACTIVITY_FINISHED,
|
COMMIT_REASON_ACTIVITY_FINISHED,
|
||||||
COMMIT_REASON_VIEW_COMMITTED,
|
COMMIT_REASON_VIEW_COMMITTED,
|
||||||
COMMIT_REASON_VIEW_CLICKED,
|
COMMIT_REASON_VIEW_CLICKED,
|
||||||
COMMIT_REASON_VIEW_CHANGED
|
COMMIT_REASON_VIEW_CHANGED,
|
||||||
|
COMMIT_REASON_SESSION_DESTROYED
|
||||||
})
|
})
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
public @interface AutofillCommitReason {}
|
public @interface AutofillCommitReason {}
|
||||||
@@ -507,6 +508,12 @@ public final class AutofillManager {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
public static final int COMMIT_REASON_VIEW_CHANGED = 4;
|
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.
|
* 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_VALUE_CHANGED;
|
||||||
import static android.view.autofill.AutofillManager.ACTION_VIEW_ENTERED;
|
import static android.view.autofill.AutofillManager.ACTION_VIEW_ENTERED;
|
||||||
import static android.view.autofill.AutofillManager.ACTION_VIEW_EXITED;
|
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.COMMIT_REASON_UNKNOWN;
|
||||||
import static android.view.autofill.AutofillManager.FLAG_SMART_SUGGESTION_SYSTEM;
|
import static android.view.autofill.AutofillManager.FLAG_SMART_SUGGESTION_SYSTEM;
|
||||||
import static android.view.autofill.AutofillManager.getSmartSuggestionModeToString;
|
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_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_TRIGGER_ID_SET;
|
||||||
import static com.android.server.autofill.SaveEventLogger.SAVE_UI_SHOWN_REASON_UNKNOWN;
|
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_RECEIVER_EXTRAS;
|
||||||
import static com.android.server.wm.ActivityTaskManagerInternal.ASSIST_KEY_STRUCTURE;
|
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,
|
mHandler.sendMessage(obtainMessage(Session::handleLogContextCommitted, this,
|
||||||
Event.NO_SAVE_UI_REASON_NONE,
|
Event.NO_SAVE_UI_REASON_NONE,
|
||||||
COMMIT_REASON_UNKNOWN));
|
COMMIT_REASON_UNKNOWN));
|
||||||
|
logAllEvents(COMMIT_REASON_UNKNOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2743,6 +2744,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
|
|||||||
@AutofillCommitReason int commitReason) {
|
@AutofillCommitReason int commitReason) {
|
||||||
mHandler.sendMessage(obtainMessage(Session::handleLogContextCommitted, this,
|
mHandler.sendMessage(obtainMessage(Session::handleLogContextCommitted, this,
|
||||||
saveDialogNotShowReason, commitReason));
|
saveDialogNotShowReason, commitReason));
|
||||||
|
logAllEvents(commitReason);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleLogContextCommitted(@NoSaveReason int saveDialogNotShowReason,
|
private void handleLogContextCommitted(@NoSaveReason int saveDialogNotShowReason,
|
||||||
@@ -2974,6 +2976,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
|
|||||||
changedFieldIds, changedDatasetIds, manuallyFilledFieldIds,
|
changedFieldIds, changedDatasetIds, manuallyFilledFieldIds,
|
||||||
manuallyFilledDatasetIds, detectedFieldIds, detectedFieldClassifications,
|
manuallyFilledDatasetIds, detectedFieldIds, detectedFieldClassifications,
|
||||||
mComponentName, mCompatMode, saveDialogNotShowReason);
|
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.
|
* Destroy this session and perform any clean up work.
|
||||||
*
|
*
|
||||||
@@ -5693,15 +5709,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
|
|||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
RemoteFillService destroyLocked() {
|
RemoteFillService destroyLocked() {
|
||||||
// Log unlogged events.
|
// Log unlogged events.
|
||||||
mSessionCommittedEventLogger.maybeSetCommitReason(COMMIT_REASON_SESSION_DESTROYED);
|
logAllEvents(COMMIT_REASON_SESSION_DESTROYED);
|
||||||
mSessionCommittedEventLogger.maybeSetRequestCount(mRequestCount);
|
|
||||||
mSessionCommittedEventLogger.maybeSetSessionDurationMillis(
|
|
||||||
SystemClock.elapsedRealtime() - mStartTime);
|
|
||||||
mSessionCommittedEventLogger.logAndEndEvent();
|
|
||||||
mPresentationStatsEventLogger.logAndEndEvent();
|
|
||||||
mSaveEventLogger.logAndEndEvent();
|
|
||||||
mFillResponseEventLogger.logAndEndEvent();
|
|
||||||
mFillRequestEventLogger.logAndEndEvent();
|
|
||||||
|
|
||||||
if (mDestroyed) {
|
if (mDestroyed) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -16,13 +16,8 @@
|
|||||||
|
|
||||||
package com.android.server.autofill;
|
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;
|
||||||
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 static com.android.server.autofill.Helper.sVerbose;
|
||||||
|
|
||||||
import android.annotation.IntDef;
|
import android.annotation.IntDef;
|
||||||
@@ -32,7 +27,7 @@ import android.content.pm.PackageManager;
|
|||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Slog;
|
import android.util.Slog;
|
||||||
|
import android.view.autofill.AutofillManager.AutofillCommitReason;
|
||||||
import com.android.internal.util.FrameworkStatsLog;
|
import com.android.internal.util.FrameworkStatsLog;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
@@ -45,35 +40,6 @@ import java.util.Optional;
|
|||||||
public final class SessionCommittedEventLogger {
|
public final class SessionCommittedEventLogger {
|
||||||
private static final String TAG = "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 final int mSessionId;
|
||||||
private Optional<SessionCommittedEventInternal> mEventInternal;
|
private Optional<SessionCommittedEventInternal> mEventInternal;
|
||||||
|
|
||||||
@@ -110,9 +76,9 @@ public final class SessionCommittedEventLogger {
|
|||||||
/**
|
/**
|
||||||
* Set commit_reason as long as mEventInternal presents.
|
* Set commit_reason as long as mEventInternal presents.
|
||||||
*/
|
*/
|
||||||
public void maybeSetCommitReason(@CommitReason int val) {
|
public void maybeSetCommitReason(@AutofillCommitReason int val) {
|
||||||
mEventInternal.ifPresent(event -> {
|
mEventInternal.ifPresent(event -> {
|
||||||
event.mCommitReason = val;
|
event.mCommitReason = val;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user