summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/Folder.java
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2013-12-09 16:57:45 -0800
committerWinson Chung <winsonc@google.com>2013-12-09 16:57:45 -0800
commit68b667848ef7c6f69b24a40d780e4088a5f2a1fb (patch)
tree450339f97a27105734f9a877d50e2f269f1dffa1 /src/com/android/launcher3/Folder.java
parentb0ee08109ec89959d9bbd526c6e5f7ab96c8c3ea (diff)
downloadandroid_packages_apps_Trebuchet-68b667848ef7c6f69b24a40d780e4088a5f2a1fb.tar.gz
android_packages_apps_Trebuchet-68b667848ef7c6f69b24a40d780e4088a5f2a1fb.tar.bz2
android_packages_apps_Trebuchet-68b667848ef7c6f69b24a40d780e4088a5f2a1fb.zip
Fixing crash in empty folders. (Bug 11627191)
Change-Id: I7a0e23e16a7546a9612d3406257e15be758d4c52
Diffstat (limited to 'src/com/android/launcher3/Folder.java')
-rw-r--r--src/com/android/launcher3/Folder.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java
index 1d234ff8a..2fb8f9256 100644
--- a/src/com/android/launcher3/Folder.java
+++ b/src/com/android/launcher3/Folder.java
@@ -408,6 +408,15 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
mFolderName.setText("");
}
updateItemLocationsInDatabase();
+
+ // In case any children didn't come across during loading, clean up the folder accordingly
+ mFolderIcon.post(new Runnable() {
+ public void run() {
+ if (getItemCount() <= 1) {
+ replaceFolderWithFinalItem();
+ }
+ }
+ });
}
/**
@@ -816,7 +825,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
View v = list.get(i);
ItemInfo info = (ItemInfo) v.getTag();
LauncherModel.moveItemInDatabase(mLauncher, info, mInfo.id, 0,
- info.cellX, info.cellY);
+ info.cellX, info.cellY);
}
}
@@ -1065,7 +1074,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
public void run() {
CellLayout cellLayout = mLauncher.getCellLayout(mInfo.container, mInfo.screenId);
- View child = null;
+ View child = null;
// Move the item from the folder to the workspace, in the position of the folder
if (getItemCount() == 1) {
ShortcutInfo finalItem = mInfo.contents.get(0);
@@ -1095,6 +1104,8 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList
View finalChild = getItemAt(0);
if (finalChild != null) {
mFolderIcon.performDestroyAnimation(finalChild, onCompleteRunnable);
+ } else {
+ onCompleteRunnable.run();
}
mDestroyed = true;
}