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

Commit 0e4cc87f authored by Steve Kondik's avatar Steve Kondik
Browse files

gps: Add support for Qualcomm GPS hardware

 * This ABI is changed, but we aren't using the new features in MR1.
 * Add a little translation for the changed fields and methods.

Change-Id: Ieecc2235b42f64fc69d4651855f4e9edfe7d738d
parent 9df1aa5f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -44,6 +44,14 @@ LOCAL_SHARED_LIBRARIES := \
    libusbhost \
    libsuspend

ifeq ($(BOARD_HAVE_NEW_QC_GPS),true)
    LOCAL_CFLAGS += -DNEW_QC_GPS
endif

ifeq ($(BOARD_HAVE_SAMSUNG_GPS),true)
	LOCAL_CFLAGS += -DSAMSUNG_GPS
endif

ifeq ($(WITH_MALLOC_LEAK_CHECK),true)
    LOCAL_CFLAGS += -DMALLOC_LEAK_CHECK
endif
+16 −0
Original line number Diff line number Diff line
@@ -167,7 +167,11 @@ static void agps_status_callback(AGpsStatus* agps_status)
    uint32_t ipaddr;
    // ipaddr field was not included in original AGpsStatus
    if (agps_status->size >= sizeof(AGpsStatus))
#ifdef NEW_QC_GPS
        ipaddr = agps_status->ipv4_addr;
#else
        ipaddr = agps_status->ipaddr;
#endif
    else
        ipaddr = 0xFFFFFFFF;
    env->CallVoidMethod(mCallbacksObj, method_reportAGpsStatus,
@@ -483,7 +487,11 @@ static void android_location_GpsLocationProvider_agps_data_conn_open(JNIEnv* env
        return;
    }
    const char *apnStr = env->GetStringUTFChars(apn, NULL);
#ifdef NEW_QC_GPS
    sAGpsInterface->data_conn_open(0, apnStr, 0);
#else
    sAGpsInterface->data_conn_open(apnStr);
#endif
    env->ReleaseStringUTFChars(apn, apnStr);
}

@@ -493,7 +501,11 @@ static void android_location_GpsLocationProvider_agps_data_conn_closed(JNIEnv* e
        ALOGE("no AGPS interface in agps_data_conn_open");
        return;
    }
#ifdef NEW_QC_GPS
    sAGpsInterface->data_conn_closed(0);
#else
    sAGpsInterface->data_conn_closed();
#endif
}

static void android_location_GpsLocationProvider_agps_data_conn_failed(JNIEnv* env, jobject obj)
@@ -502,7 +514,11 @@ static void android_location_GpsLocationProvider_agps_data_conn_failed(JNIEnv* e
        ALOGE("no AGPS interface in agps_data_conn_open");
        return;
    }
#ifdef NEW_QC_GPS
    sAGpsInterface->data_conn_failed(0);
#else
    sAGpsInterface->data_conn_failed();
#endif
}

static void android_location_GpsLocationProvider_set_agps_server(JNIEnv* env, jobject obj,