summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenny Guy <kennyguy@google.com>2014-05-13 12:59:34 +0100
committerKenny Guy <kennyguy@google.com>2014-05-13 13:02:21 +0100
commitf8b1dfd293430f32ace939d2fa78f3059cb7bb2f (patch)
tree95a973cae110c63a08df0d48c9eee425ddb7e123 /src
parent418dcb881a62162b2834321d362c2f8f01962493 (diff)
downloadandroid_packages_apps_Trebuchet-f8b1dfd293430f32ace939d2fa78f3059cb7bb2f.tar.gz
android_packages_apps_Trebuchet-f8b1dfd293430f32ace939d2fa78f3059cb7bb2f.tar.bz2
android_packages_apps_Trebuchet-f8b1dfd293430f32ace939d2fa78f3059cb7bb2f.zip
Reset profile ids when backing up / restoring favorites.
Clear the profile id when packing an intent for backup. Set the profile id to the current user when restoring a favorite from a backup. Change-Id: I9d976fbe16773b34a74e57d080ff797ba51f9b04
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/LauncherBackupHelper.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/com/android/launcher3/LauncherBackupHelper.java b/src/com/android/launcher3/LauncherBackupHelper.java
index 81ced7b3b..ea14753d8 100644
--- a/src/com/android/launcher3/LauncherBackupHelper.java
+++ b/src/com/android/launcher3/LauncherBackupHelper.java
@@ -819,9 +819,15 @@ public class LauncherBackupHelper implements BackupHelper {
if (!TextUtils.isEmpty(title)) {
favorite.title = title;
}
- String intent = c.getString(INTENT_INDEX);
- if (!TextUtils.isEmpty(intent)) {
- favorite.intent = intent;
+ String intentDescription = c.getString(INTENT_INDEX);
+ if (!TextUtils.isEmpty(intentDescription)) {
+ try {
+ Intent intent = Intent.parseUri(intentDescription, 0);
+ intent.removeExtra(ItemInfo.EXTRA_PROFILE);
+ favorite.intent = intent.toUri(0);
+ } catch (URISyntaxException e) {
+ Log.e(TAG, "Invalid intent", e);
+ }
}
favorite.itemType = c.getInt(ITEM_TYPE_INDEX);
if (favorite.itemType == Favorites.ITEM_TYPE_APPWIDGET) {
@@ -874,6 +880,11 @@ public class LauncherBackupHelper implements BackupHelper {
values.put(Favorites.APPWIDGET_ID, favorite.appWidgetId);
}
+ UserHandleCompat myUserHandle = UserHandleCompat.myUserHandle();
+ long userSerialNumber =
+ UserManagerCompat.getInstance(mContext).getSerialNumberForUser(myUserHandle);
+ values.put(LauncherSettings.Favorites.PROFILE_ID, userSerialNumber);
+
// Let LauncherModel know we've been here.
values.put(LauncherSettings.Favorites.RESTORED, 1);