diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java index 9c2ae4e7c48a9..a89de010fb106 100644 --- a/core/java/android/os/BatteryStats.java +++ b/core/java/android/os/BatteryStats.java @@ -27,6 +27,7 @@ import android.app.job.JobParameters; import android.compat.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.pm.ApplicationInfo; +import android.location.GnssSignalQuality; import android.os.BatteryStatsManager.WifiState; import android.os.BatteryStatsManager.WifiSupplState; import android.server.ServerProtoEnums; @@ -47,7 +48,6 @@ import android.util.proto.ProtoOutputStream; import android.view.Display; import com.android.internal.annotations.VisibleForTesting; -import com.android.internal.location.gnssmetrics.GnssMetrics; import com.android.internal.os.BatterySipper; import com.android.internal.os.BatteryStatsHelper; @@ -5087,8 +5087,9 @@ public abstract class BatteryStats implements Parcelable { final String[] gpsSignalQualityDescription = new String[]{ "poor (less than 20 dBHz): ", "good (greater than 20 dBHz): "}; - final int numGpsSignalQualityBins = Math.min(GnssMetrics.NUM_GPS_SIGNAL_QUALITY_LEVELS, - gpsSignalQualityDescription.length); + final int numGpsSignalQualityBins = Math.min( + GnssSignalQuality.NUM_GNSS_SIGNAL_QUALITY_LEVELS, + gpsSignalQualityDescription.length); for (int i=0; i= GnssMetrics.NUM_GPS_SIGNAL_QUALITY_LEVELS) { + if (signalLevel < 0 || signalLevel >= mGpsSignalQualityTimer.length) { stopAllGpsSignalQualityTimersLocked(-1, elapsedRealtimeMs); return; } @@ -5460,7 +5460,7 @@ public class BatteryStatsImpl extends BatteryStats { } void stopAllGpsSignalQualityTimersLocked(int except, long elapsedRealtimeMs) { - for (int i = 0; i < GnssMetrics.NUM_GPS_SIGNAL_QUALITY_LEVELS; i++) { + for (int i = 0; i < mGpsSignalQualityTimer.length; i++) { if (i == except) { continue; } @@ -6911,7 +6911,7 @@ public class BatteryStatsImpl extends BatteryStats { @Override public long getGpsSignalQualityTime(int strengthBin, long elapsedRealtimeUs, int which) { - if (strengthBin < 0 || strengthBin >= GnssMetrics.NUM_GPS_SIGNAL_QUALITY_LEVELS) { + if (strengthBin < 0 || strengthBin >= mGpsSignalQualityTimer.length) { return 0; } return mGpsSignalQualityTimer[strengthBin].getTotalTimeLocked( @@ -6927,7 +6927,7 @@ public class BatteryStatsImpl extends BatteryStats { double energyUsedMaMs = 0.0; final int which = STATS_SINCE_CHARGED; final long rawRealtimeUs = SystemClock.elapsedRealtime() * 1000; - for(int i=0; i < GnssMetrics.NUM_GPS_SIGNAL_QUALITY_LEVELS; i++) { + for(int i=0; i < mGpsSignalQualityTimer.length; i++) { energyUsedMaMs += mPowerProfile.getAveragePower(PowerProfile.POWER_GPS_SIGNAL_QUALITY_BASED, i) * (getGpsSignalQualityTime(i, rawRealtimeUs, which) / 1000); @@ -10659,7 +10659,7 @@ public class BatteryStatsImpl extends BatteryStats { mOnBatteryTimeBase); } mWifiActiveTimer = new StopwatchTimer(mClocks, null, -900, null, mOnBatteryTimeBase); - for (int i=0; i< GnssMetrics.NUM_GPS_SIGNAL_QUALITY_LEVELS; i++) { + for (int i=0; i< mGpsSignalQualityTimer.length; i++) { mGpsSignalQualityTimer[i] = new StopwatchTimer(mClocks, null, -1000-i, null, mOnBatteryTimeBase); } @@ -11351,7 +11351,7 @@ public class BatteryStatsImpl extends BatteryStats { mWifiMulticastWakelockTimer.reset(false, elapsedRealtimeUs); mWifiActiveTimer.reset(false, elapsedRealtimeUs); mWifiActivity.reset(false, elapsedRealtimeUs); - for (int i=0; i< GnssMetrics.NUM_GPS_SIGNAL_QUALITY_LEVELS; i++) { + for (int i=0; i< mGpsSignalQualityTimer.length; i++) { mGpsSignalQualityTimer[i].reset(false, elapsedRealtimeUs); } mBluetoothActivity.reset(false, elapsedRealtimeUs); @@ -13641,7 +13641,7 @@ public class BatteryStatsImpl extends BatteryStats { final long rawRealTimeUs = SystemClock.elapsedRealtime() * 1000; s.setLoggingDurationMs(computeBatteryRealtime(rawRealTimeUs, which) / 1000); s.setEnergyConsumedMaMs(getGpsBatteryDrainMaMs()); - long[] time = new long[GnssMetrics.NUM_GPS_SIGNAL_QUALITY_LEVELS]; + long[] time = new long[mGpsSignalQualityTimer.length]; for (int i=0; i " + GnssPowerMetrics.POOR_TOP_FOUR_AVG_CN0_THRESHOLD_DB_HZ + " dB-Hz (min): ").append( @@ -512,7 +505,7 @@ public class GnssMetrics { // so that // the first CNO report will trigger an update to BatteryStats mLastAverageCn0 = -100.0; - mLastSignalLevel = GPS_SIGNAL_QUALITY_UNKNOWN; + mLastSignalLevel = GNSS_SIGNAL_QUALITY_UNKNOWN; } /** @@ -584,9 +577,9 @@ public class GnssMetrics { */ private int getSignalLevel(double cn0) { if (cn0 > POOR_TOP_FOUR_AVG_CN0_THRESHOLD_DB_HZ) { - return GnssMetrics.GPS_SIGNAL_QUALITY_GOOD; + return GNSS_SIGNAL_QUALITY_GOOD; } - return GnssMetrics.GPS_SIGNAL_QUALITY_POOR; + return GNSS_SIGNAL_QUALITY_POOR; } }