diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 81ca23082367f..74b0702ce5f63 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -398,4 +398,8 @@
it has been expanded to reveal its children. -->
false
+
+ false
+
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index efce87177faa8..bd7fee0f7f52c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -235,6 +235,9 @@ public class MobileSignalController extends SignalController<
}
private int getNumLevels() {
+ if (mConfig.inflateSignalStrengths) {
+ return SignalStrength.NUM_SIGNAL_STRENGTH_BINS + 1;
+ }
return SignalStrength.NUM_SIGNAL_STRENGTH_BINS;
}
@@ -243,7 +246,11 @@ public class MobileSignalController extends SignalController<
if (mCurrentState.iconGroup == TelephonyIcons.CARRIER_NETWORK_CHANGE) {
return SignalDrawable.getCarrierChangeState(getNumLevels());
} else if (mCurrentState.connected) {
- return SignalDrawable.getState(mCurrentState.level, getNumLevels(),
+ int level = mCurrentState.level;
+ if (mConfig.inflateSignalStrengths) {
+ level++;
+ }
+ return SignalDrawable.getState(level, getNumLevels(),
mCurrentState.inetCondition == 0);
} else if (mCurrentState.enabled) {
return SignalDrawable.getEmptyState(getNumLevels());
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
index 39f7d1295d1ba..c217bda935c41 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
@@ -958,6 +958,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
boolean show4gForLte = false;
boolean hideLtePlus = false;
boolean hspaDataDistinguishable;
+ boolean inflateSignalStrengths = false;
static Config readConfig(Context context) {
Config config = new Config();
@@ -970,6 +971,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
config.hspaDataDistinguishable =
res.getBoolean(R.bool.config_hspa_data_distinguishable);
config.hideLtePlus = res.getBoolean(R.bool.config_hideLtePlus);
+ config.inflateSignalStrengths = res.getBoolean(R.bool.config_inflateSignalStrength);
return config;
}
}