diff options
author | 2024-05-24 17:33:39 +0000 | |
---|---|---|
committer | 2024-05-24 17:33:39 +0000 | |
commit | 43f15e059f82a7a03becfad0f6e1cdfcbf200dfa (patch) | |
tree | 4a1201626dc6de96792ef31a5a2ba62ecd806603 | |
parent | bb63fc1c03e844fd6e07a3c347eab984b1e4058a (diff) | |
parent | 9f502b77f771cb6ad3530ddd0936baa828d0b02c (diff) |
Merge "Decouple swipe distance from start threshold" into main
5 files changed, 14 insertions, 9 deletions
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index b885e03bc098..a0807ca580a2 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -72,6 +72,9 @@ <!-- The default margin used in immersive mode to capture the start of a swipe gesture from the edge of the screen to show the system bars. --> <dimen name="system_gestures_start_threshold">24dp</dimen> + <!-- The minimum swipe gesture distance for showing the system bars when in immersive mode. This + swipe must be within the specified system_gestures_start_threshold area. --> + <dimen name="system_gestures_distance_threshold">24dp</dimen> <!-- Height of the bottom navigation bar frame; this is different than navigation_bar_height where that is the height reported to all the other windows to resize themselves around the diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 7e2c111719e5..4ae6c5e7cc3d 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -1804,6 +1804,7 @@ <java-symbol type="dimen" name="taskbar_frame_height" /> <java-symbol type="dimen" name="status_bar_height" /> <java-symbol type="dimen" name="display_cutout_touchable_region_size" /> + <java-symbol type="dimen" name="system_gestures_distance_threshold" /> <java-symbol type="dimen" name="system_gestures_start_threshold" /> <java-symbol type="dimen" name="quick_qs_offset_height" /> <java-symbol type="drawable" name="ic_jog_dial_sound_off" /> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/gesture/GesturePointerEventListener.kt b/packages/SystemUI/src/com/android/systemui/statusbar/gesture/GesturePointerEventListener.kt index 8505c5ff32e0..0d5ade7ab49c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/gesture/GesturePointerEventListener.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/gesture/GesturePointerEventListener.kt @@ -98,10 +98,10 @@ constructor(context: Context, gestureDetector: GesturePointerEventDetector) : Co return } val r = mContext.resources - val defaultThreshold = r.getDimensionPixelSize(R.dimen.system_gestures_start_threshold) - mSwipeStartThreshold[defaultThreshold, defaultThreshold, defaultThreshold] = - defaultThreshold - mSwipeDistanceThreshold = defaultThreshold + val startThreshold = r.getDimensionPixelSize(R.dimen.system_gestures_start_threshold) + mSwipeStartThreshold[startThreshold, startThreshold, startThreshold] = startThreshold + mSwipeDistanceThreshold = + r.getDimensionPixelSize(R.dimen.system_gestures_distance_threshold) val display = DisplayManagerGlobal.getInstance().getRealDisplay(mContext.displayId) val displayCutout = display.cutout if (displayCutout != null) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/gesture/SwipeUpGestureHandler.kt b/packages/SystemUI/src/com/android/systemui/statusbar/gesture/SwipeUpGestureHandler.kt index 2fd0a5324d15..0ece88dcd184 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/gesture/SwipeUpGestureHandler.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/gesture/SwipeUpGestureHandler.kt @@ -46,7 +46,7 @@ abstract class SwipeUpGestureHandler( private var monitoringCurrentTouch: Boolean = false private var swipeDistanceThreshold: Int = context.resources.getDimensionPixelSize( - com.android.internal.R.dimen.system_gestures_start_threshold + com.android.internal.R.dimen.system_gestures_distance_threshold ) override fun onInputEvent(ev: InputEvent) { diff --git a/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java b/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java index 100735784fb1..b7944d3b8234 100644 --- a/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java +++ b/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java @@ -107,11 +107,12 @@ class SystemGesturesPointerEventListener implements PointerEventListener { void onConfigurationChanged() { final Resources r = mContext.getResources(); - final int defaultThreshold = r.getDimensionPixelSize( + final int startThreshold = r.getDimensionPixelSize( com.android.internal.R.dimen.system_gestures_start_threshold); - mSwipeStartThreshold.set(defaultThreshold, defaultThreshold, defaultThreshold, - defaultThreshold); - mSwipeDistanceThreshold = defaultThreshold; + mSwipeStartThreshold.set(startThreshold, startThreshold, startThreshold, + startThreshold); + mSwipeDistanceThreshold = r.getDimensionPixelSize( + com.android.internal.R.dimen.system_gestures_distance_threshold); final Display display = DisplayManagerGlobal.getInstance() .getRealDisplay(Display.DEFAULT_DISPLAY); |