GSI updates for frameworks/opt/telephony
Change-Id: Ia470aa9e91c81e97669b3d48368f6d26debd9e7a
diff --git a/patches/frameworks/opt/telephony/0001-Add-route-to-gateway-on-null-netmask.patch b/patches/frameworks/opt/telephony/0001-Add-route-to-gateway-on-null-netmask.patch
index 4e6bbcb..5ec625a 100644
--- a/patches/frameworks/opt/telephony/0001-Add-route-to-gateway-on-null-netmask.patch
+++ b/patches/frameworks/opt/telephony/0001-Add-route-to-gateway-on-null-netmask.patch
@@ -1,7 +1,7 @@
-From 0bd942753da9a6c8d7207afb1e0354a9873ddb69 Mon Sep 17 00:00:00 2001
+From 64b10816b1dc84676af92096fbe64efbde502121 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Thu, 16 Aug 2018 22:12:46 +0200
-Subject: [PATCH 1/2] Add route to gateway on null netmask
+Subject: [PATCH 1/5] Add route to gateway on null netmask
Galaxy S9 returns empty prefix
@@ -11,7 +11,7 @@
1 file changed, 17 insertions(+)
diff --git a/src/java/com/android/internal/telephony/dataconnection/DataConnection.java b/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
-index 0696aa931..11947a5af 100644
+index dafab121c..643f488c8 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
@@ -24,6 +24,7 @@ import android.content.Context;
diff --git a/patches/frameworks/opt/telephony/0002-Telephony-Don-not-call-onUssdRelease-for-Huawei-RIL.patch b/patches/frameworks/opt/telephony/0002-Telephony-Don-not-call-onUssdRelease-for-Huawei-RIL.patch
new file mode 100644
index 0000000..b9b99ac
--- /dev/null
+++ b/patches/frameworks/opt/telephony/0002-Telephony-Don-not-call-onUssdRelease-for-Huawei-RIL.patch
@@ -0,0 +1,33 @@
+From c67a53577ca937fdad4cf359f04e89292aa5c8fe Mon Sep 17 00:00:00 2001
+From: Artem Borisov <dedsa2002@gmail.com>
+Date: Sat, 10 Nov 2018 17:19:17 +0000
+Subject: [PATCH 2/5] Telephony: Don not call onUssdRelease for Huawei RIL
+
+Huawei RIL doesn't seem to work properly with USSD_MODE_NW_RELEASE,
+always releasing USSD when it should be finished instead.
+Let's explicitly call onUssdFinished in this case.
+
+Change-Id: I69faed1c51d4582834879975d6ab13daf7f48ad4
+
+Conflicts:
+ src/java/com/android/internal/telephony/GsmCdmaPhone.java
+---
+ src/java/com/android/internal/telephony/GsmCdmaPhone.java | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
+index 1fa1621b6..a5ffb5da0 100644
+--- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java
++++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
+@@ -2154,6 +2154,8 @@ public class GsmCdmaPhone extends Phone {
+ if (isUssdRelease) {
+ if (SystemProperties.getBoolean("ro.telephony.isHisiRIL", false)) {
+ found.onUssdFinished(ussdMessage, isUssdRequest);
++ } else if (SystemProperties.getBoolean("persist.sys.radio.huawei", false)) {
++ found.onUssdFinished(ussdMessage, isUssdRequest);
+ } else {
+ found.onUssdRelease();
+ }
+--
+2.17.1
+
diff --git a/patches/frameworks/opt/telephony/0003-Make-MAX_CONNECTIONS_GSM-settable-from-property.patch b/patches/frameworks/opt/telephony/0003-Make-MAX_CONNECTIONS_GSM-settable-from-property.patch
new file mode 100644
index 0000000..96ae042
--- /dev/null
+++ b/patches/frameworks/opt/telephony/0003-Make-MAX_CONNECTIONS_GSM-settable-from-property.patch
@@ -0,0 +1,28 @@
+From c4631974c0ca50d8444744fa7ce4bfcb8fe1a1d8 Mon Sep 17 00:00:00 2001
+From: Pierre-Hugues Husson <phh@phh.me>
+Date: Fri, 28 Dec 2018 13:06:32 +0100
+Subject: [PATCH 3/5] Make MAX_CONNECTIONS_GSM settable from property
+
+cf https://github.com/phhusson/treble_experimentations/issues/110
+
+Change-Id: I5df755535aa5ded704d4c33122d63ac2481bd5f6
+---
+ src/java/com/android/internal/telephony/GsmCdmaCallTracker.java | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/java/com/android/internal/telephony/GsmCdmaCallTracker.java b/src/java/com/android/internal/telephony/GsmCdmaCallTracker.java
+index f4c561c29..b42caf47c 100755
+--- a/src/java/com/android/internal/telephony/GsmCdmaCallTracker.java
++++ b/src/java/com/android/internal/telephony/GsmCdmaCallTracker.java
+@@ -62,7 +62,7 @@ public class GsmCdmaCallTracker extends CallTracker {
+
+ //***** Constants
+
+- public static final int MAX_CONNECTIONS_GSM = 19; //7 allowed in GSM + 12 from IMS for SRVCC
++ public static final int MAX_CONNECTIONS_GSM = android.os.SystemProperties.getInt("persist.sys.phh.radio.max_connections_gsm", 19); //7 allowed in GSM + 12 from IMS for SRVCC
+ private static final int MAX_CONNECTIONS_PER_CALL_GSM = 5; //only 5 connections allowed per call
+
+ private static final int MAX_CONNECTIONS_CDMA = 8;
+--
+2.17.1
+
diff --git a/patches/frameworks/opt/telephony/0004-Choose-a-more-generic-prop.patch b/patches/frameworks/opt/telephony/0004-Choose-a-more-generic-prop.patch
new file mode 100644
index 0000000..74e8e5a
--- /dev/null
+++ b/patches/frameworks/opt/telephony/0004-Choose-a-more-generic-prop.patch
@@ -0,0 +1,31 @@
+From e6cf4987afa6d20418e59ed7426d3aa8ad99fdaa Mon Sep 17 00:00:00 2001
+From: Dil3mm4 <dil3mm4.dev@gmail.com>
+Date: Sat, 17 Nov 2018 18:18:42 +0000
+Subject: [PATCH 4/5] Choose a more generic prop.
+
+Since USSD it's a problem over MTK too and not only on Kirin, let's be more generic.
+
+Change-Id: Icf1700f55be40915f9c64059019287f300d81405
+
+Conflicts:
+ src/java/com/android/internal/telephony/GsmCdmaPhone.java
+---
+ src/java/com/android/internal/telephony/GsmCdmaPhone.java | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
+index a5ffb5da0..a1840aa43 100644
+--- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java
++++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
+@@ -2154,7 +2154,7 @@ public class GsmCdmaPhone extends Phone {
+ if (isUssdRelease) {
+ if (SystemProperties.getBoolean("ro.telephony.isHisiRIL", false)) {
+ found.onUssdFinished(ussdMessage, isUssdRequest);
+- } else if (SystemProperties.getBoolean("persist.sys.radio.huawei", false)) {
++ } else if (SystemProperties.getBoolean("persist.sys.radio.ussd.fix", false)) {
+ found.onUssdFinished(ussdMessage, isUssdRequest);
+ } else {
+ found.onUssdRelease();
+--
+2.17.1
+
diff --git a/patches/frameworks/opt/telephony/0005-Add-a-property-to-force-all-APNs-to-be-modemCognitiv.patch b/patches/frameworks/opt/telephony/0005-Add-a-property-to-force-all-APNs-to-be-modemCognitiv.patch
new file mode 100644
index 0000000..29020f6
--- /dev/null
+++ b/patches/frameworks/opt/telephony/0005-Add-a-property-to-force-all-APNs-to-be-modemCognitiv.patch
@@ -0,0 +1,38 @@
+From fcb73a7bdf4c39bfd3f22c2fef324d5c82679263 Mon Sep 17 00:00:00 2001
+From: Pierre-Hugues Husson <phh@phh.me>
+Date: Tue, 26 Feb 2019 23:13:21 +0100
+Subject: [PATCH 5/5] Add a property to force all APNs to be modemCognitive.
+ Needed on some MTK modems
+
+Change-Id: I111f1375f3f11e81251eaf782c84a0bef345366c
+
+Conflicts:
+ src/java/com/android/internal/telephony/dataconnection/DcTracker.java
+---
+ .../internal/telephony/dataconnection/DcTracker.java | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
+index 7de9392a9..bb935547d 100644
+--- a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
++++ b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
+@@ -3336,12 +3336,14 @@ public class DcTracker extends Handler {
+ notifyOffApnsOfAvailability(reason);
+ }
+
+- protected void setDataProfilesAsNeeded() {
++ private void setDataProfilesAsNeeded() {
++ boolean forceCognitive = SystemProperties.getBoolean("persist.sys.phh.radio.force_cognitive", false);
++
+ if (DBG) log("setDataProfilesAsNeeded");
+ if (mAllApnSettings != null && !mAllApnSettings.isEmpty()) {
+ ArrayList<DataProfile> dps = new ArrayList<DataProfile>();
+ for (ApnSetting apn : mAllApnSettings) {
+- if (apn.modemCognitive) {
++ if (apn.modemCognitive || forceCognitive) {
+ DataProfile dp = createDataProfile(apn);
+ if (!dps.contains(dp)) {
+ dps.add(dp);
+--
+2.17.1
+