From 2e18875d5ade7f310a732ca4d2f0f6195a775bc3 Mon Sep 17 00:00:00 2001 From: Tomasz Wasilczyk Date: Mon, 25 Jul 2022 19:55:00 +0000 Subject: [PATCH] GNSS is supported only when location feature is present Bug: 239938937 Test: flash and boot aosp_raven without location feature Change-Id: I0f2cd99bce32dc514532d6c13942700ad57dc9e1 --- .../com/android/server/location/LocationManagerService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/location/LocationManagerService.java b/services/core/java/com/android/server/location/LocationManagerService.java index 25d7d9f766a1c..8c03ead9ac098 100644 --- a/services/core/java/com/android/server/location/LocationManagerService.java +++ b/services/core/java/com/android/server/location/LocationManagerService.java @@ -16,7 +16,6 @@ package com.android.server.location; -import static android.Manifest.permission.ACCESS_FINE_LOCATION; import static android.Manifest.permission.INTERACT_ACROSS_USERS; import static android.Manifest.permission.WRITE_SECURE_SETTINGS; import static android.app.compat.CompatChanges.isChangeEnabled; @@ -430,7 +429,9 @@ public class LocationManagerService extends ILocationManager.Stub implements // initialize gnss last because it has no awareness of boot phases and blindly assumes that // all other location providers are loaded at initialization - if (GnssNative.isSupported()) { + boolean hasLocationFeature = mContext.getPackageManager().hasSystemFeature( + PackageManager.FEATURE_LOCATION); + if (hasLocationFeature && GnssNative.isSupported()) { GnssConfiguration gnssConfiguration = new GnssConfiguration(mContext); GnssNative gnssNative = GnssNative.create(mInjector, gnssConfiguration); mGnssManagerService = new GnssManagerService(mContext, mInjector, gnssNative);