summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/DisplayPolicy.java3
-rw-r--r--services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java18
2 files changed, 15 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
index 70f2d64e89aa..977df93412f8 100644
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -1453,8 +1453,7 @@ public class DisplayPolicy {
}
void onDisplayInfoChanged(DisplayInfo info) {
- mSystemGestures.screenWidth = info.logicalWidth;
- mSystemGestures.screenHeight = info.logicalHeight;
+ mSystemGestures.onDisplayInfoChanged(info);
}
private void layoutStatusBar(DisplayFrames displayFrames, Rect contentFrame) {
diff --git a/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java b/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java
index f3859b41b6fd..513b1b715a27 100644
--- a/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java
+++ b/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java
@@ -17,6 +17,7 @@
package com.android.server.wm;
import android.content.Context;
+import android.content.res.Resources;
import android.graphics.Rect;
import android.graphics.Region;
import android.hardware.display.DisplayManagerGlobal;
@@ -65,6 +66,7 @@ class SystemGesturesPointerEventListener implements PointerEventListener {
int screenHeight;
int screenWidth;
+ private DisplayInfo mTmpDisplayInfo = new DisplayInfo();
private int mDownPointers;
private boolean mSwipeFireable;
private boolean mDebugFireable;
@@ -75,23 +77,31 @@ class SystemGesturesPointerEventListener implements PointerEventListener {
mContext = checkNull("context", context);
mHandler = handler;
mCallbacks = checkNull("callbacks", callbacks);
+ onConfigurationChanged();
+ }
+ void onDisplayInfoChanged(DisplayInfo info) {
+ screenWidth = info.logicalWidth;
+ screenHeight = info.logicalHeight;
onConfigurationChanged();
}
void onConfigurationChanged() {
- mSwipeStartThreshold = mContext.getResources()
- .getDimensionPixelSize(com.android.internal.R.dimen.status_bar_height);
-
+ final Resources r = mContext.getResources();
final Display display = DisplayManagerGlobal.getInstance()
.getRealDisplay(Display.DEFAULT_DISPLAY);
+ display.getDisplayInfo(mTmpDisplayInfo);
+ mSwipeStartThreshold = mTmpDisplayInfo.logicalWidth > mTmpDisplayInfo.logicalHeight
+ ? r.getDimensionPixelSize(com.android.internal.R.dimen.status_bar_height_landscape)
+ : r.getDimensionPixelSize(com.android.internal.R.dimen.status_bar_height_portrait);
+
final DisplayCutout displayCutout = display.getCutout();
if (displayCutout != null) {
final Rect bounds = displayCutout.getBoundingRectTop();
if (!bounds.isEmpty()) {
// Expand swipe start threshold such that we can catch touches that just start below
// the notch area
- mDisplayCutoutTouchableRegionSize = mContext.getResources().getDimensionPixelSize(
+ mDisplayCutoutTouchableRegionSize = r.getDimensionPixelSize(
com.android.internal.R.dimen.display_cutout_touchable_region_size);
mSwipeStartThreshold += mDisplayCutoutTouchableRegionSize;
}