Snap for 8521661 from c2ccb951ce to tm-qpr1-release
Change-Id: I4c3821df4269e7d4017b526d55e20e7973c79160
This commit is contained in:
@@ -1354,7 +1354,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
|
||||
*/
|
||||
private RectFSpringAnim getClosingWindowAnimators(AnimatorSet animation,
|
||||
RemoteAnimationTargetCompat[] targets, View launcherView, PointF velocityPxPerS,
|
||||
RectF closingWindowStartRect) {
|
||||
RectF closingWindowStartRect, float startWindowCornerRadius) {
|
||||
FloatingIconView floatingIconView = null;
|
||||
FloatingWidgetView floatingWidget = null;
|
||||
RectF targetRect = new RectF();
|
||||
@@ -1403,7 +1403,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
|
||||
final float windowAlphaThreshold = 1f - SHAPE_PROGRESS_DURATION;
|
||||
|
||||
RectFSpringAnim.OnUpdateListener runner = new SpringAnimRunner(targets, targetRect,
|
||||
windowTargetBounds) {
|
||||
windowTargetBounds, startWindowCornerRadius) {
|
||||
@Override
|
||||
public void onUpdate(RectF currentRectF, float progress) {
|
||||
finalFloatingIconView.update(1f, 255 /* fgAlpha */, currentRectF, progress,
|
||||
@@ -1421,7 +1421,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
|
||||
final float floatingWidgetAlpha = isTransluscent ? 0 : 1;
|
||||
FloatingWidgetView finalFloatingWidget = floatingWidget;
|
||||
RectFSpringAnim.OnUpdateListener runner = new SpringAnimRunner(targets, targetRect,
|
||||
windowTargetBounds) {
|
||||
windowTargetBounds, startWindowCornerRadius) {
|
||||
@Override
|
||||
public void onUpdate(RectF currentRectF, float progress) {
|
||||
final float fallbackBackgroundAlpha =
|
||||
@@ -1438,7 +1438,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
|
||||
} else {
|
||||
// If no floating icon or widget is present, animate the to the default window
|
||||
// target rect.
|
||||
anim.addOnUpdateListener(new SpringAnimRunner(targets, targetRect, windowTargetBounds));
|
||||
anim.addOnUpdateListener(new SpringAnimRunner(
|
||||
targets, targetRect, windowTargetBounds, startWindowCornerRadius));
|
||||
}
|
||||
|
||||
// Use a fixed velocity to start the animation.
|
||||
@@ -1580,7 +1581,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
|
||||
RemoteAnimationTargetCompat[] appTargets,
|
||||
RemoteAnimationTargetCompat[] wallpaperTargets,
|
||||
boolean fromUnlock,
|
||||
RectF startRect) {
|
||||
RectF startRect,
|
||||
float startWindowCornerRadius) {
|
||||
AnimatorSet anim = null;
|
||||
RectFSpringAnim rectFSpringAnim = null;
|
||||
|
||||
@@ -1612,7 +1614,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
|
||||
.getDimension(R.dimen.unlock_staggered_velocity_dp_per_s);
|
||||
PointF velocity = new PointF(0, -velocityPxPerS);
|
||||
rectFSpringAnim = getClosingWindowAnimators(
|
||||
anim, appTargets, launcherView, velocity, startRect);
|
||||
anim, appTargets, launcherView, velocity, startRect,
|
||||
startWindowCornerRadius);
|
||||
if (!mLauncher.isInState(LauncherState.ALL_APPS)) {
|
||||
anim.play(new StaggeredWorkspaceAnim(mLauncher, velocity.y,
|
||||
true /* animateOverviewScrim */, launcherView).getAnimators());
|
||||
@@ -1711,7 +1714,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
|
||||
|
||||
Pair<RectFSpringAnim, AnimatorSet> pair = createWallpaperOpenAnimations(
|
||||
appTargets, wallpaperTargets, mFromUnlock,
|
||||
new RectF(0, 0, mDeviceProfile.widthPx, mDeviceProfile.heightPx));
|
||||
new RectF(0, 0, mDeviceProfile.widthPx, mDeviceProfile.heightPx),
|
||||
QuickStepContract.getWindowCornerRadius(mLauncher));
|
||||
|
||||
mLauncher.clearForceInvisibleFlag(INVISIBLE_ALL);
|
||||
result.setAnimation(pair.second, mLauncher);
|
||||
@@ -1874,9 +1878,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
|
||||
private final Rect mTmpRect = new Rect();
|
||||
|
||||
SpringAnimRunner(RemoteAnimationTargetCompat[] appTargets, RectF targetRect,
|
||||
Rect windowTargetBounds) {
|
||||
Rect windowTargetBounds, float startWindowCornerRadius) {
|
||||
mAppTargets = appTargets;
|
||||
mStartRadius = QuickStepContract.getWindowCornerRadius(mLauncher);
|
||||
mStartRadius = startWindowCornerRadius;
|
||||
mEndRadius = Math.max(1, targetRect.width()) / 2f;
|
||||
mSurfaceApplier = new SurfaceTransactionApplier(mDragLayer);
|
||||
mWindowTargetBounds.set(windowTargetBounds);
|
||||
|
||||
@@ -220,8 +220,7 @@ public class QuickstepLauncher extends BaseQuickstepLauncher {
|
||||
(getActivityFlags() & ACTIVITY_STATE_USER_WILL_BE_ACTIVE) != 0;
|
||||
boolean visible = (state == NORMAL || state == OVERVIEW)
|
||||
&& (willUserBeActive || isUserActive())
|
||||
&& !profile.isVerticalBarLayout()
|
||||
&& profile.isPhone && !profile.isLandscape;
|
||||
&& !profile.isVerticalBarLayout();
|
||||
UiThreadHelper.runAsyncCommand(this, SET_SHELF_HEIGHT, visible ? 1 : 0,
|
||||
profile.hotseatBarSizePx);
|
||||
}
|
||||
|
||||
@@ -29,7 +29,6 @@ import android.graphics.PointF;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.RectF;
|
||||
import android.os.Handler;
|
||||
import android.util.MathUtils;
|
||||
import android.util.Pair;
|
||||
import android.view.RemoteAnimationTarget;
|
||||
import android.view.SurfaceControl;
|
||||
@@ -195,10 +194,10 @@ public class LauncherBackAnimationController {
|
||||
float followWidth = screenWidth - dX;
|
||||
// The 'progress width' is the width of the window if it strictly linearly interpolates
|
||||
// to minimum scale base on progress.
|
||||
float progressWidth = MathUtils.lerp(1, MIN_WINDOW_SCALE, progress) * screenWidth;
|
||||
float progressWidth = Utilities.mapRange(progress, 1, MIN_WINDOW_SCALE) * screenWidth;
|
||||
// The final width is derived from interpolating between the follow with and progress width
|
||||
// using gesture progress.
|
||||
float width = MathUtils.lerp(followWidth, progressWidth, progress);
|
||||
float width = Utilities.mapRange(progress, followWidth, progressWidth);
|
||||
float height = screenHeight / screenWidth * width;
|
||||
float deltaYRatio = (event.getTouchY() - mInitialTouchPos.y) / screenHeight;
|
||||
// Base the window movement in the Y axis on the touch movement in the Y axis.
|
||||
@@ -221,13 +220,15 @@ public class LauncherBackAnimationController {
|
||||
return;
|
||||
}
|
||||
mCurrentRect.set(
|
||||
MathUtils.lerp(mCancelRect.left, mStartRect.left, progress),
|
||||
MathUtils.lerp(mCancelRect.top, mStartRect.top, progress),
|
||||
MathUtils.lerp(mCancelRect.right, mStartRect.right, progress),
|
||||
MathUtils.lerp(mCancelRect.bottom, mStartRect.bottom, progress));
|
||||
Utilities.mapRange(progress, mCancelRect.left, mStartRect.left),
|
||||
Utilities.mapRange(progress, mCancelRect.top, mStartRect.top),
|
||||
Utilities.mapRange(progress, mCancelRect.right, mStartRect.right),
|
||||
Utilities.mapRange(progress, mCancelRect.bottom, mStartRect.bottom));
|
||||
|
||||
float endCornerRadius = Utilities.mapRange(
|
||||
mBackProgress, mWindowScaleStartCornerRadius, mWindowScaleEndCornerRadius);
|
||||
float cornerRadius = Utilities.mapRange(
|
||||
progress, mWindowScaleEndCornerRadius, mWindowScaleStartCornerRadius);
|
||||
progress, endCornerRadius, mWindowScaleStartCornerRadius);
|
||||
applyTransform(mCurrentRect, cornerRadius);
|
||||
}
|
||||
|
||||
@@ -267,12 +268,15 @@ public class LauncherBackAnimationController {
|
||||
mLauncher.getStateManager().moveToRestState();
|
||||
}
|
||||
|
||||
float cornerRadius = Utilities.mapRange(
|
||||
mBackProgress, mWindowScaleStartCornerRadius, mWindowScaleEndCornerRadius);
|
||||
Pair<RectFSpringAnim, AnimatorSet> pair =
|
||||
mQuickstepTransitionManager.createWallpaperOpenAnimations(
|
||||
new RemoteAnimationTargetCompat[]{mBackTarget},
|
||||
new RemoteAnimationTargetCompat[]{},
|
||||
false /* fromUnlock */,
|
||||
mCurrentRect);
|
||||
mCurrentRect,
|
||||
cornerRadius);
|
||||
startTransitionAnimations(pair.first, pair.second);
|
||||
mLauncher.clearForceInvisibleFlag(INVISIBLE_ALL);
|
||||
}
|
||||
|
||||
@@ -132,7 +132,9 @@ public class FailureWatcher extends TestWatcher {
|
||||
dumpCommand("logcat -d -s TestRunner", diagFile(description, "FilteredLogcat", "txt"));
|
||||
|
||||
// Dump bugreport
|
||||
if (launcher.getSystemAnomalyMessage(false, false) != null) {
|
||||
final String systemAnomalyMessage = launcher.getSystemAnomalyMessage(false, false);
|
||||
if (systemAnomalyMessage != null) {
|
||||
Log.d(TAG, "Saving bugreport, system anomaly message: " + systemAnomalyMessage, e);
|
||||
dumpCommand("bugreportz -s", diagFile(description, "Bugreport", "zip"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user