Init FloatingIconView properties before fetching drawable.
& Make sure properties are reset when recycled.
This fixes the bug that causes BubbleTextView drawable not to get set.
Bug: 207389002
Test: locally disable loading AdaptiveIcons, ensure BubbleTextView
drawable always gets drawn for closing animation
Change-Id: Ifdbf3e733e27918c57a5e9b23e5a11b65f8f338c
This commit is contained in:
@@ -560,6 +560,12 @@ public class FloatingIconView extends FrameLayout implements
|
||||
launcher, parent);
|
||||
view.recycle();
|
||||
|
||||
// Init properties before getting the drawable.
|
||||
view.mIsVerticalBarLayout = launcher.getDeviceProfile().isVerticalBarLayout();
|
||||
view.mIsOpening = isOpening;
|
||||
view.mOriginalIcon = originalView;
|
||||
view.mPositionOut = positionOut;
|
||||
|
||||
// Get the drawable on the background thread
|
||||
boolean shouldLoadIcon = originalView.getTag() instanceof ItemInfo && hideOriginal;
|
||||
if (shouldLoadIcon) {
|
||||
@@ -573,11 +579,6 @@ public class FloatingIconView extends FrameLayout implements
|
||||
}
|
||||
sIconLoadResult = null;
|
||||
|
||||
view.mIsVerticalBarLayout = launcher.getDeviceProfile().isVerticalBarLayout();
|
||||
view.mIsOpening = isOpening;
|
||||
view.mOriginalIcon = originalView;
|
||||
view.mPositionOut = positionOut;
|
||||
|
||||
// Match the position of the original view.
|
||||
view.matchPositionOf(launcher, originalView, isOpening, positionOut);
|
||||
|
||||
@@ -635,6 +636,7 @@ public class FloatingIconView extends FrameLayout implements
|
||||
mLoadIconSignal = null;
|
||||
mEndRunnable = null;
|
||||
mFinalDrawableBounds.setEmpty();
|
||||
mIsOpening = false;
|
||||
mPositionOut = null;
|
||||
mListenerView.setListener(null);
|
||||
mOriginalIcon = null;
|
||||
|
||||
Reference in New Issue
Block a user