summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/autofill/AutofillManager.java16
-rw-r--r--services/autofill/java/com/android/server/autofill/Session.java11
2 files changed, 19 insertions, 8 deletions
diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java
index 77a0c4c5f4ee..6503a800acb7 100644
--- a/core/java/android/view/autofill/AutofillManager.java
+++ b/core/java/android/view/autofill/AutofillManager.java
@@ -2178,6 +2178,18 @@ public final class AutofillManager {
boolean saveOnAllViewsInvisible, boolean saveOnFinish,
@Nullable AutofillId[] fillableIds, @Nullable AutofillId saveTriggerId) {
synchronized (mLock) {
+ if (sVerbose) {
+ Log.v(TAG, "setTrackedViews(): sessionId=" + sessionId
+ + ", trackedIds=" + Arrays.toString(trackedIds)
+ + ", saveOnAllViewsInvisible=" + saveOnAllViewsInvisible
+ + ", saveOnFinish=" + saveOnFinish
+ + ", fillableIds=" + Arrays.toString(fillableIds)
+ + ", saveTrigerId=" + saveTriggerId
+ + ", mFillableIds=" + mFillableIds
+ + ", mEnabled=" + mEnabled
+ + ", mSessionId=" + mSessionId);
+
+ }
if (mEnabled && mSessionId == sessionId) {
if (saveOnAllViewsInvisible) {
mTrackedViews = new TrackedViews(trackedIds);
@@ -2192,10 +2204,6 @@ public final class AutofillManager {
for (AutofillId id : fillableIds) {
mFillableIds.add(id);
}
- if (sVerbose) {
- Log.v(TAG, "setTrackedViews(): fillableIds=" + Arrays.toString(fillableIds)
- + ", mFillableIds" + mFillableIds);
- }
}
if (mSaveTriggerId != null && !mSaveTriggerId.equals(saveTriggerId)) {
diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java
index c62794d3e3d2..0402b8fb9285 100644
--- a/services/autofill/java/com/android/server/autofill/Session.java
+++ b/services/autofill/java/com/android/server/autofill/Session.java
@@ -2540,13 +2540,14 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
boolean saveOnFinish = true;
final SaveInfo saveInfo = response.getSaveInfo();
final AutofillId saveTriggerId;
+ final int flags;
if (saveInfo != null) {
saveTriggerId = saveInfo.getTriggerId();
if (saveTriggerId != null) {
writeLog(MetricsEvent.AUTOFILL_EXPLICIT_SAVE_TRIGGER_DEFINITION);
}
- mSaveOnAllViewsInvisible =
- (saveInfo.getFlags() & SaveInfo.FLAG_SAVE_ON_ALL_VIEWS_INVISIBLE) != 0;
+ flags = saveInfo.getFlags();
+ mSaveOnAllViewsInvisible = (flags & SaveInfo.FLAG_SAVE_ON_ALL_VIEWS_INVISIBLE) != 0;
// We only need to track views if we want to save once they become invisible.
if (mSaveOnAllViewsInvisible) {
@@ -2561,11 +2562,12 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
Collections.addAll(trackedViews, saveInfo.getOptionalIds());
}
}
- if ((saveInfo.getFlags() & SaveInfo.FLAG_DONT_SAVE_ON_FINISH) != 0) {
+ if ((flags & SaveInfo.FLAG_DONT_SAVE_ON_FINISH) != 0) {
saveOnFinish = false;
}
} else {
+ flags = 0;
saveTriggerId = null;
}
@@ -2592,7 +2594,8 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
try {
if (sVerbose) {
Slog.v(TAG, "updateTrackedIdsLocked(): " + trackedViews + " => " + fillableIds
- + " triggerId: " + saveTriggerId + " saveOnFinish:" + saveOnFinish);
+ + " triggerId: " + saveTriggerId + " saveOnFinish:" + saveOnFinish
+ + " flags: " + flags + " hasSaveInfo: " + (saveInfo != null));
}
mClient.setTrackedViews(id, toArray(trackedViews), mSaveOnAllViewsInvisible,
saveOnFinish, toArray(fillableIds), saveTriggerId);