Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 63d0da85 authored by Paul Keith's avatar Paul Keith Committed by Christopher H.
Browse files

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
parent 8cc0417c
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -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);