From cbe69206c0046d3f4c1f385425e69751d7048156 Mon Sep 17 00:00:00 2001 From: Michael Jurka Date: Thu, 13 Sep 2012 11:05:59 -0700 Subject: [PATCH] Fix issue where recents would not show up sometimes Change-Id: Iea78f447b71ae23630c76c8982e69c780eef9df6 --- .../android/systemui/recent/RecentsActivity.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsActivity.java index cd339512dd0ae..9c3756cfd59fd 100644 --- a/packages/SystemUI/src/com/android/systemui/recent/RecentsActivity.java +++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsActivity.java @@ -33,6 +33,7 @@ import com.android.systemui.statusbar.tablet.StatusBarPanel; public class RecentsActivity extends Activity { public static final String TOGGLE_RECENTS_INTENT = "com.android.systemui.TOGGLE_RECENTS"; public static final String CLOSE_RECENTS_INTENT = "com.android.systemui.CLOSE_RECENTS"; + private static final String WAS_SHOWING = "was_showing"; private RecentsPanelView mRecentsPanel; private IntentFilter mIntentFilter; @@ -139,13 +140,21 @@ public class RecentsActivity extends Activity { mRecentsPanel.setMinSwipeAlpha( getResources().getInteger(R.integer.config_recent_item_min_alpha) / 100f); - handleIntent(getIntent()); + if (savedInstanceState == null || + savedInstanceState.getBoolean(WAS_SHOWING)) { + handleIntent(getIntent()); + } mIntentFilter = new IntentFilter(); mIntentFilter.addAction(CLOSE_RECENTS_INTENT); registerReceiver(mIntentReceiver, mIntentFilter); super.onCreate(savedInstanceState); } + @Override + protected void onSaveInstanceState(Bundle outState) { + outState.putBoolean(WAS_SHOWING, mRecentsPanel.isShowing()); + } + @Override protected void onDestroy() { final SystemUIApplication app = (SystemUIApplication) getApplication(); @@ -165,7 +174,7 @@ public class RecentsActivity extends Activity { if (TOGGLE_RECENTS_INTENT.equals(intent.getAction())) { if (mRecentsPanel != null) { - if (mRecentsPanel.isShowing() && mForeground) { + if (mRecentsPanel.isShowing()) { dismissAndGoBack(); } else { final SystemUIApplication app = (SystemUIApplication) getApplication();