summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2014-11-24 16:57:54 -0500
committerDanesh M <daneshm90@gmail.com>2015-09-27 21:07:50 -0700
commit12170d8ee951ec1d035eb731ba3c060d2a1549d5 (patch)
treec7bc22f8273cd6cbeaf0363d4d14a966ba3925ae
parentb3266e9c2c399bf284deb32da5ef16f674220914 (diff)
downloadandroid_packages_apps_Trebuchet-12170d8ee951ec1d035eb731ba3c060d2a1549d5.tar.gz
android_packages_apps_Trebuchet-12170d8ee951ec1d035eb731ba3c060d2a1549d5.tar.bz2
android_packages_apps_Trebuchet-12170d8ee951ec1d035eb731ba3c060d2a1549d5.zip
Don't try to create an app state instance during restore.
Added a static utility function to get the DeviceProfile instead. Bug: 18504164 Change-Id: Ia510a84f1c195e58acf3bf4d1f6a42c739fdd413
-rw-r--r--src/com/android/launcher3/LauncherAppState.java17
-rw-r--r--src/com/android/launcher3/LauncherBackupHelper.java13
2 files changed, 15 insertions, 15 deletions
diff --git a/src/com/android/launcher3/LauncherAppState.java b/src/com/android/launcher3/LauncherAppState.java
index 5b03ad433..efa203769 100644
--- a/src/com/android/launcher3/LauncherAppState.java
+++ b/src/com/android/launcher3/LauncherAppState.java
@@ -194,6 +194,13 @@ public class LauncherAppState implements DeviceProfile.DeviceProfileCallbacks {
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
DeviceProfile initDynamicGrid(Context context) {
+ mDynamicGrid = createDynamicGrid(context, mDynamicGrid);
+ mDynamicGrid.getDeviceProfile().addCallback(this);
+ return mDynamicGrid.getDeviceProfile();
+ }
+
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
+ static DynamicGrid createDynamicGrid(Context context, DynamicGrid dynamicGrid) {
// Determine the dynamic grid properties
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
@@ -203,27 +210,27 @@ public class LauncherAppState implements DeviceProfile.DeviceProfileCallbacks {
DisplayMetrics dm = new DisplayMetrics();
display.getMetrics(dm);
- if (mDynamicGrid == null) {
+ if (dynamicGrid == null) {
Point smallestSize = new Point();
Point largestSize = new Point();
display.getCurrentSizeRange(smallestSize, largestSize);
- mDynamicGrid = new DynamicGrid(context,
+ dynamicGrid = new DynamicGrid(context,
context.getResources(),
Math.min(smallestSize.x, smallestSize.y),
Math.min(largestSize.x, largestSize.y),
realSize.x, realSize.y,
dm.widthPixels, dm.heightPixels);
- mDynamicGrid.getDeviceProfile().addCallback(this);
}
// Update the icon size
- DeviceProfile grid = mDynamicGrid.getDeviceProfile();
+ DeviceProfile grid = dynamicGrid.getDeviceProfile();
grid.updateFromConfiguration(context, context.getResources(),
realSize.x, realSize.y,
dm.widthPixels, dm.heightPixels);
- return grid;
+ return dynamicGrid;
}
+
public DynamicGrid getDynamicGrid() {
return mDynamicGrid;
}
diff --git a/src/com/android/launcher3/LauncherBackupHelper.java b/src/com/android/launcher3/LauncherBackupHelper.java
index c260fbc33..437434748 100644
--- a/src/com/android/launcher3/LauncherBackupHelper.java
+++ b/src/com/android/launcher3/LauncherBackupHelper.java
@@ -371,16 +371,9 @@ public class LauncherBackupHelper implements BackupHelper {
if (mCurrentProfile != null) {
return mCurrentProfile;
}
- LauncherAppState.setApplicationContext(mContext.getApplicationContext());
- LauncherAppState app = LauncherAppState.getInstance();
-
- DeviceProfile profile;
- if (app.getDynamicGrid() == null) {
- // Initialize the grid
- profile = app.initDynamicGrid(mContext);
- } else {
- profile = app.getDynamicGrid().getDeviceProfile();
- }
+ final Context applicationContext = mContext.getApplicationContext();
+ DeviceProfile profile = LauncherAppState.createDynamicGrid(applicationContext, null)
+ .getDeviceProfile();
mCurrentProfile = new DeviceProfieData();
mCurrentProfile.desktopRows = profile.numRows;