From d9d46236dce1158a3ec11646825473f42842ece9 Mon Sep 17 00:00:00 2001 From: andrekir Date: Mon, 12 Sep 2022 18:20:36 -0300 Subject: [PATCH] use LocationListenerCompat --- .../repository/location/SharedLocationManager.kt | 14 ++++---------- .../com/geeksville/mesh/ui/SettingsFragment.kt | 4 ++++ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/repository/location/SharedLocationManager.kt b/app/src/main/java/com/geeksville/mesh/repository/location/SharedLocationManager.kt index 5a9592d9..35d3ae31 100644 --- a/app/src/main/java/com/geeksville/mesh/repository/location/SharedLocationManager.kt +++ b/app/src/main/java/com/geeksville/mesh/repository/location/SharedLocationManager.kt @@ -3,8 +3,8 @@ package com.geeksville.mesh.repository.location import android.annotation.SuppressLint import android.content.Context import android.location.Location -import android.location.LocationListener import android.location.LocationManager +import androidx.core.location.LocationListenerCompat import com.geeksville.mesh.android.GeeksvilleApplication import com.geeksville.mesh.android.Logging import com.geeksville.mesh.android.hasBackgroundPermission @@ -38,15 +38,9 @@ class SharedLocationManager constructor( @SuppressLint("MissingPermission") private val _locationUpdates = callbackFlow { val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager - val callback = object: LocationListener { - override fun onLocationChanged(location: Location) { - // info("New location: $location") - trySend(location) - } - - override fun onProviderDisabled(provider: String) { - close() - } + val callback = LocationListenerCompat { location -> + // info("New location: $location") + trySend(location) } if (!context.hasBackgroundPermission()) close() diff --git a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt index 59855e58..e78fe884 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt @@ -605,5 +605,9 @@ class SettingsFragment : ScreenFragment("Settings"), Logging { // Warn user if BLE device is selected but BLE disabled if (scanModel.selectedBluetooth) checkBTEnabled() + + // Warn user if provide location is selected but location disabled + if (binding.provideLocationCheckbox.isChecked) + checkLocationEnabled(getString(R.string.location_disabled)) } }