OSDN Git Service

Close Folder before doing any automatic updates.
authorJon Miranda <jonmiranda@google.com>
Tue, 28 Feb 2017 21:15:28 +0000 (13:15 -0800)
committerJon Miranda <jonmiranda@google.com>
Tue, 28 Feb 2017 21:15:28 +0000 (13:15 -0800)
We already close the Folder when Work Profile apps are
auto added to the Work Profile Folder. This change extends that
functionality to when apps are being auto removed from the
Work Profile Folder.

Bug: 35845161
Change-Id: I2aa6a6a0ed28a95f6a59a549430f91482583548b

src/com/android/launcher3/FolderInfo.java
src/com/android/launcher3/Workspace.java
src/com/android/launcher3/folder/Folder.java
src/com/android/launcher3/folder/FolderIcon.java
src/com/android/launcher3/util/ManagedProfileHeuristic.java

index ffddccf..0041bb4 100644 (file)
@@ -114,9 +114,9 @@ public class FolderInfo extends ItemInfo {
         }
     }
 
-    public void prepareAutoAdd() {
+    public void prepareAutoUpdate() {
         for (int i = 0; i < listeners.size(); i++) {
-            listeners.get(i).prepareAutoAdd();
+            listeners.get(i).prepareAutoUpdate();
         }
     }
 
@@ -125,7 +125,7 @@ public class FolderInfo extends ItemInfo {
         public void onRemove(ShortcutInfo item);
         public void onTitleChanged(CharSequence title);
         public void onItemsChanged(boolean animate);
-        public void prepareAutoAdd();
+        public void prepareAutoUpdate();
     }
 
     public boolean hasOption(int optionFlag) {
index 56aa69e..ef00a8d 100644 (file)
@@ -3885,7 +3885,9 @@ public class Workspace extends PagedView
                     // The item may belong to a folder.
                     View parent = idToViewMap.get(itemToRemove.container);
                     if (parent != null) {
-                        ((FolderInfo) parent.getTag()).remove((ShortcutInfo) itemToRemove, false);
+                        FolderInfo folderInfo = (FolderInfo) parent.getTag();
+                        folderInfo.prepareAutoUpdate();
+                        folderInfo.remove((ShortcutInfo) itemToRemove, false);
                     }
                 }
             }
index 67b8e6d..3d2ffb4 100644 (file)
@@ -1413,7 +1413,7 @@ public class Folder extends AbstractFloatingView implements DragSource, View.OnC
     }
 
     @Override
-    public void prepareAutoAdd() {
+    public void prepareAutoUpdate() {
         close(false);
     }
 
index fce902e..9697985 100644 (file)
@@ -981,7 +981,7 @@ public class FolderIcon extends FrameLayout implements FolderListener {
     }
 
     @Override
-    public void prepareAutoAdd() {
+    public void prepareAutoUpdate() {
     }
 
     @Override
index a1c2f0a..189c690 100644 (file)
@@ -163,7 +163,7 @@ public class ManagedProfileHeuristic {
 
                     @Override
                     public void run() {
-                        workFolder.prepareAutoAdd();
+                        workFolder.prepareAutoUpdate();
                         for (ShortcutInfo info : workFolderApps) {
                             workFolder.add(info, false);
                         }