[MS54.1] Move NetworkStats to updatable sources
This CL builds NetworkStats related code with the connectivity module instead of platform. This includes: 1. Add netstats.proto to the module. 2. Add lib dependencies for all callers. 3. Include several source files in platform and add jarjar rule to it. Modify callers accordingly. Test: TH Bug: 197717846 Change-Id: I244693aebe1782d9e67502638ff8145c51462e1e Merged-In: I244693aebe1782d9e67502638ff8145c51462e1e
This commit is contained in:
@@ -471,9 +471,11 @@ public class NetworkStatsRecorder {
|
||||
public void dumpDebugLocked(ProtoOutputStream proto, long tag) {
|
||||
final long start = proto.start(tag);
|
||||
if (mPending != null) {
|
||||
proto.write(NetworkStatsRecorderProto.PENDING_TOTAL_BYTES, mPending.getTotalBytes());
|
||||
proto.write(NetworkStatsRecorderProto.PENDING_TOTAL_BYTES_FIELD_NUMBER,
|
||||
mPending.getTotalBytes());
|
||||
}
|
||||
getOrLoadCompleteLocked().dumpDebug(proto, NetworkStatsRecorderProto.COMPLETE_HISTORY);
|
||||
getOrLoadCompleteLocked().dumpDebug(proto,
|
||||
NetworkStatsRecorderProto.COMPLETE_HISTORY_FIELD_NUMBER);
|
||||
proto.end(start);
|
||||
}
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ import static com.android.net.module.util.NetworkStatsUtils.LIMIT_GLOBAL_ALERT;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.AlarmManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.app.usage.NetworkStatsManager;
|
||||
@@ -103,6 +104,7 @@ import android.net.netstats.provider.INetworkStatsProvider;
|
||||
import android.net.netstats.provider.INetworkStatsProviderCallback;
|
||||
import android.net.netstats.provider.NetworkStatsProvider;
|
||||
import android.os.Binder;
|
||||
import android.os.Build;
|
||||
import android.os.DropBoxManager;
|
||||
import android.os.Environment;
|
||||
import android.os.Handler;
|
||||
@@ -169,6 +171,7 @@ import java.util.concurrent.TimeUnit;
|
||||
* Collect and persist detailed network statistics, and provide this data to
|
||||
* other system services.
|
||||
*/
|
||||
@TargetApi(Build.VERSION_CODES.TIRAMISU)
|
||||
public class NetworkStatsService extends INetworkStatsService.Stub {
|
||||
static final String TAG = "NetworkStats";
|
||||
static final boolean LOGD = Log.isLoggable(TAG, Log.DEBUG);
|
||||
@@ -2114,12 +2117,15 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
||||
|
||||
// TODO Right now it writes all history. Should it limit to the "since-boot" log?
|
||||
|
||||
dumpInterfaces(proto, NetworkStatsServiceDumpProto.ACTIVE_INTERFACES, mActiveIfaces);
|
||||
dumpInterfaces(proto, NetworkStatsServiceDumpProto.ACTIVE_UID_INTERFACES, mActiveUidIfaces);
|
||||
mDevRecorder.dumpDebugLocked(proto, NetworkStatsServiceDumpProto.DEV_STATS);
|
||||
mXtRecorder.dumpDebugLocked(proto, NetworkStatsServiceDumpProto.XT_STATS);
|
||||
mUidRecorder.dumpDebugLocked(proto, NetworkStatsServiceDumpProto.UID_STATS);
|
||||
mUidTagRecorder.dumpDebugLocked(proto, NetworkStatsServiceDumpProto.UID_TAG_STATS);
|
||||
dumpInterfaces(proto, NetworkStatsServiceDumpProto.ACTIVE_INTERFACES_FIELD_NUMBER,
|
||||
mActiveIfaces);
|
||||
dumpInterfaces(proto, NetworkStatsServiceDumpProto.ACTIVE_UID_INTERFACES_FIELD_NUMBER,
|
||||
mActiveUidIfaces);
|
||||
mDevRecorder.dumpDebugLocked(proto, NetworkStatsServiceDumpProto.DEV_STATS_FIELD_NUMBER);
|
||||
mXtRecorder.dumpDebugLocked(proto, NetworkStatsServiceDumpProto.XT_STATS_FIELD_NUMBER);
|
||||
mUidRecorder.dumpDebugLocked(proto, NetworkStatsServiceDumpProto.UID_STATS_FIELD_NUMBER);
|
||||
mUidTagRecorder.dumpDebugLocked(proto,
|
||||
NetworkStatsServiceDumpProto.UID_TAG_STATS_FIELD_NUMBER);
|
||||
|
||||
proto.flush();
|
||||
}
|
||||
@@ -2129,8 +2135,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
||||
for (int i = 0; i < ifaces.size(); i++) {
|
||||
final long start = proto.start(tag);
|
||||
|
||||
proto.write(NetworkInterfaceProto.INTERFACE, ifaces.keyAt(i));
|
||||
ifaces.valueAt(i).dumpDebug(proto, NetworkInterfaceProto.IDENTITIES);
|
||||
proto.write(NetworkInterfaceProto.INTERFACE_FIELD_NUMBER, ifaces.keyAt(i));
|
||||
ifaces.valueAt(i).dumpDebug(proto, NetworkInterfaceProto.IDENTITIES_FIELD_NUMBER);
|
||||
|
||||
proto.end(start);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,9 @@ import static android.telephony.TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NS
|
||||
import static android.telephony.TelephonyManager.NETWORK_TYPE_LTE;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyCallback;
|
||||
import android.telephony.TelephonyDisplayInfo;
|
||||
@@ -43,6 +45,7 @@ import java.util.concurrent.Executor;
|
||||
/**
|
||||
* Helper class that watches for events that are triggered per subscription.
|
||||
*/
|
||||
@TargetApi(Build.VERSION_CODES.TIRAMISU)
|
||||
public class NetworkStatsSubscriptionsMonitor extends
|
||||
SubscriptionManager.OnSubscriptionsChangedListener {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user