diff --git a/src/com/android/settings/datausage/DataSaverBackend.java b/src/com/android/settings/datausage/DataSaverBackend.java index 7c291c6cd47..f37a3c306a1 100644 --- a/src/com/android/settings/datausage/DataSaverBackend.java +++ b/src/com/android/settings/datausage/DataSaverBackend.java @@ -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 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)); } }; diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java new file mode 100644 index 00000000000..34908ca39a8 --- /dev/null +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java @@ -0,0 +1,21 @@ +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; + } +}