From 1620969a62fdeebfb96176d3660e5903900c4ea0 Mon Sep 17 00:00:00 2001 From: Joanne Chung Date: Thu, 20 Jun 2019 17:49:18 +0800 Subject: [PATCH] Prevent showing FillUi multiple times if tapping on the same field. Bug: 112772652 Test: atest CtsAutoFillServiceTestCases Test: manual, make sure only show once when tapping in the same field Change-Id: I3a02eb8abc3d88d9e9158489c753f5d62cfd0f71 --- .../autofill/java/com/android/server/autofill/Session.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java index 48f16acc864ab..256ca500f5dec 100644 --- a/services/autofill/java/com/android/server/autofill/Session.java +++ b/services/autofill/java/com/android/server/autofill/Session.java @@ -2419,6 +2419,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState Slog.v(TAG, "entered on virtual child " + id + ": " + virtualBounds); } + final boolean isSameViewEntered = Objects.equals(mCurrentViewId, viewState.id); // Update the view states first... mCurrentViewId = viewState.id; if (value != null) { @@ -2451,6 +2452,10 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState hideAugmentedAutofillLocked(viewState); } + if (isSameViewEntered) { + return; + } + // If the ViewState is ready to be displayed, onReady() will be called. viewState.update(value, virtualBounds, flags); break;