From d5a8a55e9fe8e196a3db2cad792de21bf17753d6 Mon Sep 17 00:00:00 2001 From: Nick Chameyev Date: Wed, 11 May 2022 14:49:34 +0100 Subject: [PATCH] Extract unfold classes to a separate library Extracted classes related to the fold/unfold animation (that plays on foldable devices) to a separate library that does not depend on system classes. This is necessary to ease reusing these classes in live wallpapers. Bug: 231936088 Test: fold/unfold device Change-Id: I53eaebfa22c4ac043ba30b1fb93b1d095d06f741 --- .../android/launcher3/BaseQuickstepLauncher.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java index 2239102c4d..95d6dd02d5 100644 --- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java @@ -92,6 +92,9 @@ import com.android.systemui.shared.system.RemoteAnimationTargetCompat; import com.android.systemui.unfold.UnfoldTransitionFactory; import com.android.systemui.unfold.UnfoldTransitionProgressProvider; import com.android.systemui.unfold.config.UnfoldTransitionConfig; +import com.android.systemui.unfold.system.ActivityManagerActivityTypeProvider; +import com.android.systemui.unfold.system.DeviceStateManagerFoldProvider; +import com.android.systemui.unfold.config.ResourceUnfoldTransitionConfig; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -343,15 +346,17 @@ public abstract class BaseQuickstepLauncher extends Launcher { } private void initUnfoldTransitionProgressProvider() { - final UnfoldTransitionConfig config = UnfoldTransitionFactory.createConfig(this); + final UnfoldTransitionConfig config = new ResourceUnfoldTransitionConfig(); if (config.isEnabled()) { mUnfoldTransitionProgressProvider = UnfoldTransitionFactory.createUnfoldTransitionProgressProvider( - this, + /* context= */ this, config, ProxyScreenStatusProvider.INSTANCE, - getSystemService(DeviceStateManager.class), - getSystemService(ActivityManager.class), + new DeviceStateManagerFoldProvider( + getSystemService(DeviceStateManager.class), /* context */this), + new ActivityManagerActivityTypeProvider( + getSystemService(ActivityManager.class)), getSystemService(SensorManager.class), getMainThreadHandler(), getMainExecutor(),