summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorAaron Huang <huangaaron@google.com>2021-03-09 11:11:49 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-03-09 11:11:49 +0000
commit584e64df053643f0ee3c8015df925b26ceb60d7b (patch)
tree8c413617910db052117dd08319edfd5bd0bd7d62 /core/java/android
parent50843debeb46b9a19184aee6af15ad645a13771e (diff)
parent3ae5bdab6eab95febb4886ca51ef260f9783d006 (diff)
Add a new API in BatteryStatsManager for connectivity service am: 3ae5bdab6e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1475899 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I97fc5426d302d6084e8434daa3f6c9b2389be449
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/os/BatteryStatsManager.java26
1 files changed, 24 insertions, 2 deletions
diff --git a/core/java/android/os/BatteryStatsManager.java b/core/java/android/os/BatteryStatsManager.java
index 258e58d7d019..3f4a21878687 100644
--- a/core/java/android/os/BatteryStatsManager.java
+++ b/core/java/android/os/BatteryStatsManager.java
@@ -24,6 +24,7 @@ import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.content.Context;
+import android.net.NetworkStack;
import android.os.connectivity.CellularBatteryStats;
import android.os.connectivity.WifiBatteryStats;
import android.telephony.DataConnectionRealTimeInfo;
@@ -416,10 +417,31 @@ public final class BatteryStatsManager {
}
}
+ /**
+ * Notifies the battery stats of a new interface, and the transport types of the network that
+ * includes that interface.
+ *
+ * @param iface The interface of the network.
+ * @param transportTypes The transport type of the network {@link Transport}.
+ * @hide
+ */
+ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
+ @RequiresPermission(anyOf = {
+ NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
+ android.Manifest.permission.NETWORK_STACK})
+ public void reportNetworkInterfaceForTransports(@NonNull String iface,
+ @NonNull int[] transportTypes) throws RuntimeException {
+ try {
+ mBatteryStats.noteNetworkInterfaceForTransports(iface, transportTypes);
+ } catch (RemoteException e) {
+ e.rethrowFromSystemServer();
+ }
+ }
+
private static int getDataConnectionPowerState(boolean isActive) {
// TODO: DataConnectionRealTimeInfo is under telephony package but the constants are used
- // for both Wifi and mobile. It would make more sense to separate the constants to a generic
- // class or move it to generic package.
+ // for both Wifi and mobile. It would make more sense to separate the constants to a
+ // generic class or move it to generic package.
return isActive ? DataConnectionRealTimeInfo.DC_POWER_STATE_HIGH
: DataConnectionRealTimeInfo.DC_POWER_STATE_LOW;
}