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

Commit c049cb92 authored by Jason Monk's avatar Jason Monk Committed by Android (Google) Code Review
Browse files

Merge "Add some synchronization to hotspot callbacks" into nyc-dev

parents 6123bf5d ffc63f45
Loading
Loading
Loading
Loading
+14 −8
Original line number Diff line number Diff line
@@ -69,19 +69,23 @@ public class HotspotControllerImpl implements HotspotController {

    @Override
    public void addCallback(Callback callback) {
        synchronized (mCallbacks) {
            if (callback == null || mCallbacks.contains(callback)) return;
            if (DEBUG) Log.d(TAG, "addCallback " + callback);
            mCallbacks.add(callback);
            mReceiver.setListening(!mCallbacks.isEmpty());
        }
    }

    @Override
    public void removeCallback(Callback callback) {
        if (callback == null) return;
        if (DEBUG) Log.d(TAG, "removeCallback " + callback);
        synchronized (mCallbacks) {
            mCallbacks.remove(callback);
            mReceiver.setListening(!mCallbacks.isEmpty());
        }
    }

    @Override
    public boolean isHotspotEnabled() {
@@ -110,10 +114,12 @@ public class HotspotControllerImpl implements HotspotController {
    }

    private void fireCallback(boolean isEnabled) {
        synchronized (mCallbacks) {
            for (Callback callback : mCallbacks) {
                callback.onHotspotChanged(isEnabled);
            }
        }
    }

    private final class Receiver extends BroadcastReceiver {
        private boolean mRegistered;