summaryrefslogtreecommitdiff
path: root/framework-t/src
diff options
context:
space:
mode:
authorlifr <lifr@google.com>2021-12-23 15:13:29 +0800
committerJunyu Lai <junyulai@google.com>2022-01-12 07:28:55 +0000
commitc9dedfbe95cd0b34462c67995eff57283b563c7c (patch)
treeec8f5b31ee3259a8719d3f9bc1b5a71f9d648896 /framework-t/src
parent5366b82996457142f2a4ec094fd8d71f908404ed (diff)
[DU03]Remove INetworkStatsService from BatteryStatsImpl
BatteryStatsImpl is using INetworkStatsService APIs, which cannot be accessed after moving into the mainline module. So, replace and remove those hidden API usages. Bug: 210066922 Test: atest BatteryStatsImplTest WifiPowerCalculatorTest MobileRadioPowerCalculatorTest CTS-Coverage-Bug: 213437796 (cherry-picked from ag/16548638) Change-Id: I584897ff8ba303c717a9df3756c9f6778c1cfb10 Merged-In: I584897ff8ba303c717a9df3756c9f6778c1cfb10
Diffstat (limited to 'framework-t/src')
-rw-r--r--framework-t/src/android/app/usage/NetworkStatsManager.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/framework-t/src/android/app/usage/NetworkStatsManager.java b/framework-t/src/android/app/usage/NetworkStatsManager.java
index a316b8a617..583f7ba8cd 100644
--- a/framework-t/src/android/app/usage/NetworkStatsManager.java
+++ b/framework-t/src/android/app/usage/NetworkStatsManager.java
@@ -54,6 +54,7 @@ import com.android.net.module.util.NetworkIdentityUtils;
import java.util.List;
import java.util.Objects;
+import java.util.Set;
/**
* Provides access to network usage history and statistics. Usage data is collected in
@@ -535,6 +536,31 @@ public class NetworkStatsManager {
return result;
}
+ /**
+ * Query realtime network usage statistics details with interfaces constrains.
+ * Return snapshot of current UID statistics, including any {@link TrafficStats#UID_TETHERING},
+ * video calling data usage and count of network operations that set by
+ * {@link TrafficStats#incrementOperationCount}. The returned data doesn't include any
+ * statistics that is reported by {@link NetworkStatsProvider}.
+ *
+ * @param requiredIfaces A list of interfaces the stats should be restricted to, or
+ * {@link NetworkStats#INTERFACES_ALL}.
+ *
+ * @hide
+ */
+ //@SystemApi
+ @RequiresPermission(NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK)
+ @NonNull public android.net.NetworkStats getDetailedUidStats(
+ @NonNull Set<String> requiredIfaces) {
+ Objects.requireNonNull(requiredIfaces, "requiredIfaces cannot be null");
+ try {
+ return mService.getDetailedUidStats(requiredIfaces.toArray(new String[0]));
+ } catch (RemoteException e) {
+ if (DBG) Log.d(TAG, "Remote exception when get detailed uid stats");
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
/** @hide */
public void registerUsageCallback(NetworkTemplate template, int networkType,
long thresholdBytes, UsageCallback callback, @Nullable Handler handler) {