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

Commit 3161375f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix DataSaverBackend objects created on background threads" into oc-dr1-dev

parents dd6d9752 7c1825aa
Loading
Loading
Loading
Loading
+4 −13
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ import android.content.Context;
import android.net.INetworkPolicyListener;
import android.net.NetworkPolicyManager;
import android.os.Handler;
import android.os.Looper;
import android.os.RemoteException;
import android.util.SparseIntArray;

@@ -38,7 +39,7 @@ public class DataSaverBackend {
    private final Context mContext;
    private final MetricsFeatureProvider mMetricsFeatureProvider;

    private final Handler mHandler = new Handler();
    private final Handler mHandler = new Handler(Looper.getMainLooper());
    private final NetworkPolicyManager mPolicyManager;
    private final ArrayList<Listener> mListeners = new ArrayList<>();
    private SparseIntArray mUidPolicies = new SparseIntArray();
@@ -194,12 +195,7 @@ public class DataSaverBackend {

        @Override
        public void onUidPoliciesChanged(final int uid, final int uidPolicies) {
            mHandler.post(new Runnable() {
                @Override
                public void run() {
                    handleUidPoliciesChanged(uid, uidPolicies);
                }
            });
            mHandler.post(() -> handleUidPoliciesChanged(uid, uidPolicies));
        }

        @Override
@@ -208,12 +204,7 @@ public class DataSaverBackend {

        @Override
        public void onRestrictBackgroundChanged(final boolean isDataSaving) throws RemoteException {
            mHandler.post(new Runnable() {
                @Override
                public void run() {
                    handleRestrictBackgroundChanged(isDataSaving);
                }
            });
            mHandler.post(() -> handleRestrictBackgroundChanged(isDataSaving));
        }
    };

+21 −0
Original line number Diff line number Diff line
package com.android.settings.testutils.shadow;

import com.android.settings.datausage.DataSaverBackend;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;

@Implements(DataSaverBackend.class)
public class ShadowDataSaverBackend {

    private static boolean isEnabled = true;

    @Implementation
    public boolean isDataSaverEnabled() {
        return isEnabled;
    }

    @Implementation
    public void setDataSaverEnabled(boolean enabled) {
        isEnabled = enabled;
    }
}