Merge "DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master"

This commit is contained in:
Treehugger Robot
2018-12-13 05:45:20 +00:00
committed by Gerrit Code Review
2 changed files with 15 additions and 1 deletions

View File

@@ -331,6 +331,14 @@ public class TrafficStats {
/** /**
* Remove any statistics parameters from the given {@link Socket}. * Remove any statistics parameters from the given {@link Socket}.
* <p>
* In Android 8.1 (API level 27) and lower, a socket is automatically
* untagged when it's sent to another process using binder IPC with a
* {@code ParcelFileDescriptor} container. In Android 9.0 (API level 28)
* and higher, the socket tag is kept when the socket is sent to another
* process using binder IPC. You can mimic the previous behavior by
* calling {@code untagSocket()} before sending the socket to another
* process.
*/ */
public static void untagSocket(Socket socket) throws SocketException { public static void untagSocket(Socket socket) throws SocketException {
SocketTagger.get().untag(socket); SocketTagger.get().untag(socket);

View File

@@ -955,7 +955,13 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
@Override @Override
public long getIfaceStats(String iface, int type) { public long getIfaceStats(String iface, int type) {
return nativeGetIfaceStat(iface, type, checkBpfStatsEnable()); // eBPF code doesn't provide per-interface TCP counters. Use xt_qtaguid for now.
// TODO: delete getMobileTcp(Rx|Tx)Packets entirely. See b/110443385 .
if (type == TYPE_TCP_TX_PACKETS || type == TYPE_TCP_RX_PACKETS) {
return nativeGetIfaceStat(iface, type, false);
} else {
return nativeGetIfaceStat(iface, type, checkBpfStatsEnable());
}
} }
@Override @Override