-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy path0003-RIL-Fix-manual-network-selection-with-old-modem.patch
More file actions
68 lines (60 loc) · 3.42 KB
/
Copy path0003-RIL-Fix-manual-network-selection-with-old-modem.patch
File metadata and controls
68 lines (60 loc) · 3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
From 9ab4964eb4da9e30f63fa7c58994fd531dedade9 Mon Sep 17 00:00:00 2001
From: faust93 <monumentum@gmail.com>
Date: Wed, 19 Sep 2018 14:26:54 +0800
Subject: [PATCH 3/5] RIL: Fix manual network selection with old modem
* Old modem sends and applies mccmnc+network type, but new aosp
telephony uses only digits.
* Manually cut or append the "+" and strings after that to work around.
Change-Id: I1015e6c0d6afdc0c03d70e9491d49331703eddcc
---
src/java/com/android/internal/telephony/RIL.java | 7 +++++++
src/java/com/android/internal/telephony/RadioResponse.java | 6 +++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java
index 74e93be88..c9c499504 100644
--- a/src/java/com/android/internal/telephony/RIL.java
+++ b/src/java/com/android/internal/telephony/RIL.java
@@ -256,6 +256,7 @@ public class RIL extends BaseCommands implements CommandsInterface {
final Integer mPhoneId;
private List<String> mOldRilFeatures;
+ private boolean mUseOldMncMccFormat;
private static final String PROPERTY_IS_VONR_ENABLED = "persist.radio.is_vonr_enabled_";
@@ -624,6 +625,9 @@ public class RIL extends BaseCommands implements CommandsInterface {
final String oldRilFeatures = SystemProperties.get("ro.telephony.ril.config", "");
mOldRilFeatures = Arrays.asList(oldRilFeatures.split(","));
+ mUseOldMncMccFormat = SystemProperties.getBoolean(
+ "ro.telephony.use_old_mnc_mcc_format", false);
+
TelephonyManager tm = (TelephonyManager) context.getSystemService(
Context.TELEPHONY_SERVICE);
mIsCellularSupported = tm.isVoiceCapable() || tm.isSmsCapable() || tm.isDataCapable();
@@ -2561,6 +2565,9 @@ public class RIL extends BaseCommands implements CommandsInterface {
if (radioProxy != null) {
RILRequest rr = obtainRequest(RIL_REQUEST_SET_NETWORK_SELECTION_MANUAL, result,
mRILDefaultWorkSource);
+ if (mUseOldMncMccFormat && !TextUtils.isEmpty(operatorNumeric)) {
+ operatorNumeric += "+";
+ }
try {
int halRan = convertAntToRan(ran);
if (mRadioVersion.greaterOrEqual(RADIO_HAL_VERSION_1_5)) {
diff --git a/src/java/com/android/internal/telephony/RadioResponse.java b/src/java/com/android/internal/telephony/RadioResponse.java
index 9e08b9c40..7994576da 100644
--- a/src/java/com/android/internal/telephony/RadioResponse.java
+++ b/src/java/com/android/internal/telephony/RadioResponse.java
@@ -2576,8 +2576,12 @@ public class RadioResponse extends IRadioResponse.Stub {
if (rr != null) {
ArrayList<OperatorInfo> ret = new ArrayList<OperatorInfo>();
for (int i = 0; i < networkInfos.size(); i++) {
+ String operatorNumeric = networkInfos.get(i).operatorNumeric;
+ if (operatorNumeric != null) {
+ operatorNumeric = operatorNumeric.split("\\+")[0];
+ }
ret.add(new OperatorInfo(networkInfos.get(i).alphaLong,
- networkInfos.get(i).alphaShort, networkInfos.get(i).operatorNumeric,
+ networkInfos.get(i).alphaShort, operatorNumeric,
convertOpertatorInfoToString(networkInfos.get(i).status)));
}
if (responseInfo.error == RadioError.NONE) {
--
2.35.1