Merge "Bug 5319091: Completions delayed in AutoComplete in landscape"
This commit is contained in:
committed by
Android (Google) Code Review
commit
a0383f7212
@@ -744,7 +744,6 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
||||
if (mFilter != null) {
|
||||
mPopupCanBeUpdated = true;
|
||||
performFiltering(getText(), mLastKeyCode);
|
||||
buildImeCompletions();
|
||||
}
|
||||
} else {
|
||||
// drop down is automatically dismissed when enough characters
|
||||
@@ -934,7 +933,8 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
||||
*/
|
||||
|
||||
final boolean dropDownAlwaysVisible = mPopup.isDropDownAlwaysVisible();
|
||||
if ((count > 0 || dropDownAlwaysVisible) && enoughToFilter()) {
|
||||
final boolean enoughToFilter = enoughToFilter();
|
||||
if ((count > 0 || dropDownAlwaysVisible) && enoughToFilter) {
|
||||
if (hasFocus() && hasWindowFocus() && mPopupCanBeUpdated) {
|
||||
showDropDown();
|
||||
}
|
||||
@@ -1045,6 +1045,8 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
||||
* <p>Displays the drop down on screen.</p>
|
||||
*/
|
||||
public void showDropDown() {
|
||||
buildImeCompletions();
|
||||
|
||||
if (mPopup.getAnchorView() == null) {
|
||||
if (mDropDownAnchorId != View.NO_ID) {
|
||||
mPopup.setAnchorView(getRootView().findViewById(mDropDownAnchorId));
|
||||
@@ -1060,7 +1062,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
||||
mPopup.show();
|
||||
mPopup.getListView().setOverScrollMode(View.OVER_SCROLL_ALWAYS);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Forces outside touches to be ignored. Normally if {@link #isDropDownAlwaysVisible()} is
|
||||
* false, we allow outside touch to dismiss the dropdown. If this is set to true, then we
|
||||
@@ -1071,7 +1073,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
||||
public void setForceIgnoreOutsideTouch(boolean forceIgnoreOutsideTouch) {
|
||||
mPopup.setForceIgnoreOutsideTouch(forceIgnoreOutsideTouch);
|
||||
}
|
||||
|
||||
|
||||
private void buildImeCompletions() {
|
||||
final ListAdapter adapter = mAdapter;
|
||||
if (adapter != null) {
|
||||
@@ -1086,8 +1088,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
||||
realCount++;
|
||||
Object item = adapter.getItem(i);
|
||||
long id = adapter.getItemId(i);
|
||||
completions[i] = new CompletionInfo(id, i,
|
||||
convertSelectionToString(item));
|
||||
completions[i] = new CompletionInfo(id, i, convertSelectionToString(item));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user