Loading services/core/java/com/android/server/wm/ActivityStartController.java +3 −1 Original line number Diff line number Diff line Loading @@ -574,7 +574,9 @@ public class ActivityStartController { mService.deferWindowLayout(); try { final TransitionController controller = r.mTransitionController; if (controller.getTransitionPlayer() != null) { final Transition transition = controller.getCollectingTransition(); if (transition != null) { transition.setRemoteAnimationApp(r.app.getThread()); controller.collect(task); controller.setTransientLaunch(r, TaskDisplayArea.getRootTaskAbove(rootTask)); } Loading services/core/java/com/android/server/wm/Transition.java +7 −6 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityManager; import android.app.IApplicationThread; import android.content.pm.ActivityInfo; import android.graphics.Point; import android.graphics.Rect; Loading @@ -83,7 +84,6 @@ import android.util.SparseArray; import android.view.Display; import android.view.SurfaceControl; import android.view.WindowManager; import android.window.RemoteTransition; import android.window.ScreenCapture; import android.window.TransitionInfo; Loading Loading @@ -160,7 +160,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { private final TransitionController mController; private final BLASTSyncEngine mSyncEngine; private final Token mToken; private RemoteTransition mRemoteTransition = null; private IApplicationThread mRemoteAnimApp; /** Only use for clean-up after binder death! */ private SurfaceControl.Transaction mStartTransaction = null; Loading Loading @@ -1075,12 +1075,13 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { return mForcePlaying; } void setRemoteTransition(RemoteTransition remoteTransition) { mRemoteTransition = remoteTransition; void setRemoteAnimationApp(IApplicationThread app) { mRemoteAnimApp = app; } RemoteTransition getRemoteTransition() { return mRemoteTransition; /** Returns the app which will run the transition animation. */ IApplicationThread getRemoteAnimationApp() { return mRemoteAnimApp; } void setNoAnimation(WindowContainer wc) { Loading services/core/java/com/android/server/wm/TransitionController.java +5 −4 Original line number Diff line number Diff line Loading @@ -567,7 +567,9 @@ class TransitionController { transition.mLogger.mRequestTimeNs = SystemClock.elapsedRealtimeNanos(); transition.mLogger.mRequest = request; mTransitionPlayer.requestStartTransition(transition.getToken(), request); transition.setRemoteTransition(remoteTransition); if (remoteTransition != null) { transition.setRemoteAnimationApp(remoteTransition.getAppThread()); } } catch (RemoteException e) { Slog.e(TAG, "Error requesting transition", e); transition.start(); Loading Loading @@ -779,9 +781,8 @@ class TransitionController { mRemotePlayer.clear(); return; } final RemoteTransition remote = transition.getRemoteTransition(); if (remote == null) return; final IApplicationThread appThread = remote.getAppThread(); final IApplicationThread appThread = transition.getRemoteAnimationApp(); if (appThread == null || appThread == mTransitionPlayerProc.getThread()) return; final WindowProcessController delegate = mAtm.getProcessController(appThread); if (delegate == null) return; mRemotePlayer.update(delegate, isPlaying, true /* predict */); Loading Loading
services/core/java/com/android/server/wm/ActivityStartController.java +3 −1 Original line number Diff line number Diff line Loading @@ -574,7 +574,9 @@ public class ActivityStartController { mService.deferWindowLayout(); try { final TransitionController controller = r.mTransitionController; if (controller.getTransitionPlayer() != null) { final Transition transition = controller.getCollectingTransition(); if (transition != null) { transition.setRemoteAnimationApp(r.app.getThread()); controller.collect(task); controller.setTransientLaunch(r, TaskDisplayArea.getRootTaskAbove(rootTask)); } Loading
services/core/java/com/android/server/wm/Transition.java +7 −6 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityManager; import android.app.IApplicationThread; import android.content.pm.ActivityInfo; import android.graphics.Point; import android.graphics.Rect; Loading @@ -83,7 +84,6 @@ import android.util.SparseArray; import android.view.Display; import android.view.SurfaceControl; import android.view.WindowManager; import android.window.RemoteTransition; import android.window.ScreenCapture; import android.window.TransitionInfo; Loading Loading @@ -160,7 +160,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { private final TransitionController mController; private final BLASTSyncEngine mSyncEngine; private final Token mToken; private RemoteTransition mRemoteTransition = null; private IApplicationThread mRemoteAnimApp; /** Only use for clean-up after binder death! */ private SurfaceControl.Transaction mStartTransaction = null; Loading Loading @@ -1075,12 +1075,13 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { return mForcePlaying; } void setRemoteTransition(RemoteTransition remoteTransition) { mRemoteTransition = remoteTransition; void setRemoteAnimationApp(IApplicationThread app) { mRemoteAnimApp = app; } RemoteTransition getRemoteTransition() { return mRemoteTransition; /** Returns the app which will run the transition animation. */ IApplicationThread getRemoteAnimationApp() { return mRemoteAnimApp; } void setNoAnimation(WindowContainer wc) { Loading
services/core/java/com/android/server/wm/TransitionController.java +5 −4 Original line number Diff line number Diff line Loading @@ -567,7 +567,9 @@ class TransitionController { transition.mLogger.mRequestTimeNs = SystemClock.elapsedRealtimeNanos(); transition.mLogger.mRequest = request; mTransitionPlayer.requestStartTransition(transition.getToken(), request); transition.setRemoteTransition(remoteTransition); if (remoteTransition != null) { transition.setRemoteAnimationApp(remoteTransition.getAppThread()); } } catch (RemoteException e) { Slog.e(TAG, "Error requesting transition", e); transition.start(); Loading Loading @@ -779,9 +781,8 @@ class TransitionController { mRemotePlayer.clear(); return; } final RemoteTransition remote = transition.getRemoteTransition(); if (remote == null) return; final IApplicationThread appThread = remote.getAppThread(); final IApplicationThread appThread = transition.getRemoteAnimationApp(); if (appThread == null || appThread == mTransitionPlayerProc.getThread()) return; final WindowProcessController delegate = mAtm.getProcessController(appThread); if (delegate == null) return; mRemotePlayer.update(delegate, isPlaying, true /* predict */); Loading