Merge "Use Context.NETWORK_POLICY_SERVICE to get network policy service"

This commit is contained in:
Aaron Huang
2020-02-06 08:51:30 +00:00
committed by Gerrit Code Review

View File

@@ -44,6 +44,7 @@ import android.content.res.Resources;
import android.database.ContentObserver; import android.database.ContentObserver;
import android.net.INetworkPolicyManager; import android.net.INetworkPolicyManager;
import android.net.NetworkCapabilities; import android.net.NetworkCapabilities;
import android.net.NetworkPolicyManager;
import android.net.Uri; import android.net.Uri;
import android.os.Binder; import android.os.Binder;
import android.os.Build; import android.os.Build;
@@ -963,6 +964,11 @@ public class SubscriptionManager {
mContext = context; mContext = context;
} }
private NetworkPolicyManager getNetworkPolicyManager() {
return (NetworkPolicyManager) mContext
.getSystemService(Context.NETWORK_POLICY_SERVICE);
}
/** /**
* @deprecated developers should always obtain references directly from * @deprecated developers should always obtain references directly from
* {@link Context#getSystemService(Class)}. * {@link Context#getSystemService(Class)}.
@@ -973,7 +979,7 @@ public class SubscriptionManager {
.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE); .getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
} }
private final INetworkPolicyManager getNetworkPolicy() { private INetworkPolicyManager getINetworkPolicyManager() {
if (mNetworkPolicy == null) { if (mNetworkPolicy == null) {
mNetworkPolicy = INetworkPolicyManager.Stub mNetworkPolicy = INetworkPolicyManager.Stub
.asInterface(ServiceManager.getService(Context.NETWORK_POLICY_SERVICE)); .asInterface(ServiceManager.getService(Context.NETWORK_POLICY_SERVICE));
@@ -2448,14 +2454,10 @@ public class SubscriptionManager {
* outlined above. * outlined above.
*/ */
public @NonNull List<SubscriptionPlan> getSubscriptionPlans(int subId) { public @NonNull List<SubscriptionPlan> getSubscriptionPlans(int subId) {
try { SubscriptionPlan[] subscriptionPlans =
SubscriptionPlan[] subscriptionPlans = getNetworkPolicyManager().getSubscriptionPlans(subId, mContext.getOpPackageName());
getNetworkPolicy().getSubscriptionPlans(subId, mContext.getOpPackageName()); return subscriptionPlans == null
return subscriptionPlans == null ? Collections.emptyList() : Arrays.asList(subscriptionPlans);
? Collections.emptyList() : Arrays.asList(subscriptionPlans);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
} }
/** /**
@@ -2481,18 +2483,14 @@ public class SubscriptionManager {
* defined in {@link SubscriptionPlan}. * defined in {@link SubscriptionPlan}.
*/ */
public void setSubscriptionPlans(int subId, @NonNull List<SubscriptionPlan> plans) { public void setSubscriptionPlans(int subId, @NonNull List<SubscriptionPlan> plans) {
try { getNetworkPolicyManager().setSubscriptionPlans(subId,
getNetworkPolicy().setSubscriptionPlans(subId, plans.toArray(new SubscriptionPlan[plans.size()]), mContext.getOpPackageName());
plans.toArray(new SubscriptionPlan[plans.size()]), mContext.getOpPackageName());
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
} }
/** @hide */ /** @hide */
private String getSubscriptionPlansOwner(int subId) { private String getSubscriptionPlansOwner(int subId) {
try { try {
return getNetworkPolicy().getSubscriptionPlansOwner(subId); return getINetworkPolicyManager().getSubscriptionPlansOwner(subId);
} catch (RemoteException e) { } catch (RemoteException e) {
throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer();
} }
@@ -2523,13 +2521,10 @@ public class SubscriptionManager {
*/ */
public void setSubscriptionOverrideUnmetered(int subId, boolean overrideUnmetered, public void setSubscriptionOverrideUnmetered(int subId, boolean overrideUnmetered,
@DurationMillisLong long timeoutMillis) { @DurationMillisLong long timeoutMillis) {
try {
final int overrideValue = overrideUnmetered ? SUBSCRIPTION_OVERRIDE_UNMETERED : 0; final int overrideValue = overrideUnmetered ? SUBSCRIPTION_OVERRIDE_UNMETERED : 0;
getNetworkPolicy().setSubscriptionOverride(subId, SUBSCRIPTION_OVERRIDE_UNMETERED, getNetworkPolicyManager().setSubscriptionOverride(subId, SUBSCRIPTION_OVERRIDE_UNMETERED,
overrideValue, timeoutMillis, mContext.getOpPackageName()); overrideValue, timeoutMillis, mContext.getOpPackageName());
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
} }
/** /**
@@ -2558,13 +2553,9 @@ public class SubscriptionManager {
*/ */
public void setSubscriptionOverrideCongested(int subId, boolean overrideCongested, public void setSubscriptionOverrideCongested(int subId, boolean overrideCongested,
@DurationMillisLong long timeoutMillis) { @DurationMillisLong long timeoutMillis) {
try { final int overrideValue = overrideCongested ? SUBSCRIPTION_OVERRIDE_CONGESTED : 0;
final int overrideValue = overrideCongested ? SUBSCRIPTION_OVERRIDE_CONGESTED : 0; getNetworkPolicyManager().setSubscriptionOverride(subId, SUBSCRIPTION_OVERRIDE_CONGESTED,
getNetworkPolicy().setSubscriptionOverride(subId, SUBSCRIPTION_OVERRIDE_CONGESTED, overrideValue, timeoutMillis, mContext.getOpPackageName());
overrideValue, timeoutMillis, mContext.getOpPackageName());
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
} }
/** /**