From 2649108df29a1646c1a9f964820d9c24c9484213 Mon Sep 17 00:00:00 2001 From: Yu-Han Yang Date: Wed, 18 Apr 2018 02:51:33 -0700 Subject: [PATCH] Check provider exists and is enabled when request location Bug: 78210719 Change-Id: I70cdec87322c4a13ff86ea33eedef005c98fc16e Fixes: 78210719 Test: TODO --- .../com/android/server/location/GnssLocationProvider.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java index 58bca196ae36d..814c521c07f4b 100644 --- a/services/core/java/com/android/server/location/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/GnssLocationProvider.java @@ -1054,6 +1054,12 @@ public class GnssLocationProvider implements LocationProviderInterface, InjectNt locationListener = mFusedLocationListener; } + if (!locationManager.isProviderEnabled(provider)) { + Log.w(TAG, "Unable to request location since " + provider + + " provider does not exist or is not enabled."); + return; + } + Log.i(TAG, String.format("GNSS HAL Requesting location updates from %s provider.", provider)); locationManager.requestLocationUpdates(provider,