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

Commit 8efbe4e1 authored by Matthew Fritze's avatar Matthew Fritze Committed by android-build-merger
Browse files

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

am: 3161375f

Change-Id: Iea4b58025fbc83557b4eb37940931eb0b831cc45
parents 8ba28798 3161375f
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;
    }
}