Loading quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +26 −23 Original line number Original line Diff line number Diff line Loading @@ -141,7 +141,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, RecentsAnimationCallbacks.RecentsAnimationListener { RecentsAnimationCallbacks.RecentsAnimationListener { private static final String TAG = "AbsSwipeUpHandler"; private static final String TAG = "AbsSwipeUpHandler"; private static final String[] STATE_NAMES = DEBUG_STATES ? new String[17] : null; private static final ArrayList<String> STATE_NAMES = new ArrayList<>(); protected final BaseActivityInterface<S, T> mActivityInterface; protected final BaseActivityInterface<S, T> mActivityInterface; protected final InputConsumerProxy mInputConsumerProxy; protected final InputConsumerProxy mInputConsumerProxy; Loading Loading @@ -172,59 +172,62 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, } } }; }; private static int getFlagForIndex(int index, String name) { private static int FLAG_COUNT = 0; private static int getNextStateFlag(String name) { if (DEBUG_STATES) { if (DEBUG_STATES) { STATE_NAMES[index] = name; STATE_NAMES.add(name); } } return 1 << index; int index = 1 << FLAG_COUNT; FLAG_COUNT++; return index; } } // Launcher UI related states // Launcher UI related states protected static final int STATE_LAUNCHER_PRESENT = protected static final int STATE_LAUNCHER_PRESENT = getFlagForIndex(0, "STATE_LAUNCHER_PRESENT"); getNextStateFlag("STATE_LAUNCHER_PRESENT"); protected static final int STATE_LAUNCHER_STARTED = protected static final int STATE_LAUNCHER_STARTED = getFlagForIndex(1, "STATE_LAUNCHER_STARTED"); getNextStateFlag("STATE_LAUNCHER_STARTED"); protected static final int STATE_LAUNCHER_DRAWN = protected static final int STATE_LAUNCHER_DRAWN = getFlagForIndex(2, "STATE_LAUNCHER_DRAWN"); getNextStateFlag("STATE_LAUNCHER_DRAWN"); // Called when the Launcher has connected to the touch interaction service (and the taskbar // Called when the Launcher has connected to the touch interaction service (and the taskbar // ui controller is initialized) // ui controller is initialized) protected static final int STATE_LAUNCHER_BIND_TO_SERVICE = protected static final int STATE_LAUNCHER_BIND_TO_SERVICE = getFlagForIndex(3, "STATE_LAUNCHER_BIND_TO_SERVICE"); getNextStateFlag("STATE_LAUNCHER_BIND_TO_SERVICE"); // Internal initialization states // Internal initialization states private static final int STATE_APP_CONTROLLER_RECEIVED = private static final int STATE_APP_CONTROLLER_RECEIVED = getFlagForIndex(4, "STATE_APP_CONTROLLER_RECEIVED"); getNextStateFlag("STATE_APP_CONTROLLER_RECEIVED"); // Interaction finish states // Interaction finish states private static final int STATE_SCALED_CONTROLLER_HOME = private static final int STATE_SCALED_CONTROLLER_HOME = getFlagForIndex(5, "STATE_SCALED_CONTROLLER_HOME"); getNextStateFlag("STATE_SCALED_CONTROLLER_HOME"); private static final int STATE_SCALED_CONTROLLER_RECENTS = private static final int STATE_SCALED_CONTROLLER_RECENTS = getFlagForIndex(6, "STATE_SCALED_CONTROLLER_RECENTS"); getNextStateFlag("STATE_SCALED_CONTROLLER_RECENTS"); protected static final int STATE_HANDLER_INVALIDATED = protected static final int STATE_HANDLER_INVALIDATED = getFlagForIndex(7, "STATE_HANDLER_INVALIDATED"); getNextStateFlag("STATE_HANDLER_INVALIDATED"); private static final int STATE_GESTURE_STARTED = private static final int STATE_GESTURE_STARTED = getFlagForIndex(8, "STATE_GESTURE_STARTED"); getNextStateFlag("STATE_GESTURE_STARTED"); private static final int STATE_GESTURE_CANCELLED = private static final int STATE_GESTURE_CANCELLED = getFlagForIndex(9, "STATE_GESTURE_CANCELLED"); getNextStateFlag("STATE_GESTURE_CANCELLED"); private static final int STATE_GESTURE_COMPLETED = private static final int STATE_GESTURE_COMPLETED = getFlagForIndex(10, "STATE_GESTURE_COMPLETED"); getNextStateFlag("STATE_GESTURE_COMPLETED"); private static final int STATE_CAPTURE_SCREENSHOT = private static final int STATE_CAPTURE_SCREENSHOT = getFlagForIndex(11, "STATE_CAPTURE_SCREENSHOT"); getNextStateFlag("STATE_CAPTURE_SCREENSHOT"); protected static final int STATE_SCREENSHOT_CAPTURED = protected static final int STATE_SCREENSHOT_CAPTURED = getFlagForIndex(12, "STATE_SCREENSHOT_CAPTURED"); getNextStateFlag("STATE_SCREENSHOT_CAPTURED"); private static final int STATE_SCREENSHOT_VIEW_SHOWN = private static final int STATE_SCREENSHOT_VIEW_SHOWN = getFlagForIndex(13, "STATE_SCREENSHOT_VIEW_SHOWN"); getNextStateFlag("STATE_SCREENSHOT_VIEW_SHOWN"); private static final int STATE_RESUME_LAST_TASK = private static final int STATE_RESUME_LAST_TASK = getFlagForIndex(14, "STATE_RESUME_LAST_TASK"); getNextStateFlag("STATE_RESUME_LAST_TASK"); private static final int STATE_START_NEW_TASK = private static final int STATE_START_NEW_TASK = getFlagForIndex(15, "STATE_START_NEW_TASK"); getNextStateFlag("STATE_START_NEW_TASK"); private static final int STATE_CURRENT_TASK_FINISHED = private static final int STATE_CURRENT_TASK_FINISHED = getFlagForIndex(16, "STATE_CURRENT_TASK_FINISHED"); getNextStateFlag("STATE_CURRENT_TASK_FINISHED"); private static final int STATE_FINISH_WITH_NO_END = private static final int STATE_FINISH_WITH_NO_END = getFlagForIndex(17, "STATE_FINISH_WITH_NO_END"); getNextStateFlag("STATE_FINISH_WITH_NO_END"); private static final int LAUNCHER_UI_STATES = private static final int LAUNCHER_UI_STATES = STATE_LAUNCHER_PRESENT | STATE_LAUNCHER_DRAWN | STATE_LAUNCHER_STARTED | STATE_LAUNCHER_PRESENT | STATE_LAUNCHER_DRAWN | STATE_LAUNCHER_STARTED | Loading Loading @@ -318,7 +321,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, } } private void initStateCallbacks() { private void initStateCallbacks() { mStateCallback = new MultiStateCallback(STATE_NAMES); mStateCallback = new MultiStateCallback(STATE_NAMES.toArray(new String[0])); mStateCallback.runOnceAtState(STATE_LAUNCHER_PRESENT | STATE_GESTURE_STARTED, mStateCallback.runOnceAtState(STATE_LAUNCHER_PRESENT | STATE_GESTURE_STARTED, this::onLauncherPresentAndGestureStarted); this::onLauncherPresentAndGestureStarted); Loading quickstep/src/com/android/quickstep/GestureState.java +11 −10 Original line number Original line Diff line number Diff line Loading @@ -38,6 +38,7 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.ArrayList; import java.util.HashMap; import java.util.HashMap; import java.util.HashSet; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.Set; /** /** Loading Loading @@ -82,11 +83,11 @@ public class GestureState implements RecentsAnimationCallbacks.RecentsAnimationL private static final String TAG = "GestureState"; private static final String TAG = "GestureState"; private static final ArrayList<String> STATE_NAMES = new ArrayList<>(); private static final List<String> STATE_NAMES = new ArrayList<>(); public static final GestureState DEFAULT_STATE = new GestureState(); public static final GestureState DEFAULT_STATE = new GestureState(); private static int FLAG_COUNT = 0; private static int FLAG_COUNT = 0; private static int getFlagForIndex(String name) { private static int getNextStateFlag(String name) { if (DEBUG_STATES) { if (DEBUG_STATES) { STATE_NAMES.add(name); STATE_NAMES.add(name); } } Loading @@ -97,36 +98,36 @@ public class GestureState implements RecentsAnimationCallbacks.RecentsAnimationL // Called when the end target as been set // Called when the end target as been set public static final int STATE_END_TARGET_SET = public static final int STATE_END_TARGET_SET = getFlagForIndex("STATE_END_TARGET_SET"); getNextStateFlag("STATE_END_TARGET_SET"); // Called when the end target animation has finished // Called when the end target animation has finished public static final int STATE_END_TARGET_ANIMATION_FINISHED = public static final int STATE_END_TARGET_ANIMATION_FINISHED = getFlagForIndex("STATE_END_TARGET_ANIMATION_FINISHED"); getNextStateFlag("STATE_END_TARGET_ANIMATION_FINISHED"); // Called when the recents animation has been requested to start // Called when the recents animation has been requested to start public static final int STATE_RECENTS_ANIMATION_INITIALIZED = public static final int STATE_RECENTS_ANIMATION_INITIALIZED = getFlagForIndex("STATE_RECENTS_ANIMATION_INITIALIZED"); getNextStateFlag("STATE_RECENTS_ANIMATION_INITIALIZED"); // Called when the recents animation is started and the TaskAnimationManager has been updated // Called when the recents animation is started and the TaskAnimationManager has been updated // with the controller and targets // with the controller and targets public static final int STATE_RECENTS_ANIMATION_STARTED = public static final int STATE_RECENTS_ANIMATION_STARTED = getFlagForIndex("STATE_RECENTS_ANIMATION_STARTED"); getNextStateFlag("STATE_RECENTS_ANIMATION_STARTED"); // Called when the recents animation is canceled // Called when the recents animation is canceled public static final int STATE_RECENTS_ANIMATION_CANCELED = public static final int STATE_RECENTS_ANIMATION_CANCELED = getFlagForIndex("STATE_RECENTS_ANIMATION_CANCELED"); getNextStateFlag("STATE_RECENTS_ANIMATION_CANCELED"); // Called when the recents animation finishes // Called when the recents animation finishes public static final int STATE_RECENTS_ANIMATION_FINISHED = public static final int STATE_RECENTS_ANIMATION_FINISHED = getFlagForIndex("STATE_RECENTS_ANIMATION_FINISHED"); getNextStateFlag("STATE_RECENTS_ANIMATION_FINISHED"); // Always called when the recents animation ends (regardless of cancel or finish) // Always called when the recents animation ends (regardless of cancel or finish) public static final int STATE_RECENTS_ANIMATION_ENDED = public static final int STATE_RECENTS_ANIMATION_ENDED = getFlagForIndex("STATE_RECENTS_ANIMATION_ENDED"); getNextStateFlag("STATE_RECENTS_ANIMATION_ENDED"); // Called when RecentsView stops scrolling and settles on a TaskView. // Called when RecentsView stops scrolling and settles on a TaskView. public static final int STATE_RECENTS_SCROLLING_FINISHED = public static final int STATE_RECENTS_SCROLLING_FINISHED = getFlagForIndex("STATE_RECENTS_SCROLLING_FINISHED"); getNextStateFlag("STATE_RECENTS_SCROLLING_FINISHED"); // Needed to interact with the current activity // Needed to interact with the current activity private final Intent mHomeIntent; private final Intent mHomeIntent; Loading Loading
quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +26 −23 Original line number Original line Diff line number Diff line Loading @@ -141,7 +141,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, RecentsAnimationCallbacks.RecentsAnimationListener { RecentsAnimationCallbacks.RecentsAnimationListener { private static final String TAG = "AbsSwipeUpHandler"; private static final String TAG = "AbsSwipeUpHandler"; private static final String[] STATE_NAMES = DEBUG_STATES ? new String[17] : null; private static final ArrayList<String> STATE_NAMES = new ArrayList<>(); protected final BaseActivityInterface<S, T> mActivityInterface; protected final BaseActivityInterface<S, T> mActivityInterface; protected final InputConsumerProxy mInputConsumerProxy; protected final InputConsumerProxy mInputConsumerProxy; Loading Loading @@ -172,59 +172,62 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, } } }; }; private static int getFlagForIndex(int index, String name) { private static int FLAG_COUNT = 0; private static int getNextStateFlag(String name) { if (DEBUG_STATES) { if (DEBUG_STATES) { STATE_NAMES[index] = name; STATE_NAMES.add(name); } } return 1 << index; int index = 1 << FLAG_COUNT; FLAG_COUNT++; return index; } } // Launcher UI related states // Launcher UI related states protected static final int STATE_LAUNCHER_PRESENT = protected static final int STATE_LAUNCHER_PRESENT = getFlagForIndex(0, "STATE_LAUNCHER_PRESENT"); getNextStateFlag("STATE_LAUNCHER_PRESENT"); protected static final int STATE_LAUNCHER_STARTED = protected static final int STATE_LAUNCHER_STARTED = getFlagForIndex(1, "STATE_LAUNCHER_STARTED"); getNextStateFlag("STATE_LAUNCHER_STARTED"); protected static final int STATE_LAUNCHER_DRAWN = protected static final int STATE_LAUNCHER_DRAWN = getFlagForIndex(2, "STATE_LAUNCHER_DRAWN"); getNextStateFlag("STATE_LAUNCHER_DRAWN"); // Called when the Launcher has connected to the touch interaction service (and the taskbar // Called when the Launcher has connected to the touch interaction service (and the taskbar // ui controller is initialized) // ui controller is initialized) protected static final int STATE_LAUNCHER_BIND_TO_SERVICE = protected static final int STATE_LAUNCHER_BIND_TO_SERVICE = getFlagForIndex(3, "STATE_LAUNCHER_BIND_TO_SERVICE"); getNextStateFlag("STATE_LAUNCHER_BIND_TO_SERVICE"); // Internal initialization states // Internal initialization states private static final int STATE_APP_CONTROLLER_RECEIVED = private static final int STATE_APP_CONTROLLER_RECEIVED = getFlagForIndex(4, "STATE_APP_CONTROLLER_RECEIVED"); getNextStateFlag("STATE_APP_CONTROLLER_RECEIVED"); // Interaction finish states // Interaction finish states private static final int STATE_SCALED_CONTROLLER_HOME = private static final int STATE_SCALED_CONTROLLER_HOME = getFlagForIndex(5, "STATE_SCALED_CONTROLLER_HOME"); getNextStateFlag("STATE_SCALED_CONTROLLER_HOME"); private static final int STATE_SCALED_CONTROLLER_RECENTS = private static final int STATE_SCALED_CONTROLLER_RECENTS = getFlagForIndex(6, "STATE_SCALED_CONTROLLER_RECENTS"); getNextStateFlag("STATE_SCALED_CONTROLLER_RECENTS"); protected static final int STATE_HANDLER_INVALIDATED = protected static final int STATE_HANDLER_INVALIDATED = getFlagForIndex(7, "STATE_HANDLER_INVALIDATED"); getNextStateFlag("STATE_HANDLER_INVALIDATED"); private static final int STATE_GESTURE_STARTED = private static final int STATE_GESTURE_STARTED = getFlagForIndex(8, "STATE_GESTURE_STARTED"); getNextStateFlag("STATE_GESTURE_STARTED"); private static final int STATE_GESTURE_CANCELLED = private static final int STATE_GESTURE_CANCELLED = getFlagForIndex(9, "STATE_GESTURE_CANCELLED"); getNextStateFlag("STATE_GESTURE_CANCELLED"); private static final int STATE_GESTURE_COMPLETED = private static final int STATE_GESTURE_COMPLETED = getFlagForIndex(10, "STATE_GESTURE_COMPLETED"); getNextStateFlag("STATE_GESTURE_COMPLETED"); private static final int STATE_CAPTURE_SCREENSHOT = private static final int STATE_CAPTURE_SCREENSHOT = getFlagForIndex(11, "STATE_CAPTURE_SCREENSHOT"); getNextStateFlag("STATE_CAPTURE_SCREENSHOT"); protected static final int STATE_SCREENSHOT_CAPTURED = protected static final int STATE_SCREENSHOT_CAPTURED = getFlagForIndex(12, "STATE_SCREENSHOT_CAPTURED"); getNextStateFlag("STATE_SCREENSHOT_CAPTURED"); private static final int STATE_SCREENSHOT_VIEW_SHOWN = private static final int STATE_SCREENSHOT_VIEW_SHOWN = getFlagForIndex(13, "STATE_SCREENSHOT_VIEW_SHOWN"); getNextStateFlag("STATE_SCREENSHOT_VIEW_SHOWN"); private static final int STATE_RESUME_LAST_TASK = private static final int STATE_RESUME_LAST_TASK = getFlagForIndex(14, "STATE_RESUME_LAST_TASK"); getNextStateFlag("STATE_RESUME_LAST_TASK"); private static final int STATE_START_NEW_TASK = private static final int STATE_START_NEW_TASK = getFlagForIndex(15, "STATE_START_NEW_TASK"); getNextStateFlag("STATE_START_NEW_TASK"); private static final int STATE_CURRENT_TASK_FINISHED = private static final int STATE_CURRENT_TASK_FINISHED = getFlagForIndex(16, "STATE_CURRENT_TASK_FINISHED"); getNextStateFlag("STATE_CURRENT_TASK_FINISHED"); private static final int STATE_FINISH_WITH_NO_END = private static final int STATE_FINISH_WITH_NO_END = getFlagForIndex(17, "STATE_FINISH_WITH_NO_END"); getNextStateFlag("STATE_FINISH_WITH_NO_END"); private static final int LAUNCHER_UI_STATES = private static final int LAUNCHER_UI_STATES = STATE_LAUNCHER_PRESENT | STATE_LAUNCHER_DRAWN | STATE_LAUNCHER_STARTED | STATE_LAUNCHER_PRESENT | STATE_LAUNCHER_DRAWN | STATE_LAUNCHER_STARTED | Loading Loading @@ -318,7 +321,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, } } private void initStateCallbacks() { private void initStateCallbacks() { mStateCallback = new MultiStateCallback(STATE_NAMES); mStateCallback = new MultiStateCallback(STATE_NAMES.toArray(new String[0])); mStateCallback.runOnceAtState(STATE_LAUNCHER_PRESENT | STATE_GESTURE_STARTED, mStateCallback.runOnceAtState(STATE_LAUNCHER_PRESENT | STATE_GESTURE_STARTED, this::onLauncherPresentAndGestureStarted); this::onLauncherPresentAndGestureStarted); Loading
quickstep/src/com/android/quickstep/GestureState.java +11 −10 Original line number Original line Diff line number Diff line Loading @@ -38,6 +38,7 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.ArrayList; import java.util.HashMap; import java.util.HashMap; import java.util.HashSet; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.Set; /** /** Loading Loading @@ -82,11 +83,11 @@ public class GestureState implements RecentsAnimationCallbacks.RecentsAnimationL private static final String TAG = "GestureState"; private static final String TAG = "GestureState"; private static final ArrayList<String> STATE_NAMES = new ArrayList<>(); private static final List<String> STATE_NAMES = new ArrayList<>(); public static final GestureState DEFAULT_STATE = new GestureState(); public static final GestureState DEFAULT_STATE = new GestureState(); private static int FLAG_COUNT = 0; private static int FLAG_COUNT = 0; private static int getFlagForIndex(String name) { private static int getNextStateFlag(String name) { if (DEBUG_STATES) { if (DEBUG_STATES) { STATE_NAMES.add(name); STATE_NAMES.add(name); } } Loading @@ -97,36 +98,36 @@ public class GestureState implements RecentsAnimationCallbacks.RecentsAnimationL // Called when the end target as been set // Called when the end target as been set public static final int STATE_END_TARGET_SET = public static final int STATE_END_TARGET_SET = getFlagForIndex("STATE_END_TARGET_SET"); getNextStateFlag("STATE_END_TARGET_SET"); // Called when the end target animation has finished // Called when the end target animation has finished public static final int STATE_END_TARGET_ANIMATION_FINISHED = public static final int STATE_END_TARGET_ANIMATION_FINISHED = getFlagForIndex("STATE_END_TARGET_ANIMATION_FINISHED"); getNextStateFlag("STATE_END_TARGET_ANIMATION_FINISHED"); // Called when the recents animation has been requested to start // Called when the recents animation has been requested to start public static final int STATE_RECENTS_ANIMATION_INITIALIZED = public static final int STATE_RECENTS_ANIMATION_INITIALIZED = getFlagForIndex("STATE_RECENTS_ANIMATION_INITIALIZED"); getNextStateFlag("STATE_RECENTS_ANIMATION_INITIALIZED"); // Called when the recents animation is started and the TaskAnimationManager has been updated // Called when the recents animation is started and the TaskAnimationManager has been updated // with the controller and targets // with the controller and targets public static final int STATE_RECENTS_ANIMATION_STARTED = public static final int STATE_RECENTS_ANIMATION_STARTED = getFlagForIndex("STATE_RECENTS_ANIMATION_STARTED"); getNextStateFlag("STATE_RECENTS_ANIMATION_STARTED"); // Called when the recents animation is canceled // Called when the recents animation is canceled public static final int STATE_RECENTS_ANIMATION_CANCELED = public static final int STATE_RECENTS_ANIMATION_CANCELED = getFlagForIndex("STATE_RECENTS_ANIMATION_CANCELED"); getNextStateFlag("STATE_RECENTS_ANIMATION_CANCELED"); // Called when the recents animation finishes // Called when the recents animation finishes public static final int STATE_RECENTS_ANIMATION_FINISHED = public static final int STATE_RECENTS_ANIMATION_FINISHED = getFlagForIndex("STATE_RECENTS_ANIMATION_FINISHED"); getNextStateFlag("STATE_RECENTS_ANIMATION_FINISHED"); // Always called when the recents animation ends (regardless of cancel or finish) // Always called when the recents animation ends (regardless of cancel or finish) public static final int STATE_RECENTS_ANIMATION_ENDED = public static final int STATE_RECENTS_ANIMATION_ENDED = getFlagForIndex("STATE_RECENTS_ANIMATION_ENDED"); getNextStateFlag("STATE_RECENTS_ANIMATION_ENDED"); // Called when RecentsView stops scrolling and settles on a TaskView. // Called when RecentsView stops scrolling and settles on a TaskView. public static final int STATE_RECENTS_SCROLLING_FINISHED = public static final int STATE_RECENTS_SCROLLING_FINISHED = getFlagForIndex("STATE_RECENTS_SCROLLING_FINISHED"); getNextStateFlag("STATE_RECENTS_SCROLLING_FINISHED"); // Needed to interact with the current activity // Needed to interact with the current activity private final Intent mHomeIntent; private final Intent mHomeIntent; Loading