Fix bug where folder items preview remain in low res state.
- We update the ranks of all folder items after loading, to ensure there are
no gaps caused by removed folder items. This also ensures that we load
the high resolution icons for all preview items.
- FolderIconPreviewVerifier#setFolderInfo was not always called
- Init mGridSize with [1, 1] to prevent divide by zero error in case
setFolderInfo is not called
Bug: 126268196
Change-Id: I856489968665a39303e2922c78cf90f2b3ee6ebb
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index d820448..61cd2f1 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -488,11 +488,15 @@
@Override
public void invalidateParent(ItemInfo info) {
- FolderIconPreviewVerifier verifier = new FolderIconPreviewVerifier(getDeviceProfile().inv);
- if (verifier.isItemInPreview(info.rank) && (info.container >= 0)) {
+ if (info.container >= 0) {
View folderIcon = getWorkspace().getHomescreenIconByItemId(info.container);
- if (folderIcon != null) {
- folderIcon.invalidate();
+ if (folderIcon instanceof FolderIcon && folderIcon.getTag() instanceof FolderInfo) {
+ FolderIconPreviewVerifier verifier =
+ new FolderIconPreviewVerifier(getDeviceProfile().inv);
+ verifier.setFolderInfo((FolderInfo) folderIcon.getTag());
+ if (verifier.isItemInPreview(info.rank)) {
+ folderIcon.invalidate();
+ }
}
}
}