From 6a8cafec2287d3d987abe03545e077ca7414f0b4 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Thu, 21 Jul 2022 21:51:08 +0200 Subject: [PATCH] migrate location picker from requery to room Signed-off-by: Andy Scherzinger --- .../talk/controllers/LocationPickerController.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/LocationPickerController.kt b/app/src/main/java/com/nextcloud/talk/controllers/LocationPickerController.kt index 6ba4803da..3efcbe349 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/LocationPickerController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/LocationPickerController.kt @@ -53,11 +53,11 @@ import com.nextcloud.talk.controllers.base.NewBaseController import com.nextcloud.talk.controllers.util.viewBinding import com.nextcloud.talk.databinding.ControllerLocationBinding import com.nextcloud.talk.models.json.generic.GenericOverall +import com.nextcloud.talk.users.UserManager import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.DisplayUtils import com.nextcloud.talk.utils.bundle.BundleKeys import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN -import com.nextcloud.talk.utils.database.user.UserUtils import fr.dudie.nominatim.client.TalkJsonNominatimClient import fr.dudie.nominatim.model.Address import io.reactivex.Observer @@ -96,7 +96,7 @@ class LocationPickerController(args: Bundle) : lateinit var ncApi: NcApi @Inject - lateinit var userUtils: UserUtils + lateinit var userManager: UserManager @Inject lateinit var okHttpClient: OkHttpClient @@ -135,11 +135,13 @@ class LocationPickerController(args: Bundle) : @Suppress("Detekt.TooGenericExceptionCaught") override fun onDetach(view: View) { super.onDetach(view) + try { locationManager!!.removeUpdates(this) } catch (e: Exception) { Log.e(TAG, "error when trying to remove updates for location Manager", e) } + locationOverlay.disableMyLocation() } @@ -404,11 +406,12 @@ class LocationPickerController(args: Bundle) : "{\"type\":\"geo-location\",\"id\":\"geo:$selectedLat,$selectedLon\",\"latitude\":\"$selectedLat\"," + "\"longitude\":\"$selectedLon\",\"name\":\"$locationNameToShare\"}" - val apiVersion = ApiUtils.getChatApiVersion(userUtils.currentUser, intArrayOf(1)) + val currentUser = userManager.currentUser.blockingGet() + val apiVersion = ApiUtils.getChatApiVersion(currentUser, intArrayOf(1)) ncApi.sendLocation( - ApiUtils.getCredentials(userUtils.currentUser?.username, userUtils.currentUser?.token), - ApiUtils.getUrlToSendLocation(apiVersion, userUtils.currentUser?.baseUrl, roomToken), + ApiUtils.getCredentials(currentUser?.username, currentUser?.token), + ApiUtils.getUrlToSendLocation(apiVersion, currentUser?.baseUrl, roomToken), "geo-location", objectId, metaData