Loading core/api/system-current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -8072,6 +8072,10 @@ package android.os { public final class BatteryStatsManager { method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats(); method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats(); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanReset(); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanResults(@NonNull android.os.WorkSource, int); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStarted(@NonNull android.os.WorkSource, boolean); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStopped(@NonNull android.os.WorkSource, boolean); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportMobileRadioPowerState(boolean, int); core/java/android/os/BatteryStatsManager.java +63 −6 Original line number Diff line number Diff line Loading @@ -262,7 +262,7 @@ public final class BatteryStatsManager { /** * Indicates that a new wifi scan has started. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull WorkSource ws) { Loading @@ -276,7 +276,7 @@ public final class BatteryStatsManager { /** * Indicates that an ongoing wifi scan has stopped. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull WorkSource ws) { Loading @@ -290,7 +290,7 @@ public final class BatteryStatsManager { /** * Indicates that a new wifi batched scan has started. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). * @param csph Channels scanned per hour. */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) Loading @@ -306,7 +306,7 @@ public final class BatteryStatsManager { /** * Indicates that an ongoing wifi batched scan has stopped. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull WorkSource ws) { Loading Loading @@ -350,7 +350,7 @@ public final class BatteryStatsManager { /** * Indicates an app acquiring full wifi lock. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull WorkSource ws) { Loading @@ -364,7 +364,7 @@ public final class BatteryStatsManager { /** * Indicates an app releasing full wifi lock. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull WorkSource ws) { Loading Loading @@ -479,6 +479,63 @@ public final class BatteryStatsManager { } } /** * Indicates that a new Bluetooth LE scan has started. * * @param ws worksource (to be used for battery blaming). * @param isUnoptimized whether or not the scan has a filter. */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStarted(@NonNull WorkSource ws, boolean isUnoptimized) { try { mBatteryStats.noteBleScanStarted(ws, isUnoptimized); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** * Indicates that an ongoing Bluetooth LE scan has stopped. * * @param ws worksource (to be used for battery blaming). * @param isUnoptimized whether or not the scan has a filter. */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStopped(@NonNull WorkSource ws, boolean isUnoptimized) { try { mBatteryStats.noteBleScanStopped(ws, isUnoptimized); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** * Indicates that Bluetooth LE has been reset. */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanReset() { try { mBatteryStats.noteBleScanReset(); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** * Indicates that Bluetooth LE scan has received new results. * * @param ws worksource (to be used for battery blaming). * @param numNewResults number of results received since last update. */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanResults(@NonNull WorkSource ws, int numNewResults) { try { mBatteryStats.noteBleScanResults(ws, numNewResults); } 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 Loading core/java/com/android/internal/app/IBatteryStats.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -145,7 +145,7 @@ interface IBatteryStats { void noteBleScanStarted(in WorkSource ws, boolean isUnoptimized); void noteBleScanStopped(in WorkSource ws, boolean isUnoptimized); void noteResetBleScan(); void noteBleScanReset(); void noteBleScanResults(in WorkSource ws, int numNewResults); /** {@hide} */ Loading services/core/java/com/android/server/am/BatteryStatsService.java +1 −1 Original line number Diff line number Diff line Loading @@ -1978,7 +1978,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub } @Override public void noteResetBleScan() { public void noteBleScanReset() { enforceCallingPermission(); synchronized (mLock) { final long elapsedRealtime = SystemClock.elapsedRealtime(); Loading Loading
core/api/system-current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -8072,6 +8072,10 @@ package android.os { public final class BatteryStatsManager { method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats(); method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats(); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanReset(); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanResults(@NonNull android.os.WorkSource, int); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStarted(@NonNull android.os.WorkSource, boolean); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStopped(@NonNull android.os.WorkSource, boolean); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportMobileRadioPowerState(boolean, int);
core/java/android/os/BatteryStatsManager.java +63 −6 Original line number Diff line number Diff line Loading @@ -262,7 +262,7 @@ public final class BatteryStatsManager { /** * Indicates that a new wifi scan has started. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull WorkSource ws) { Loading @@ -276,7 +276,7 @@ public final class BatteryStatsManager { /** * Indicates that an ongoing wifi scan has stopped. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull WorkSource ws) { Loading @@ -290,7 +290,7 @@ public final class BatteryStatsManager { /** * Indicates that a new wifi batched scan has started. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). * @param csph Channels scanned per hour. */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) Loading @@ -306,7 +306,7 @@ public final class BatteryStatsManager { /** * Indicates that an ongoing wifi batched scan has stopped. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull WorkSource ws) { Loading Loading @@ -350,7 +350,7 @@ public final class BatteryStatsManager { /** * Indicates an app acquiring full wifi lock. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull WorkSource ws) { Loading @@ -364,7 +364,7 @@ public final class BatteryStatsManager { /** * Indicates an app releasing full wifi lock. * * @param ws Worksource (to be used for battery blaming). * @param ws worksource (to be used for battery blaming). */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull WorkSource ws) { Loading Loading @@ -479,6 +479,63 @@ public final class BatteryStatsManager { } } /** * Indicates that a new Bluetooth LE scan has started. * * @param ws worksource (to be used for battery blaming). * @param isUnoptimized whether or not the scan has a filter. */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStarted(@NonNull WorkSource ws, boolean isUnoptimized) { try { mBatteryStats.noteBleScanStarted(ws, isUnoptimized); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** * Indicates that an ongoing Bluetooth LE scan has stopped. * * @param ws worksource (to be used for battery blaming). * @param isUnoptimized whether or not the scan has a filter. */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStopped(@NonNull WorkSource ws, boolean isUnoptimized) { try { mBatteryStats.noteBleScanStopped(ws, isUnoptimized); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** * Indicates that Bluetooth LE has been reset. */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanReset() { try { mBatteryStats.noteBleScanReset(); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** * Indicates that Bluetooth LE scan has received new results. * * @param ws worksource (to be used for battery blaming). * @param numNewResults number of results received since last update. */ @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanResults(@NonNull WorkSource ws, int numNewResults) { try { mBatteryStats.noteBleScanResults(ws, numNewResults); } 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 Loading
core/java/com/android/internal/app/IBatteryStats.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -145,7 +145,7 @@ interface IBatteryStats { void noteBleScanStarted(in WorkSource ws, boolean isUnoptimized); void noteBleScanStopped(in WorkSource ws, boolean isUnoptimized); void noteResetBleScan(); void noteBleScanReset(); void noteBleScanResults(in WorkSource ws, int numNewResults); /** {@hide} */ Loading
services/core/java/com/android/server/am/BatteryStatsService.java +1 −1 Original line number Diff line number Diff line Loading @@ -1978,7 +1978,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub } @Override public void noteResetBleScan() { public void noteBleScanReset() { enforceCallingPermission(); synchronized (mLock) { final long elapsedRealtime = SystemClock.elapsedRealtime(); Loading