Loading quickstep/res/values/dimens.xml +1 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ <dimen name="task_thumbnail_top_margin">24dp</dimen> <dimen name="task_thumbnail_half_top_margin">12dp</dimen> <dimen name="task_thumbnail_icon_size">48dp</dimen> <dimen name="task_corner_radius">2dp</dimen> <dimen name="task_corner_radius">8dp</dimen> <dimen name="recents_page_spacing">10dp</dimen> <dimen name="recents_clear_all_deadzone_vertical_margin">70dp</dimen> <dimen name="quickscrub_adjacent_visible_width">20dp</dimen> Loading quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java +22 −5 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ import com.android.launcher3.graphics.DrawableFactory; import com.android.launcher3.shortcuts.DeepShortcutView; import com.android.launcher3.util.MultiValueAlpha; import com.android.launcher3.util.MultiValueAlpha.AlphaProperty; import com.android.quickstep.RecentsModel; import com.android.quickstep.util.ClipAnimationHelper; import com.android.quickstep.util.MultiValueUpdateListener; import com.android.quickstep.util.RemoteAnimationProvider; Loading Loading @@ -292,7 +293,7 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag ? RECENTS_QUICKSCRUB_LAUNCH_DURATION : RECENTS_LAUNCH_DURATION; ClipAnimationHelper helper = new ClipAnimationHelper(); ClipAnimationHelper helper = new ClipAnimationHelper(mLauncher); target.play(getRecentsWindowAnimator(taskView, skipLauncherChanges, targets, helper) .setDuration(duration)); Loading Loading @@ -614,6 +615,13 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag float transX0 = floatingViewBounds[0] - offsetX; float transY0 = floatingViewBounds[1] - offsetY; // Animate window corner radius from 100% to windowCornerRadius. float windowCornerRadius = RecentsModel.INSTANCE.get(mLauncher) .getWindowCornerRadius(); float circleRadius = scaledWindowWidth / 2f; float windowRadius = Utilities.mapRange(easePercent, circleRadius, windowCornerRadius); // Animate the window crop so that it starts off as a square, and then reveals // horizontally. float cropHeight = windowHeight * easePercent + windowWidth * (1 - easePercent); Loading @@ -628,20 +636,24 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag RemoteAnimationTargetCompat target = targets[i]; Rect targetCrop; float alpha; final float alpha; final float cornerRadius; if (target.mode == MODE_OPENING) { matrix.setScale(scale, scale); matrix.postTranslate(transX0, transY0); targetCrop = crop; alpha = mAlpha.value; cornerRadius = windowRadius; } else { matrix.setTranslate(target.position.x, target.position.y); alpha = 1f; targetCrop = target.sourceContainerBounds; cornerRadius = 0; } params[i] = new SurfaceParams(target.leash, alpha, matrix, targetCrop, RemoteAnimationProvider.getLayer(target, MODE_OPENING)); RemoteAnimationProvider.getLayer(target, MODE_OPENING), cornerRadius); } surfaceApplier.scheduleApply(params); } Loading Loading @@ -733,6 +745,7 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag Matrix matrix = new Matrix(); ValueAnimator closingAnimator = ValueAnimator.ofFloat(0, 1); int duration = CLOSING_TRANSITION_DURATION_MS; float windowCornerRadius = RecentsModel.INSTANCE.get(mLauncher).getWindowCornerRadius(); closingAnimator.setDuration(duration); closingAnimator.addUpdateListener(new MultiValueUpdateListener() { FloatProp mDy = new FloatProp(0, mClosingWindowTransY, 0, duration, DEACCEL_1_7); Loading @@ -744,7 +757,8 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag SurfaceParams[] params = new SurfaceParams[targets.length]; for (int i = targets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = targets[i]; float alpha; final float alpha; final float cornerRadius; if (target.mode == MODE_CLOSING) { matrix.setScale(mScale.value, mScale.value, target.sourceContainerBounds.centerX(), Loading @@ -752,13 +766,16 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag matrix.postTranslate(0, mDy.value); matrix.postTranslate(target.position.x, target.position.y); alpha = mAlpha.value; cornerRadius = windowCornerRadius; } else { matrix.setTranslate(target.position.x, target.position.y); alpha = 1f; cornerRadius = 0f; } params[i] = new SurfaceParams(target.leash, alpha, matrix, target.sourceContainerBounds, RemoteAnimationProvider.getLayer(target, MODE_CLOSING)); RemoteAnimationProvider.getLayer(target, MODE_CLOSING), cornerRadius); } surfaceApplier.scheduleApply(params); } Loading quickstep/src/com/android/quickstep/ActivityControlHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -328,7 +328,7 @@ public interface ActivityControlHelper<T extends BaseDraggingActivity> { float prevRvScale = recentsView.getScaleX(); float targetRvScale = endState.getOverviewScaleAndTranslationYFactor(launcher)[0]; SCALE_PROPERTY.set(recentsView, targetRvScale); ClipAnimationHelper clipHelper = new ClipAnimationHelper(); ClipAnimationHelper clipHelper = new ClipAnimationHelper(launcher); clipHelper.fromTaskThumbnailView(v.getThumbnail(), (RecentsView) v.getParent(), null); SCALE_PROPERTY.set(recentsView, prevRvScale); Loading quickstep/src/com/android/quickstep/OverviewCommandHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -326,7 +326,7 @@ public class OverviewCommandHelper { return anim; } final ClipAnimationHelper clipHelper = new ClipAnimationHelper(); final ClipAnimationHelper clipHelper = new ClipAnimationHelper(mActivity); // At this point, the activity is already started and laid-out. Get the home-bounds // relative to the screen using the rootView of the activity. Loading quickstep/src/com/android/quickstep/RecentsActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -183,7 +183,7 @@ public class RecentsActivity extends BaseDraggingActivity { RemoteAnimationTargetCompat[] targets) { AnimatorSet target = new AnimatorSet(); boolean activityClosing = taskIsATargetWithMode(targets, getTaskId(), MODE_CLOSING); ClipAnimationHelper helper = new ClipAnimationHelper(); ClipAnimationHelper helper = new ClipAnimationHelper(this); target.play(getRecentsWindowAnimator(taskView, !activityClosing, targets, helper) .setDuration(RECENTS_LAUNCH_DURATION)); Loading Loading
quickstep/res/values/dimens.xml +1 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ <dimen name="task_thumbnail_top_margin">24dp</dimen> <dimen name="task_thumbnail_half_top_margin">12dp</dimen> <dimen name="task_thumbnail_icon_size">48dp</dimen> <dimen name="task_corner_radius">2dp</dimen> <dimen name="task_corner_radius">8dp</dimen> <dimen name="recents_page_spacing">10dp</dimen> <dimen name="recents_clear_all_deadzone_vertical_margin">70dp</dimen> <dimen name="quickscrub_adjacent_visible_width">20dp</dimen> Loading
quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java +22 −5 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ import com.android.launcher3.graphics.DrawableFactory; import com.android.launcher3.shortcuts.DeepShortcutView; import com.android.launcher3.util.MultiValueAlpha; import com.android.launcher3.util.MultiValueAlpha.AlphaProperty; import com.android.quickstep.RecentsModel; import com.android.quickstep.util.ClipAnimationHelper; import com.android.quickstep.util.MultiValueUpdateListener; import com.android.quickstep.util.RemoteAnimationProvider; Loading Loading @@ -292,7 +293,7 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag ? RECENTS_QUICKSCRUB_LAUNCH_DURATION : RECENTS_LAUNCH_DURATION; ClipAnimationHelper helper = new ClipAnimationHelper(); ClipAnimationHelper helper = new ClipAnimationHelper(mLauncher); target.play(getRecentsWindowAnimator(taskView, skipLauncherChanges, targets, helper) .setDuration(duration)); Loading Loading @@ -614,6 +615,13 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag float transX0 = floatingViewBounds[0] - offsetX; float transY0 = floatingViewBounds[1] - offsetY; // Animate window corner radius from 100% to windowCornerRadius. float windowCornerRadius = RecentsModel.INSTANCE.get(mLauncher) .getWindowCornerRadius(); float circleRadius = scaledWindowWidth / 2f; float windowRadius = Utilities.mapRange(easePercent, circleRadius, windowCornerRadius); // Animate the window crop so that it starts off as a square, and then reveals // horizontally. float cropHeight = windowHeight * easePercent + windowWidth * (1 - easePercent); Loading @@ -628,20 +636,24 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag RemoteAnimationTargetCompat target = targets[i]; Rect targetCrop; float alpha; final float alpha; final float cornerRadius; if (target.mode == MODE_OPENING) { matrix.setScale(scale, scale); matrix.postTranslate(transX0, transY0); targetCrop = crop; alpha = mAlpha.value; cornerRadius = windowRadius; } else { matrix.setTranslate(target.position.x, target.position.y); alpha = 1f; targetCrop = target.sourceContainerBounds; cornerRadius = 0; } params[i] = new SurfaceParams(target.leash, alpha, matrix, targetCrop, RemoteAnimationProvider.getLayer(target, MODE_OPENING)); RemoteAnimationProvider.getLayer(target, MODE_OPENING), cornerRadius); } surfaceApplier.scheduleApply(params); } Loading Loading @@ -733,6 +745,7 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag Matrix matrix = new Matrix(); ValueAnimator closingAnimator = ValueAnimator.ofFloat(0, 1); int duration = CLOSING_TRANSITION_DURATION_MS; float windowCornerRadius = RecentsModel.INSTANCE.get(mLauncher).getWindowCornerRadius(); closingAnimator.setDuration(duration); closingAnimator.addUpdateListener(new MultiValueUpdateListener() { FloatProp mDy = new FloatProp(0, mClosingWindowTransY, 0, duration, DEACCEL_1_7); Loading @@ -744,7 +757,8 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag SurfaceParams[] params = new SurfaceParams[targets.length]; for (int i = targets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = targets[i]; float alpha; final float alpha; final float cornerRadius; if (target.mode == MODE_CLOSING) { matrix.setScale(mScale.value, mScale.value, target.sourceContainerBounds.centerX(), Loading @@ -752,13 +766,16 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag matrix.postTranslate(0, mDy.value); matrix.postTranslate(target.position.x, target.position.y); alpha = mAlpha.value; cornerRadius = windowCornerRadius; } else { matrix.setTranslate(target.position.x, target.position.y); alpha = 1f; cornerRadius = 0f; } params[i] = new SurfaceParams(target.leash, alpha, matrix, target.sourceContainerBounds, RemoteAnimationProvider.getLayer(target, MODE_CLOSING)); RemoteAnimationProvider.getLayer(target, MODE_CLOSING), cornerRadius); } surfaceApplier.scheduleApply(params); } Loading
quickstep/src/com/android/quickstep/ActivityControlHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -328,7 +328,7 @@ public interface ActivityControlHelper<T extends BaseDraggingActivity> { float prevRvScale = recentsView.getScaleX(); float targetRvScale = endState.getOverviewScaleAndTranslationYFactor(launcher)[0]; SCALE_PROPERTY.set(recentsView, targetRvScale); ClipAnimationHelper clipHelper = new ClipAnimationHelper(); ClipAnimationHelper clipHelper = new ClipAnimationHelper(launcher); clipHelper.fromTaskThumbnailView(v.getThumbnail(), (RecentsView) v.getParent(), null); SCALE_PROPERTY.set(recentsView, prevRvScale); Loading
quickstep/src/com/android/quickstep/OverviewCommandHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -326,7 +326,7 @@ public class OverviewCommandHelper { return anim; } final ClipAnimationHelper clipHelper = new ClipAnimationHelper(); final ClipAnimationHelper clipHelper = new ClipAnimationHelper(mActivity); // At this point, the activity is already started and laid-out. Get the home-bounds // relative to the screen using the rootView of the activity. Loading
quickstep/src/com/android/quickstep/RecentsActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -183,7 +183,7 @@ public class RecentsActivity extends BaseDraggingActivity { RemoteAnimationTargetCompat[] targets) { AnimatorSet target = new AnimatorSet(); boolean activityClosing = taskIsATargetWithMode(targets, getTaskId(), MODE_CLOSING); ClipAnimationHelper helper = new ClipAnimationHelper(); ClipAnimationHelper helper = new ClipAnimationHelper(this); target.play(getRecentsWindowAnimator(taskView, !activityClosing, targets, helper) .setDuration(RECENTS_LAUNCH_DURATION)); Loading