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

am: e0c0616d6f

Change-Id: I4c63b3c4fad2824d45cc6637d08074a7fb3059fd
This commit is contained in:
Matthew Fritze
2017-08-09 18:37:19 +00:00
committed by android-build-merger
2 changed files with 25 additions and 13 deletions

View File

@@ -18,6 +18,7 @@ import android.content.Context;
import android.net.INetworkPolicyListener; import android.net.INetworkPolicyListener;
import android.net.NetworkPolicyManager; import android.net.NetworkPolicyManager;
import android.os.Handler; import android.os.Handler;
import android.os.Looper;
import android.os.RemoteException; import android.os.RemoteException;
import android.util.SparseIntArray; import android.util.SparseIntArray;
@@ -38,7 +39,7 @@ public class DataSaverBackend {
private final Context mContext; private final Context mContext;
private final MetricsFeatureProvider mMetricsFeatureProvider; private final MetricsFeatureProvider mMetricsFeatureProvider;
private final Handler mHandler = new Handler(); private final Handler mHandler = new Handler(Looper.getMainLooper());
private final NetworkPolicyManager mPolicyManager; private final NetworkPolicyManager mPolicyManager;
private final ArrayList<Listener> mListeners = new ArrayList<>(); private final ArrayList<Listener> mListeners = new ArrayList<>();
private SparseIntArray mUidPolicies = new SparseIntArray(); private SparseIntArray mUidPolicies = new SparseIntArray();
@@ -194,12 +195,7 @@ public class DataSaverBackend {
@Override @Override
public void onUidPoliciesChanged(final int uid, final int uidPolicies) { public void onUidPoliciesChanged(final int uid, final int uidPolicies) {
mHandler.post(new Runnable() { mHandler.post(() -> handleUidPoliciesChanged(uid, uidPolicies));
@Override
public void run() {
handleUidPoliciesChanged(uid, uidPolicies);
}
});
} }
@Override @Override
@@ -208,12 +204,7 @@ public class DataSaverBackend {
@Override @Override
public void onRestrictBackgroundChanged(final boolean isDataSaving) throws RemoteException { public void onRestrictBackgroundChanged(final boolean isDataSaving) throws RemoteException {
mHandler.post(new Runnable() { mHandler.post(() -> handleRestrictBackgroundChanged(isDataSaving));
@Override
public void run() {
handleRestrictBackgroundChanged(isDataSaving);
}
});
} }
}; };

View File

@@ -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;
}
}