msm8974-common: libril: Fix RIL_UNSOL_NITZ_TIME_RECEIVED Parcel

* Sometimes, the modem is sending 1-2 extra fields with
  the country mcc, which confuses ServiceStateTracker
* Drop the extra data here, instead of in our RIL class

[haggertk]: Forward port to ril-caf on lineage-15.

Change-Id: Ifbec67bb0dac271226bd8b5471deaf6a2ef33f2b
This commit is contained in:
Paul Keith 2017-10-22 05:25:25 +02:00 committed by Kevin F. Haggerty
parent 6f2f2902ee
commit dc5d57cf0a

View File

@ -7000,8 +7000,25 @@ int radio::nitzTimeReceivedInd(int slotId,
RLOGE("nitzTimeReceivedInd: invalid response");
return 0;
}
hidl_string nitzTime = convertCharPtrToHidlString((char *) response);
hidl_string nitzTime;
int64_t timeReceived = android::elapsedRealtime();
char *resp = strndup((char *) response, responseLen);
char *tmp = resp;
/* Find the 3rd comma */
for (int i = 0; i < 3; i++) {
if (tmp != NULL) {
tmp = strchr(tmp + 1, ',');
}
}
/* Make the 3rd comma the end of the string */
if (tmp != NULL) {
*tmp = '\0';
}
nitzTime = convertCharPtrToHidlString(resp);
free(resp);
#if VDBG
RLOGD("nitzTimeReceivedInd: nitzTime %s receivedTime %" PRId64, nitzTime.c_str(),
timeReceived);