Manage ref to transition manager from binder object am: ad41204946
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/14297199
Change-Id: I590067ad7b6e1a41219cfd88b1e270c7379f96ad
diff --git a/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java b/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
index 827eb7d..fe413af 100644
--- a/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
+++ b/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
@@ -172,6 +172,8 @@
private final float mClosingWindowTransY;
private final float mMaxShadowRadius;
+ private final StartingWindowListener mStartingWindowListener = new StartingWindowListener();
+
private DeviceProfile mDeviceProfile;
private RemoteAnimationProvider mRemoteAnimationProvider;
@@ -221,13 +223,9 @@
}
};
+ mStartingWindowListener.setTransitionManager(this);
SystemUiProxy.INSTANCE.get(mLauncher).setStartingWindowListener(
- new IStartingWindowListener.Stub() {
- @Override
- public void onTaskLaunching(int taskId, int supportedType) {
- mTypeForTaskId.put(taskId, supportedType);
- }
- });
+ mStartingWindowListener);
}
}
@@ -819,6 +817,7 @@
public void onActivityDestroyed() {
unregisterRemoteAnimations();
unregisterRemoteTransitions();
+ mStartingWindowListener.setTransitionManager(null);
SystemUiProxy.INSTANCE.getNoCreate().setStartingWindowListener(null);
}
@@ -1240,4 +1239,17 @@
cropCenterYEnd = windowTargetBounds.centerY();
}
}
+
+ private static class StartingWindowListener extends IStartingWindowListener.Stub {
+ private QuickstepTransitionManager mTransitionManager;
+
+ public void setTransitionManager(QuickstepTransitionManager transitionManager) {
+ mTransitionManager = transitionManager;
+ }
+
+ @Override
+ public void onTaskLaunching(int taskId, int supportedType) {
+ mTransitionManager.mTypeForTaskId.put(taskId, supportedType);
+ }
+ }
}