From 005dfa93976e59cc9b97e4553bd1d800e9104d0c Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Fri, 11 Jun 2021 15:29:26 +0200 Subject: [PATCH] prevent crash on async callback Signed-off-by: Andy Scherzinger --- .../controllers/LocationPickerController.kt | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 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 c8b449acc..f4aa07fea 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/LocationPickerController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/LocationPickerController.kt @@ -277,21 +277,26 @@ class LocationPickerController(args: Bundle) : DelayedMapListener( object : MapListener { override fun onScroll(paramScrollEvent: ScrollEvent): Boolean { - when { - moveToCurrentLocationWasClicked -> { - setLocationDescription(isGpsLocation = true, isGeocodedResult = false) - moveToCurrentLocationWasClicked = false - } - receivedChosenGeocodingResult -> { - binding.shareLocation.isClickable = true - setLocationDescription(isGpsLocation = false, isGeocodedResult = true) - receivedChosenGeocodingResult = false - } - else -> { - binding.shareLocation.isClickable = true - setLocationDescription(isGpsLocation = false, isGeocodedResult = false) + try { + when { + moveToCurrentLocationWasClicked -> { + setLocationDescription(isGpsLocation = true, isGeocodedResult = false) + moveToCurrentLocationWasClicked = false + } + receivedChosenGeocodingResult -> { + binding.shareLocation.isClickable = true + setLocationDescription(isGpsLocation = false, isGeocodedResult = true) + receivedChosenGeocodingResult = false + } + else -> { + binding.shareLocation.isClickable = true + setLocationDescription(isGpsLocation = false, isGeocodedResult = false) + } } + } catch (e: NullPointerException) { + Log.d(TAG, "UI already closed") } + readyToShareLocation = true return true }