diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 4d4c799bbd3ca..6e5db2bdf3065 100755 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -270,7 +270,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { Intent mHomeIntent; Intent mCarDockIntent; Intent mDeskDockIntent; - Intent mRecentAppsIntent; boolean mSearchKeyPressed; boolean mConsumeSearchKeyUp; @@ -291,6 +290,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { // Nothing to see here, move along... int mFancyRotationAnimation; + + // Enable 3D recents based on config settings. + private Boolean mUse3dRecents; ShortcutManager mShortcutManager; PowerManager.WakeLock mBroadcastWakeLock; @@ -493,9 +495,20 @@ public class PhoneWindowManager implements WindowManagerPolicy { * Create (if necessary) and launch the recent apps dialog */ void showRecentAppsDialog() { - if (mRecentAppsIntent != null) { + // We can't initialize this in init() since the configuration hasn't been loaded yet. + if (mUse3dRecents == null) { + mUse3dRecents = mContext.getResources().getBoolean(R.bool.config_enableRecentApps3D); + } + + // Use 3d Recents dialog + if (mUse3dRecents) { try { - mContext.startActivity(mRecentAppsIntent); + Intent intent = new Intent(); + intent.setClassName("com.android.systemui", + "com.android.systemui.statusbar.RecentApplicationsActivity"); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK + | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); + mContext.startActivity(intent); return; } catch (ActivityNotFoundException e) { Log.e(TAG, "Failed to launch RecentAppsIntent", e); @@ -535,17 +548,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { mDeskDockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); - boolean use3dRecents = mContext.getResources().getBoolean(R.bool.config_enableRecentApps3D); - if (use3dRecents) { - mRecentAppsIntent = new Intent(); - mRecentAppsIntent.setClassName("com.android.systemui", - "com.android.systemui.statusbar.RecentApplicationsActivity"); - mRecentAppsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK - | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); - } else { - mRecentAppsIntent = null; - } - PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE); mBroadcastWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "PhoneWindowManager.mBroadcastWakeLock");