mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 23:36:47 +00:00
Merge changes from topic "windowPrototype" into main
* changes: Fixing tests related to abstraction Abstracting StatefulActivity from StateManager
This commit is contained in:
@@ -35,7 +35,7 @@ import java.util.function.Consumer
|
||||
|
||||
/** Manage recents related operations with desktop tasks */
|
||||
class DesktopRecentsTransitionController(
|
||||
private val stateManager: StateManager<*>,
|
||||
private val stateManager: StateManager<*, *>,
|
||||
private val systemUiProxy: SystemUiProxy,
|
||||
private val appThread: IApplicationThread,
|
||||
private val depthController: DepthController?
|
||||
@@ -64,7 +64,7 @@ class DesktopRecentsTransitionController(
|
||||
|
||||
private class RemoteDesktopLaunchTransitionRunner(
|
||||
private val desktopTaskView: DesktopTaskView,
|
||||
private val stateManager: StateManager<*>,
|
||||
private val stateManager: StateManager<*, *>,
|
||||
private val depthController: DepthController?,
|
||||
private val successCallback: Consumer<Boolean>?
|
||||
) : RemoteTransitionStub() {
|
||||
|
||||
@@ -1118,7 +1118,7 @@ public class QuickstepLauncher extends Launcher implements RecentsViewContainer
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void collectStateHandlers(List<StateHandler> out) {
|
||||
public void collectStateHandlers(List<StateHandler<LauncherState>> out) {
|
||||
super.collectStateHandlers(out);
|
||||
out.add(getDepthController());
|
||||
out.add(new RecentsViewStateController(this));
|
||||
|
||||
@@ -154,7 +154,8 @@ public final class FallbackActivityInterface extends
|
||||
|
||||
@Override
|
||||
public void onExitOverview(RotationTouchHelper deviceState, Runnable exitRunnable) {
|
||||
final StateManager<RecentsState> stateManager = getCreatedContainer().getStateManager();
|
||||
final StateManager<RecentsState, RecentsActivity> stateManager =
|
||||
getCreatedContainer().getStateManager();
|
||||
if (stateManager.getState() == HOME) {
|
||||
exitRunnable.run();
|
||||
notifyRecentsOfOrientation(deviceState);
|
||||
|
||||
@@ -36,6 +36,7 @@ import androidx.annotation.UiThread;
|
||||
|
||||
import com.android.launcher3.DeviceProfile;
|
||||
import com.android.launcher3.Flags;
|
||||
import com.android.launcher3.Launcher;
|
||||
import com.android.launcher3.LauncherAnimUtils;
|
||||
import com.android.launcher3.LauncherInitListener;
|
||||
import com.android.launcher3.LauncherState;
|
||||
@@ -242,7 +243,8 @@ public final class LauncherActivityInterface extends
|
||||
|
||||
@Override
|
||||
public void onExitOverview(RotationTouchHelper deviceState, Runnable exitRunnable) {
|
||||
final StateManager<LauncherState> stateManager = getCreatedContainer().getStateManager();
|
||||
final StateManager<LauncherState, Launcher> stateManager =
|
||||
getCreatedContainer().getStateManager();
|
||||
stateManager.addStateListener(
|
||||
new StateManager.StateListener<LauncherState>() {
|
||||
@Override
|
||||
|
||||
@@ -228,8 +228,9 @@ public class OverviewCommandHelper {
|
||||
}
|
||||
BaseActivityInterface<?, T> activityInterface =
|
||||
mOverviewComponentObserver.getActivityInterface();
|
||||
RecentsView visibleRecentsView = activityInterface.getVisibleRecentsView();
|
||||
RecentsView createdRecentsView;
|
||||
|
||||
RecentsView<?, ?> visibleRecentsView = activityInterface.getVisibleRecentsView();
|
||||
RecentsView<?, ?> createdRecentsView;
|
||||
|
||||
Log.d(TAG, "executeCommand: " + cmd
|
||||
+ " - visibleRecentsView: " + visibleRecentsView);
|
||||
|
||||
@@ -115,7 +115,7 @@ public final class RecentsActivity extends StatefulActivity<RecentsState> implem
|
||||
private TISBindHelper mTISBindHelper;
|
||||
private @Nullable FallbackTaskbarUIController mTaskbarUIController;
|
||||
|
||||
private StateManager<RecentsState> mStateManager;
|
||||
private StateManager<RecentsState, RecentsActivity> mStateManager;
|
||||
|
||||
// Strong refs to runners which are cleared when the activity is destroyed
|
||||
private RemoteAnimationFactory mActivityLaunchAnimationRunner;
|
||||
@@ -386,6 +386,11 @@ public final class RecentsActivity extends StatefulActivity<RecentsState> implem
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldAnimateStateChange() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize/update the device profile.
|
||||
*/
|
||||
@@ -462,12 +467,12 @@ public final class RecentsActivity extends StatefulActivity<RecentsState> implem
|
||||
};
|
||||
|
||||
@Override
|
||||
protected void collectStateHandlers(List<StateHandler> out) {
|
||||
public void collectStateHandlers(List<StateHandler<RecentsState>> out) {
|
||||
out.add(new FallbackRecentsStateController(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public StateManager<RecentsState> getStateManager() {
|
||||
public StateManager<RecentsState, RecentsActivity> getStateManager() {
|
||||
return mStateManager;
|
||||
}
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta
|
||||
}
|
||||
|
||||
@Override
|
||||
public StateManager<RecentsState> getStateManager() {
|
||||
public StateManager<RecentsState, RecentsActivity> getStateManager() {
|
||||
return mContainer.getStateManager();
|
||||
}
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ import com.android.launcher3.Utilities;
|
||||
import com.android.launcher3.anim.AnimatorPlaybackController;
|
||||
import com.android.launcher3.anim.PendingAnimation;
|
||||
import com.android.launcher3.statemanager.StateManager;
|
||||
import com.android.launcher3.statemanager.StatefulActivity;
|
||||
import com.android.launcher3.states.StateAnimationConfig;
|
||||
import com.android.launcher3.touch.AllAppsSwipeController;
|
||||
import com.android.quickstep.DeviceConfigWrapper;
|
||||
@@ -163,7 +164,8 @@ public class AnimatorControllerWithResistance {
|
||||
recentsOrientedState.getContainerInterface().getCreatedContainer();
|
||||
if (container != null) {
|
||||
RecentsView recentsView = container.getOverviewPanel();
|
||||
StateManager<LauncherState> stateManager = recentsView.getStateManager();
|
||||
StateManager<LauncherState, StatefulActivity<LauncherState>> stateManager =
|
||||
recentsView.getStateManager();
|
||||
if (stateManager.isInStableState(LauncherState.BACKGROUND_APP)
|
||||
&& stateManager.isInTransition()) {
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ public class OverviewToHomeAnim {
|
||||
* {@link WorkspaceRevealAnim}.
|
||||
*/
|
||||
public void animateWithVelocity(float velocity) {
|
||||
StateManager<LauncherState> stateManager = mLauncher.getStateManager();
|
||||
StateManager<LauncherState, Launcher> stateManager = mLauncher.getStateManager();
|
||||
LauncherState startState = stateManager.getState();
|
||||
if (startState != OVERVIEW) {
|
||||
Log.e(TAG, "animateFromOverviewToHome: unexpected start state " + startState);
|
||||
|
||||
@@ -27,6 +27,7 @@ import static com.android.launcher3.util.OnboardingPrefs.HOME_BOUNCE_COUNT;
|
||||
import static com.android.launcher3.util.OnboardingPrefs.HOME_BOUNCE_SEEN;
|
||||
import static com.android.launcher3.util.OnboardingPrefs.HOTSEAT_DISCOVERY_TIP_COUNT;
|
||||
|
||||
import com.android.launcher3.Launcher;
|
||||
import com.android.launcher3.LauncherPrefs;
|
||||
import com.android.launcher3.LauncherState;
|
||||
import com.android.launcher3.Utilities;
|
||||
@@ -48,7 +49,7 @@ public class QuickstepOnboardingPrefs {
|
||||
* Sets up the initial onboarding behavior for the launcher
|
||||
*/
|
||||
public static void setup(QuickstepLauncher launcher) {
|
||||
StateManager<LauncherState> stateManager = launcher.getStateManager();
|
||||
StateManager<LauncherState, Launcher> stateManager = launcher.getStateManager();
|
||||
if (!HOME_BOUNCE_SEEN.get(launcher)) {
|
||||
stateManager.addStateListener(new StateListener<LauncherState>() {
|
||||
@Override
|
||||
|
||||
@@ -510,7 +510,7 @@ class SplitAnimationController(val splitSelectStateController: SplitSelectStateC
|
||||
apps: Array<RemoteAnimationTarget>?,
|
||||
wallpapers: Array<RemoteAnimationTarget>?,
|
||||
nonApps: Array<RemoteAnimationTarget>?,
|
||||
stateManager: StateManager<*>,
|
||||
stateManager: StateManager<*, *>,
|
||||
depthController: DepthController?,
|
||||
info: TransitionInfo?,
|
||||
t: Transaction?,
|
||||
@@ -589,7 +589,7 @@ class SplitAnimationController(val splitSelectStateController: SplitSelectStateC
|
||||
@VisibleForTesting
|
||||
fun composeRecentsSplitLaunchAnimator(
|
||||
launchingTaskView: GroupedTaskView,
|
||||
stateManager: StateManager<*>,
|
||||
stateManager: StateManager<*, *>,
|
||||
depthController: DepthController?,
|
||||
info: TransitionInfo,
|
||||
t: Transaction,
|
||||
@@ -617,7 +617,7 @@ class SplitAnimationController(val splitSelectStateController: SplitSelectStateC
|
||||
apps: Array<RemoteAnimationTarget>,
|
||||
wallpapers: Array<RemoteAnimationTarget>,
|
||||
nonApps: Array<RemoteAnimationTarget>,
|
||||
stateManager: StateManager<*>,
|
||||
stateManager: StateManager<*, *>,
|
||||
depthController: DepthController?,
|
||||
finishCallback: Runnable
|
||||
) {
|
||||
|
||||
@@ -37,6 +37,7 @@ import android.view.MotionEvent;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.launcher3.AbstractFloatingView;
|
||||
import com.android.launcher3.Launcher;
|
||||
import com.android.launcher3.LauncherState;
|
||||
import com.android.launcher3.config.FeatureFlags;
|
||||
import com.android.launcher3.desktop.DesktopRecentsTransitionController;
|
||||
@@ -104,7 +105,7 @@ public class LauncherRecentsView extends RecentsView<QuickstepLauncher, Launcher
|
||||
}
|
||||
|
||||
@Override
|
||||
public StateManager<LauncherState> getStateManager() {
|
||||
public StateManager<LauncherState, Launcher> getStateManager() {
|
||||
return mContainer.getStateManager();
|
||||
}
|
||||
|
||||
|
||||
@@ -152,6 +152,7 @@ import com.android.launcher3.model.data.ItemInfo;
|
||||
import com.android.launcher3.statehandlers.DepthController;
|
||||
import com.android.launcher3.statemanager.BaseState;
|
||||
import com.android.launcher3.statemanager.StateManager;
|
||||
import com.android.launcher3.statemanager.StatefulContainer;
|
||||
import com.android.launcher3.testing.TestLogging;
|
||||
import com.android.launcher3.testing.shared.TestProtocol;
|
||||
import com.android.launcher3.touch.OverScroll;
|
||||
@@ -2487,7 +2488,9 @@ public abstract class RecentsView<CONTAINER_TYPE extends Context & RecentsViewCo
|
||||
/** Returns whether user can start home based on state in {@link OverviewCommandHelper}. */
|
||||
protected abstract boolean canStartHomeSafely();
|
||||
|
||||
public abstract StateManager<STATE_TYPE> getStateManager();
|
||||
/** Returns the state manager used in RecentsView **/
|
||||
public abstract StateManager<STATE_TYPE,
|
||||
? extends StatefulContainer<STATE_TYPE>> getStateManager();
|
||||
|
||||
public void reset() {
|
||||
setCurrentTask(-1);
|
||||
|
||||
Reference in New Issue
Block a user