diff options
| author | 2021-06-18 16:52:25 +0000 | |
|---|---|---|
| committer | 2021-06-18 16:52:25 +0000 | |
| commit | 940921d09e5367a37a3803e674def4784d27dd25 (patch) | |
| tree | 9451f4f03d0ef2f85917bdb5eb76532fcfa8d157 | |
| parent | d0595d18d103fd7c35aecffacb81c71fe25b2d93 (diff) | |
| parent | 84cededd3f3e458d69a1a9ddce90cac692229159 (diff) | |
Merge "Enforce declared permissions on getCellularBatteryStats(), getWifiBatteryStats() and getGpsBatteryStats()" into sc-dev
| -rw-r--r-- | services/core/java/com/android/server/am/BatteryStatsService.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index 7f6e6687625c..08f6f1e6e46e 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -16,6 +16,7 @@ package com.android.server.am; +import static android.content.pm.PackageManager.PERMISSION_DENIED; import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED; import static android.os.BatteryStats.POWER_DATA_UNAVAILABLE; @@ -2524,6 +2525,12 @@ public final class BatteryStatsService extends IBatteryStats.Stub * @hide */ public CellularBatteryStats getCellularBatteryStats() { + if (mContext.checkCallingOrSelfPermission( + android.Manifest.permission.UPDATE_DEVICE_STATS) == PERMISSION_DENIED) { + mContext.enforceCallingOrSelfPermission( + android.Manifest.permission.BATTERY_STATS, null); + } + // Wait for the completion of pending works if there is any awaitCompletion(); synchronized (mStats) { @@ -2536,6 +2543,12 @@ public final class BatteryStatsService extends IBatteryStats.Stub * @hide */ public WifiBatteryStats getWifiBatteryStats() { + if (mContext.checkCallingOrSelfPermission( + android.Manifest.permission.UPDATE_DEVICE_STATS) == PERMISSION_DENIED) { + mContext.enforceCallingOrSelfPermission( + android.Manifest.permission.BATTERY_STATS, null); + } + // Wait for the completion of pending works if there is any awaitCompletion(); synchronized (mStats) { @@ -2548,6 +2561,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub * @hide */ public GpsBatteryStats getGpsBatteryStats() { + mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BATTERY_STATS, null); + // Wait for the completion of pending works if there is any awaitCompletion(); synchronized (mStats) { |