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

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

Merge "Guard against crashes from data saver listeners" into nyc-dev

parents a20e8f31 ca4cc555
Loading
Loading
Loading
Loading
+14 −9
Original line number Diff line number Diff line
@@ -33,26 +33,31 @@ public class DataSaverController {
    }

    private void handleRestrictBackgroundChanged(boolean isDataSaving) {
        final int N = mListeners.size();
        for (int i = 0; i < N; i++) {
        synchronized (mListeners) {
            for (int i = 0; i < mListeners.size(); i++) {
                mListeners.get(i).onDataSaverChanged(isDataSaving);
            }
        }
    }

    public void addListener(Listener listener) {
        synchronized (mListeners) {
            mListeners.add(listener);
            if (mListeners.size() == 1) {
                mPolicyManager.registerListener(mPolicyListener);
            }
        }
        listener.onDataSaverChanged(isDataSaverEnabled());
    }

    public void remListener(Listener listener) {
        synchronized (mListeners) {
            mListeners.remove(listener);
            if (mListeners.size() == 0) {
                mPolicyManager.unregisterListener(mPolicyListener);
            }
        }
    }

    public boolean isDataSaverEnabled() {
        return mPolicyManager.getRestrictBackground();