diff --git a/services/java/com/android/server/location/FlpHardwareProvider.java b/services/java/com/android/server/location/FlpHardwareProvider.java index ebeccfb6e6bf2..60893b83943a0 100644 --- a/services/java/com/android/server/location/FlpHardwareProvider.java +++ b/services/java/com/android/server/location/FlpHardwareProvider.java @@ -141,10 +141,16 @@ public class FlpHardwareProvider { } private void onGeofenceMonitorStatus(int status, int source, Location location) { + // allow the location to be optional in this event + Location updatedLocation = null; + if(location != null) { + updatedLocation = updateLocationInformation(location); + } + getGeofenceHardwareSink().reportGeofenceMonitorStatus( GeofenceHardware.MONITORING_TYPE_FUSED_HARDWARE, status, - updateLocationInformation(location), + updatedLocation, source); } diff --git a/services/jni/com_android_server_location_FlpHardwareProvider.cpp b/services/jni/com_android_server_location_FlpHardwareProvider.cpp index b403ee68f3c45..a1875210af253 100644 --- a/services/jni/com_android_server_location_FlpHardwareProvider.cpp +++ b/services/jni/com_android_server_location_FlpHardwareProvider.cpp @@ -318,7 +318,7 @@ static void TranslateGeofenceFromGeofenceHardwareRequestParcelable( jmethodID getNotificationResponsiveness = env->GetMethodID( geofenceRequestClass, "getNotificationResponsiveness", - "()D"); + "()I"); options->notification_responsivenes_ms = env->CallIntMethod( geofenceRequestObject, getNotificationResponsiveness);