Merge "Removing usage of unsupportedApi AutoCompleteTextView.ensureImeVisible from SearchDialog Bug: 124452405 Test: No CTS test because SearchDialog is not exposed externally."
diff --git a/core/java/android/app/SearchDialog.java b/core/java/android/app/SearchDialog.java
index 4a45150..8493fb2 100644
--- a/core/java/android/app/SearchDialog.java
+++ b/core/java/android/app/SearchDialog.java
@@ -47,8 +47,10 @@
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.AutoCompleteTextView;
+import android.widget.Filterable;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import android.widget.ListPopupWindow;
import android.widget.SearchView;
import android.widget.TextView;
@@ -370,7 +372,10 @@
updateSearchAppIcon();
updateSearchBadge();
if (isLandscapeMode(getContext())) {
- mSearchAutoComplete.ensureImeVisible(true);
+ mSearchAutoComplete.setInputMethodMode(ListPopupWindow.INPUT_METHOD_NEEDED);
+ if (mSearchAutoComplete.isDropDownAlwaysVisible() || enoughToFilter()) {
+ mSearchAutoComplete.showDropDown();
+ }
}
}
}
@@ -381,6 +386,15 @@
== Configuration.ORIENTATION_LANDSCAPE;
}
+ private boolean enoughToFilter() {
+ Filterable filterableAdapter = (Filterable) mSearchAutoComplete.getAdapter();
+ if (filterableAdapter == null || filterableAdapter.getFilter() == null) {
+ return false;
+ }
+
+ return mSearchAutoComplete.enoughToFilter();
+ }
+
/**
* Update the UI according to the info in the current value of {@link #mSearchable}.
*/