Merge "Customization of LTE Signal Bars"

This commit is contained in:
Treehugger Robot
2016-11-18 20:44:14 +00:00
committed by Gerrit Code Review
5 changed files with 40 additions and 37 deletions

View File

@@ -25,12 +25,15 @@
--> -->
<integer name="config_mobile_mtu">1358</integer> <integer name="config_mobile_mtu">1358</integer>
<!-- Flag indicating whether strict threshold is used, or lenient threshold is used, <!--Thresholds for LTE dbm in status bar-->
when evaluating RSRP for LTE antenna bar display <integer-array translatable="false" name="config_lteDbmThresholds">
0. Strict threshold <item>-140</item> <!-- SIGNAL_STRENGTH_NONE_OR_UNKNOWN -->
1. Lenient threshold <item>-115</item> <!-- SIGNAL_STRENGTH_POOR -->
--> <item>-105</item> <!-- SIGNAL_STRENGTH_MODERATE -->
<integer name="config_LTE_RSRP_threshold_type">0</integer> <item>-95</item> <!-- SIGNAL_STRENGTH_GOOD -->
<item>-85</item> <!-- SIGNAL_STRENGTH_GREAT -->
<item>-44</item>
</integer-array>
<string-array translatable="false" name="config_sms_convert_destination_number_support"> <string-array translatable="false" name="config_sms_convert_destination_number_support">
<item>true;BAE0000000000000</item> <item>true;BAE0000000000000</item>

View File

@@ -53,12 +53,15 @@
<bool name="config_auto_attach_data_on_creation">false</bool> <bool name="config_auto_attach_data_on_creation">false</bool>
<!-- Flag indicating whether strict threshold is used, or lenient threshold is used, <!--Thresholds for LTE dbm in status bar-->
when evaluating RSRP for LTE antenna bar display <integer-array translatable="false" name="config_lteDbmThresholds">
0. Strict threshold <item>-140</item> <!-- SIGNAL_STRENGTH_NONE_OR_UNKNOWN -->
1. Lenient threshold <item>-115</item> <!-- SIGNAL_STRENGTH_POOR -->
--> <item>-105</item> <!-- SIGNAL_STRENGTH_MODERATE -->
<integer name="config_LTE_RSRP_threshold_type">0</integer> <item>-95</item> <!-- SIGNAL_STRENGTH_GOOD -->
<item>-85</item> <!-- SIGNAL_STRENGTH_GREAT -->
<item>-44</item>
</integer-array>
<string-array translatable="false" name="config_sms_convert_destination_number_support"> <string-array translatable="false" name="config_sms_convert_destination_number_support">
<item>true</item> <item>true</item>

View File

@@ -2247,12 +2247,15 @@
<bool name="config_sms_force_7bit_encoding">false</bool> <bool name="config_sms_force_7bit_encoding">false</bool>
<!-- Flag indicating whether strict threshold is used, or lenient threshold is used, <!--Thresholds for LTE dbm in status bar-->
when evaluating RSRP for LTE antenna bar display <integer-array translatable="false" name="config_lteDbmThresholds">
0. Strict threshold <item>-140</item> <!-- SIGNAL_STRENGTH_NONE_OR_UNKNOWN -->
1. Lenient threshold <item>-128</item> <!-- SIGNAL_STRENGTH_POOR -->
--> <item>-118</item> <!-- SIGNAL_STRENGTH_MODERATE -->
<integer name="config_LTE_RSRP_threshold_type">1</integer> <item>-108</item> <!-- SIGNAL_STRENGTH_GOOD -->
<item>-98</item> <!-- SIGNAL_STRENGTH_GREAT -->
<item>-44</item>
</integer-array>
<!-- Enabled built-in zen mode condition providers --> <!-- Enabled built-in zen mode condition providers -->
<string-array translatable="false" name="config_system_condition_providers"> <string-array translatable="false" name="config_system_condition_providers">

View File

@@ -2259,7 +2259,7 @@
<java-symbol type="dimen" name="cascading_menus_min_smallest_width" /> <java-symbol type="dimen" name="cascading_menus_min_smallest_width" />
<!-- From SignalStrength --> <!-- From SignalStrength -->
<java-symbol type="integer" name="config_LTE_RSRP_threshold_type" /> <java-symbol type="array" name="config_lteDbmThresholds" />
<java-symbol type="string" name="android_system_label" /> <java-symbol type="string" name="android_system_label" />
<java-symbol type="string" name="system_error_wipe_data" /> <java-symbol type="string" name="system_error_wipe_data" />

View File

@@ -20,6 +20,7 @@ import android.os.Bundle;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.telephony.Rlog; import android.telephony.Rlog;
import android.util.Log;
import android.content.res.Resources; import android.content.res.Resources;
/** /**
@@ -51,11 +52,6 @@ public class SignalStrength implements Parcelable {
//Use int max, as -1 is a valid value in signal strength //Use int max, as -1 is a valid value in signal strength
public static final int INVALID = 0x7FFFFFFF; public static final int INVALID = 0x7FFFFFFF;
private static final int RSRP_THRESH_TYPE_STRICT = 0;
private static final int[] RSRP_THRESH_STRICT = new int[] {-140, -115, -105, -95, -85, -44};
private static final int[] RSRP_THRESH_LENIENT = new int[] {-140, -128, -118, -108, -98, -44};
private int mGsmSignalStrength; // Valid values are (0-31, 99) as defined in TS 27.007 8.5 private int mGsmSignalStrength; // Valid values are (0-31, 99) as defined in TS 27.007 8.5
private int mGsmBitErrorRate; // bit error rate (0-7, 99) as defined in TS 27.007 8.5 private int mGsmBitErrorRate; // bit error rate (0-7, 99) as defined in TS 27.007 8.5
private int mCdmaDbm; // This value is the RSSI value private int mCdmaDbm; // This value is the RSSI value
@@ -791,22 +787,20 @@ public class SignalStrength implements Parcelable {
*/ */
int rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN, rsrpIconLevel = -1, snrIconLevel = -1; int rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN, rsrpIconLevel = -1, snrIconLevel = -1;
int rsrpThreshType = Resources.getSystem().getInteger(com.android.internal.R.integer. int[] threshRsrp = Resources.getSystem().getIntArray(
config_LTE_RSRP_threshold_type); com.android.internal.R.array.config_lteDbmThresholds);
int[] threshRsrp; if (threshRsrp.length != 6) {
if (rsrpThreshType == RSRP_THRESH_TYPE_STRICT) { Log.wtf(LOG_TAG, "getLteLevel - config_lteDbmThresholds has invalid num of elements."
threshRsrp = RSRP_THRESH_STRICT; + " Cannot evaluate RSRP signal.");
} else { } else {
threshRsrp = RSRP_THRESH_LENIENT; if (mLteRsrp > threshRsrp[5]) rsrpIconLevel = -1;
else if (mLteRsrp >= threshRsrp[4]) rsrpIconLevel = SIGNAL_STRENGTH_GREAT;
else if (mLteRsrp >= threshRsrp[3]) rsrpIconLevel = SIGNAL_STRENGTH_GOOD;
else if (mLteRsrp >= threshRsrp[2]) rsrpIconLevel = SIGNAL_STRENGTH_MODERATE;
else if (mLteRsrp >= threshRsrp[1]) rsrpIconLevel = SIGNAL_STRENGTH_POOR;
else if (mLteRsrp >= threshRsrp[0]) rsrpIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
} }
if (mLteRsrp > threshRsrp[5]) rsrpIconLevel = -1;
else if (mLteRsrp >= threshRsrp[4]) rsrpIconLevel = SIGNAL_STRENGTH_GREAT;
else if (mLteRsrp >= threshRsrp[3]) rsrpIconLevel = SIGNAL_STRENGTH_GOOD;
else if (mLteRsrp >= threshRsrp[2]) rsrpIconLevel = SIGNAL_STRENGTH_MODERATE;
else if (mLteRsrp >= threshRsrp[1]) rsrpIconLevel = SIGNAL_STRENGTH_POOR;
else if (mLteRsrp >= threshRsrp[0]) rsrpIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
/* /*
* Values are -200 dB to +300 (SNR*10dB) RS_SNR >= 13.0 dB =>4 bars 4.5 * Values are -200 dB to +300 (SNR*10dB) RS_SNR >= 13.0 dB =>4 bars 4.5
* dB <= RS_SNR < 13.0 dB => 3 bars 1.0 dB <= RS_SNR < 4.5 dB => 2 bars * dB <= RS_SNR < 13.0 dB => 3 bars 1.0 dB <= RS_SNR < 4.5 dB => 2 bars