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 <asn@cryptomilk.org>
This commit is contained in:
Andreas Schneider 2015-10-22 16:20:51 +02:00
parent 2f04f84366
commit d806de9248

View file

@ -68,6 +68,7 @@ namespace android {
#define ANDROID_WAKE_LOCK_USECS 200000 #define ANDROID_WAKE_LOCK_USECS 200000
#define PROPERTY_RIL_IMPL "gsm.version.ril-impl" #define PROPERTY_RIL_IMPL "gsm.version.ril-impl"
#define PROPERTY_QAN_ELEMENTS "ro.ril.qanelements"
// match with constant in RIL.java // match with constant in RIL.java
#define MAX_COMMAND_BYTES (8 * 1024) #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 *); numStrings = responselen / sizeof(char *);
if (network_search) { 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 { } else {
p.writeInt32 (numStrings); p.writeInt32 (numStrings);
} }