summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/CompassListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/CompassListener.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/CompassListener.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/CompassListener.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/CompassListener.java
new file mode 100644
index 0000000000..3e5eb7f258
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/CompassListener.java
@@ -0,0 +1,33 @@
+package com.mapbox.mapboxsdk.location;
+
+/**
+ * Callbacks related to the compass
+ */
+public interface CompassListener {
+
+ /**
+ * Callback's invoked when a new compass update occurs. You can listen into the compass updates
+ * using {@link LocationComponent#addCompassListener(CompassListener)} and implementing these
+ * callbacks. Note that this interface is also used internally to to update the UI chevron/arrow.
+ *
+ * @param userHeading the new compass heading
+ */
+ void onCompassChanged(float userHeading);
+
+ /**
+ * This gets invoked when the compass accuracy status changes from one value to another. It
+ * provides an integer value which is identical to the {@code SensorManager} class constants:
+ * <ul>
+ * <li>{@link android.hardware.SensorManager#SENSOR_STATUS_NO_CONTACT}</li>
+ * <li>{@link android.hardware.SensorManager#SENSOR_STATUS_UNRELIABLE}</li>
+ * <li>{@link android.hardware.SensorManager#SENSOR_STATUS_ACCURACY_LOW}</li>
+ * <li>{@link android.hardware.SensorManager#SENSOR_STATUS_ACCURACY_MEDIUM}</li>
+ * <li>{@link android.hardware.SensorManager#SENSOR_STATUS_ACCURACY_HIGH}</li>
+ * </ul>
+ *
+ * @param compassStatus the new accuracy of this sensor, one of
+ * {@code SensorManager.SENSOR_STATUS_*}
+ */
+ void onCompassAccuracyChange(int compassStatus);
+}
+