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

Commit 17350f92 authored by Lifu Tang's avatar Lifu Tang
Browse files

A few changes to the measurement implementation

- Fixed the device crashing bug in JNI code
- Fixed a typo ('lock' => 'clock')
- Added hardware clock discontinuity count in toString()

(cherry picked from commit 3a21b02ee2dc8f2c6c879109757d89a2be5d720a)

Change-Id: I6dbda85abda20da0240ac08b22b81729eae7b6f0
parent 275b4499
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -471,6 +471,11 @@ public final class GnssClock implements Parcelable {
                "DriftUncertaintyNanosPerSecond",
                hasDriftUncertaintyNanosPerSecond() ? mDriftUncertaintyNanosPerSecond : null));

        builder.append(String.format(
                format,
                "HardwareClockDiscontinuityCount",
                mHardwareClockDiscontinuityCount));

        return builder.toString();
    }

+2 −6
Original line number Diff line number Diff line
@@ -1108,7 +1108,7 @@ const char *const JavaMethodHelper<bool>::signature_ = "(Z)V";
    } while (false)

static jobject translate_gps_clock(JNIEnv* env, GpsClock* clock) {
    static uint32_t discontinuity_count_to_handle_old_lock_type = 0;
    static uint32_t discontinuity_count_to_handle_old_clock_type = 0;
    JavaObject object(env, "android/location/GnssClock");
    GpsClockFlags flags = clock->flags;

@@ -1137,7 +1137,7 @@ static jobject translate_gps_clock(JNIEnv* env, GpsClock* clock) {
        clock->full_bias_ns = clock->time_ns;
        clock->time_ns = 0;
        SET(HardwareClockDiscontinuityCount,
            discontinuity_count_to_handle_old_lock_type++);
            discontinuity_count_to_handle_old_clock_type++);
        break;
    }

@@ -1226,10 +1226,6 @@ static jobject translate_gps_measurement(JNIEnv* env,
        static_cast<int32_t>(measurement->multipath_indicator));
    SET_IF(GNSS_MEASUREMENT_HAS_SNR, SnrInDb, measurement->snr_db);

    SET_IF_NOT(GPS_MEASUREMENT_HAS_UNCORRECTED_PSEUDORANGE_RATE,
               PseudorangeRateCorrected,
               true);

    return object.get();
}