summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoman Birg <roman@cyngn.com>2015-04-16 18:24:53 (GMT)
committerRoman Birg <roman@cyngn.com>2015-04-16 18:24:53 (GMT)
commitd06291251703ce19968625742438c03351203d37 (patch)
tree301fc63c4b06ac26d776703c7b7373c2df9cc8fe
parent31a7bed3293c61665a1b0741360151f907d38dd0 (diff)
downloadandroid_packages_apps_Trebuchet-d06291251703ce19968625742438c03351203d37.zip
android_packages_apps_Trebuchet-d06291251703ce19968625742438c03351203d37.tar.gz
android_packages_apps_Trebuchet-d06291251703ce19968625742438c03351203d37.tar.bz2
Trebuchet: fix Protected apps issue with folders
When there's a folder of shortcuts where all of the items have been set to protected, the first item in the folder sometimes does not get removed from the workspace allowing access to the protected application. When the second-to-last item in a folder is being removed, it was being replaced with the shortcut automatically, and we were checking against the folder contents, which was off the workspace at this time, but still had the shortcut. We need to check whether the last shortcut we are re-adding back to the workspace is actually protected before adding it. Change-Id: I9c7dbbd8562ae3e71e198747e6cb1c10417d1f46 Signed-off-by: Roman Birg <roman@cyngn.com>
-rw-r--r--src/com/android/launcher3/LauncherModel.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
index e0ad461..a8bcb2c 100644
--- a/src/com/android/launcher3/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -2747,10 +2747,13 @@ public class LauncherModel extends BroadcastReceiver
ShortcutInfo finalItem = folder.contents.get(0);
finalItem.container = folder.container;
LauncherModel.deleteItemFromDatabase(mContext, folder);
- LauncherModel.addOrMoveItemInDatabase(mContext, finalItem, folder.container,
- folder.screenId, folder.cellX, folder.cellY);
+ // only replace this item back on the workspace if it's not protected
+ if (!mHiddenApps.contains(finalItem.intent.getComponent())) {
+ LauncherModel.addOrMoveItemInDatabase(mContext, finalItem, folder.container,
+ folder.screenId, folder.cellX, folder.cellY);
+ workspaceItems.add(finalItem);
+ }
workspaceItems.remove(i);
- workspaceItems.add(finalItem);
folders.remove(Long.valueOf(item.id));
} else if (folder.contents.size() == 0 /*&& !(folder instanceof LiveFolderInfo)*/) {
LauncherModel.deleteFolderContentsFromDatabase(mContext, folder);