Merge "Fix DataSaverBackend objects created on background threads" into oc-dr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
3161375f78
@@ -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);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user