From 119b06565c54f3bbe70555d8c5aba6065e6c9ad2 Mon Sep 17 00:00:00 2001 From: Jay Shrauner Date: Thu, 17 Sep 2015 12:00:18 -0700 Subject: Fix IllegalStateException in onMenuItemClick Make sure we're still visible before showing dialogs. Bug:24153279 Change-Id: I2eccdcd26064d73a59344107f79ee8eac1b47865 --- src/com/android/dialer/DialtactsActivity.java | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src') diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java index dbff276e5..3ca04df01 100644 --- a/src/com/android/dialer/DialtactsActivity.java +++ b/src/com/android/dialer/DialtactsActivity.java @@ -158,6 +158,8 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O */ private SmartDialSearchFragment mSmartDialSearchFragment; + private boolean mIsVisible; + /** * Animation that slides in. */ @@ -562,6 +564,25 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O mIsRestarting = true; } + @Override + protected void onStart() { + super.onStart(); + mIsVisible = true; + } + + @Override + protected void onStop() { + mIsVisible = false; + super.onStop(); + } + + /** + * Returns true when the Activity is currently visible (between onStart and onStop). + */ + /* package */ boolean isVisible() { + return mIsVisible; + } + @Override protected void onPause() { if (mClearSearchOnPause) { @@ -576,6 +597,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O @Override protected void onSaveInstanceState(Bundle outState) { + mIsVisible = false; super.onSaveInstanceState(outState); outState.putString(KEY_SEARCH_QUERY, mSearchQuery); outState.putBoolean(KEY_IN_REGULAR_SEARCH_UI, mInRegularSearch); @@ -648,6 +670,10 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O @Override public boolean onMenuItemClick(MenuItem item) { + if (!isVisible()) { + return true; + } + switch (item.getItemId()) { case R.id.menu_history: // Use explicit CallLogActivity intent instead of ACTION_VIEW + -- cgit v1.2.3