summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/view/A11yMenuOverlayLayout.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/view/A11yMenuOverlayLayout.java b/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/view/A11yMenuOverlayLayout.java
index 7bdb8f9a00d2..e61522b7530f 100644
--- a/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/view/A11yMenuOverlayLayout.java
+++ b/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/view/A11yMenuOverlayLayout.java
@@ -24,6 +24,7 @@ import android.content.res.Configuration;
import android.graphics.Insets;
import android.graphics.PixelFormat;
import android.graphics.Rect;
+import android.hardware.display.DisplayManager;
import android.os.Handler;
import android.os.Looper;
import android.view.Display;
@@ -73,6 +74,7 @@ public class A11yMenuOverlayLayout {
private final AccessibilityMenuService mService;
private final WindowManager mWindowManager;
+ private final DisplayManager mDisplayManager;
private ViewGroup mLayout;
private WindowManager.LayoutParams mLayoutParameter;
private A11yMenuViewPager mA11yMenuViewPager;
@@ -82,6 +84,7 @@ public class A11yMenuOverlayLayout {
public A11yMenuOverlayLayout(AccessibilityMenuService service) {
mService = service;
mWindowManager = mService.getSystemService(WindowManager.class);
+ mDisplayManager = mService.getSystemService(DisplayManager.class);
configureLayout();
mHandler = new Handler(Looper.getMainLooper());
mAccessibilityManager = mService.getSystemService(AccessibilityManager.class);
@@ -161,9 +164,9 @@ public class A11yMenuOverlayLayout {
/** Updates a11y menu layout position by configuring layout params. */
private void updateLayoutPosition() {
- Display display = mLayout.getDisplay();
+ final Display display = mDisplayManager.getDisplay(Display.DEFAULT_DISPLAY);
final int orientation = mService.getResources().getConfiguration().orientation;
- if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
+ if (display != null && orientation == Configuration.ORIENTATION_LANDSCAPE) {
switch (display.getRotation()) {
case Surface.ROTATION_90:
case Surface.ROTATION_180: