Fix some views not being tracked
Should keep track of all views that attempt to notify the view entered for the fill dialog. But none of the views are tracked until the first FillRsponse is obtained, because mTrackedViews is initialized empty. So move the tracking logic out of mTrackedViews. Bug: 274067633 Test: atest CtsAutoFillServiceTestCases Change-Id: Ic93324b57ca527a2c3e311260593f454eefeeed3
This commit is contained in:
@@ -1479,6 +1479,13 @@ public final class AutofillManager {
|
||||
}
|
||||
|
||||
synchronized (mLock) {
|
||||
if (mAllTrackedViews.contains(id)) {
|
||||
// The id is tracked and will not trigger pre-fill request again.
|
||||
return;
|
||||
}
|
||||
|
||||
// Add the id as tracked to avoid triggering fill request again and again.
|
||||
mAllTrackedViews.add(id);
|
||||
if (mTrackedViews != null) {
|
||||
// To support the fill dialog can show for the autofillable Views in
|
||||
// different pages but in the same Activity. We need to reset the
|
||||
@@ -4132,11 +4139,6 @@ public final class AutofillManager {
|
||||
}
|
||||
|
||||
void checkViewState(AutofillId id) {
|
||||
if (mAllTrackedViews.contains(id)) {
|
||||
return;
|
||||
}
|
||||
// Add the id as tracked to avoid triggering fill request again and again.
|
||||
mAllTrackedViews.add(id);
|
||||
if (mHasNewTrackedView) {
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user