From cfc9b6d6ab3c622ea4f9d06c28d6e0d2055d98e1 Mon Sep 17 00:00:00 2001 From: David Christie Date: Tue, 14 Apr 2015 12:14:03 -0700 Subject: Add versioning to FLP HAL. Retain compatibility with implementations compiled against old headers or left unchanged from LMP. Change-Id: I3f7cfaaf0cba8697c312940a805b053c6040caa6 --- .../location/provider/FusedLocationHardware.java | 20 ++++++++++++++++++++ .../location/provider/FusedLocationHardwareSink.java | 3 ++- 2 files changed, 22 insertions(+), 1 deletion(-) (limited to 'location/lib') diff --git a/location/lib/java/com/android/location/provider/FusedLocationHardware.java b/location/lib/java/com/android/location/provider/FusedLocationHardware.java index 480a18c..eb3b2f4 100644 --- a/location/lib/java/com/android/location/provider/FusedLocationHardware.java +++ b/location/lib/java/com/android/location/provider/FusedLocationHardware.java @@ -216,6 +216,26 @@ public final class FusedLocationHardware { } } + + /** + * Returns the version of the FLP HAL. + * + *

Version 1 is the initial release. + *

Version 2 adds the ability to use {@link #flushBatchedLocations}, + * {@link FusedLocationHardwareSink#onCapabilities}, and + * {@link FusedLocationHardwareSink#onStatusChanged}. + * + *

This method is only available on API 23 or later. Older APIs have version 1. + */ + public int getVersion() { + try { + return mLocationHardware.getVersion(); + } catch(RemoteException e) { + Log.e(TAG, "RemoteException at getVersion"); + } + return 1; + } + /* * Helper methods and classes */ diff --git a/location/lib/java/com/android/location/provider/FusedLocationHardwareSink.java b/location/lib/java/com/android/location/provider/FusedLocationHardwareSink.java index 618d5d6..01d37ac 100644 --- a/location/lib/java/com/android/location/provider/FusedLocationHardwareSink.java +++ b/location/lib/java/com/android/location/provider/FusedLocationHardwareSink.java @@ -54,7 +54,8 @@ public class FusedLocationHardwareSink { /** * Called when the status changes in the underlying FLP HAL * implementation (the ability to compute location). This - * callback will only be made on API 23 or later. + * callback will only be made on version 2 or later + * (see {@link FusedLocationHardware#getVersion()}). * * @param status One of FLP_STATUS_LOCATION_AVAILABLE or * FLP_STATUS_LOCATION_UNAVAILABLE as defined in -- cgit v1.1