From 9be1538fd28c554cbdbd7733b99bd7e32dc3d8e3 Mon Sep 17 00:00:00 2001 From: Tommy Webb Date: Mon, 31 Jul 2023 15:40:12 -0400 Subject: [PATCH] Provisioning: Location providers New provisioning extras to control Location features: * Internet lookups (Mozilla Location Services): wifi_mls, cell_mls * Local location learning: wifi_learning, cell_learning * Query location from supported hotspots: wifi_moving * Geocoder (Nominatim): nominatim_enabled Change-Id: I334c4f92437257dac261cbc9644641df9a9eaf55 --- play-services-core/build.gradle | 1 + .../org/microg/gms/provision/ProvisionService.kt | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/play-services-core/build.gradle b/play-services-core/build.gradle index b339b2dadd..88615a87a4 100644 --- a/play-services-core/build.gradle +++ b/play-services-core/build.gradle @@ -33,6 +33,7 @@ dependencies { implementation project(':play-services-fido-core') implementation project(':play-services-gmscompliance-core') implementation project(':play-services-location-core') + implementation project(':play-services-location-core-base') implementation project(':play-services-location-core-provider') withNearbyImplementation project(':play-services-nearby-core') implementation project(':play-services-oss-licenses-core') diff --git a/play-services-core/src/main/kotlin/org/microg/gms/provision/ProvisionService.kt b/play-services-core/src/main/kotlin/org/microg/gms/provision/ProvisionService.kt index b7c7da7042..3720e312ac 100644 --- a/play-services-core/src/main/kotlin/org/microg/gms/provision/ProvisionService.kt +++ b/play-services-core/src/main/kotlin/org/microg/gms/provision/ProvisionService.kt @@ -17,6 +17,7 @@ import org.microg.gms.checkin.setCheckinServiceConfiguration import org.microg.gms.droidguard.core.DroidGuardPreferences import org.microg.gms.gcm.getGcmServiceInfo import org.microg.gms.gcm.setGcmServiceConfiguration +import org.microg.gms.location.LocationSettings import org.microg.gms.safetynet.SafetyNetPreferences class ProvisionService : LifecycleService() { @@ -38,6 +39,16 @@ class ProvisionService : LifecycleService() { SafetyNetPreferences.setEnabled(this@ProvisionService, it) DroidGuardPreferences.setEnabled(this@ProvisionService, it) } + LocationSettings(this@ProvisionService).apply { + intent?.extras?.getBooleanOrNull("wifi_mls")?.let { wifiMls = it } + intent?.extras?.getBooleanOrNull("cell_mls")?.let { cellMls = it } + intent?.extras?.getBooleanOrNull("wifi_learning")?.let { wifiLearning = it } + intent?.extras?.getBooleanOrNull("cell_learning")?.let { cellLearning = it } + intent?.extras?.getBooleanOrNull("wifi_moving")?.let { wifiMoving = it } + intent?.extras?.getBooleanOrNull("nominatim_enabled")?.let { + geocoderNominatim = it + } + } // What else? delay(2 * 1000) // Wait 2 seconds to give provisioning some extra time