Loading quickstep/src/com/android/launcher3/LauncherAnimationRunner.java +12 −12 Original line number Diff line number Diff line Loading @@ -28,13 +28,13 @@ import android.annotation.TargetApi; import android.content.Context; import android.os.Build; import android.os.Handler; import android.view.RemoteAnimationTarget; import androidx.annotation.BinderThread; import androidx.annotation.Nullable; import androidx.annotation.UiThread; import com.android.systemui.shared.system.RemoteAnimationRunnerCompat; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; import java.lang.ref.WeakReference; Loading Loading @@ -82,9 +82,9 @@ public class LauncherAnimationRunner implements RemoteAnimationRunnerCompat { @BinderThread public void onAnimationStart( int transit, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, Runnable runnable) { Runnable r = () -> { finishExistingAnimation(); Loading @@ -101,17 +101,17 @@ public class LauncherAnimationRunner implements RemoteAnimationRunnerCompat { // Called only in R platform @BinderThread public void onAnimationStart(RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, Runnable runnable) { public void onAnimationStart(RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, Runnable runnable) { onAnimationStart(0 /* transit */, appTargets, wallpaperTargets, new RemoteAnimationTargetCompat[0], runnable); new RemoteAnimationTarget[0], runnable); } // Called only in Q platform @BinderThread @Deprecated public void onAnimationStart(RemoteAnimationTargetCompat[] appTargets, Runnable runnable) { onAnimationStart(appTargets, new RemoteAnimationTargetCompat[0], runnable); public void onAnimationStart(RemoteAnimationTarget[] appTargets, Runnable runnable) { onAnimationStart(appTargets, new RemoteAnimationTarget[0], runnable); } Loading Loading @@ -229,9 +229,9 @@ public class LauncherAnimationRunner implements RemoteAnimationRunnerCompat { * call {@link AnimationResult#setAnimation} with the target animation to be run. */ void onCreateAnimation(int transit, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, LauncherAnimationRunner.AnimationResult result); /** Loading quickstep/src/com/android/launcher3/LauncherInitListener.java +3 −3 Original line number Diff line number Diff line Loading @@ -19,11 +19,11 @@ import android.animation.AnimatorSet; import android.annotation.TargetApi; import android.os.Build; import android.os.CancellationSignal; import android.view.RemoteAnimationTarget; import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.RemoteAnimationProvider; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; import java.util.function.BiPredicate; Loading Loading @@ -52,8 +52,8 @@ public class LauncherInitListener extends ActivityInitListener<Launcher> { CancellationSignal cancellationSignal = new CancellationSignal(); appTransitionManager.setRemoteAnimationProvider(new RemoteAnimationProvider() { @Override public AnimatorSet createWindowAnimation(RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets) { public AnimatorSet createWindowAnimation(RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets) { // On the first call clear the reference. cancellationSignal.cancel(); Loading quickstep/src/com/android/launcher3/QuickstepTransitionManager.java +57 −57 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ package com.android.launcher3; import static android.provider.Settings.Secure.LAUNCHER_TASKBAR_EDUCATION_SHOWING; import static android.view.RemoteAnimationTarget.MODE_CLOSING; import static android.view.RemoteAnimationTarget.MODE_OPENING; import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_NONE; import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_SPLASH_SCREEN; Loading Loading @@ -49,8 +51,6 @@ import static com.android.launcher3.views.FloatingIconView.getFloatingIconView; import static com.android.quickstep.TaskViewUtils.findTaskViewToLaunch; import static com.android.systemui.shared.system.QuickStepContract.getWindowCornerRadius; import static com.android.systemui.shared.system.QuickStepContract.supportsRoundedCornersOnWindows; import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.MODE_CLOSING; import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.MODE_OPENING; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; Loading Loading @@ -81,6 +81,7 @@ import android.provider.Settings; import android.util.Pair; import android.util.Size; import android.view.CrossWindowBlurListeners; import android.view.RemoteAnimationTarget; import android.view.SurfaceControl; import android.view.View; import android.view.ViewRootImpl; Loading Loading @@ -135,7 +136,6 @@ import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.shared.system.RemoteAnimationAdapterCompat; import com.android.systemui.shared.system.RemoteAnimationDefinitionCompat; import com.android.systemui.shared.system.RemoteAnimationRunnerCompat; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; import com.android.systemui.shared.system.RemoteTransitionCompat; import com.android.wm.shell.startingsurface.IStartingWindowListener; Loading Loading @@ -312,7 +312,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * @return true if the app is launching from recents, false if it most likely is not */ protected boolean isLaunchingFromRecents(@NonNull View v, @Nullable RemoteAnimationTargetCompat[] targets) { @Nullable RemoteAnimationTarget[] targets) { return mLauncher.getStateManager().getState().overviewUi && findTaskViewToLaunch(mLauncher.getOverviewPanel(), v, targets) != null; } Loading @@ -326,18 +326,18 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * @param launcherClosing true if the launcher app is closing */ protected void composeRecentsLaunchAnimator(@NonNull AnimatorSet anim, @NonNull View v, @NonNull RemoteAnimationTargetCompat[] appTargets, @NonNull RemoteAnimationTargetCompat[] wallpaperTargets, @NonNull RemoteAnimationTargetCompat[] nonAppTargets, boolean launcherClosing) { @NonNull RemoteAnimationTarget[] appTargets, @NonNull RemoteAnimationTarget[] wallpaperTargets, @NonNull RemoteAnimationTarget[] nonAppTargets, boolean launcherClosing) { TaskViewUtils.composeRecentsLaunchAnimator(anim, v, appTargets, wallpaperTargets, nonAppTargets, launcherClosing, mLauncher.getStateManager(), mLauncher.getOverviewPanel(), mLauncher.getDepthController()); } private boolean areAllTargetsTranslucent(@NonNull RemoteAnimationTargetCompat[] targets) { private boolean areAllTargetsTranslucent(@NonNull RemoteAnimationTarget[] targets) { boolean isAllOpeningTargetTrs = true; for (int i = 0; i < targets.length; i++) { RemoteAnimationTargetCompat target = targets[i]; RemoteAnimationTarget target = targets[i]; if (target.mode == MODE_OPENING) { isAllOpeningTargetTrs &= target.isTranslucent; } Loading @@ -355,9 +355,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * @param launcherClosing true if launcher is closing */ private void composeIconLaunchAnimator(@NonNull AnimatorSet anim, @NonNull View v, @NonNull RemoteAnimationTargetCompat[] appTargets, @NonNull RemoteAnimationTargetCompat[] wallpaperTargets, @NonNull RemoteAnimationTargetCompat[] nonAppTargets, @NonNull RemoteAnimationTarget[] appTargets, @NonNull RemoteAnimationTarget[] wallpaperTargets, @NonNull RemoteAnimationTarget[] nonAppTargets, boolean launcherClosing) { // Set the state animation first so that any state listeners are called // before our internal listeners. Loading Loading @@ -399,9 +399,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener private void composeWidgetLaunchAnimator( @NonNull AnimatorSet anim, @NonNull LauncherAppWidgetHostView v, @NonNull RemoteAnimationTargetCompat[] appTargets, @NonNull RemoteAnimationTargetCompat[] wallpaperTargets, @NonNull RemoteAnimationTargetCompat[] nonAppTargets) { @NonNull RemoteAnimationTarget[] appTargets, @NonNull RemoteAnimationTarget[] wallpaperTargets, @NonNull RemoteAnimationTarget[] nonAppTargets) { mLauncher.getStateManager().setCurrentAnimation(anim); Rect windowTargetBounds = getWindowTargetBounds(appTargets, getRotationChange(appTargets)); Loading @@ -424,10 +424,10 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * In multiwindow mode, we need to get the final size of the opening app window target to help * figure out where the floating view should animate to. */ private Rect getWindowTargetBounds(@NonNull RemoteAnimationTargetCompat[] appTargets, private Rect getWindowTargetBounds(@NonNull RemoteAnimationTarget[] appTargets, int rotationChange) { RemoteAnimationTargetCompat target = null; for (RemoteAnimationTargetCompat t : appTargets) { RemoteAnimationTarget target = null; for (RemoteAnimationTarget t : appTargets) { if (t.mode != MODE_OPENING) continue; target = t; break; Loading Loading @@ -649,9 +649,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * @return Animator that controls the window of the opening targets from app icons. */ private Animator getOpeningWindowAnimators(View v, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, Rect windowTargetBounds, boolean appTargetsAreTranslucent, int rotationChange) { RectF launcherIconBounds = new RectF(); FloatingIconView floatingView = FloatingIconView.getFloatingIconView(mLauncher, v, Loading @@ -664,7 +664,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener SurfaceTransactionApplier surfaceApplier = new SurfaceTransactionApplier(floatingView); openingTargets.addReleaseCheck(surfaceApplier); RemoteAnimationTargetCompat navBarTarget = openingTargets.getNavBarRemoteAnimationTarget(); RemoteAnimationTarget navBarTarget = openingTargets.getNavBarRemoteAnimationTarget(); int[] dragLayerBounds = new int[2]; mDragLayer.getLocationOnScreen(dragLayerBounds); Loading Loading @@ -819,7 +819,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener SurfaceTransaction transaction = new SurfaceTransaction(); for (int i = appTargets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = appTargets[i]; RemoteAnimationTarget target = appTargets[i]; SurfaceProperties builder = transaction.forSurface(target.leash); if (target.mode == MODE_OPENING) { Loading Loading @@ -902,9 +902,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener } private Animator getOpeningWindowAnimatorsForWidget(LauncherAppWidgetHostView v, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, Rect windowTargetBounds, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, Rect windowTargetBounds, boolean appTargetsAreTranslucent) { final RectF widgetBackgroundBounds = new RectF(); final Rect appWindowCrop = new Rect(); Loading @@ -912,7 +912,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener RemoteAnimationTargets openingTargets = new RemoteAnimationTargets(appTargets, wallpaperTargets, nonAppTargets, MODE_OPENING); RemoteAnimationTargetCompat openingTarget = openingTargets.getFirstAppTarget(); RemoteAnimationTarget openingTarget = openingTargets.getFirstAppTarget(); int fallbackBackgroundColor = 0; if (openingTarget != null && supportsSSplashScreen()) { fallbackBackgroundColor = mTaskStartParams.containsKey(openingTarget.taskId) Loading @@ -936,7 +936,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener SurfaceTransactionApplier surfaceApplier = new SurfaceTransactionApplier(floatingView); openingTargets.addReleaseCheck(surfaceApplier); RemoteAnimationTargetCompat navBarTarget = openingTargets.getNavBarRemoteAnimationTarget(); RemoteAnimationTarget navBarTarget = openingTargets.getNavBarRemoteAnimationTarget(); AnimatorSet animatorSet = new AnimatorSet(); ValueAnimator appAnimator = ValueAnimator.ofFloat(0, 1); Loading Loading @@ -1003,7 +1003,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener SurfaceTransaction transaction = new SurfaceTransaction(); float floatingViewAlpha = appTargetsAreTranslucent ? 1 - mPreviewAlpha.value : 1; for (int i = appTargets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = appTargets[i]; RemoteAnimationTarget target = appTargets[i]; SurfaceProperties builder = transaction.forSurface(target.leash); if (target.mode == MODE_OPENING) { floatingView.update(widgetBackgroundBounds, floatingViewAlpha, Loading Loading @@ -1174,8 +1174,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener } } private boolean launcherIsATargetWithMode(RemoteAnimationTargetCompat[] targets, int mode) { for (RemoteAnimationTargetCompat target : targets) { private boolean launcherIsATargetWithMode(RemoteAnimationTarget[] targets, int mode) { for (RemoteAnimationTarget target : targets) { if (target.mode == mode && target.taskInfo != null // Compare component name instead of task-id because transitions will promote // the target up to the root task while getTaskId returns the leaf. Loading @@ -1187,9 +1187,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener return false; } private boolean hasMultipleTargetsWithMode(RemoteAnimationTargetCompat[] targets, int mode) { private boolean hasMultipleTargetsWithMode(RemoteAnimationTarget[] targets, int mode) { int numTargets = 0; for (RemoteAnimationTargetCompat target : targets) { for (RemoteAnimationTarget target : targets) { if (target.mode == mode) { numTargets++; } Loading @@ -1211,8 +1211,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener /** * Animator that controls the transformations of the windows when unlocking the device. */ private Animator getUnlockWindowAnimator(RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets) { private Animator getUnlockWindowAnimator(RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets) { SurfaceTransactionApplier surfaceApplier = new SurfaceTransactionApplier(mDragLayer); ValueAnimator unlockAnimator = ValueAnimator.ofFloat(0, 1); unlockAnimator.setDuration(CLOSING_TRANSITION_DURATION_MS); Loading @@ -1223,7 +1223,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener public void onAnimationStart(Animator animation) { SurfaceTransaction transaction = new SurfaceTransaction(); for (int i = appTargets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = appTargets[i]; RemoteAnimationTarget target = appTargets[i]; transaction.forSurface(target.leash) .setAlpha(1f) .setWindowCrop(target.screenSpaceBounds) Loading @@ -1235,9 +1235,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener return unlockAnimator; } private static int getRotationChange(RemoteAnimationTargetCompat[] appTargets) { private static int getRotationChange(RemoteAnimationTarget[] appTargets) { int rotationChange = 0; for (RemoteAnimationTargetCompat target : appTargets) { for (RemoteAnimationTarget target : appTargets) { if (Math.abs(target.rotationChange) > Math.abs(rotationChange)) { rotationChange = target.rotationChange; } Loading @@ -1248,8 +1248,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener /** * Returns view on launcher that corresponds to the closing app in the list of app targets */ private @Nullable View findLauncherView(RemoteAnimationTargetCompat[] appTargets) { for (RemoteAnimationTargetCompat appTarget : appTargets) { private @Nullable View findLauncherView(RemoteAnimationTarget[] appTargets) { for (RemoteAnimationTarget appTarget : appTargets) { if (appTarget.mode == MODE_CLOSING) { View launcherView = findLauncherView(appTarget); if (launcherView != null) { Loading @@ -1263,7 +1263,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener /** * Returns view on launcher that corresponds to the {@param runningTaskTarget}. */ private @Nullable View findLauncherView(RemoteAnimationTargetCompat runningTaskTarget) { private @Nullable View findLauncherView(RemoteAnimationTarget runningTaskTarget) { if (runningTaskTarget == null || runningTaskTarget.taskInfo == null) { return null; } Loading Loading @@ -1324,15 +1324,15 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * Closing animator that animates the window into its final location on the workspace. */ private RectFSpringAnim getClosingWindowAnimators(AnimatorSet animation, RemoteAnimationTargetCompat[] targets, View launcherView, PointF velocityPxPerS, RemoteAnimationTarget[] targets, View launcherView, PointF velocityPxPerS, RectF closingWindowStartRect, float startWindowCornerRadius) { FloatingIconView floatingIconView = null; FloatingWidgetView floatingWidget = null; RectF targetRect = new RectF(); RemoteAnimationTargetCompat runningTaskTarget = null; RemoteAnimationTarget runningTaskTarget = null; boolean isTransluscent = false; for (RemoteAnimationTargetCompat target : targets) { for (RemoteAnimationTarget target : targets) { if (target.mode == MODE_CLOSING) { runningTaskTarget = target; isTransluscent = runningTaskTarget.isTranslucent; Loading Loading @@ -1426,7 +1426,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener /** * Closing window animator that moves the window down and offscreen. */ private Animator getFallbackClosingWindowAnimators(RemoteAnimationTargetCompat[] appTargets) { private Animator getFallbackClosingWindowAnimators(RemoteAnimationTarget[] appTargets) { final int rotationChange = getRotationChange(appTargets); SurfaceTransactionApplier surfaceApplier = new SurfaceTransactionApplier(mDragLayer); Matrix matrix = new Matrix(); Loading @@ -1449,7 +1449,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener public void onUpdate(float percent, boolean initOnly) { SurfaceTransaction transaction = new SurfaceTransaction(); for (int i = appTargets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = appTargets[i]; RemoteAnimationTarget target = appTargets[i]; SurfaceProperties builder = transaction.forSurface(target.leash); if (target.localBounds != null) { Loading Loading @@ -1548,8 +1548,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * the transition. */ public Pair<RectFSpringAnim, AnimatorSet> createWallpaperOpenAnimations( RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, boolean fromUnlock, RectF startRect, float startWindowCornerRadius) { Loading Loading @@ -1658,9 +1658,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener @Override public void onCreateAnimation(int transit, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, LauncherAnimationRunner.AnimationResult result) { if (mLauncher.isDestroyed()) { AnimatorSet anim = new AnimatorSet(); Loading Loading @@ -1699,9 +1699,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener @Override public void onCreateAnimation(int transit, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, LauncherAnimationRunner.AnimationResult result) { AnimatorSet anim = new AnimatorSet(); boolean launcherClosing = Loading Loading @@ -1828,7 +1828,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * RectFSpringAnim update listener to be used for app to home animation. */ private class SpringAnimRunner implements RectFSpringAnim.OnUpdateListener { private final RemoteAnimationTargetCompat[] mAppTargets; private final RemoteAnimationTarget[] mAppTargets; private final Matrix mMatrix = new Matrix(); private final Point mTmpPos = new Point(); private final Rect mCurrentRect = new Rect(); Loading @@ -1839,7 +1839,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener private final Rect mTmpRect = new Rect(); SpringAnimRunner(RemoteAnimationTargetCompat[] appTargets, RectF targetRect, SpringAnimRunner(RemoteAnimationTarget[] appTargets, RectF targetRect, Rect windowTargetBounds, float startWindowCornerRadius) { mAppTargets = appTargets; mStartRadius = startWindowCornerRadius; Loading @@ -1856,7 +1856,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener public void onUpdate(RectF currentRectF, float progress) { SurfaceTransaction transaction = new SurfaceTransaction(); for (int i = mAppTargets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = mAppTargets[i]; RemoteAnimationTarget target = mAppTargets[i]; SurfaceProperties builder = transaction.forSurface(target.leash); if (target.localBounds != null) { Loading quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java +3 −3 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ import android.os.IBinder; import android.os.SystemProperties; import android.view.Display; import android.view.HapticFeedbackConstants; import android.view.RemoteAnimationTarget; import android.view.View; import android.view.WindowManagerGlobal; import android.window.SplashScreen; Loading Loading @@ -140,7 +141,6 @@ import com.android.quickstep.views.OverviewActionsView; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.TaskView; import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; import com.android.systemui.unfold.UnfoldSharedComponent; import com.android.systemui.unfold.UnfoldTransitionFactory; import com.android.systemui.unfold.UnfoldTransitionProgressProvider; Loading Loading @@ -768,8 +768,8 @@ public class QuickstepLauncher extends Launcher { QuickstepTransitionManager appTransitionManager = getAppTransitionManager(); appTransitionManager.setRemoteAnimationProvider(new RemoteAnimationProvider() { @Override public AnimatorSet createWindowAnimation(RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets) { public AnimatorSet createWindowAnimation(RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets) { // On the first call clear the reference. signal.cancel(); Loading Loading
quickstep/src/com/android/launcher3/LauncherAnimationRunner.java +12 −12 Original line number Diff line number Diff line Loading @@ -28,13 +28,13 @@ import android.annotation.TargetApi; import android.content.Context; import android.os.Build; import android.os.Handler; import android.view.RemoteAnimationTarget; import androidx.annotation.BinderThread; import androidx.annotation.Nullable; import androidx.annotation.UiThread; import com.android.systemui.shared.system.RemoteAnimationRunnerCompat; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; import java.lang.ref.WeakReference; Loading Loading @@ -82,9 +82,9 @@ public class LauncherAnimationRunner implements RemoteAnimationRunnerCompat { @BinderThread public void onAnimationStart( int transit, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, Runnable runnable) { Runnable r = () -> { finishExistingAnimation(); Loading @@ -101,17 +101,17 @@ public class LauncherAnimationRunner implements RemoteAnimationRunnerCompat { // Called only in R platform @BinderThread public void onAnimationStart(RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, Runnable runnable) { public void onAnimationStart(RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, Runnable runnable) { onAnimationStart(0 /* transit */, appTargets, wallpaperTargets, new RemoteAnimationTargetCompat[0], runnable); new RemoteAnimationTarget[0], runnable); } // Called only in Q platform @BinderThread @Deprecated public void onAnimationStart(RemoteAnimationTargetCompat[] appTargets, Runnable runnable) { onAnimationStart(appTargets, new RemoteAnimationTargetCompat[0], runnable); public void onAnimationStart(RemoteAnimationTarget[] appTargets, Runnable runnable) { onAnimationStart(appTargets, new RemoteAnimationTarget[0], runnable); } Loading Loading @@ -229,9 +229,9 @@ public class LauncherAnimationRunner implements RemoteAnimationRunnerCompat { * call {@link AnimationResult#setAnimation} with the target animation to be run. */ void onCreateAnimation(int transit, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, LauncherAnimationRunner.AnimationResult result); /** Loading
quickstep/src/com/android/launcher3/LauncherInitListener.java +3 −3 Original line number Diff line number Diff line Loading @@ -19,11 +19,11 @@ import android.animation.AnimatorSet; import android.annotation.TargetApi; import android.os.Build; import android.os.CancellationSignal; import android.view.RemoteAnimationTarget; import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.RemoteAnimationProvider; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; import java.util.function.BiPredicate; Loading Loading @@ -52,8 +52,8 @@ public class LauncherInitListener extends ActivityInitListener<Launcher> { CancellationSignal cancellationSignal = new CancellationSignal(); appTransitionManager.setRemoteAnimationProvider(new RemoteAnimationProvider() { @Override public AnimatorSet createWindowAnimation(RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets) { public AnimatorSet createWindowAnimation(RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets) { // On the first call clear the reference. cancellationSignal.cancel(); Loading
quickstep/src/com/android/launcher3/QuickstepTransitionManager.java +57 −57 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ package com.android.launcher3; import static android.provider.Settings.Secure.LAUNCHER_TASKBAR_EDUCATION_SHOWING; import static android.view.RemoteAnimationTarget.MODE_CLOSING; import static android.view.RemoteAnimationTarget.MODE_OPENING; import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_NONE; import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_SPLASH_SCREEN; Loading Loading @@ -49,8 +51,6 @@ import static com.android.launcher3.views.FloatingIconView.getFloatingIconView; import static com.android.quickstep.TaskViewUtils.findTaskViewToLaunch; import static com.android.systemui.shared.system.QuickStepContract.getWindowCornerRadius; import static com.android.systemui.shared.system.QuickStepContract.supportsRoundedCornersOnWindows; import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.MODE_CLOSING; import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.MODE_OPENING; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; Loading Loading @@ -81,6 +81,7 @@ import android.provider.Settings; import android.util.Pair; import android.util.Size; import android.view.CrossWindowBlurListeners; import android.view.RemoteAnimationTarget; import android.view.SurfaceControl; import android.view.View; import android.view.ViewRootImpl; Loading Loading @@ -135,7 +136,6 @@ import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.shared.system.RemoteAnimationAdapterCompat; import com.android.systemui.shared.system.RemoteAnimationDefinitionCompat; import com.android.systemui.shared.system.RemoteAnimationRunnerCompat; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; import com.android.systemui.shared.system.RemoteTransitionCompat; import com.android.wm.shell.startingsurface.IStartingWindowListener; Loading Loading @@ -312,7 +312,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * @return true if the app is launching from recents, false if it most likely is not */ protected boolean isLaunchingFromRecents(@NonNull View v, @Nullable RemoteAnimationTargetCompat[] targets) { @Nullable RemoteAnimationTarget[] targets) { return mLauncher.getStateManager().getState().overviewUi && findTaskViewToLaunch(mLauncher.getOverviewPanel(), v, targets) != null; } Loading @@ -326,18 +326,18 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * @param launcherClosing true if the launcher app is closing */ protected void composeRecentsLaunchAnimator(@NonNull AnimatorSet anim, @NonNull View v, @NonNull RemoteAnimationTargetCompat[] appTargets, @NonNull RemoteAnimationTargetCompat[] wallpaperTargets, @NonNull RemoteAnimationTargetCompat[] nonAppTargets, boolean launcherClosing) { @NonNull RemoteAnimationTarget[] appTargets, @NonNull RemoteAnimationTarget[] wallpaperTargets, @NonNull RemoteAnimationTarget[] nonAppTargets, boolean launcherClosing) { TaskViewUtils.composeRecentsLaunchAnimator(anim, v, appTargets, wallpaperTargets, nonAppTargets, launcherClosing, mLauncher.getStateManager(), mLauncher.getOverviewPanel(), mLauncher.getDepthController()); } private boolean areAllTargetsTranslucent(@NonNull RemoteAnimationTargetCompat[] targets) { private boolean areAllTargetsTranslucent(@NonNull RemoteAnimationTarget[] targets) { boolean isAllOpeningTargetTrs = true; for (int i = 0; i < targets.length; i++) { RemoteAnimationTargetCompat target = targets[i]; RemoteAnimationTarget target = targets[i]; if (target.mode == MODE_OPENING) { isAllOpeningTargetTrs &= target.isTranslucent; } Loading @@ -355,9 +355,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * @param launcherClosing true if launcher is closing */ private void composeIconLaunchAnimator(@NonNull AnimatorSet anim, @NonNull View v, @NonNull RemoteAnimationTargetCompat[] appTargets, @NonNull RemoteAnimationTargetCompat[] wallpaperTargets, @NonNull RemoteAnimationTargetCompat[] nonAppTargets, @NonNull RemoteAnimationTarget[] appTargets, @NonNull RemoteAnimationTarget[] wallpaperTargets, @NonNull RemoteAnimationTarget[] nonAppTargets, boolean launcherClosing) { // Set the state animation first so that any state listeners are called // before our internal listeners. Loading Loading @@ -399,9 +399,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener private void composeWidgetLaunchAnimator( @NonNull AnimatorSet anim, @NonNull LauncherAppWidgetHostView v, @NonNull RemoteAnimationTargetCompat[] appTargets, @NonNull RemoteAnimationTargetCompat[] wallpaperTargets, @NonNull RemoteAnimationTargetCompat[] nonAppTargets) { @NonNull RemoteAnimationTarget[] appTargets, @NonNull RemoteAnimationTarget[] wallpaperTargets, @NonNull RemoteAnimationTarget[] nonAppTargets) { mLauncher.getStateManager().setCurrentAnimation(anim); Rect windowTargetBounds = getWindowTargetBounds(appTargets, getRotationChange(appTargets)); Loading @@ -424,10 +424,10 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * In multiwindow mode, we need to get the final size of the opening app window target to help * figure out where the floating view should animate to. */ private Rect getWindowTargetBounds(@NonNull RemoteAnimationTargetCompat[] appTargets, private Rect getWindowTargetBounds(@NonNull RemoteAnimationTarget[] appTargets, int rotationChange) { RemoteAnimationTargetCompat target = null; for (RemoteAnimationTargetCompat t : appTargets) { RemoteAnimationTarget target = null; for (RemoteAnimationTarget t : appTargets) { if (t.mode != MODE_OPENING) continue; target = t; break; Loading Loading @@ -649,9 +649,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * @return Animator that controls the window of the opening targets from app icons. */ private Animator getOpeningWindowAnimators(View v, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, Rect windowTargetBounds, boolean appTargetsAreTranslucent, int rotationChange) { RectF launcherIconBounds = new RectF(); FloatingIconView floatingView = FloatingIconView.getFloatingIconView(mLauncher, v, Loading @@ -664,7 +664,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener SurfaceTransactionApplier surfaceApplier = new SurfaceTransactionApplier(floatingView); openingTargets.addReleaseCheck(surfaceApplier); RemoteAnimationTargetCompat navBarTarget = openingTargets.getNavBarRemoteAnimationTarget(); RemoteAnimationTarget navBarTarget = openingTargets.getNavBarRemoteAnimationTarget(); int[] dragLayerBounds = new int[2]; mDragLayer.getLocationOnScreen(dragLayerBounds); Loading Loading @@ -819,7 +819,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener SurfaceTransaction transaction = new SurfaceTransaction(); for (int i = appTargets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = appTargets[i]; RemoteAnimationTarget target = appTargets[i]; SurfaceProperties builder = transaction.forSurface(target.leash); if (target.mode == MODE_OPENING) { Loading Loading @@ -902,9 +902,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener } private Animator getOpeningWindowAnimatorsForWidget(LauncherAppWidgetHostView v, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, Rect windowTargetBounds, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, Rect windowTargetBounds, boolean appTargetsAreTranslucent) { final RectF widgetBackgroundBounds = new RectF(); final Rect appWindowCrop = new Rect(); Loading @@ -912,7 +912,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener RemoteAnimationTargets openingTargets = new RemoteAnimationTargets(appTargets, wallpaperTargets, nonAppTargets, MODE_OPENING); RemoteAnimationTargetCompat openingTarget = openingTargets.getFirstAppTarget(); RemoteAnimationTarget openingTarget = openingTargets.getFirstAppTarget(); int fallbackBackgroundColor = 0; if (openingTarget != null && supportsSSplashScreen()) { fallbackBackgroundColor = mTaskStartParams.containsKey(openingTarget.taskId) Loading @@ -936,7 +936,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener SurfaceTransactionApplier surfaceApplier = new SurfaceTransactionApplier(floatingView); openingTargets.addReleaseCheck(surfaceApplier); RemoteAnimationTargetCompat navBarTarget = openingTargets.getNavBarRemoteAnimationTarget(); RemoteAnimationTarget navBarTarget = openingTargets.getNavBarRemoteAnimationTarget(); AnimatorSet animatorSet = new AnimatorSet(); ValueAnimator appAnimator = ValueAnimator.ofFloat(0, 1); Loading Loading @@ -1003,7 +1003,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener SurfaceTransaction transaction = new SurfaceTransaction(); float floatingViewAlpha = appTargetsAreTranslucent ? 1 - mPreviewAlpha.value : 1; for (int i = appTargets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = appTargets[i]; RemoteAnimationTarget target = appTargets[i]; SurfaceProperties builder = transaction.forSurface(target.leash); if (target.mode == MODE_OPENING) { floatingView.update(widgetBackgroundBounds, floatingViewAlpha, Loading Loading @@ -1174,8 +1174,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener } } private boolean launcherIsATargetWithMode(RemoteAnimationTargetCompat[] targets, int mode) { for (RemoteAnimationTargetCompat target : targets) { private boolean launcherIsATargetWithMode(RemoteAnimationTarget[] targets, int mode) { for (RemoteAnimationTarget target : targets) { if (target.mode == mode && target.taskInfo != null // Compare component name instead of task-id because transitions will promote // the target up to the root task while getTaskId returns the leaf. Loading @@ -1187,9 +1187,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener return false; } private boolean hasMultipleTargetsWithMode(RemoteAnimationTargetCompat[] targets, int mode) { private boolean hasMultipleTargetsWithMode(RemoteAnimationTarget[] targets, int mode) { int numTargets = 0; for (RemoteAnimationTargetCompat target : targets) { for (RemoteAnimationTarget target : targets) { if (target.mode == mode) { numTargets++; } Loading @@ -1211,8 +1211,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener /** * Animator that controls the transformations of the windows when unlocking the device. */ private Animator getUnlockWindowAnimator(RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets) { private Animator getUnlockWindowAnimator(RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets) { SurfaceTransactionApplier surfaceApplier = new SurfaceTransactionApplier(mDragLayer); ValueAnimator unlockAnimator = ValueAnimator.ofFloat(0, 1); unlockAnimator.setDuration(CLOSING_TRANSITION_DURATION_MS); Loading @@ -1223,7 +1223,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener public void onAnimationStart(Animator animation) { SurfaceTransaction transaction = new SurfaceTransaction(); for (int i = appTargets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = appTargets[i]; RemoteAnimationTarget target = appTargets[i]; transaction.forSurface(target.leash) .setAlpha(1f) .setWindowCrop(target.screenSpaceBounds) Loading @@ -1235,9 +1235,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener return unlockAnimator; } private static int getRotationChange(RemoteAnimationTargetCompat[] appTargets) { private static int getRotationChange(RemoteAnimationTarget[] appTargets) { int rotationChange = 0; for (RemoteAnimationTargetCompat target : appTargets) { for (RemoteAnimationTarget target : appTargets) { if (Math.abs(target.rotationChange) > Math.abs(rotationChange)) { rotationChange = target.rotationChange; } Loading @@ -1248,8 +1248,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener /** * Returns view on launcher that corresponds to the closing app in the list of app targets */ private @Nullable View findLauncherView(RemoteAnimationTargetCompat[] appTargets) { for (RemoteAnimationTargetCompat appTarget : appTargets) { private @Nullable View findLauncherView(RemoteAnimationTarget[] appTargets) { for (RemoteAnimationTarget appTarget : appTargets) { if (appTarget.mode == MODE_CLOSING) { View launcherView = findLauncherView(appTarget); if (launcherView != null) { Loading @@ -1263,7 +1263,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener /** * Returns view on launcher that corresponds to the {@param runningTaskTarget}. */ private @Nullable View findLauncherView(RemoteAnimationTargetCompat runningTaskTarget) { private @Nullable View findLauncherView(RemoteAnimationTarget runningTaskTarget) { if (runningTaskTarget == null || runningTaskTarget.taskInfo == null) { return null; } Loading Loading @@ -1324,15 +1324,15 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * Closing animator that animates the window into its final location on the workspace. */ private RectFSpringAnim getClosingWindowAnimators(AnimatorSet animation, RemoteAnimationTargetCompat[] targets, View launcherView, PointF velocityPxPerS, RemoteAnimationTarget[] targets, View launcherView, PointF velocityPxPerS, RectF closingWindowStartRect, float startWindowCornerRadius) { FloatingIconView floatingIconView = null; FloatingWidgetView floatingWidget = null; RectF targetRect = new RectF(); RemoteAnimationTargetCompat runningTaskTarget = null; RemoteAnimationTarget runningTaskTarget = null; boolean isTransluscent = false; for (RemoteAnimationTargetCompat target : targets) { for (RemoteAnimationTarget target : targets) { if (target.mode == MODE_CLOSING) { runningTaskTarget = target; isTransluscent = runningTaskTarget.isTranslucent; Loading Loading @@ -1426,7 +1426,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener /** * Closing window animator that moves the window down and offscreen. */ private Animator getFallbackClosingWindowAnimators(RemoteAnimationTargetCompat[] appTargets) { private Animator getFallbackClosingWindowAnimators(RemoteAnimationTarget[] appTargets) { final int rotationChange = getRotationChange(appTargets); SurfaceTransactionApplier surfaceApplier = new SurfaceTransactionApplier(mDragLayer); Matrix matrix = new Matrix(); Loading @@ -1449,7 +1449,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener public void onUpdate(float percent, boolean initOnly) { SurfaceTransaction transaction = new SurfaceTransaction(); for (int i = appTargets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = appTargets[i]; RemoteAnimationTarget target = appTargets[i]; SurfaceProperties builder = transaction.forSurface(target.leash); if (target.localBounds != null) { Loading Loading @@ -1548,8 +1548,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * the transition. */ public Pair<RectFSpringAnim, AnimatorSet> createWallpaperOpenAnimations( RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, boolean fromUnlock, RectF startRect, float startWindowCornerRadius) { Loading Loading @@ -1658,9 +1658,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener @Override public void onCreateAnimation(int transit, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, LauncherAnimationRunner.AnimationResult result) { if (mLauncher.isDestroyed()) { AnimatorSet anim = new AnimatorSet(); Loading Loading @@ -1699,9 +1699,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener @Override public void onCreateAnimation(int transit, RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, RemoteAnimationTargetCompat[] nonAppTargets, RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets, RemoteAnimationTarget[] nonAppTargets, LauncherAnimationRunner.AnimationResult result) { AnimatorSet anim = new AnimatorSet(); boolean launcherClosing = Loading Loading @@ -1828,7 +1828,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener * RectFSpringAnim update listener to be used for app to home animation. */ private class SpringAnimRunner implements RectFSpringAnim.OnUpdateListener { private final RemoteAnimationTargetCompat[] mAppTargets; private final RemoteAnimationTarget[] mAppTargets; private final Matrix mMatrix = new Matrix(); private final Point mTmpPos = new Point(); private final Rect mCurrentRect = new Rect(); Loading @@ -1839,7 +1839,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener private final Rect mTmpRect = new Rect(); SpringAnimRunner(RemoteAnimationTargetCompat[] appTargets, RectF targetRect, SpringAnimRunner(RemoteAnimationTarget[] appTargets, RectF targetRect, Rect windowTargetBounds, float startWindowCornerRadius) { mAppTargets = appTargets; mStartRadius = startWindowCornerRadius; Loading @@ -1856,7 +1856,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener public void onUpdate(RectF currentRectF, float progress) { SurfaceTransaction transaction = new SurfaceTransaction(); for (int i = mAppTargets.length - 1; i >= 0; i--) { RemoteAnimationTargetCompat target = mAppTargets[i]; RemoteAnimationTarget target = mAppTargets[i]; SurfaceProperties builder = transaction.forSurface(target.leash); if (target.localBounds != null) { Loading
quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java +3 −3 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ import android.os.IBinder; import android.os.SystemProperties; import android.view.Display; import android.view.HapticFeedbackConstants; import android.view.RemoteAnimationTarget; import android.view.View; import android.view.WindowManagerGlobal; import android.window.SplashScreen; Loading Loading @@ -140,7 +141,6 @@ import com.android.quickstep.views.OverviewActionsView; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.TaskView; import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; import com.android.systemui.unfold.UnfoldSharedComponent; import com.android.systemui.unfold.UnfoldTransitionFactory; import com.android.systemui.unfold.UnfoldTransitionProgressProvider; Loading Loading @@ -768,8 +768,8 @@ public class QuickstepLauncher extends Launcher { QuickstepTransitionManager appTransitionManager = getAppTransitionManager(); appTransitionManager.setRemoteAnimationProvider(new RemoteAnimationProvider() { @Override public AnimatorSet createWindowAnimation(RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets) { public AnimatorSet createWindowAnimation(RemoteAnimationTarget[] appTargets, RemoteAnimationTarget[] wallpaperTargets) { // On the first call clear the reference. signal.cancel(); Loading