diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/app/SuggestionsAdapter.java | 5 | ||||
-rw-r--r-- | core/java/android/server/search/SearchDialogWrapper.java | 6 | ||||
-rw-r--r-- | core/java/android/widget/AutoCompleteTextView.java | 9 |
3 files changed, 15 insertions, 5 deletions
diff --git a/core/java/android/app/SuggestionsAdapter.java b/core/java/android/app/SuggestionsAdapter.java index 593b7b7..4cd35a4 100644 --- a/core/java/android/app/SuggestionsAdapter.java +++ b/core/java/android/app/SuggestionsAdapter.java @@ -27,6 +27,7 @@ import android.content.res.Resources; import android.database.Cursor; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; +import android.graphics.drawable.DrawableContainer; import android.graphics.drawable.StateListDrawable; import android.net.Uri; import android.os.Bundle; @@ -359,6 +360,10 @@ class SuggestionsAdapter extends ResourceCursorAdapter { newBg.addState(new int[]{android.R.attr.state_selected}, transparent); newBg.addState(new int[]{android.R.attr.state_pressed}, transparent); newBg.addState(new int[]{}, background); + // Workaround for the fact that StateListDrawable.getPadding(Rect) always returns + // true, and thus sets the padding of any view that has it as a background. + ((DrawableContainer.DrawableContainerState) newBg.getConstantState()) + .setVariablePadding(true); mBackgroundsCache.put(backgroundColor, newBg.getConstantState()); return newBg; } diff --git a/core/java/android/server/search/SearchDialogWrapper.java b/core/java/android/server/search/SearchDialogWrapper.java index d3ef5de..b8a9875 100644 --- a/core/java/android/server/search/SearchDialogWrapper.java +++ b/core/java/android/server/search/SearchDialogWrapper.java @@ -190,6 +190,9 @@ implements DialogInterface.OnCancelListener, DialogInterface.OnDismissListener { msgData.putBundle(KEY_APP_SEARCH_DATA, appSearchData); msgData.putInt(KEY_IDENT, ident); mSearchUiThread.sendMessage(msg); + // be a little more eager in setting this so isVisible will return the correct value if + // called immediately after startSearch + mVisible = true; } /** @@ -199,6 +202,9 @@ implements DialogInterface.OnCancelListener, DialogInterface.OnDismissListener { public void stopSearch() { if (DBG) debug("stopSearch()"); mSearchUiThread.sendEmptyMessage(MSG_STOP_SEARCH); + // be a little more eager in setting this so isVisible will return the correct value if + // called immediately after stopSearch + mVisible = false; } /** diff --git a/core/java/android/widget/AutoCompleteTextView.java b/core/java/android/widget/AutoCompleteTextView.java index 4bc00de..47798a4 100644 --- a/core/java/android/widget/AutoCompleteTextView.java +++ b/core/java/android/widget/AutoCompleteTextView.java @@ -205,11 +205,10 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe * Private hook into the on click event, dispatched from {@link PassThroughClickListener} */ private void onClickImpl() { - // if drop down should always visible, bring it back in front of the soft - // keyboard when the user touches the text field - if (mDropDownAlwaysVisible - && mPopup.isShowing() - && mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED) { + // If the dropdown is showing, bring it back in front of the soft + // keyboard when the user touches the text field. + if (mPopup.isShowing() && + mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED) { ensureImeVisible(); } } |