diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-04-05 15:59:05 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2016-04-06 12:46:36 -0700 |
commit | c52ba710053e4c6927937dd1a26d1abe06b6fa99 (patch) | |
tree | daf94a9c41c524c410ef671aad0b2c2ec028d47e /src/com/android/launcher3/folder | |
parent | e316a7fa4bf55209712c49d92f98f65ff378dc4a (diff) | |
download | android_packages_apps_Trebuchet-c52ba710053e4c6927937dd1a26d1abe06b6fa99.tar.gz android_packages_apps_Trebuchet-c52ba710053e4c6927937dd1a26d1abe06b6fa99.tar.bz2 android_packages_apps_Trebuchet-c52ba710053e4c6927937dd1a26d1abe06b6fa99.zip |
Fixing folder icon not getting redrawn when the contents change
> Removing parent from ItemOperator as inconsistant values were
being passed in workspace and folderPagedView
> Fixing itemChanged causing multiple redraws, by passing a
'animate' parameter to explicitely request animation
Bug:27740161
Bug:28015426
Change-Id: Ide7b266bde9aad5f450a3f808a59182fe01a5110
Diffstat (limited to 'src/com/android/launcher3/folder')
-rw-r--r-- | src/com/android/launcher3/folder/Folder.java | 14 | ||||
-rw-r--r-- | src/com/android/launcher3/folder/FolderIcon.java | 7 | ||||
-rw-r--r-- | src/com/android/launcher3/folder/FolderPagedView.java | 2 |
3 files changed, 13 insertions, 10 deletions
diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java index 087670e21..09a92a998 100644 --- a/src/com/android/launcher3/folder/Folder.java +++ b/src/com/android/launcher3/folder/Folder.java @@ -300,7 +300,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList mCurrentDragView = v; mContent.removeItem(mCurrentDragView); - mInfo.remove(mCurrentDragInfo); + mInfo.remove(mCurrentDragInfo, true); mDragInProgress = true; mItemAddedBackToSelfViaIcon = false; } @@ -426,8 +426,9 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList // If our folder has too many items we prune them from the list. This is an issue // when upgrading from the old Folders implementation which could contain an unlimited // number of items. + // TODO: Remove this, as with multi-page folders, there will never be any overflow for (ShortcutInfo item: overflow) { - mInfo.remove(item); + mInfo.remove(item, false); LauncherModel.deleteItemFromDatabase(mLauncher, item); } @@ -1330,7 +1331,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList // Temporarily suppress the listener, as we did all the work already here. mSuppressOnAdd = true; - mInfo.add(si); + mInfo.add(si, false); mSuppressOnAdd = false; // Clear the drag info, as it is no longer being dragged. mCurrentDragInfo = null; @@ -1390,13 +1391,14 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList return mContent.iterateOverItems(new ItemOperator() { @Override - public boolean evaluate(ItemInfo info, View view, View parent) { + public boolean evaluate(ItemInfo info, View view) { return info == item; } }); } - public void onItemsChanged() { + @Override + public void onItemsChanged(boolean animate) { updateTextViewFocus(); } @@ -1409,7 +1411,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList mContent.iterateOverItems(new ItemOperator() { @Override - public boolean evaluate(ItemInfo info, View view, View parent) { + public boolean evaluate(ItemInfo info, View view) { mItemsInReadingOrder.add(view); return false; } diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java index b7e11f1aa..d76608a93 100644 --- a/src/com/android/launcher3/folder/FolderIcon.java +++ b/src/com/android/launcher3/folder/FolderIcon.java @@ -224,7 +224,7 @@ public class FolderIcon extends FrameLayout implements FolderListener { } public void addItem(ShortcutInfo item) { - mInfo.add(item); + mInfo.add(item, true); } public void onDragEnter(ItemInfo dragInfo) { @@ -937,8 +937,9 @@ public class FolderIcon extends FrameLayout implements FolderListener { } } - public void onItemsChanged() { - updateItemDrawingParams(true); + @Override + public void onItemsChanged(boolean animate) { + updateItemDrawingParams(animate); invalidate(); requestLayout(); } diff --git a/src/com/android/launcher3/folder/FolderPagedView.java b/src/com/android/launcher3/folder/FolderPagedView.java index c25444e06..1af148584 100644 --- a/src/com/android/launcher3/folder/FolderPagedView.java +++ b/src/com/android/launcher3/folder/FolderPagedView.java @@ -454,7 +454,7 @@ public class FolderPagedView extends PagedView { for (int j = 0; j < page.getCountY(); j++) { for (int i = 0; i < page.getCountX(); i++) { View v = page.getChildAt(i, j); - if ((v != null) && op.evaluate((ItemInfo) v.getTag(), v, this)) { + if ((v != null) && op.evaluate((ItemInfo) v.getTag(), v)) { return v; } } |