From 20841cb657dae517604deeadfdcb7ac863bbb0e8 Mon Sep 17 00:00:00 2001 From: Tommy Webb Date: Mon, 31 Jul 2023 15:40:12 -0400 Subject: [PATCH] Provisioning: Internet-based location providers New provisioning extras to control Mozilla Location Services and Nominatim: mls_wifi, mls_cell, and nominatim_enabled. Change-Id: I334c4f92437257dac261cbc9644641df9a9eaf55 --- play-services-core/build.gradle | 1 + .../kotlin/org/microg/gms/provision/ProvisionService.kt | 8 ++++++++ 2 files changed, 9 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..d74f3df549 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,13 @@ class ProvisionService : LifecycleService() { SafetyNetPreferences.setEnabled(this@ProvisionService, it) DroidGuardPreferences.setEnabled(this@ProvisionService, it) } + LocationSettings(this@ProvisionService).apply { + intent?.extras?.getBooleanOrNull("mls_wifi")?.let { wifiMls = it } + intent?.extras?.getBooleanOrNull("mls_cell")?.let { cellMls = it } + intent?.extras?.getBooleanOrNull("nominatim_enabled")?.let { + geocoderNominatim = it + } + } // What else? delay(2 * 1000) // Wait 2 seconds to give provisioning some extra time