diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java b/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java index 23e35f6307..4a191e16e7 100644 --- a/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java +++ b/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java @@ -138,7 +138,7 @@ public class RecentsAnimationDeviceState implements mDisplayId = mDisplayHolder.getInfo().id; mIsOneHandedModeSupported = SystemProperties.getBoolean(SUPPORT_ONE_HANDED_MODE, false); runOnDestroy(() -> mDisplayHolder.removeChangeListener(this)); - mRotationTouchHelper = new RotationTouchHelper(context, mDisplayHolder); + mRotationTouchHelper = RotationTouchHelper.INSTANCE.get(context); runOnDestroy(mRotationTouchHelper::destroy); // Register for user unlocked if necessary diff --git a/quickstep/src/com/android/quickstep/RotationTouchHelper.java b/quickstep/src/com/android/quickstep/RotationTouchHelper.java index 2cf32122cf..1155482d37 100644 --- a/quickstep/src/com/android/quickstep/RotationTouchHelper.java +++ b/quickstep/src/com/android/quickstep/RotationTouchHelper.java @@ -28,9 +28,11 @@ import android.view.MotionEvent; import android.view.OrientationEventListener; import com.android.launcher3.testing.TestProtocol; +import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.DisplayHolder; import com.android.launcher3.util.DisplayController.DisplayInfoChangeListener; import com.android.launcher3.util.DisplayController.Info; +import com.android.launcher3.util.MainThreadInitializedObject; import com.android.quickstep.util.RecentsOrientedState; import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.shared.system.QuickStepContract; @@ -43,6 +45,9 @@ public class RotationTouchHelper implements SysUINavigationMode.NavigationModeChangeListener, DisplayInfoChangeListener { + public static final MainThreadInitializedObject INSTANCE = + new MainThreadInitializedObject<>(RotationTouchHelper::new); + private final OrientationTouchTransformer mOrientationTouchTransformer; private final DisplayHolder mDisplayHolder; private final SysUINavigationMode mSysUiNavMode; @@ -121,9 +126,9 @@ public class RotationTouchHelper implements private final Context mContext; - public RotationTouchHelper(Context context, DisplayHolder displayHolder) { + private RotationTouchHelper(Context context) { mContext = context; - mDisplayHolder = displayHolder; + mDisplayHolder = DisplayController.getDefaultDisplay(context); Resources resources = mContext.getResources(); mSysUiNavMode = SysUINavigationMode.INSTANCE.get(context); mDisplayId = mDisplayHolder.getInfo().id;