diff options
author | Jim Miller <jaggies@google.com> | 2010-08-26 20:17:43 -0700 |
---|---|---|
committer | Jim Miller <jaggies@google.com> | 2010-08-26 20:17:43 -0700 |
commit | ee969aa850437c7c9b4e6e016b6ff43267c73d91 (patch) | |
tree | e6e0b6fbb183986f363ca77d98c9595647f68a44 /policy/src | |
parent | 5c769a47aeb399324cca7f5d449331a3bba85b52 (diff) | |
download | frameworks_base-ee969aa850437c7c9b4e6e016b6ff43267c73d91.zip frameworks_base-ee969aa850437c7c9b4e6e016b6ff43267c73d91.tar.gz frameworks_base-ee969aa850437c7c9b4e6e016b6ff43267c73d91.tar.bz2 |
Fix 2797185: Show 3D Recents on xlarge device
This fixes a bug where some xlarge devices weren't showing 3D recent apps.
The cause was that the config wasn't guaranteed to be loaded by
the time we reach init() in PhoneWindowManager.
The fix looks at the property on-demand, which can't happen
until after the user sees the home screen, which guarantees the
configuration is loaded.
Change-Id: Ic41196f7a15218033b831e6e9cf9d536e0712844
Diffstat (limited to 'policy/src')
-rwxr-xr-x | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 4d4c799..6e5db2b 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"); |