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

Commit 696a8b9e authored by Shinru Han's avatar Shinru Han Committed by Android (Google) Code Review
Browse files

Merge "Use Galileo IonosphericModel for GalileoAssistance (JNI)" into main

parents c674f133 3c1807f1
Loading
Loading
Loading
Loading
+10 −12
Original line number Diff line number Diff line
@@ -206,7 +206,7 @@ jmethodID method_beidouSatelliteClockModelGetTgd2;
jmethodID method_beidouSatelliteClockModelGetTimeOfClockSeconds;
jmethodID method_beidouSatelliteHealthGetSatH1;
jmethodID method_beidouSatelliteHealthGetSvAccur;
jmethodID method_beidouSatelliteEphemerisTimeGetIode;
jmethodID method_beidouSatelliteEphemerisTimeGetAode;
jmethodID method_beidouSatelliteEphemerisTimeGetBeidouWeekNumber;
jmethodID method_beidouSatelliteEphemerisTimeGetToeSeconds;

@@ -710,8 +710,8 @@ void GnssAssistance_class_init_once(JNIEnv* env, jclass clazz) {
    // Get the methods of BeidouSatelliteEphemerisTime
    jclass beidouSatelliteEphemerisTimeClass = env->FindClass(
            "android/location/BeidouSatelliteEphemeris$BeidouSatelliteEphemerisTime");
    method_beidouSatelliteEphemerisTimeGetIode =
            env->GetMethodID(beidouSatelliteEphemerisTimeClass, "getIode", "()I");
    method_beidouSatelliteEphemerisTimeGetAode =
            env->GetMethodID(beidouSatelliteEphemerisTimeClass, "getAode", "()I");
    method_beidouSatelliteEphemerisTimeGetBeidouWeekNumber =
            env->GetMethodID(beidouSatelliteEphemerisTimeClass, "getBeidouWeekNumber", "()I");
    method_beidouSatelliteEphemerisTimeGetToeSeconds =
@@ -723,7 +723,7 @@ void GnssAssistance_class_init_once(JNIEnv* env, jclass clazz) {
                                                          "()Landroid/location/GnssAlmanac;");
    method_galileoAssistanceGetIonosphericModel =
            env->GetMethodID(galileoAssistanceClass, "getIonosphericModel",
                             "()Landroid/location/KlobucharIonosphericModel;");
                             "()Landroid/location/GalileoIonosphericModel;");
    method_galileoAssistanceGetUtcModel = env->GetMethodID(galileoAssistanceClass, "getUtcModel",
                                                           "()Landroid/location/UtcModel;");
    method_galileoAssistanceGetLeapSecondsModel =
@@ -1244,8 +1244,7 @@ void GnssAssistanceUtil::setGalileoAssistance(JNIEnv* env, jobject galileoAssist
            env->CallObjectMethod(galileoAssistanceObj,
                                  method_galileoAssistanceGetSatelliteCorrections);
    setGnssAlmanac(env, galileoAlmanacObj, galileoAssistance.almanac);
    setGaliloKlobucharIonosphericModel(env, ionosphericModelObj,
                                       galileoAssistance.ionosphericModel);
    setGalileoIonosphericModel(env, ionosphericModelObj, galileoAssistance.ionosphericModel);
    setUtcModel(env, utcModelObj, galileoAssistance.utcModel);
    setLeapSecondsModel(env, leapSecondsModelObj, galileoAssistance.leapSecondsModel);
    setTimeModels(env, timeModelsObj, galileoAssistance.timeModels);
@@ -1263,8 +1262,7 @@ void GnssAssistanceUtil::setGalileoAssistance(JNIEnv* env, jobject galileoAssist
    env->DeleteLocalRef(satelliteCorrectionsObj);
}

void GnssAssistanceUtil::setGaliloKlobucharIonosphericModel(
        JNIEnv* env, jobject galileoIonosphericModelObj,
void GnssAssistanceUtil::setGalileoIonosphericModel(JNIEnv* env, jobject galileoIonosphericModelObj,
                                                    GalileoIonosphericModel& ionosphericModel) {
    if (galileoIonosphericModelObj == nullptr) return;
    jdouble ai0 =
@@ -1500,14 +1498,14 @@ void GnssAssistanceUtil::setBeidouSatelliteEphemeris(
        jobject satelliteEphemerisTimeObj =
                env->CallObjectMethod(beidouSatelliteEphemerisObj,
                                      method_beidouSatelliteEphemerisGetSatelliteEphemerisTime);
        jint iode = env->CallIntMethod(satelliteEphemerisTimeObj,
                                       method_beidouSatelliteEphemerisTimeGetIode);
        jint aode = env->CallIntMethod(satelliteEphemerisTimeObj,
                                       method_beidouSatelliteEphemerisTimeGetAode);
        jint beidouWeekNumber =
                env->CallIntMethod(satelliteEphemerisTimeObj,
                                   method_beidouSatelliteEphemerisTimeGetBeidouWeekNumber);
        jint toeSeconds = env->CallDoubleMethod(satelliteEphemerisTimeObj,
                                                method_beidouSatelliteEphemerisTimeGetToeSeconds);
        beidouSatelliteEphemeris.satelliteEphemerisTime.aode = static_cast<int32_t>(iode);
        beidouSatelliteEphemeris.satelliteEphemerisTime.aode = static_cast<int32_t>(aode);
        beidouSatelliteEphemeris.satelliteEphemerisTime.weekNumber =
                static_cast<int32_t>(beidouWeekNumber);
        beidouSatelliteEphemeris.satelliteEphemerisTime.toeSeconds =
+2 −2
Original line number Diff line number Diff line
@@ -94,7 +94,7 @@ struct GnssAssistanceUtil {
    static void setGalileoSatelliteEphemeris(
            JNIEnv* env, jobject galileoSatelliteEphemerisObj,
            std::vector<GalileoSatelliteEphemeris>& galileoSatelliteEphemerisList);
    static void setGaliloKlobucharIonosphericModel(JNIEnv* env, jobject galileoIonosphericModelObj,
    static void setGalileoIonosphericModel(JNIEnv* env, jobject galileoIonosphericModelObj,
                                           GalileoIonosphericModel& ionosphericModel);
    static void setGnssAssistance(JNIEnv* env, jobject gnssAssistanceObj,
                                  GnssAssistance& gnssAssistance);