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

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

Merge "appops: fix race condition for mOpModeWatchers" into main

parents 3253e33c c56c2b51
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1102,6 +1102,7 @@ public class AppOpsService extends IAppOpsService.Stub {
                        if (onModeChangedListeners == null) {
                            continue;
                        }
                        onModeChangedListeners = new ArraySet<>(onModeChangedListeners);
                    }
                    for (int i = 0; i < changedUids.length; i++) {
                        final int changedUid = changedUids[i];
@@ -6396,12 +6397,13 @@ public class AppOpsService extends IAppOpsService.Stub {
    }

    private void notifyWatchersOnDefaultDevice(int code, int uid) {
        final ArraySet<OnOpModeChangedListener> modeChangedListenerSet;
        ArraySet<OnOpModeChangedListener> modeChangedListenerSet;
        synchronized (this) {
            modeChangedListenerSet = mOpModeWatchers.get(code);
            if (modeChangedListenerSet == null) {
                return;
            }
            modeChangedListenerSet = new ArraySet<>(modeChangedListenerSet);
        }
        notifyOpChanged(modeChangedListenerSet,  code, uid, null, PERSISTENT_DEVICE_ID_DEFAULT);
    }