diff options
| author | Aaron Huang <huangaaron@google.com> | 2021-03-09 11:11:49 +0000 |
|---|---|---|
| committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-03-09 11:11:49 +0000 |
| commit | 584e64df053643f0ee3c8015df925b26ceb60d7b (patch) | |
| tree | 8c413617910db052117dd08319edfd5bd0bd7d62 /core/java/android | |
| parent | 50843debeb46b9a19184aee6af15ad645a13771e (diff) | |
| parent | 3ae5bdab6eab95febb4886ca51ef260f9783d006 (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.java | 26 |
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; } |
