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

Commit a36f51a1 authored by Yipeng Cao's avatar Yipeng Cao
Browse files

Fixed the hasCarrierFrequency flag in GnssStatus(part 2)

Bug: 37757180
Fixes: 37757180
Test: cts-tradefed run cts -m CtsLocationTestCases --test
android.location.cts.GnssStatusTest

Change-Id: I817931ee2c19d0a770c4d7cedfbd69bc85db6978
Chang-Id: Icf4240ccad7ff367d96001973c0be36308ffd9b3
parent 02b745ff
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -129,16 +129,19 @@ void Gnss::gnssSvStatusCb(GnssSvStatus* status) {
        auto svInfo = status->gnss_sv_list[i];
        IGnssCallback::GnssSvInfo gnssSvInfo = {
            .svid = svInfo.svid,
            .constellation = static_cast<android::hardware::gnss::V1_0::GnssConstellationType>(
            .constellation = static_cast<
                android::hardware::gnss::V1_0::GnssConstellationType>(
                svInfo.constellation),
            .cN0Dbhz = svInfo.c_n0_dbhz,
            .elevationDegrees = svInfo.elevation,
            .azimuthDegrees = svInfo.azimuth,
            .svFlag = svInfo.flags,
            // Older chipsets do not provide carrier frequency, hence HAS_CARRIER_FREQUENCY flag
            // is not set and the carrierFrequencyHz field is set to zero
            .carrierFrequencyHz = 0
        };
            // Older chipsets do not provide carrier frequency, hence
            // HAS_CARRIER_FREQUENCY flag and the carrierFrequencyHz fields
            // are not set. So we are resetting both fields here.
            .svFlag = static_cast<uint8_t>(
                svInfo.flags &= ~(static_cast<uint8_t>(
                    IGnssCallback::GnssSvFlags::HAS_CARRIER_FREQUENCY))),
            .carrierFrequencyHz = 0};
        svStatus.gnssSvList[i] = gnssSvInfo;
    }