Fixing some missing swipecancelled events
Updating NavBarPosition to expose more constructor and getters Flag: com.android.launcher3.use_activity_overlay Test: atest SwipeTransitionTest Bug: 340432854 Change-Id: I86193fa26c0337d50e366cecb2d7debf37940fe1
This commit is contained in:
@@ -1275,7 +1275,7 @@ public class QuickstepLauncher extends Launcher implements RecentsViewContainer
|
||||
if ((flags & CHANGE_NAVIGATION_MODE) != 0) {
|
||||
getDragLayer().recreateControllers();
|
||||
if (mActionsView != null) {
|
||||
mActionsView.updateVerticalMargin(info.navigationMode);
|
||||
mActionsView.updateVerticalMargin(info.getNavigationMode());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ public class RotationTouchHelper implements DisplayInfoChangeListener, SafeClose
|
||||
// Register for navigation mode changes
|
||||
mDisplayController.addChangeListener(this);
|
||||
DisplayController.Info info = mDisplayController.getInfo();
|
||||
onDisplayInfoChangedInternal(info, CHANGE_ALL, info.navigationMode.hasGestures);
|
||||
onDisplayInfoChangedInternal(info, CHANGE_ALL, info.getNavigationMode().hasGestures);
|
||||
runOnDestroy(() -> mDisplayController.removeChangeListener(this));
|
||||
|
||||
mOrientationListener = new OrientationEventListener(mContext) {
|
||||
@@ -291,7 +291,7 @@ public class RotationTouchHelper implements DisplayInfoChangeListener, SafeClose
|
||||
}
|
||||
|
||||
if ((flags & CHANGE_NAVIGATION_MODE) != 0) {
|
||||
NavigationMode newMode = info.navigationMode;
|
||||
NavigationMode newMode = info.getNavigationMode();
|
||||
mOrientationTouchTransformer.setNavigationMode(newMode, mDisplayController.getInfo(),
|
||||
mContext.getResources());
|
||||
|
||||
|
||||
@@ -148,7 +148,7 @@ public class SettingsChangeLogger implements
|
||||
@Override
|
||||
public void onDisplayInfoChanged(Context context, Info info, int flags) {
|
||||
if ((flags & CHANGE_NAVIGATION_MODE) != 0) {
|
||||
mNavMode = info.navigationMode;
|
||||
mNavMode = info.getNavigationMode();
|
||||
mStatsLogManager.logger().log(mNavMode.launcherEvent);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.quickstep.util;
|
||||
|
||||
import static com.android.launcher3.util.NavigationMode.NO_BUTTON;
|
||||
|
||||
import android.view.Surface;
|
||||
|
||||
import com.android.launcher3.util.DisplayController.Info;
|
||||
import com.android.launcher3.util.NavigationMode;
|
||||
|
||||
/**
|
||||
* Utility class to check nav bar position.
|
||||
*/
|
||||
public class NavBarPosition {
|
||||
|
||||
private final boolean mIsTablet;
|
||||
private final NavigationMode mMode;
|
||||
private final int mDisplayRotation;
|
||||
|
||||
public NavBarPosition(NavigationMode mode, Info info) {
|
||||
mIsTablet = info.isTablet(info.realBounds);
|
||||
mMode = mode;
|
||||
mDisplayRotation = info.rotation;
|
||||
}
|
||||
|
||||
public boolean isRightEdge() {
|
||||
return mMode != NO_BUTTON && mDisplayRotation == Surface.ROTATION_90 && !mIsTablet;
|
||||
}
|
||||
|
||||
public boolean isLeftEdge() {
|
||||
return mMode != NO_BUTTON && mDisplayRotation == Surface.ROTATION_270 && !mIsTablet;
|
||||
}
|
||||
|
||||
public float getRotation() {
|
||||
return isLeftEdge() ? 90 : (isRightEdge() ? -90 : 0);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright (C) 2024 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.quickstep.util
|
||||
|
||||
import android.view.Surface
|
||||
import com.android.launcher3.util.DisplayController.Info
|
||||
import com.android.launcher3.util.NavigationMode
|
||||
import com.android.launcher3.util.NavigationMode.NO_BUTTON
|
||||
|
||||
/** Utility class to check nav bar position. */
|
||||
data class NavBarPosition(
|
||||
val isTablet: Boolean,
|
||||
val displayRotation: Int,
|
||||
val mode: NavigationMode
|
||||
) {
|
||||
constructor(
|
||||
mode: NavigationMode,
|
||||
info: Info
|
||||
) : this(info.isTablet(info.realBounds), info.rotation, mode)
|
||||
|
||||
val isRightEdge: Boolean
|
||||
get() = mode != NO_BUTTON && displayRotation == Surface.ROTATION_90 && !isTablet
|
||||
val isLeftEdge: Boolean
|
||||
get() = mode != NO_BUTTON && displayRotation == Surface.ROTATION_270 && !isTablet
|
||||
|
||||
val rotation: Float
|
||||
get() = if (isLeftEdge) 90f else if (isRightEdge) -90f else 0f
|
||||
}
|
||||
@@ -99,6 +99,7 @@ public class TriggerSwipeUpTouchTracker {
|
||||
if (mDisableHorizontalSwipe
|
||||
&& Math.abs(displacementX) > Math.abs(displacementY)) {
|
||||
// Horizontal gesture is not allowed in this region
|
||||
mOnSwipeUp.onSwipeUpCancelled();
|
||||
endTouchTracking();
|
||||
break;
|
||||
}
|
||||
@@ -111,6 +112,7 @@ public class TriggerSwipeUpTouchTracker {
|
||||
}
|
||||
|
||||
case ACTION_CANCEL:
|
||||
mOnSwipeUp.onSwipeUpCancelled();
|
||||
endTouchTracking();
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user