Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0037d773 authored by Riley Jones's avatar Riley Jones
Browse files

A11yMenuService unregisters displayListener

The DisplayListener wasn't being unregistered properly,
which seems to have led to cases in which
it can be called while mA11yMenuLayout is null,
causing a crash.

This change unregisteres the listener properly,
and does a safety null check as well.

(This change also fixes the indentation level of the listener)

Test: N/A
Flag: EXEMPT small internal change
Bug: 346305743
Change-Id: Ic89bbf91f0d615898b7c96a6bb38b5673da40eed
parent fe04c2b4
Loading
Loading
Loading
Loading
+21 −16
Original line number Diff line number Diff line
@@ -94,7 +94,8 @@ public class AccessibilityMenuService extends AccessibilityService
                int mRotation;

                @Override
        public void onDisplayAdded(int displayId) {}
                public void onDisplayAdded(int displayId) {
                }

                @Override
                public void onDisplayRemoved(int displayId) {
@@ -103,6 +104,9 @@ public class AccessibilityMenuService extends AccessibilityService

                @Override
                public void onDisplayChanged(int displayId) {
                    if (mA11yMenuLayout == null) {
                        return;
                    }
                    Display display = mDisplayManager.getDisplay(Display.DEFAULT_DISPLAY);
                    if (mRotation != display.getRotation()) {
                        mRotation = display.getRotation();
@@ -373,6 +377,7 @@ public class AccessibilityMenuService extends AccessibilityService
    public boolean onUnbind(Intent intent) {
        unregisterReceiver(mHideMenuReceiver);
        unregisterReceiver(mToggleMenuReceiver);
        mDisplayManager.unregisterDisplayListener(mDisplayListener);
        mPrefs.unregisterOnSharedPreferenceChangeListener(mSharedPreferenceChangeListener);
        sInitialized = false;
        if (mA11yMenuLayout != null) {