Merge "Enable edge back gesture on app launch" into ub-launcher3-rvc-dev

This commit is contained in:
Vinit Nayak
2020-04-29 00:18:22 +00:00
committed by Android (Google) Code Review
2 changed files with 15 additions and 14 deletions
@@ -55,6 +55,8 @@ class OrientationTouchTransformer {
private static final boolean DEBUG = false;
private static final int MAX_ORIENTATIONS = 4;
private static final int QUICKSTEP_ROTATION_UNINITIALIZED = -1;
private final Matrix mTmpMatrix = new Matrix();
private final float[] mTmpPoint = new float[2];
@@ -69,9 +71,10 @@ class OrientationTouchTransformer {
private QuickStepContractInfo mContractInfo;
/**
* Represents if we're currently in a swipe "session" of sorts. If value is -1, then user
* has not tapped on an active nav region. Otherwise it will be the rotation of the display
* when the user first interacted with the active nav bar region.
* Represents if we're currently in a swipe "session" of sorts. If value is
* QUICKSTEP_ROTATION_UNINITIALIZED, then user has not tapped on an active nav region.
* Otherwise it will be the rotation of the display when the user first interacted with the
* active nav bar region.
* The "session" ends when {@link #enableMultipleRegions(boolean, DefaultDisplay.Info)} is
* called - usually from a timeout or if user starts interacting w/ the foreground app.
*
@@ -79,7 +82,7 @@ class OrientationTouchTransformer {
* the rect is purely used for tracking touch interactions and usually this "session" will
* outlast the touch interaction.
*/
private int mQuickStepStartingRotation = -1;
private int mQuickStepStartingRotation = QUICKSTEP_ROTATION_UNINITIALIZED;
/** For testability */
interface QuickStepContractInfo {
@@ -116,7 +119,7 @@ class OrientationTouchTransformer {
*/
void createOrAddTouchRegion(DefaultDisplay.Info info) {
mCurrentDisplayRotation = info.rotation;
if (mQuickStepStartingRotation > -1
if (mQuickStepStartingRotation > QUICKSTEP_ROTATION_UNINITIALIZED
&& mCurrentDisplayRotation == mQuickStepStartingRotation) {
// User already was swiping and the current screen is same rotation as the starting one
// Remove active nav bars in other rotations except for the one we started out in
@@ -146,7 +149,7 @@ class OrientationTouchTransformer {
mEnableMultipleRegions = enableMultipleRegions &&
mMode != SysUINavigationMode.Mode.TWO_BUTTONS;
if (!enableMultipleRegions) {
mQuickStepStartingRotation = -1;
mQuickStepStartingRotation = QUICKSTEP_ROTATION_UNINITIALIZED;
resetSwipeRegions(info);
}
}
@@ -511,14 +511,12 @@ public class RecentsAnimationDeviceState implements
void enableMultipleRegions(boolean enable) {
mOrientationTouchTransformer.enableMultipleRegions(enable, mDefaultDisplay.getInfo());
if (enable) {
UI_HELPER_EXECUTOR.execute(() -> {
int quickStepStartingRotation =
mOrientationTouchTransformer.getQuickStepStartingRotation();
SystemUiProxy.INSTANCE.get(mContext)
.onQuickSwitchToNewTask(quickStepStartingRotation);
});
}
UI_HELPER_EXECUTOR.execute(() -> {
int quickStepStartingRotation =
mOrientationTouchTransformer.getQuickStepStartingRotation();
SystemUiProxy.INSTANCE.get(mContext)
.onQuickSwitchToNewTask(quickStepStartingRotation);
});
}
public int getCurrentActiveRotation() {