From d806de9248f4be87115416caee5af242594cf369 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 22 Oct 2015 16:20:51 +0200 Subject: [PATCH] ril: Fix network operator search Newer RIL versions have more QAN elements so we need a way to adjust them to the correct value. This needs to be set to same value as mQANElements in the RIL Telephony class. Change-Id: Icfad9c0acf1b95f63c232b6c4c49ed52bd4e3aa4 Signed-off-by: Andreas Schneider --- ril/libril/ril.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ril/libril/ril.cpp b/ril/libril/ril.cpp index e2a1c8bd..32170145 100644 --- a/ril/libril/ril.cpp +++ b/ril/libril/ril.cpp @@ -68,6 +68,7 @@ namespace android { #define ANDROID_WAKE_LOCK_USECS 200000 #define PROPERTY_RIL_IMPL "gsm.version.ril-impl" +#define PROPERTY_QAN_ELEMENTS "ro.ril.qanelements" // match with constant in RIL.java #define MAX_COMMAND_BYTES (8 * 1024) @@ -2307,7 +2308,14 @@ static int responseStrings(Parcel &p, void *response, size_t responselen, bool n numStrings = responselen / sizeof(char *); if (network_search) { - p.writeInt32 ((numStrings / 5) * 4); + int32_t QANElements; + + /* + * This needs to be set to same value as mQANElements in the RIL + * Telephony class. + */ + QANElements = property_get_int32(PROPERTY_QAN_ELEMENTS, 4); + p.writeInt32 ((numStrings / 5) * QANElements); } else { p.writeInt32 (numStrings); }