summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Mantler <nicoya@google.com>2013-10-15 18:49:38 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-10-15 18:49:38 -0700
commite444c661c53b942eea0daa120b3e5dcc58a0bdbe (patch)
treee78785048ba38299d9789a6069ee9b3a7bc76351
parentba7f02549047afd96f033eda9729592a7668e039 (diff)
parenteaf43ea2c3b00af22f0aa106fd3dde142f52d471 (diff)
downloadandroid_frameworks_ex-e444c661c53b942eea0daa120b3e5dcc58a0bdbe.tar.gz
android_frameworks_ex-e444c661c53b942eea0daa120b3e5dcc58a0bdbe.tar.bz2
android_frameworks_ex-e444c661c53b942eea0daa120b3e5dcc58a0bdbe.zip
am eaf43ea2: Don\'t show pop-ups and dialogs if we\'re not attached to a valid window.
* commit 'eaf43ea2c3b00af22f0aa106fd3dde142f52d471': Don't show pop-ups and dialogs if we're not attached to a valid window.
-rw-r--r--chips/src/com/android/ex/chips/RecipientEditTextView.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/chips/src/com/android/ex/chips/RecipientEditTextView.java b/chips/src/com/android/ex/chips/RecipientEditTextView.java
index e300354..6ee9986 100644
--- a/chips/src/com/android/ex/chips/RecipientEditTextView.java
+++ b/chips/src/com/android/ex/chips/RecipientEditTextView.java
@@ -252,6 +252,8 @@ public class RecipientEditTextView extends MultiAutoCompleteTextView implements
private int mActionBarHeight;
+ private boolean mAttachedToWindow;
+
public RecipientEditTextView(Context context, AttributeSet attrs) {
super(context, attrs);
setChipDimensions(context, attrs);
@@ -294,6 +296,16 @@ public class RecipientEditTextView extends MultiAutoCompleteTextView implements
}
@Override
+ protected void onDetachedFromWindow() {
+ mAttachedToWindow = false;
+ }
+
+ @Override
+ protected void onAttachedToWindow() {
+ mAttachedToWindow = true;
+ }
+
+ @Override
public boolean onEditorAction(TextView view, int action, KeyEvent keyEvent) {
if (action == EditorInfo.IME_ACTION_DONE) {
if (commitDefault()) {
@@ -1463,6 +1475,9 @@ public class RecipientEditTextView extends MultiAutoCompleteTextView implements
@Override
protected void onPostExecute(final ListAdapter result) {
+ if (!mAttachedToWindow) {
+ return;
+ }
int line = getLayout().getLineForOffset(getChipStart(currentChip));
int bottom;
if (line == getLineCount() -1) {
@@ -2036,6 +2051,9 @@ public class RecipientEditTextView extends MultiAutoCompleteTextView implements
private void showAddress(final DrawableRecipientChip currentChip, final ListPopupWindow popup,
int width) {
+ if (!mAttachedToWindow) {
+ return;
+ }
int line = getLayout().getLineForOffset(getChipStart(currentChip));
int bottom = calculateOffsetFromBottom(line);
// Align the alternates popup with the left side of the View,
@@ -2810,6 +2828,9 @@ public class RecipientEditTextView extends MultiAutoCompleteTextView implements
}
private void showCopyDialog(final String address) {
+ if (!mAttachedToWindow) {
+ return;
+ }
mCopyAddress = address;
mCopyDialog.setTitle(address);
mCopyDialog.setContentView(R.layout.copy_chip_dialog_layout);