aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Shields <keepcalm444@gmail.com>2016-08-31 23:47:22 +1000
committerMichael Bestas <mikeioannina@gmail.com>2017-01-07 01:41:41 +0200
commit3fa872792d7a19069315de348003e341d6343aaf (patch)
treee1bde2ccd52cfa653d2cb7c591828690ee1e4914
parentec9273d5cb4ba35c93e9a4bd8a95ac3420b4bd2a (diff)
downloadandroid_frameworks_opt_telephony-3fa872792d7a19069315de348003e341d6343aaf.tar.gz
android_frameworks_opt_telephony-3fa872792d7a19069315de348003e341d6343aaf.tar.bz2
android_frameworks_opt_telephony-3fa872792d7a19069315de348003e341d6343aaf.zip
RIL: Squash support for mQANElements
commit d76a3247a3547e7c7a95a13db7cfa1ec2a061f3d Author: Mike Kasick <mike@kasick.org> Date: Thu Aug 30 13:42:27 2012 -0400 RILs: Eliminate repeated overrides of responseOperatorInfos. - Add mQANElements field, default to 4 in RIL, use in responseOperatorInfos. This may be set to 5 in subclassed RIL constructors. - Remove repeated overrides of responseOperatorInfos by subclassed RILs, as there's no logic change, just a disagreement as to whether the QUERY_AVAILABLE_NETWORKS response is an array with 4 or 5 per-network elements. - Size OperatorInfo ArrayList appropriately in SemcRIL and SonyQualcommRIL. Change-Id: I1254a670d8611f76aad13a6f197c67012c7d4c47 commit 0bac442311e73cdbd4582babdc4e95d51dc0c5b7 Author: koxxx <stefan.panko@gmail.com> Date: Thu Jul 9 22:27:13 2015 +0200 RIL: Make mQANElements configurable by property Change-Id: I21a3641d54ffd9e1b7d9f291c16bb9c6ca5f4542 Change-Id: I3657a41787ba2dc6549702bf6a2f549cf1aa6a7b
-rw-r--r--src/java/com/android/internal/telephony/RIL.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java
index b7d576a4f..0bb3802cc 100644
--- a/src/java/com/android/internal/telephony/RIL.java
+++ b/src/java/com/android/internal/telephony/RIL.java
@@ -304,6 +304,11 @@ public final class RIL extends BaseCommands implements CommandsInterface {
private TelephonyMetrics mMetrics = TelephonyMetrics.getInstance();
+ // Number of per-network elements expected in QUERY_AVAILABLE_NETWORKS's response.
+ // 4 elements is default, but many RILs actually return 5, making it impossible to
+ // divide the response array without prior knowledge of the number of elements.
+ protected int mQANElements = SystemProperties.getInt("ro.ril.telephony.mqanelements", 4);
+
//***** Events
static final int EVENT_SEND = 1;
@@ -4109,15 +4114,15 @@ public final class RIL extends BaseCommands implements CommandsInterface {
String strings[] = (String [])responseStrings(p);
ArrayList<OperatorInfo> ret;
- if (strings.length % 4 != 0) {
+ if (strings.length % mQANElements != 0) {
throw new RuntimeException(
"RIL_REQUEST_QUERY_AVAILABLE_NETWORKS: invalid response. Got "
- + strings.length + " strings, expected multible of 4");
+ + strings.length + " strings, expected multiple of " + mQANElements);
}
- ret = new ArrayList<OperatorInfo>(strings.length / 4);
+ ret = new ArrayList<OperatorInfo>(strings.length / mQANElements);
- for (int i = 0 ; i < strings.length ; i += 4) {
+ for (int i = 0 ; i < strings.length ; i += mQANElements) {
ret.add (
new OperatorInfo(
strings[i+0],