summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/folder
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-04-05 15:59:05 -0700
committerSunny Goyal <sunnygoyal@google.com>2016-04-06 12:46:36 -0700
commitc52ba710053e4c6927937dd1a26d1abe06b6fa99 (patch)
treedaf94a9c41c524c410ef671aad0b2c2ec028d47e /src/com/android/launcher3/folder
parente316a7fa4bf55209712c49d92f98f65ff378dc4a (diff)
downloadandroid_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.java14
-rw-r--r--src/com/android/launcher3/folder/FolderIcon.java7
-rw-r--r--src/com/android/launcher3/folder/FolderPagedView.java2
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;
}
}