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

Commit c22818d3 authored by Yu-Han Yang's avatar Yu-Han Yang Committed by Android (Google) Code Review
Browse files

Merge "Use the getInterfaceVersion() of vendor implementation" into main

parents f687e4ee 221ddd99
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -675,7 +675,8 @@ static jboolean android_location_gnss_hal_GnssNative_start_measurement_collectio
    options.enableCorrVecOutputs = enableCorrVecOutputs;
    options.intervalMs = intervalMs;

    return gnssMeasurementIface->setCallback(std::make_unique<gnss::GnssMeasurementCallback>(),
    return gnssMeasurementIface->setCallback(std::make_unique<gnss::GnssMeasurementCallback>(
                                                     gnssMeasurementIface->getInterfaceVersion()),
                                             options);
}

+2 −1
Original line number Diff line number Diff line
@@ -196,7 +196,8 @@ void GnssHal::linkToDeath() {

jboolean GnssHal::setCallback() {
    if (gnssHalAidl != nullptr) {
        sp<IGnssCallbackAidl> gnssCbIfaceAidl = new GnssCallbackAidl();
        sp<IGnssCallbackAidl> gnssCbIfaceAidl =
                new GnssCallbackAidl(gnssHalAidl->getInterfaceVersion());
        auto status = gnssHalAidl->setCallback(gnssCbIfaceAidl);
        if (!checkAidlStatus(status, "IGnssAidl setCallback() failed.")) {
            return JNI_FALSE;
+2 −2
Original line number Diff line number Diff line
@@ -120,7 +120,7 @@ void Gnss_class_init_once(JNIEnv* env, jclass& clazz) {

Status GnssCallbackAidl::gnssSetCapabilitiesCb(const int capabilities) {
    ALOGD("%s: %du\n", __func__, capabilities);
    bool isAdrCapabilityKnown = (getInterfaceVersion() >= 3) ? true : false;
    bool isAdrCapabilityKnown = (interfaceVersion >= 3) ? true : false;
    JNIEnv* env = getJniEnv();
    env->CallVoidMethod(mCallbacksObj, method_setTopHalCapabilities, capabilities,
                        isAdrCapabilityKnown);
@@ -178,7 +178,7 @@ Status GnssCallbackAidl::gnssLocationCb(const hardware::gnss::GnssLocation& loca

Status GnssCallbackAidl::gnssNmeaCb(const int64_t timestamp, const std::string& nmea) {
    // In AIDL v1, if no listener is registered, do not report nmea to the framework.
    if (getInterfaceVersion() <= 1) {
    if (interfaceVersion <= 1) {
        if (!isNmeaRegistered) {
            return Status::ok();
        }
+4 −0
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ void Gnss_class_init_once(JNIEnv* env, jclass& clazz);
 */
class GnssCallbackAidl : public hardware::gnss::BnGnssCallback {
public:
    GnssCallbackAidl(int version) : interfaceVersion(version){};
    binder::Status gnssSetCapabilitiesCb(const int capabilities) override;
    binder::Status gnssSetSignalTypeCapabilitiesCb(
            const std::vector<android::hardware::gnss::GnssSignalType>& signalTypes) override;
@@ -73,6 +74,9 @@ public:
    binder::Status gnssRequestTimeCb() override;
    binder::Status gnssRequestLocationCb(const bool independentFromGnss,
                                         const bool isUserEmergency) override;

private:
    const int interfaceVersion;
};

/*
+7 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ public:
            const std::unique_ptr<GnssMeasurementCallback>& callback,
            const android::hardware::gnss::IGnssMeasurementInterface::Options& options) = 0;
    virtual jboolean close() = 0;
    virtual int getInterfaceVersion() = 0;
};

class GnssMeasurement : public GnssMeasurementInterface {
@@ -50,6 +51,9 @@ public:
            const std::unique_ptr<GnssMeasurementCallback>& callback,
            const android::hardware::gnss::IGnssMeasurementInterface::Options& options) override;
    jboolean close() override;
    int getInterfaceVersion() override {
        return mIGnssMeasurement->getInterfaceVersion();
    }

private:
    const sp<android::hardware::gnss::IGnssMeasurementInterface> mIGnssMeasurement;
@@ -63,6 +67,9 @@ public:
            const std::unique_ptr<GnssMeasurementCallback>& callback,
            const android::hardware::gnss::IGnssMeasurementInterface::Options& options) override;
    jboolean close() override;
    int getInterfaceVersion() override {
        return 0;
    }

private:
    const sp<android::hardware::gnss::V1_0::IGnssMeasurement> mIGnssMeasurement_V1_0;
Loading