Index: ui/android/java/src/org/chromium/ui/autofill/AutofillKeyboardAccessory.java |
diff --git a/ui/android/java/src/org/chromium/ui/autofill/AutofillKeyboardAccessory.java b/ui/android/java/src/org/chromium/ui/autofill/AutofillKeyboardAccessory.java |
index d114ccd1d14fc9982b25138957755ca60cf33741..478971aba708b0ffb1d430836163f93f90ba841d 100644 |
--- a/ui/android/java/src/org/chromium/ui/autofill/AutofillKeyboardAccessory.java |
+++ b/ui/android/java/src/org/chromium/ui/autofill/AutofillKeyboardAccessory.java |
@@ -24,7 +24,8 @@ import java.util.HashSet; |
* The Autofill suggestion view that lists relevant suggestions. It sits above the keyboard and |
* below the content area. |
*/ |
-public class AutofillKeyboardAccessory extends ListView implements AdapterView.OnItemClickListener { |
+public class AutofillKeyboardAccessory extends ListView implements AdapterView.OnItemClickListener, |
+ WindowAndroid.KeyboardVisibilityListener { |
private final WindowAndroid mWindowAndroid; |
private final AutofillKeyboardAccessoryDelegate mAutofillCallback; |
@@ -59,6 +60,7 @@ public class AutofillKeyboardAccessory extends ListView implements AdapterView.O |
mWindowAndroid = windowAndroid; |
mAutofillCallback = autofillCallback; |
+ mWindowAndroid.addKeyboardVisibilityListener(this); |
setBackgroundResource(R.drawable.autofill_accessory_view_border); |
setOnItemClickListener(this); |
setContentDescription(windowAndroid.getActivity().get().getString( |
@@ -108,10 +110,19 @@ public class AutofillKeyboardAccessory extends ListView implements AdapterView.O |
ViewGroup container = mWindowAndroid.getKeyboardAccessoryView(); |
container.removeView(this); |
container.setVisibility(View.GONE); |
+ mWindowAndroid.removeKeyboardVisibilityListener(this); |
} |
@Override |
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { |
mAutofillCallback.suggestionSelected(position); |
} |
+ |
+ @Override |
+ public void keyboardVisibilityChanged(boolean isShowing) { |
+ if (!isShowing) { |
+ dismiss(); |
+ mAutofillCallback.dismissed(); |
+ } |
+ } |
} |