diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2015-07-17 18:56:37 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-07-17 18:56:38 +0000 |
commit | b04136b4714a0d9afddab6a70045f4f4f7fa1ee4 (patch) | |
tree | d927249698a8bb655aff3af93264089857aec29a /src/com | |
parent | f63dda5e153febf0b5163ac41d927129ec822314 (diff) | |
parent | 3a30cfeb7c805bf99dba9002ac8b22ae66d84378 (diff) | |
download | android_packages_apps_Trebuchet-b04136b4714a0d9afddab6a70045f4f4f7fa1ee4.tar.gz android_packages_apps_Trebuchet-b04136b4714a0d9afddab6a70045f4f4f7fa1ee4.tar.bz2 android_packages_apps_Trebuchet-b04136b4714a0d9afddab6a70045f4f4f7fa1ee4.zip |
Merge "Adding minSpanX and minSpanY for all the launcher widgets" into ub-launcher3-burnaby
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/launcher3/CellLayout.java | 8 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherBackupAgentHelper.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherBackupHelper.java | 26 |
3 files changed, 26 insertions, 10 deletions
diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java index 2cde3d53d..809688712 100644 --- a/src/com/android/launcher3/CellLayout.java +++ b/src/com/android/launcher3/CellLayout.java @@ -2690,8 +2690,12 @@ public class CellLayout extends ViewGroup implements BubbleTextShadowHandler { * @param result An array of length 2 in which to store the result (may be null). */ public static int[] rectToCell(Launcher launcher, int width, int height, int[] result) { - DeviceProfile grid = launcher.getDeviceProfile(); - Rect padding = grid.getWorkspacePadding(Utilities.isRtl(launcher.getResources())); + return rectToCell(launcher.getDeviceProfile(), launcher, width, height, result); + } + + public static int[] rectToCell(DeviceProfile grid, Context context, int width, int height, + int[] result) { + Rect padding = grid.getWorkspacePadding(Utilities.isRtl(context.getResources())); // Always assume we're working with the smallest span to make sure we // reserve enough space in both orientations. diff --git a/src/com/android/launcher3/LauncherBackupAgentHelper.java b/src/com/android/launcher3/LauncherBackupAgentHelper.java index e607a0faf..a92a889f9 100644 --- a/src/com/android/launcher3/LauncherBackupAgentHelper.java +++ b/src/com/android/launcher3/LauncherBackupAgentHelper.java @@ -92,7 +92,7 @@ public class LauncherBackupAgentHelper extends BackupAgentHelper { LauncherClings.synchonouslyMarkFirstRunClingDismissed(this); // TODO: Update the backup set to include rank. - if (mHelper.restoredBackupVersion <= 2) { + if (mHelper.restoredBackupVersion <= 3) { LauncherAppState.getLauncherProvider().updateFolderItemsRank(); LauncherAppState.getLauncherProvider().convertShortcutsToLauncherActivities(); } diff --git a/src/com/android/launcher3/LauncherBackupHelper.java b/src/com/android/launcher3/LauncherBackupHelper.java index f2097366a..8c6fedbdc 100644 --- a/src/com/android/launcher3/LauncherBackupHelper.java +++ b/src/com/android/launcher3/LauncherBackupHelper.java @@ -75,7 +75,7 @@ public class LauncherBackupHelper implements BackupHelper { private static final boolean VERBOSE = LauncherBackupAgentHelper.VERBOSE; private static final boolean DEBUG = LauncherBackupAgentHelper.DEBUG; - private static final int BACKUP_VERSION = 2; + private static final int BACKUP_VERSION = 3; private static final int MAX_JOURNAL_SIZE = 1000000; // Journal key is such that it is always smaller than any dynamically generated @@ -148,6 +148,7 @@ public class LauncherBackupHelper implements BackupHelper { private IconCache mIconCache; private DeviceProfieData mDeviceProfileData; + private InvariantDeviceProfile mIdp; boolean restoreSuccessful; int restoredBackupVersion = 1; @@ -178,6 +179,7 @@ public class LauncherBackupHelper implements BackupHelper { mExistingKeys.add(keyToBackupKey(key)); } } + restoredBackupVersion = journal.backupVersion; } /** @@ -206,7 +208,8 @@ public class LauncherBackupHelper implements BackupHelper { if (mDeviceProfileData == null) { LauncherAppState app = LauncherAppState.getInstance(); - mDeviceProfileData = initDeviceProfileData(app.getInvariantDeviceProfile()); + mIdp = app.getInvariantDeviceProfile(); + mDeviceProfileData = initDeviceProfileData(mIdp); mIconCache = app.getIconCache(); } @@ -308,9 +311,9 @@ public class LauncherBackupHelper implements BackupHelper { if (mDeviceProfileData == null) { // This call does not happen on a looper thread. So LauncherAppState // can't be created . Instead initialize required dependencies directly. - InvariantDeviceProfile profile = new InvariantDeviceProfile(mContext); - mDeviceProfileData = initDeviceProfileData(profile); - mIconCache = new IconCache(mContext, profile); + mIdp = new InvariantDeviceProfile(mContext); + mDeviceProfileData = initDeviceProfileData(mIdp); + mIconCache = new IconCache(mContext, mIdp); } int dataSize = data.size(); @@ -335,7 +338,6 @@ public class LauncherBackupHelper implements BackupHelper { MessageNano.mergeFrom(journal, readCheckedBytes(mBuffer, dataSize)); applyJournal(journal); restoreSuccessful = isBackupCompatible(journal); - restoredBackupVersion = journal.backupVersion; return; } @@ -636,7 +638,7 @@ public class LauncherBackupHelper implements BackupHelper { } else { Log.w(TAG, "empty intent on appwidget: " + id); } - if (mExistingKeys.contains(backupKey)) { + if (mExistingKeys.contains(backupKey) && restoredBackupVersion >= BACKUP_VERSION) { if (DEBUG) Log.d(TAG, "already saved widget " + backupKey); // remember that we already backed this up previously @@ -969,6 +971,16 @@ public class LauncherBackupHelper implements BackupHelper { widget.icon.data = Utilities.flattenBitmap(icon); widget.icon.dpi = dpi; } + + // Calculate the spans corresponding to any one of the orientations as it should not change + // based on orientation. + int[] minSpans = CellLayout.rectToCell( + mIdp.portraitProfile, mContext, info.minResizeWidth, info.minResizeHeight, null); + widget.minSpanX = (info.resizeMode & LauncherAppWidgetProviderInfo.RESIZE_HORIZONTAL) != 0 + ? minSpans[0] : -1; + widget.minSpanY = (info.resizeMode & LauncherAppWidgetProviderInfo.RESIZE_VERTICAL) != 0 + ? minSpans[1] : -1; + return widget; } |