Merge "Transfer ownership of NetworkStatsFactory to NetworkStatsService." am: bd94f0afd2
am: 92292f556b Change-Id: If897c9c95fc8571949183c45a99a5c28cb032ebb
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user