diff options
2 files changed, 12 insertions, 0 deletions
diff --git a/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/AccessibilityMenuService.java b/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/AccessibilityMenuService.java index 085fc2959442..b05d2aefeb17 100644 --- a/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/AccessibilityMenuService.java +++ b/packages/SystemUI/accessibility/accessibilitymenu/src/com/android/systemui/accessibility/accessibilitymenu/AccessibilityMenuService.java @@ -387,6 +387,10 @@ public class AccessibilityMenuService extends AccessibilityService unregisterReceiver(mToggleMenuReceiver); mPrefs.unregisterOnSharedPreferenceChangeListener(mSharedPreferenceChangeListener); sInitialized = false; + if (mA11yMenuLayout != null) { + mA11yMenuLayout.clearLayout(); + mA11yMenuLayout = null; + } return super.onUnbind(intent); } 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 edd6a48607cc..1be04f854c9a 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 @@ -151,6 +151,14 @@ public class A11yMenuOverlayLayout { return mLayout; } + public void clearLayout() { + if (mLayout != null) { + mWindowManager.removeView(mLayout); + mLayout.setOnTouchListener(null); + mLayout = null; + } + } + /** Updates view layout with new layout parameters only. */ public void updateViewLayout() { if (mLayout == null || mLayoutParameter == null) { |