blob: c2f6eb8b9c3453d160e6d4980731a5ad82bbc4fc [file] [log] [blame]
Jon Westeb45d5e2019-03-17 16:58:43 -04001From 6fcc14c6109e17cd47d007e6dd677d3ce5616bdd Mon Sep 17 00:00:00 2001
Jon West013ef582018-08-21 20:45:26 -04002From: Pierre-Hugues Husson <phh@phh.me>
3Date: Mon, 6 Aug 2018 20:01:44 +0200
Jon Westeb45d5e2019-03-17 16:58:43 -04004Subject: [PATCH 14/27] Change SignalStrentgh to change behaviour based on
Jon West013ef582018-08-21 20:45:26 -04005 property
6
7Change-Id: I940ed724047567ec5195ac93ea04574c3d92f70b
Jon Westeb45d5e2019-03-17 16:58:43 -04008
9Conflicts:
10 telephony/java/android/telephony/SignalStrength.java
Jon West013ef582018-08-21 20:45:26 -040011---
Jon Westeb45d5e2019-03-17 16:58:43 -040012 .../android/telephony/SignalStrength.java | 40 ++++++++++++-------
13 1 file changed, 26 insertions(+), 14 deletions(-)
Jon West013ef582018-08-21 20:45:26 -040014
15diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java
Jon Westeb45d5e2019-03-17 16:58:43 -040016index 55c0c778972..ff906d330d4 100644
Jon West013ef582018-08-21 20:45:26 -040017--- a/telephony/java/android/telephony/SignalStrength.java
18+++ b/telephony/java/android/telephony/SignalStrength.java
19@@ -854,6 +854,7 @@ public class SignalStrength implements Parcelable {
20 * RSRQ = quality of signal dB = Number of Resource blocks*RSRP/RSSI
21 * SNR = gain = signal/noise ratio = -10log P1/P2 dB
22 */
23+ String method = android.os.SystemProperties.get("persist.sys.signal.level", "default");
24 int rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN, rsrpIconLevel = -1, snrIconLevel = -1;
25
26 if (mLteRsrp > MAX_LTE_RSRP || mLteRsrp < MIN_LTE_RSRP) {
Jon Westeb45d5e2019-03-17 16:58:43 -040027@@ -897,8 +898,31 @@ public class SignalStrength implements Parcelable {
28 + rsrpIconLevel + " snrIconLevel:" + snrIconLevel
29 + " lteRsrpBoost:" + mLteRsrpBoost);
Jon West013ef582018-08-21 20:45:26 -040030
Jon Westeb45d5e2019-03-17 16:58:43 -040031- /* Ignore RSSNR for now */
32- if(rsrpIconLevel != -1) return rsrpIconLevel;
Jon West013ef582018-08-21 20:45:26 -040033+ /* Valid values are (0-63, 99) as defined in TS 36.331 */
34+ // TODO the range here is probably supposed to be (0..31, 99). It's unclear if anyone relies
35+ // on the current incorrect range check, so this will be fixed in a future release with more
36+ // soak time
37+ if (mLteSignalStrength > 63) rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
38+ else if (mLteSignalStrength >= 12) rssiIconLevel = SIGNAL_STRENGTH_GREAT;
39+ else if (mLteSignalStrength >= 8) rssiIconLevel = SIGNAL_STRENGTH_GOOD;
40+ else if (mLteSignalStrength >= 5) rssiIconLevel = SIGNAL_STRENGTH_MODERATE;
41+ else if (mLteSignalStrength >= 0) rssiIconLevel = SIGNAL_STRENGTH_POOR;
42+
43+ if (DBG) log("getLTELevel - rssi:" + mLteSignalStrength + " rssiIconLevel:"
44+ + rssiIconLevel);
45+
46+ if("rsrp".equals(method)) {
47+ if(rsrpIconLevel == -1) rsrpIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
48+ return rsrpIconLevel;
49+ }
50+ if("rssnr".equals(method)) {
51+ if(snrIconLevel == -1) snrIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
52+ return snrIconLevel;
53+ }
54+ if("rssi".equals(method)) {
55+ if(rssiIconLevel == -1) rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
56+ return rssiIconLevel;
57+ }
Jon Westeb45d5e2019-03-17 16:58:43 -040058
Jon West013ef582018-08-21 20:45:26 -040059 /* Choose a measurement type to use for notification */
60 if (snrIconLevel != -1 && rsrpIconLevel != -1) {
Jon Westeb45d5e2019-03-17 16:58:43 -040061@@ -914,18 +938,6 @@ public class SignalStrength implements Parcelable {
Jon West013ef582018-08-21 20:45:26 -040062
63 if (rsrpIconLevel != -1) return rsrpIconLevel;
64
65- /* Valid values are (0-63, 99) as defined in TS 36.331 */
66- // TODO the range here is probably supposed to be (0..31, 99). It's unclear if anyone relies
67- // on the current incorrect range check, so this will be fixed in a future release with more
68- // soak time
69- if (mLteSignalStrength > 63) rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
70- else if (mLteSignalStrength >= 12) rssiIconLevel = SIGNAL_STRENGTH_GREAT;
71- else if (mLteSignalStrength >= 8) rssiIconLevel = SIGNAL_STRENGTH_GOOD;
72- else if (mLteSignalStrength >= 5) rssiIconLevel = SIGNAL_STRENGTH_MODERATE;
73- else if (mLteSignalStrength >= 0) rssiIconLevel = SIGNAL_STRENGTH_POOR;
74-
75- if (DBG) log("getLteLevel - rssi:" + mLteSignalStrength + " rssiIconLevel:"
76- + rssiIconLevel);
77 return rssiIconLevel;
78
79 }
80--
Jackeagled3ba2282018-11-17 20:49:22 -0700812.17.1
Jon West013ef582018-08-21 20:45:26 -040082