ril: service: 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
tirimbino
Paul Keith 7 years ago committed by Christopher H.
parent 8cc0417cf2
commit 63d0da85d7
  1. 19
      ril/libril/ril_service.cpp

@ -6692,8 +6692,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);

Loading…
Cancel
Save