[MS37] Replace NetworkStatsManagerInternal usages in NPMS
This is done by: 1. Add NetworkStatsManagerInternal APIs directly from NetworkStatsManager, these APIs are needed by NPMS. 2. Replace all usages with these APIs. 3. Delete NetworkStatsManagerInternal implementation. Test: atest FrameworksNetTests NetworkPolicyManagerServiceTest Bug: 204830222 CTS-Coverage-Bug: 213124616 Change-Id: If51b6676915e3a0a8a9f95221d735306911442fc
This commit is contained in:
@@ -430,7 +430,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
||||
new DefaultNetworkStatsSettings(context), new NetworkStatsFactory(netd),
|
||||
new NetworkStatsObservers(), getDefaultSystemDir(), getDefaultBaseDir(),
|
||||
new Dependencies());
|
||||
service.registerLocalService();
|
||||
|
||||
return service;
|
||||
}
|
||||
@@ -511,11 +510,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
||||
}
|
||||
}
|
||||
|
||||
private void registerLocalService() {
|
||||
LocalServices.addService(NetworkStatsManagerInternal.class,
|
||||
new NetworkStatsManagerInternalImpl());
|
||||
}
|
||||
|
||||
/**
|
||||
* Observer that watches for {@link INetdUnsolicitedEventListener} alerts.
|
||||
*/
|
||||
@@ -1006,7 +1000,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void setUidForeground(int uid, boolean uidForeground) {
|
||||
public void setUidForeground(int uid, boolean uidForeground) {
|
||||
PermissionUtils.enforceNetworkStackPermission(mContext);
|
||||
synchronized (mStatsLock) {
|
||||
final int set = uidForeground ? SET_FOREGROUND : SET_DEFAULT;
|
||||
final int oldSet = mActiveUidCounterSet.get(uid, SET_DEFAULT);
|
||||
@@ -1042,7 +1037,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
||||
|
||||
@Override
|
||||
public void forceUpdate() {
|
||||
mContext.enforceCallingOrSelfPermission(READ_NETWORK_USAGE_HISTORY, TAG);
|
||||
PermissionUtils.enforceNetworkStackPermission(mContext);
|
||||
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
try {
|
||||
@@ -1052,7 +1047,9 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
||||
}
|
||||
}
|
||||
|
||||
private void advisePersistThreshold(long thresholdBytes) {
|
||||
/** Advise persistence threshold; may be overridden internally. */
|
||||
public void advisePersistThreshold(long thresholdBytes) {
|
||||
PermissionUtils.enforceNetworkStackPermission(mContext);
|
||||
// clamp threshold into safe range
|
||||
mPersistThreshold = NetworkStatsUtils.constrain(thresholdBytes,
|
||||
128 * KB_IN_BYTES, 2 * MB_IN_BYTES);
|
||||
@@ -1689,32 +1686,19 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
||||
removeUidsLocked(CollectionUtils.toIntArray(uids));
|
||||
}
|
||||
|
||||
private class NetworkStatsManagerInternalImpl extends NetworkStatsManagerInternal {
|
||||
@Override
|
||||
public void setUidForeground(int uid, boolean uidForeground) {
|
||||
NetworkStatsService.this.setUidForeground(uid, uidForeground);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void advisePersistThreshold(long thresholdBytes) {
|
||||
NetworkStatsService.this.advisePersistThreshold(thresholdBytes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forceUpdate() {
|
||||
NetworkStatsService.this.forceUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStatsProviderWarningAndLimitAsync(
|
||||
@NonNull String iface, long warning, long limit) {
|
||||
if (LOGV) {
|
||||
Log.v(TAG, "setStatsProviderWarningAndLimitAsync("
|
||||
+ iface + "," + warning + "," + limit + ")");
|
||||
}
|
||||
invokeForAllStatsProviderCallbacks((cb) -> cb.mProvider.onSetWarningAndLimit(iface,
|
||||
warning, limit));
|
||||
/**
|
||||
* Set the warning and limit to all registered custom network stats providers.
|
||||
* Note that invocation of any interface will be sent to all providers.
|
||||
*/
|
||||
public void setStatsProviderWarningAndLimitAsync(
|
||||
@NonNull String iface, long warning, long limit) {
|
||||
PermissionUtils.enforceNetworkStackPermission(mContext);
|
||||
if (LOGV) {
|
||||
Log.v(TAG, "setStatsProviderWarningAndLimitAsync("
|
||||
+ iface + "," + warning + "," + limit + ")");
|
||||
}
|
||||
invokeForAllStatsProviderCallbacks((cb) -> cb.mProvider.onSetWarningAndLimit(iface,
|
||||
warning, limit));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user