Merge "Fixing wrong origin when launching new task from overview" into ub-launcher3-qt-dev
This commit is contained in:
+5
-1
@@ -121,12 +121,16 @@ public final class LauncherAppTransitionManagerImpl extends QuickstepAppTransiti
|
||||
alpha.setDuration(CONTENT_ALPHA_DURATION);
|
||||
alpha.setInterpolator(LINEAR);
|
||||
anim.play(alpha);
|
||||
overview.setFreezeViewVisibility(true);
|
||||
|
||||
ObjectAnimator transY = ObjectAnimator.ofFloat(overview, View.TRANSLATION_Y, trans);
|
||||
transY.setInterpolator(AGGRESSIVE_EASE);
|
||||
transY.setDuration(CONTENT_TRANSLATION_DURATION);
|
||||
anim.play(transY);
|
||||
|
||||
return mLauncher.getStateManager()::reapplyState;
|
||||
return () -> {
|
||||
overview.setFreezeViewVisibility(false);
|
||||
mLauncher.getStateManager().reapplyState();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -227,6 +227,7 @@ public class LauncherRecentsView extends RecentsView<Launcher> implements StateL
|
||||
@Override
|
||||
public void onStateTransitionStart(LauncherState toState) {
|
||||
setOverviewStateEnabled(toState.overviewUi);
|
||||
setFreezeViewVisibility(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -236,6 +237,7 @@ public class LauncherRecentsView extends RecentsView<Launcher> implements StateL
|
||||
reset();
|
||||
}
|
||||
setOverlayEnabled(finalState == OVERVIEW);
|
||||
setFreezeViewVisibility(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -188,6 +188,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
|
||||
private boolean mDwbToastShown;
|
||||
private boolean mDisallowScrollToClearAll;
|
||||
private boolean mOverlayEnabled;
|
||||
private boolean mFreezeViewVisibility;
|
||||
|
||||
/**
|
||||
* TODO: Call reloadIdNeeded in onTaskStackChanged.
|
||||
@@ -1302,7 +1303,25 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
|
||||
mEmptyMessagePaint.setAlpha(alphaInt);
|
||||
mEmptyIcon.setAlpha(alphaInt);
|
||||
|
||||
setVisibility(alpha > 0 ? VISIBLE : GONE);
|
||||
if (alpha > 0) {
|
||||
setVisibility(VISIBLE);
|
||||
} else if (!mFreezeViewVisibility) {
|
||||
setVisibility(GONE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Freezes the view visibility change. When frozen, the view will not change its visibility
|
||||
* to gone due to alpha changes.
|
||||
*/
|
||||
public void setFreezeViewVisibility(boolean freezeViewVisibility) {
|
||||
if (mFreezeViewVisibility != freezeViewVisibility) {
|
||||
mFreezeViewVisibility = freezeViewVisibility;
|
||||
|
||||
if (!mFreezeViewVisibility) {
|
||||
setVisibility(mContentAlpha > 0 ? VISIBLE : GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -124,6 +124,7 @@ public class FloatingIconView extends View implements
|
||||
|
||||
private boolean mIsVerticalBarLayout = false;
|
||||
private boolean mIsAdaptiveIcon = false;
|
||||
private boolean mIsOpening;
|
||||
|
||||
private @Nullable Drawable mBadge;
|
||||
private @Nullable Drawable mForeground;
|
||||
@@ -178,8 +179,10 @@ public class FloatingIconView extends View implements
|
||||
@Override
|
||||
protected void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
getViewTreeObserver().addOnGlobalLayoutListener(this);
|
||||
mLauncher.getRotationHelper().setCurrentTransitionRequest(REQUEST_LOCK);
|
||||
if (!mIsOpening) {
|
||||
getViewTreeObserver().addOnGlobalLayoutListener(this);
|
||||
mLauncher.getRotationHelper().setCurrentTransitionRequest(REQUEST_LOCK);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -326,7 +329,7 @@ public class FloatingIconView extends View implements
|
||||
* - For BubbleTextView, we return the icon bounds.
|
||||
*/
|
||||
private float getLocationBoundsForView(View v, RectF outRect) {
|
||||
boolean ignoreTransform = true;
|
||||
boolean ignoreTransform = !mIsOpening;
|
||||
if (v instanceof DeepShortcutView) {
|
||||
v = ((DeepShortcutView) v).getBubbleText();
|
||||
ignoreTransform = false;
|
||||
@@ -627,6 +630,7 @@ public class FloatingIconView extends View implements
|
||||
view.recycle();
|
||||
|
||||
view.mIsVerticalBarLayout = launcher.getDeviceProfile().isVerticalBarLayout();
|
||||
view.mIsOpening = isOpening;
|
||||
|
||||
view.mOriginalIcon = originalView;
|
||||
view.mPositionOut = positionOut;
|
||||
|
||||
Reference in New Issue
Block a user