Added an API to query GPS hardware version info
Change-Id: Ic45357d30da350759f56c9d061e60196acb3255b
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java
index dc4309c..c55c5b6 100644
--- a/services/core/java/com/android/server/LocationManagerService.java
+++ b/services/core/java/com/android/server/LocationManagerService.java
@@ -214,6 +214,8 @@
private int mCurrentUserId = UserHandle.USER_SYSTEM;
private int[] mCurrentUserProfiles = new int[] { UserHandle.USER_SYSTEM };
+ private GnssLocationProvider.GpsSystemInfoProvider mGpsSystemInfoProvider;
+
public LocationManagerService(Context context) {
super();
mContext = context;
@@ -460,6 +462,7 @@
// Create a gps location provider
GnssLocationProvider gnssProvider = new GnssLocationProvider(mContext, this,
mLocationHandler.getLooper());
+ mGpsSystemInfoProvider = gnssProvider.getGpsSystemInfoProvider();
mGnssStatusProvider = gnssProvider.getGnssStatusProvider();
mNetInitiatedListener = gnssProvider.getNetInitiatedListener();
addProviderLocked(gnssProvider);
@@ -986,6 +989,18 @@
}
}
+ /**
+ * Returns the system information of the GPS hardware.
+ */
+ @Override
+ public int getGpsYearOfHardware() {
+ if (mGpsNavigationMessageProvider != null) {
+ return mGpsSystemInfoProvider.getGpsYearOfHardware();
+ } else {
+ return 0;
+ }
+ }
+
private void addProviderLocked(LocationProviderInterface provider) {
mProviders.add(provider);
mProvidersByName.put(provider.getName(), provider);