summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt1
-rw-r--r--core/java/android/os/BatteryStats.java14
-rw-r--r--core/java/android/os/connectivity/CellularBatteryStats.java6
-rw-r--r--core/java/com/android/internal/os/BatteryStatsImpl.java30
-rw-r--r--core/java/com/android/internal/os/MobileRadioPowerCalculator.java4
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/graph/SignalDrawable.java4
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java7
-rw-r--r--telephony/java/android/telephony/CellSignalStrength.java13
-rw-r--r--telephony/java/android/telephony/SignalStrength.java6
9 files changed, 43 insertions, 42 deletions
diff --git a/api/current.txt b/api/current.txt
index 04fdaec58d49..09006a57739e 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -44787,6 +44787,7 @@ package android.telephony {
method public abstract int getAsuLevel();
method public abstract int getDbm();
method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public abstract int getLevel();
+ method public static final int getNumSignalStrengthLevels();
method public abstract int hashCode();
field public static final int SIGNAL_STRENGTH_GOOD = 3; // 0x3
field public static final int SIGNAL_STRENGTH_GREAT = 4; // 0x4
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index 95815e48016d..9fed26916899 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -27,7 +27,7 @@ import android.content.pm.ApplicationInfo;
import android.server.ServerProtoEnums;
import android.service.batterystats.BatteryStatsServiceDumpHistoryProto;
import android.service.batterystats.BatteryStatsServiceDumpProto;
-import android.telephony.SignalStrength;
+import android.telephony.CellSignalStrength;
import android.telephony.TelephonyManager;
import android.text.format.DateFormat;
import android.util.ArrayMap;
@@ -2529,7 +2529,7 @@ public abstract class BatteryStats implements Parcelable {
new String[] {"in", "out", "em", "off"}),
new BitDescription(HistoryItem.STATE_PHONE_SIGNAL_STRENGTH_MASK,
HistoryItem.STATE_PHONE_SIGNAL_STRENGTH_SHIFT, "phone_signal_strength", "Pss",
- SignalStrength.SIGNAL_STRENGTH_NAMES,
+ new String[] { "none", "poor", "moderate", "good", "great" },
new String[] { "0", "1", "2", "3", "4" }),
new BitDescription(HistoryItem.STATE_BRIGHTNESS_MASK,
HistoryItem.STATE_BRIGHTNESS_SHIFT, "brightness", "Sb",
@@ -3891,14 +3891,14 @@ public abstract class BatteryStats implements Parcelable {
dumpLine(pw, 0 /* uid */, category, SCREEN_BRIGHTNESS_DATA, args);
// Dump signal strength stats
- args = new Object[SignalStrength.NUM_SIGNAL_STRENGTH_BINS];
- for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
+ args = new Object[CellSignalStrength.getNumSignalStrengthLevels()];
+ for (int i = 0; i < CellSignalStrength.getNumSignalStrengthLevels(); i++) {
args[i] = getPhoneSignalStrengthTime(i, rawRealtime, which) / 1000;
}
dumpLine(pw, 0 /* uid */, category, SIGNAL_STRENGTH_TIME_DATA, args);
dumpLine(pw, 0 /* uid */, category, SIGNAL_SCANNING_TIME_DATA,
getPhoneSignalScanningTime(rawRealtime, which) / 1000);
- for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
+ for (int i = 0; i < CellSignalStrength.getNumSignalStrengthLevels(); i++) {
args[i] = getPhoneSignalStrengthCount(i, which);
}
dumpLine(pw, 0 /* uid */, category, SIGNAL_STRENGTH_COUNT_DATA, args);
@@ -4968,7 +4968,7 @@ public abstract class BatteryStats implements Parcelable {
"good (-108dBm to -98dBm): ",
"great (greater than -98dBm): "};
didOne = false;
- final int numCellularRxBins = Math.min(SignalStrength.NUM_SIGNAL_STRENGTH_BINS,
+ final int numCellularRxBins = Math.min(CellSignalStrength.getNumSignalStrengthLevels(),
cellularRxSignalStrengthDescription.length);
for (int i=0; i<numCellularRxBins; i++) {
final long time = getPhoneSignalStrengthTime(i, rawRealtime, which);
@@ -8216,7 +8216,7 @@ public abstract class BatteryStats implements Parcelable {
which);
// Phone signal strength (SIGNAL_STRENGTH_TIME_DATA and SIGNAL_STRENGTH_COUNT_DATA)
- for (int i = 0; i < SignalStrength.NUM_SIGNAL_STRENGTH_BINS; ++i) {
+ for (int i = 0; i < CellSignalStrength.getNumSignalStrengthLevels(); ++i) {
final long pssToken = proto.start(SystemProto.PHONE_SIGNAL_STRENGTH);
proto.write(SystemProto.PhoneSignalStrength.NAME, i);
dumpTimer(proto, SystemProto.PhoneSignalStrength.TOTAL, getPhoneSignalStrengthTimer(i),
diff --git a/core/java/android/os/connectivity/CellularBatteryStats.java b/core/java/android/os/connectivity/CellularBatteryStats.java
index caa406899161..b8c180221ca2 100644
--- a/core/java/android/os/connectivity/CellularBatteryStats.java
+++ b/core/java/android/os/connectivity/CellularBatteryStats.java
@@ -22,8 +22,8 @@ import android.os.BatteryStats;
import android.os.Parcel;
import android.os.Parcelable;
import android.telephony.Annotation.NetworkType;
+import android.telephony.CellSignalStrength;
import android.telephony.ModemActivityInfo;
-import android.telephony.SignalStrength;
import java.util.Arrays;
import java.util.Objects;
@@ -48,7 +48,7 @@ public final class CellularBatteryStats implements Parcelable {
private long mEnergyConsumedMaMs = 0;
private long[] mTimeInRatMs = new long[BatteryStats.NUM_DATA_CONNECTION_TYPES];
private long[] mTimeInRxSignalStrengthLevelMs =
- new long[SignalStrength.NUM_SIGNAL_STRENGTH_BINS];
+ new long[CellSignalStrength.getNumSignalStrengthLevels()];
private long[] mTxTimeMs = new long[ModemActivityInfo.TX_POWER_LEVELS];
private long mMonitoredRailChargeConsumedMaMs = 0;
@@ -354,7 +354,7 @@ public final class CellularBatteryStats implements Parcelable {
/** @hide **/
public void setTimeInRxSignalStrengthLevelMicros(@NonNull long[] t) {
mTimeInRxSignalStrengthLevelMs = Arrays.copyOfRange(t, 0,
- Math.min(t.length, SignalStrength.NUM_SIGNAL_STRENGTH_BINS));
+ Math.min(t.length, CellSignalStrength.getNumSignalStrengthLevels()));
return;
}
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index b350028a4d83..25fa65e19260 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -58,6 +58,7 @@ import android.os.connectivity.CellularBatteryStats;
import android.os.connectivity.GpsBatteryStats;
import android.os.connectivity.WifiBatteryStats;
import android.provider.Settings;
+import android.telephony.CellSignalStrength;
import android.telephony.DataConnectionRealTimeInfo;
import android.telephony.ModemActivityInfo;
import android.telephony.ModemActivityInfo.TransmitPower;
@@ -832,7 +833,7 @@ public class BatteryStatsImpl extends BatteryStats {
int mPhoneSignalStrengthBin = -1;
int mPhoneSignalStrengthBinRaw = -1;
final StopwatchTimer[] mPhoneSignalStrengthsTimer =
- new StopwatchTimer[SignalStrength.NUM_SIGNAL_STRENGTH_BINS];
+ new StopwatchTimer[CellSignalStrength.getNumSignalStrengthLevels()];
StopwatchTimer mPhoneSignalScanningTimer;
@@ -5131,7 +5132,7 @@ public class BatteryStatsImpl extends BatteryStats {
void stopAllPhoneSignalStrengthTimersLocked(int except) {
final long elapsedRealtime = mClocks.elapsedRealtime();
- for (int i = 0; i < SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
+ for (int i = 0; i < CellSignalStrength.getNumSignalStrengthLevels(); i++) {
if (i == except) {
continue;
}
@@ -5146,7 +5147,7 @@ public class BatteryStatsImpl extends BatteryStats {
// In this case we will always be STATE_OUT_OF_SERVICE, so need
// to infer that we are scanning from other data.
if (state == ServiceState.STATE_OUT_OF_SERVICE
- && signalBin > SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN) {
+ && signalBin > CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN) {
state = ServiceState.STATE_IN_SERVICE;
}
}
@@ -5169,7 +5170,7 @@ public class BatteryStatsImpl extends BatteryStats {
// In this case we will always be STATE_OUT_OF_SERVICE, so need
// to infer that we are scanning from other data.
if (state == ServiceState.STATE_OUT_OF_SERVICE
- && strengthBin > SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN) {
+ && strengthBin > CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN) {
state = ServiceState.STATE_IN_SERVICE;
}
}
@@ -5186,7 +5187,7 @@ public class BatteryStatsImpl extends BatteryStats {
// bin and have the scanning bit set.
} else if (state == ServiceState.STATE_OUT_OF_SERVICE) {
scanning = true;
- strengthBin = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
+ strengthBin = CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
if (!mPhoneSignalScanningTimer.isRunningLocked()) {
mHistoryCur.states |= HistoryItem.STATE_PHONE_SCANNING_FLAG;
newHistory = true;
@@ -9786,7 +9787,7 @@ public class BatteryStatsImpl extends BatteryStats {
mDeviceLightIdlingTimer = new StopwatchTimer(mClocks, null, -15, null, mOnBatteryTimeBase);
mDeviceIdlingTimer = new StopwatchTimer(mClocks, null, -12, null, mOnBatteryTimeBase);
mPhoneOnTimer = new StopwatchTimer(mClocks, null, -3, null, mOnBatteryTimeBase);
- for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
+ for (int i = 0; i < CellSignalStrength.getNumSignalStrengthLevels(); i++) {
mPhoneSignalStrengthsTimer[i] = new StopwatchTimer(mClocks, null, -200-i, null,
mOnBatteryTimeBase);
}
@@ -10495,7 +10496,7 @@ public class BatteryStatsImpl extends BatteryStats {
mFlashlightOnTimer.reset(false);
mCameraOnTimer.reset(false);
mBluetoothScanTimer.reset(false);
- for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
+ for (int i = 0; i < CellSignalStrength.getNumSignalStrengthLevels(); i++) {
mPhoneSignalStrengthsTimer[i].reset(false);
}
mPhoneSignalScanningTimer.reset(false);
@@ -11057,7 +11058,7 @@ public class BatteryStatsImpl extends BatteryStats {
mPowerProfile.getAveragePower(PowerProfile.POWER_MODEM_CONTROLLER_RX);
List<TransmitPower> txPowerInfo = deltaInfo.getTransmitPowerInfo();
for (int i = 0; i < Math.min(txPowerInfo.size(),
- SignalStrength.NUM_SIGNAL_STRENGTH_BINS); i++) {
+ CellSignalStrength.getNumSignalStrengthLevels()); i++) {
energyUsed += txPowerInfo.get(i).getTimeInMillis() * mPowerProfile
.getAveragePower(PowerProfile.POWER_MODEM_CONTROLLER_TX, i);
}
@@ -12608,7 +12609,8 @@ public class BatteryStatsImpl extends BatteryStats {
for (int i = 0; i < timeInRatMs.length; i++) {
timeInRatMs[i] = getPhoneDataConnectionTime(i, rawRealTime, which) / 1000;
}
- long[] timeInRxSignalStrengthLevelMs = new long[SignalStrength.NUM_SIGNAL_STRENGTH_BINS];
+ long[] timeInRxSignalStrengthLevelMs =
+ new long[CellSignalStrength.getNumSignalStrengthLevels()];
for (int i = 0; i < timeInRxSignalStrengthLevelMs.length; i++) {
timeInRxSignalStrengthLevelMs[i]
= getPhoneSignalStrengthTime(i, rawRealTime, which) / 1000;
@@ -13616,7 +13618,7 @@ public class BatteryStatsImpl extends BatteryStats {
mDeviceLightIdlingTimer.readSummaryFromParcelLocked(in);
mDeviceIdlingTimer.readSummaryFromParcelLocked(in);
mPhoneOnTimer.readSummaryFromParcelLocked(in);
- for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
+ for (int i = 0; i < CellSignalStrength.getNumSignalStrengthLevels(); i++) {
mPhoneSignalStrengthsTimer[i].readSummaryFromParcelLocked(in);
}
mPhoneSignalScanningTimer.readSummaryFromParcelLocked(in);
@@ -14101,7 +14103,7 @@ public class BatteryStatsImpl extends BatteryStats {
mDeviceLightIdlingTimer.writeSummaryFromParcelLocked(out, NOWREAL_SYS);
mDeviceIdlingTimer.writeSummaryFromParcelLocked(out, NOWREAL_SYS);
mPhoneOnTimer.writeSummaryFromParcelLocked(out, NOWREAL_SYS);
- for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
+ for (int i = 0; i < CellSignalStrength.getNumSignalStrengthLevels(); i++) {
mPhoneSignalStrengthsTimer[i].writeSummaryFromParcelLocked(out, NOWREAL_SYS);
}
mPhoneSignalScanningTimer.writeSummaryFromParcelLocked(out, NOWREAL_SYS);
@@ -14579,7 +14581,7 @@ public class BatteryStatsImpl extends BatteryStats {
mOnBatteryTimeBase, in);
mDeviceIdlingTimer = new StopwatchTimer(mClocks, null, -12, null, mOnBatteryTimeBase, in);
mPhoneOnTimer = new StopwatchTimer(mClocks, null, -3, null, mOnBatteryTimeBase, in);
- for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
+ for (int i = 0; i < CellSignalStrength.getNumSignalStrengthLevels(); i++) {
mPhoneSignalStrengthsTimer[i] = new StopwatchTimer(mClocks, null, -200-i,
null, mOnBatteryTimeBase, in);
}
@@ -14798,7 +14800,7 @@ public class BatteryStatsImpl extends BatteryStats {
mDeviceLightIdlingTimer.writeToParcel(out, uSecRealtime);
mDeviceIdlingTimer.writeToParcel(out, uSecRealtime);
mPhoneOnTimer.writeToParcel(out, uSecRealtime);
- for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
+ for (int i = 0; i < CellSignalStrength.getNumSignalStrengthLevels(); i++) {
mPhoneSignalStrengthsTimer[i].writeToParcel(out, uSecRealtime);
}
mPhoneSignalScanningTimer.writeToParcel(out, uSecRealtime);
@@ -14989,7 +14991,7 @@ public class BatteryStatsImpl extends BatteryStats {
mDeviceIdlingTimer.logState(pr, " ");
pr.println("*** Phone timer:");
mPhoneOnTimer.logState(pr, " ");
- for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
+ for (int i = 0; i < CellSignalStrength.getNumSignalStrengthLevels(); i++) {
pr.println("*** Phone signal strength #" + i + ":");
mPhoneSignalStrengthsTimer[i].logState(pr, " ");
}
diff --git a/core/java/com/android/internal/os/MobileRadioPowerCalculator.java b/core/java/com/android/internal/os/MobileRadioPowerCalculator.java
index 9e8f06d994f0..7c77d285bfc3 100644
--- a/core/java/com/android/internal/os/MobileRadioPowerCalculator.java
+++ b/core/java/com/android/internal/os/MobileRadioPowerCalculator.java
@@ -16,14 +16,14 @@
package com.android.internal.os;
import android.os.BatteryStats;
-import android.telephony.SignalStrength;
+import android.telephony.CellSignalStrength;
import android.util.Log;
public class MobileRadioPowerCalculator extends PowerCalculator {
private static final String TAG = "MobileRadioPowerController";
private static final boolean DEBUG = BatteryStatsHelper.DEBUG;
private final double mPowerRadioOn;
- private final double[] mPowerBins = new double[SignalStrength.NUM_SIGNAL_STRENGTH_BINS];
+ private final double[] mPowerBins = new double[CellSignalStrength.getNumSignalStrengthLevels()];
private final double mPowerScan;
private BatteryStats mStats;
private long mTotalAppMobileActiveMs = 0;
diff --git a/packages/SettingsLib/src/com/android/settingslib/graph/SignalDrawable.java b/packages/SettingsLib/src/com/android/settingslib/graph/SignalDrawable.java
index 5ac788e1b374..3b41fa99d6c4 100644
--- a/packages/SettingsLib/src/com/android/settingslib/graph/SignalDrawable.java
+++ b/packages/SettingsLib/src/com/android/settingslib/graph/SignalDrawable.java
@@ -32,7 +32,7 @@ import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.drawable.DrawableWrapper;
import android.os.Handler;
-import android.telephony.SignalStrength;
+import android.telephony.CellSignalStrength;
import android.util.LayoutDirection;
import android.util.PathParser;
@@ -145,7 +145,7 @@ public class SignalDrawable extends DrawableWrapper {
private int unpackLevel(int packedState) {
int numBins = (packedState & NUM_LEVEL_MASK) >> NUM_LEVEL_SHIFT;
- int levelOffset = numBins == (SignalStrength.NUM_SIGNAL_STRENGTH_BINS + 1) ? 10 : 0;
+ int levelOffset = numBins == (CellSignalStrength.getNumSignalStrengthLevels() + 1) ? 10 : 0;
int level = (packedState & LEVEL_MASK);
return level + levelOffset;
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java
index 57dcbf21e147..4103d7189266 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java
@@ -26,6 +26,7 @@ import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkCapabilities;
import android.os.Looper;
+import android.telephony.CellSignalStrength;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.SubscriptionInfo;
@@ -180,7 +181,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
@Test
public void testCdmaSignalRoaming() {
- for (int testStrength = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
+ for (int testStrength = CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
testStrength <= SignalStrength.SIGNAL_STRENGTH_GREAT; testStrength++) {
setupDefaultSignal();
setCdma();
@@ -203,7 +204,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
@Test
public void testQsSignalStrength() {
- for (int testStrength = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
+ for (int testStrength = CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
testStrength <= SignalStrength.SIGNAL_STRENGTH_GREAT; testStrength++) {
setupDefaultSignal();
setLevel(testStrength);
@@ -216,7 +217,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
@Test
public void testCdmaQsSignalStrength() {
- for (int testStrength = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
+ for (int testStrength = CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
testStrength <= SignalStrength.SIGNAL_STRENGTH_GREAT; testStrength++) {
setupDefaultSignal();
setCdma();
diff --git a/telephony/java/android/telephony/CellSignalStrength.java b/telephony/java/android/telephony/CellSignalStrength.java
index e65b048ec0a5..cb8fdf0141b8 100644
--- a/telephony/java/android/telephony/CellSignalStrength.java
+++ b/telephony/java/android/telephony/CellSignalStrength.java
@@ -46,11 +46,6 @@ public abstract class CellSignalStrength {
protected static final int NUM_SIGNAL_STRENGTH_THRESHOLDS = NUM_SIGNAL_STRENGTH_BINS - 1;
/** @hide */
- public static final String[] SIGNAL_STRENGTH_NAMES = {
- "none", "poor", "moderate", "good", "great"
- };
-
- /** @hide */
protected CellSignalStrength() {
}
@@ -157,4 +152,12 @@ public abstract class CellSignalStrength {
if ((value < rangeMin || value > rangeMax) && value != special) return CellInfo.UNAVAILABLE;
return value;
}
+
+ /**
+ * Returns the number of signal strength levels.
+ * @return Number of signal strength levels, enforced to be 5
+ */
+ public static final int getNumSignalStrengthLevels() {
+ return NUM_SIGNAL_STRENGTH_BINS;
+ }
}
diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java
index 480c9d9450f4..9aafc1be5831 100644
--- a/telephony/java/android/telephony/SignalStrength.java
+++ b/telephony/java/android/telephony/SignalStrength.java
@@ -60,12 +60,6 @@ public class SignalStrength implements Parcelable {
@UnsupportedAppUsage
public static final int NUM_SIGNAL_STRENGTH_BINS = 5;
- /** SIGNAL_STRENGTH_NAMES is currently used by BatteryStats, but to-be-removed soon. */
- /** @hide */
- public static final String[] SIGNAL_STRENGTH_NAMES = {
- "none", "poor", "moderate", "good", "great"
- };
-
/**
* Indicates the invalid measures of signal strength.
*