Merge "Transfer ownership of NetworkStatsFactory to NetworkStatsService." am: bd94f0afd2

am: 92292f556b

Change-Id: If897c9c95fc8571949183c45a99a5c28cb032ebb
This commit is contained in:
Lorenzo Colitti
2019-06-27 01:31:46 -07:00
committed by android-build-merger

View File

@@ -181,6 +181,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
private final Context mContext; private final Context mContext;
private final INetworkManagementService mNetworkManager; private final INetworkManagementService mNetworkManager;
private final NetworkStatsFactory mStatsFactory;
private final AlarmManager mAlarmManager; private final AlarmManager mAlarmManager;
private final Clock mClock; private final Clock mClock;
private final TelephonyManager mTeleManager; private final TelephonyManager mTeleManager;
@@ -336,8 +337,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
NetworkStatsService service = new NetworkStatsService(context, networkManager, alarmManager, NetworkStatsService service = new NetworkStatsService(context, networkManager, alarmManager,
wakeLock, getDefaultClock(), TelephonyManager.getDefault(), wakeLock, getDefaultClock(), TelephonyManager.getDefault(),
new DefaultNetworkStatsSettings(context), new NetworkStatsObservers(), new DefaultNetworkStatsSettings(context), new NetworkStatsFactory(),
getDefaultSystemDir(), getDefaultBaseDir()); new NetworkStatsObservers(), getDefaultSystemDir(), getDefaultBaseDir());
service.registerLocalService(); service.registerLocalService();
HandlerThread handlerThread = new HandlerThread(TAG); HandlerThread handlerThread = new HandlerThread(TAG);
@@ -354,7 +355,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
NetworkStatsService(Context context, INetworkManagementService networkManager, NetworkStatsService(Context context, INetworkManagementService networkManager,
AlarmManager alarmManager, PowerManager.WakeLock wakeLock, Clock clock, AlarmManager alarmManager, PowerManager.WakeLock wakeLock, Clock clock,
TelephonyManager teleManager, NetworkStatsSettings settings, TelephonyManager teleManager, NetworkStatsSettings settings,
NetworkStatsObservers statsObservers, File systemDir, File baseDir) { NetworkStatsFactory factory, NetworkStatsObservers statsObservers, File systemDir,
File baseDir) {
mContext = checkNotNull(context, "missing Context"); mContext = checkNotNull(context, "missing Context");
mNetworkManager = checkNotNull(networkManager, "missing INetworkManagementService"); mNetworkManager = checkNotNull(networkManager, "missing INetworkManagementService");
mAlarmManager = checkNotNull(alarmManager, "missing AlarmManager"); mAlarmManager = checkNotNull(alarmManager, "missing AlarmManager");
@@ -362,6 +364,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
mSettings = checkNotNull(settings, "missing NetworkStatsSettings"); mSettings = checkNotNull(settings, "missing NetworkStatsSettings");
mTeleManager = checkNotNull(teleManager, "missing TelephonyManager"); mTeleManager = checkNotNull(teleManager, "missing TelephonyManager");
mWakeLock = checkNotNull(wakeLock, "missing WakeLock"); mWakeLock = checkNotNull(wakeLock, "missing WakeLock");
mStatsFactory = checkNotNull(factory, "missing factory");
mStatsObservers = checkNotNull(statsObservers, "missing NetworkStatsObservers"); mStatsObservers = checkNotNull(statsObservers, "missing NetworkStatsObservers");
mSystemDir = checkNotNull(systemDir, "missing systemDir"); mSystemDir = checkNotNull(systemDir, "missing systemDir");
mBaseDir = checkNotNull(baseDir, "missing baseDir"); mBaseDir = checkNotNull(baseDir, "missing baseDir");
@@ -759,14 +762,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
// TODO: switch to data layer stats once kernel exports // TODO: switch to data layer stats once kernel exports
// for now, read network layer stats and flatten across all ifaces // for now, read network layer stats and flatten across all ifaces
final long token = Binder.clearCallingIdentity(); final NetworkStats networkLayer = readNetworkStatsUidDetail(uid, INTERFACES_ALL, TAG_ALL);
final NetworkStats networkLayer;
try {
networkLayer = mNetworkManager.getNetworkStatsUidDetail(uid,
NetworkStats.INTERFACES_ALL);
} finally {
Binder.restoreCallingIdentity(token);
}
// splice in operation counts // splice in operation counts
networkLayer.spliceOperationsFrom(mUidOperations); networkLayer.spliceOperationsFrom(mUidOperations);
@@ -1197,7 +1193,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
mobileIfaces.add(stackedIface); mobileIfaces.add(stackedIface);
} }
NetworkStatsFactory.noteStackedIface(stackedIface, baseIface); mStatsFactory.noteStackedIface(stackedIface, baseIface);
} }
} }
} }
@@ -1227,7 +1223,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
final NetworkStats xtSnapshot = getNetworkStatsXt(); final NetworkStats xtSnapshot = getNetworkStatsXt();
Trace.traceEnd(TRACE_TAG_NETWORK); Trace.traceEnd(TRACE_TAG_NETWORK);
Trace.traceBegin(TRACE_TAG_NETWORK, "snapshotDev"); Trace.traceBegin(TRACE_TAG_NETWORK, "snapshotDev");
final NetworkStats devSnapshot = mNetworkManager.getNetworkStatsSummaryDev(); final NetworkStats devSnapshot = readNetworkStatsSummaryDev();
Trace.traceEnd(TRACE_TAG_NETWORK); Trace.traceEnd(TRACE_TAG_NETWORK);
// Tethering snapshot for dev and xt stats. Counts per-interface data from tethering stats // Tethering snapshot for dev and xt stats. Counts per-interface data from tethering stats
@@ -1621,6 +1617,30 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
} }
} }
private NetworkStats readNetworkStatsSummaryDev() {
try {
return mStatsFactory.readNetworkStatsSummaryDev();
} catch (IOException e) {
throw new IllegalStateException(e);
}
}
private NetworkStats readNetworkStatsSummaryXt() {
try {
return mStatsFactory.readNetworkStatsSummaryXt();
} catch (IOException e) {
throw new IllegalStateException(e);
}
}
private NetworkStats readNetworkStatsUidDetail(int uid, String[] ifaces, int tag) {
try {
return mStatsFactory.readNetworkStatsDetail(uid, ifaces, tag);
} catch (IOException e) {
throw new IllegalStateException(e);
}
}
/** /**
* Return snapshot of current UID statistics, including any * Return snapshot of current UID statistics, including any
* {@link TrafficStats#UID_TETHERING}, video calling data usage, and {@link #mUidOperations} * {@link TrafficStats#UID_TETHERING}, video calling data usage, and {@link #mUidOperations}
@@ -1631,8 +1651,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
*/ */
private NetworkStats getNetworkStatsUidDetail(String[] ifaces) private NetworkStats getNetworkStatsUidDetail(String[] ifaces)
throws RemoteException { throws RemoteException {
final NetworkStats uidSnapshot = mNetworkManager.getNetworkStatsUidDetail(UID_ALL, final NetworkStats uidSnapshot = readNetworkStatsUidDetail(UID_ALL, ifaces, TAG_ALL);
ifaces);
// fold tethering stats and operations into uid snapshot // fold tethering stats and operations into uid snapshot
final NetworkStats tetherSnapshot = getNetworkStatsTethering(STATS_PER_UID); final NetworkStats tetherSnapshot = getNetworkStatsTethering(STATS_PER_UID);
@@ -1662,7 +1681,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
* Return snapshot of current XT statistics with video calling data usage statistics. * Return snapshot of current XT statistics with video calling data usage statistics.
*/ */
private NetworkStats getNetworkStatsXt() throws RemoteException { private NetworkStats getNetworkStatsXt() throws RemoteException {
final NetworkStats xtSnapshot = mNetworkManager.getNetworkStatsSummaryXt(); final NetworkStats xtSnapshot = readNetworkStatsSummaryXt();
final TelephonyManager telephonyManager = (TelephonyManager) mContext.getSystemService( final TelephonyManager telephonyManager = (TelephonyManager) mContext.getSystemService(
Context.TELEPHONY_SERVICE); Context.TELEPHONY_SERVICE);