summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/LauncherAppState.java
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2014-11-24 16:57:54 -0500
committerChris Wren <cwren@android.com>2014-11-24 16:57:54 -0500
commitb02e611d15bd6fbb05814adaa804dd68181c556c (patch)
tree26b4e38c8c5e67263e67d36de3ec244c753082c0 /src/com/android/launcher3/LauncherAppState.java
parentab6527da412bf944df08429c697f5fcf94f8bb52 (diff)
downloadandroid_packages_apps_Trebuchet-b02e611d15bd6fbb05814adaa804dd68181c556c.tar.gz
android_packages_apps_Trebuchet-b02e611d15bd6fbb05814adaa804dd68181c556c.tar.bz2
android_packages_apps_Trebuchet-b02e611d15bd6fbb05814adaa804dd68181c556c.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
Diffstat (limited to 'src/com/android/launcher3/LauncherAppState.java')
-rw-r--r--src/com/android/launcher3/LauncherAppState.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/com/android/launcher3/LauncherAppState.java b/src/com/android/launcher3/LauncherAppState.java
index ec914d873..b7c45a340 100644
--- a/src/com/android/launcher3/LauncherAppState.java
+++ b/src/com/android/launcher3/LauncherAppState.java
@@ -195,6 +195,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();
@@ -204,27 +211,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;
}