diff --git a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp index b0a4297da86e5..7db6d42132afc 100644 --- a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp +++ b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp @@ -1009,12 +1009,12 @@ static jboolean android_location_GnssLocationProvider_init(JNIEnv* env, jobject sp gnssXtraCbIface = new GnssXtraCallback(); if (gnssXtraIface == nullptr) { ALOGE("Unable to initialize GNSS Xtra interface\n"); - } - - result = gnssXtraIface->setCallback(gnssXtraCbIface); - if ((!result) || (!result.getStatus().isOk())) { - gnssXtraIface = nullptr; - ALOGE("SetCallback for Gnss Xtra Interface fails\n"); + } else { + result = gnssXtraIface->setCallback(gnssXtraCbIface); + if ((!result) || (!result.getStatus().isOk())) { + gnssXtraIface = nullptr; + ALOGE("SetCallback for Gnss Xtra Interface fails\n"); + } } sp aGnssCbIface = new AGnssCallback();