mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-04 09:56:49 +00:00
Refactoring some folder binding logic:
> Moving grid calcutation in a separate class > Moving content saving logic to folder instead of relying on item bind Bug: 139051851 Change-Id: I81b226dbebe13652482a767c992e8cc8f4f35a60
This commit is contained in:
@@ -79,7 +79,7 @@ public class FolderAnimationManager {
|
||||
private final TimeInterpolator mLargeFolderPreviewItemCloseInterpolator;
|
||||
|
||||
private final PreviewItemDrawingParams mTmpParams = new PreviewItemDrawingParams(0, 0, 0, 0);
|
||||
|
||||
private final FolderGridOrganizer mPreviewVerifier;
|
||||
|
||||
public FolderAnimationManager(Folder folder, boolean isOpening) {
|
||||
mFolder = folder;
|
||||
@@ -91,6 +91,7 @@ public class FolderAnimationManager {
|
||||
|
||||
mContext = folder.getContext();
|
||||
mLauncher = folder.mLauncher;
|
||||
mPreviewVerifier = new FolderGridOrganizer(mLauncher.getDeviceProfile().inv);
|
||||
|
||||
mIsOpening = isOpening;
|
||||
|
||||
@@ -113,7 +114,7 @@ public class FolderAnimationManager {
|
||||
public AnimatorSet getAnimator() {
|
||||
final DragLayer.LayoutParams lp = (DragLayer.LayoutParams) mFolder.getLayoutParams();
|
||||
ClippedFolderIconLayoutRule rule = mFolderIcon.getLayoutRule();
|
||||
final List<BubbleTextView> itemsInPreview = mFolderIcon.getPreviewItems();
|
||||
final List<BubbleTextView> itemsInPreview = getPreviewIconsOnPage(0);
|
||||
|
||||
// Match position of the FolderIcon
|
||||
final Rect folderIconPos = new Rect();
|
||||
@@ -225,6 +226,14 @@ public class FolderAnimationManager {
|
||||
return a;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of "preview items" on {@param page}.
|
||||
*/
|
||||
private List<BubbleTextView> getPreviewIconsOnPage(int page) {
|
||||
return mPreviewVerifier.setFolderInfo(mFolder.mInfo)
|
||||
.previewItemsForPage(page, mFolder.getIconsInReadingOrder());
|
||||
}
|
||||
|
||||
/**
|
||||
* Animate the items on the current page.
|
||||
*/
|
||||
@@ -232,9 +241,8 @@ public class FolderAnimationManager {
|
||||
int previewItemOffsetX, int previewItemOffsetY) {
|
||||
ClippedFolderIconLayoutRule rule = mFolderIcon.getLayoutRule();
|
||||
boolean isOnFirstPage = mFolder.mContent.getCurrentPage() == 0;
|
||||
final List<BubbleTextView> itemsInPreview = isOnFirstPage
|
||||
? mFolderIcon.getPreviewItems()
|
||||
: mFolderIcon.getPreviewItemsOnPage(mFolder.mContent.getCurrentPage());
|
||||
final List<BubbleTextView> itemsInPreview = getPreviewIconsOnPage(
|
||||
isOnFirstPage ? 0 : mFolder.mContent.getCurrentPage());
|
||||
final int numItemsInPreview = itemsInPreview.size();
|
||||
final int numItemsInFirstPagePreview = isOnFirstPage
|
||||
? numItemsInPreview : MAX_NUM_ITEMS_IN_PREVIEW;
|
||||
|
||||
Reference in New Issue
Block a user