Merge "Fix folder preview animation when adding or removing icons." into tm-qpr-dev am: 34958f4bdf
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/18568370 Change-Id: I189846b43af30c3c5166f4495e3184695daa96e2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -79,6 +79,8 @@ public class PreviewItemManager {
|
|||||||
private int mPrevTopPadding = -1;
|
private int mPrevTopPadding = -1;
|
||||||
private Drawable mReferenceDrawable = null;
|
private Drawable mReferenceDrawable = null;
|
||||||
|
|
||||||
|
private int mNumOfPrevItems = 0;
|
||||||
|
|
||||||
// These hold the first page preview items
|
// These hold the first page preview items
|
||||||
private ArrayList<PreviewItemDrawingParams> mFirstPageParams = new ArrayList<>();
|
private ArrayList<PreviewItemDrawingParams> mFirstPageParams = new ArrayList<>();
|
||||||
// These hold the current page preview items. It is empty if the current page is the first page.
|
// These hold the current page preview items. It is empty if the current page is the first page.
|
||||||
@@ -254,7 +256,6 @@ public class PreviewItemManager {
|
|||||||
|
|
||||||
void buildParamsForPage(int page, ArrayList<PreviewItemDrawingParams> params, boolean animate) {
|
void buildParamsForPage(int page, ArrayList<PreviewItemDrawingParams> params, boolean animate) {
|
||||||
List<WorkspaceItemInfo> items = mIcon.getPreviewItemsOnPage(page);
|
List<WorkspaceItemInfo> items = mIcon.getPreviewItemsOnPage(page);
|
||||||
int prevNumItems = params.size();
|
|
||||||
|
|
||||||
// We adjust the size of the list to match the number of items in the preview.
|
// We adjust the size of the list to match the number of items in the preview.
|
||||||
while (items.size() < params.size()) {
|
while (items.size() < params.size()) {
|
||||||
@@ -278,8 +279,9 @@ public class PreviewItemManager {
|
|||||||
mReferenceDrawable = p.drawable;
|
mReferenceDrawable = p.drawable;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
FolderPreviewItemAnim anim = new FolderPreviewItemAnim(this, p, i, prevNumItems, i,
|
FolderPreviewItemAnim anim = new FolderPreviewItemAnim(this, p, i,
|
||||||
numItemsInFirstPagePreview, DROP_IN_ANIMATION_DURATION, null);
|
mNumOfPrevItems, i, numItemsInFirstPagePreview, DROP_IN_ANIMATION_DURATION,
|
||||||
|
null);
|
||||||
|
|
||||||
if (p.anim != null) {
|
if (p.anim != null) {
|
||||||
if (p.anim.hasEqualFinalState(anim)) {
|
if (p.anim.hasEqualFinalState(anim)) {
|
||||||
@@ -318,7 +320,9 @@ public class PreviewItemManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void updatePreviewItems(boolean animate) {
|
void updatePreviewItems(boolean animate) {
|
||||||
|
int numOfPrevItemsAux = mFirstPageParams.size();
|
||||||
buildParamsForPage(0, mFirstPageParams, animate);
|
buildParamsForPage(0, mFirstPageParams, animate);
|
||||||
|
mNumOfPrevItems = numOfPrevItemsAux;
|
||||||
}
|
}
|
||||||
|
|
||||||
void updatePreviewItems(Predicate<WorkspaceItemInfo> itemCheck) {
|
void updatePreviewItems(Predicate<WorkspaceItemInfo> itemCheck) {
|
||||||
|
|||||||
Reference in New Issue
Block a user