Merge "[DU04]Remove NetworkPolicyManagerInternal from NetworkStatsService"

This commit is contained in:
Frank Li
2022-01-15 23:14:16 +00:00
committed by Gerrit Code Review

View File

@@ -96,6 +96,7 @@ import android.net.Network;
import android.net.NetworkCapabilities; import android.net.NetworkCapabilities;
import android.net.NetworkIdentity; import android.net.NetworkIdentity;
import android.net.NetworkIdentitySet; import android.net.NetworkIdentitySet;
import android.net.NetworkPolicyManager;
import android.net.NetworkSpecifier; import android.net.NetworkSpecifier;
import android.net.NetworkStack; import android.net.NetworkStack;
import android.net.NetworkStateSnapshot; import android.net.NetworkStateSnapshot;
@@ -867,7 +868,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
if (LOGD) Log.d(TAG, "Resolving plan for " + template); if (LOGD) Log.d(TAG, "Resolving plan for " + template);
final long token = Binder.clearCallingIdentity(); final long token = Binder.clearCallingIdentity();
try { try {
plan = LocalServices.getService(NetworkPolicyManagerInternal.class) plan = mContext.getSystemService(NetworkPolicyManager.class)
.getSubscriptionPlan(template); .getSubscriptionPlan(template);
} finally { } finally {
Binder.restoreCallingIdentity(token); Binder.restoreCallingIdentity(token);
@@ -2038,10 +2039,12 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK); NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
Objects.requireNonNull(provider, "provider is null"); Objects.requireNonNull(provider, "provider is null");
Objects.requireNonNull(tag, "tag is null"); Objects.requireNonNull(tag, "tag is null");
final NetworkPolicyManager netPolicyManager = mContext
.getSystemService(NetworkPolicyManager.class);
try { try {
NetworkStatsProviderCallbackImpl callback = new NetworkStatsProviderCallbackImpl( NetworkStatsProviderCallbackImpl callback = new NetworkStatsProviderCallbackImpl(
tag, provider, mStatsProviderSem, mAlertObserver, tag, provider, mStatsProviderSem, mAlertObserver,
mStatsProviderCbList); mStatsProviderCbList, netPolicyManager);
mStatsProviderCbList.add(callback); mStatsProviderCbList.add(callback);
Log.d(TAG, "registerNetworkStatsProvider from " + callback.mTag + " uid/pid=" Log.d(TAG, "registerNetworkStatsProvider from " + callback.mTag + " uid/pid="
+ getCallingUid() + "/" + getCallingPid()); + getCallingUid() + "/" + getCallingPid());
@@ -2083,6 +2086,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
@NonNull private final Semaphore mSemaphore; @NonNull private final Semaphore mSemaphore;
@NonNull final AlertObserver mAlertObserver; @NonNull final AlertObserver mAlertObserver;
@NonNull final CopyOnWriteArrayList<NetworkStatsProviderCallbackImpl> mStatsProviderCbList; @NonNull final CopyOnWriteArrayList<NetworkStatsProviderCallbackImpl> mStatsProviderCbList;
@NonNull final NetworkPolicyManager mNetworkPolicyManager;
@NonNull private final Object mProviderStatsLock = new Object(); @NonNull private final Object mProviderStatsLock = new Object();
@@ -2096,7 +2100,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
@NonNull String tag, @NonNull INetworkStatsProvider provider, @NonNull String tag, @NonNull INetworkStatsProvider provider,
@NonNull Semaphore semaphore, @NonNull Semaphore semaphore,
@NonNull AlertObserver alertObserver, @NonNull AlertObserver alertObserver,
@NonNull CopyOnWriteArrayList<NetworkStatsProviderCallbackImpl> cbList) @NonNull CopyOnWriteArrayList<NetworkStatsProviderCallbackImpl> cbList,
@NonNull NetworkPolicyManager networkPolicyManager)
throws RemoteException { throws RemoteException {
mTag = tag; mTag = tag;
mProvider = provider; mProvider = provider;
@@ -2104,6 +2109,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
mSemaphore = semaphore; mSemaphore = semaphore;
mAlertObserver = alertObserver; mAlertObserver = alertObserver;
mStatsProviderCbList = cbList; mStatsProviderCbList = cbList;
mNetworkPolicyManager = networkPolicyManager;
} }
@NonNull @NonNull
@@ -2150,8 +2156,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
public void notifyWarningOrLimitReached() { public void notifyWarningOrLimitReached() {
Log.d(TAG, mTag + ": notifyWarningOrLimitReached"); Log.d(TAG, mTag + ": notifyWarningOrLimitReached");
BinderUtils.withCleanCallingIdentity(() -> BinderUtils.withCleanCallingIdentity(() ->
LocalServices.getService(NetworkPolicyManagerInternal.class) mNetworkPolicyManager.onStatsProviderWarningOrLimitReached());
.onStatsProviderWarningOrLimitReached(mTag));
} }
@Override @Override