Make sure that live tile overlay is added only once.
am: 757d62dcaa
Change-Id: I55c1bfbdbbacc7a9884ad3289120ff71f0ecb53f
This commit is contained in:
+20
-4
@@ -217,6 +217,7 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity>
|
||||
|
||||
private AnimationFactory mAnimationFactory = (t) -> { };
|
||||
private LiveTileOverlay mLiveTileOverlay = new LiveTileOverlay();
|
||||
private boolean mLiveTileOverlayAttached = false;
|
||||
|
||||
private boolean mWasLauncherAlreadyVisible;
|
||||
|
||||
@@ -323,8 +324,7 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity>
|
||||
|
||||
mRecentsView = activity.getOverviewPanel();
|
||||
linkRecentsViewScroll();
|
||||
mRecentsView.setLiveTileOverlay(mLiveTileOverlay);
|
||||
mActivity.getRootView().getOverlay().add(mLiveTileOverlay);
|
||||
addLiveTileOverlay();
|
||||
|
||||
mStateCallback.setState(STATE_LAUNCHER_PRESENT);
|
||||
if (alreadyOnHome) {
|
||||
@@ -972,7 +972,7 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity>
|
||||
@Override
|
||||
public void onAnimationStart(Animator animation) {
|
||||
if (mActivity != null) {
|
||||
mActivity.getRootView().getOverlay().remove(mLiveTileOverlay);
|
||||
removeLiveTileOverlay();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1071,7 +1071,7 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity>
|
||||
mRecentsView.onGestureAnimationEnd();
|
||||
|
||||
mActivity.getRootView().setOnApplyWindowInsetsListener(null);
|
||||
mActivity.getRootView().getOverlay().remove(mLiveTileOverlay);
|
||||
removeLiveTileOverlay();
|
||||
}
|
||||
|
||||
private void endLauncherTransitionController() {
|
||||
@@ -1201,6 +1201,22 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity>
|
||||
updateFinalShift();
|
||||
}
|
||||
|
||||
private synchronized void addLiveTileOverlay() {
|
||||
if (!mLiveTileOverlayAttached) {
|
||||
mActivity.getRootView().getOverlay().add(mLiveTileOverlay);
|
||||
mRecentsView.setLiveTileOverlay(mLiveTileOverlay);
|
||||
mLiveTileOverlayAttached = true;
|
||||
}
|
||||
}
|
||||
|
||||
private synchronized void removeLiveTileOverlay() {
|
||||
if (mLiveTileOverlayAttached) {
|
||||
mActivity.getRootView().getOverlay().remove(mLiveTileOverlay);
|
||||
mRecentsView.setLiveTileOverlay(null);
|
||||
mLiveTileOverlayAttached = false;
|
||||
}
|
||||
}
|
||||
|
||||
public static float getHiddenTargetAlpha(RemoteAnimationTargetCompat app, float expectedAlpha) {
|
||||
if (!isNotInRecents(app)) {
|
||||
return 0;
|
||||
|
||||
@@ -825,7 +825,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
|
||||
*/
|
||||
public void onSwipeUpAnimationSuccess() {
|
||||
if (getRunningTaskView() != null) {
|
||||
float startProgress = ENABLE_QUICKSTEP_LIVE_TILE.get()
|
||||
float startProgress = ENABLE_QUICKSTEP_LIVE_TILE.get() && mLiveTileOverlay != null
|
||||
? mLiveTileOverlay.cancelIconAnimation()
|
||||
: 0f;
|
||||
animateUpRunningTaskIconScale(startProgress);
|
||||
|
||||
Reference in New Issue
Block a user