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

Commit 48aeca96 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Unregister various observers in A11yMS#unregisterObservers()" into main

parents c92c6491 49fbf734
Loading
Loading
Loading
Loading
+23 −6
Original line number Diff line number Diff line
@@ -423,6 +423,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
    private final UserManagerInternal mUmi;

    private AccessibilityContentObserver mAccessibilityContentObserver;
    private List<BroadcastReceiver> mRegisteredBroadcaseReveivers = new ArrayList<>();

    @NonNull
    private AccessibilityUserState getCurrentUserStateLocked() {
@@ -681,9 +682,21 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
        disableAccessibilityMenuToMigrateIfNeeded();
    }

    /** The test only method to clean up registered observers / listeners. */
    @VisibleForTesting
    void unregisterObservers() {
        // Unregister in the reverse order of the registration.
        if (com.android.settingslib.flags.Flags.hearingDevicesInputRoutingControl()) {
            if (mHearingDeviceNotificationController != null) {
                mHearingDeviceNotificationController.stopListenForCallState();
            }
        }
        mInputManager.unregisterKeyGestureEventHandler(mKeyGestureEventHandler);
        mAccessibilityContentObserver.unregister(mContext.getContentResolver());
        for (final BroadcastReceiver receiver : mRegisteredBroadcaseReveivers) {
            mContext.unregisterReceiver(receiver);
        }
        mPackageMonitor.unregister();
    }

    /**
@@ -1097,7 +1110,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
        intentFilter.addAction(Intent.ACTION_SETTING_RESTORED);

        Handler receiverHandler = BackgroundThread.getHandler();
        mContext.registerReceiverAsUser(new BroadcastReceiver() {
        final BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                if (mTraceManager.isA11yTracingEnabledForTypes(FLAGS_USER_BROADCAST_RECEIVER)) {
@@ -1153,19 +1166,23 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
                    }
                }
            }
        }, UserHandle.ALL, intentFilter, null, receiverHandler);
        };
        mContext.registerReceiverAsUser(broadcastReceiver, UserHandle.ALL, intentFilter, null,
                receiverHandler);
        mRegisteredBroadcaseReveivers.add(broadcastReceiver);

        final IntentFilter filter = new IntentFilter();
        filter.addAction(SafetyCenterManager.ACTION_SAFETY_CENTER_ENABLED_CHANGED);
        final BroadcastReceiver receiver = new BroadcastReceiver() {
        final IntentFilter safetyCenterFilter = new IntentFilter();
        safetyCenterFilter.addAction(SafetyCenterManager.ACTION_SAFETY_CENTER_ENABLED_CHANGED);
        final BroadcastReceiver safetyCenterReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                setNonA11yToolNotificationToMatchSafetyCenter();
            }
        };
        mContext.registerReceiverAsUser(
                receiver, UserHandle.ALL, filter, null, mMainHandler,
                safetyCenterReceiver, UserHandle.ALL, safetyCenterFilter, null, mMainHandler,
                Context.RECEIVER_EXPORTED);
        mRegisteredBroadcaseReveivers.add(safetyCenterReceiver);
    }

    /**
+8 −0
Original line number Diff line number Diff line
@@ -87,6 +87,14 @@ public class HearingDevicePhoneCallNotificationController {
        mTelephonyManager.registerTelephonyCallback(mCallbackExecutor, mTelephonyListener);
    }

    /**
     * Unregisters a telephony callback to stop listening for call state changed to handle.
     * @see #startListenForCallState()
     */
    public void stopListenForCallState() {
        mTelephonyManager.unregisterTelephonyCallback(mTelephonyListener);
    }

    /**
     * A telephony callback listener to listen to call state changes and show/dismiss notification
     */