1- package fr.free.nrw.commons.LocationPicker
1+ package fr.free.nrw.commons.locationpicker
22
33import android.Manifest.permission
44import android.annotation.SuppressLint
@@ -8,8 +8,7 @@ import android.graphics.Color
88import android.graphics.Paint
99import android.location.LocationManager
1010import android.os.Bundle
11- import android.preference.PreferenceManager
12- import android.text.Html
11+ import androidx.preference.PreferenceManager
1312import android.text.method.LinkMovementMethod
1413import android.view.MotionEvent
1514import android.view.View
@@ -23,6 +22,9 @@ import androidx.appcompat.widget.AppCompatTextView
2322import androidx.constraintlayout.widget.ConstraintLayout
2423import androidx.core.app.ActivityCompat
2524import androidx.core.content.ContextCompat
25+ import androidx.core.content.IntentCompat
26+ import androidx.core.os.BundleCompat
27+ import androidx.core.text.HtmlCompat
2628import com.google.android.material.floatingactionbutton.FloatingActionButton
2729import fr.free.nrw.commons.CameraPosition
2830import fr.free.nrw.commons.CommonsApplication
@@ -181,13 +183,25 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
181183 setContentView(R .layout.activity_location_picker)
182184
183185 if (savedInstanceState == null ) {
184- cameraPosition = intent.getParcelableExtra(LocationPickerConstants .MAP_CAMERA_POSITION )
186+ cameraPosition = IntentCompat .getParcelableExtra(
187+ intent,
188+ LocationPickerConstants .MAP_CAMERA_POSITION ,
189+ CameraPosition ::class .java
190+ )
185191 activity = intent.getStringExtra(LocationPickerConstants .ACTIVITY_KEY )
186- media = intent.getParcelableExtra(LocationPickerConstants .MEDIA )
192+ media = IntentCompat .getParcelableExtra(
193+ intent,
194+ LocationPickerConstants .MEDIA ,
195+ Media ::class .java
196+ )
187197 } else {
188- cameraPosition = savedInstanceState.getParcelable(CAMERA_POS )
198+ cameraPosition = BundleCompat .getParcelable(
199+ savedInstanceState,
200+ CAMERA_POS ,
201+ CameraPosition ::class .java
202+ )
189203 activity = savedInstanceState.getString(ACTIVITY )
190- media = savedInstanceState .getParcelable(" sMedia" )
204+ media = BundleCompat .getParcelable(savedInstanceState, " sMedia" , Media :: class .java )
191205 }
192206
193207 bindViews()
@@ -270,7 +284,10 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
270284 * For showing credits
271285 */
272286 private fun addCredits () {
273- tvAttribution.text = Html .fromHtml(getString(R .string.map_attribution))
287+ tvAttribution.text = HtmlCompat .fromHtml(
288+ getString(R .string.map_attribution),
289+ HtmlCompat .FROM_HTML_MODE_LEGACY
290+ )
274291 tvAttribution.movementMethod = LinkMovementMethod .getInstance()
275292 }
276293
@@ -396,7 +413,11 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
396413 val position = when {
397414 // location metadata is available
398415 activity == " UploadActivity" && cameraPosition != null -> {
399- fr.free.nrw.commons.location.LatLng (cameraPosition!! .latitude, cameraPosition!! .longitude, 0.0f )
416+ fr.free.nrw.commons.location.LatLng (
417+ cameraPosition!! .latitude,
418+ cameraPosition!! .longitude,
419+ 0.0f
420+ )
400421 }
401422 // location metadata is not available
402423 mapView != null -> {
@@ -447,14 +468,18 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
447468 LAST_LOCATION ,
448469 " ${mapView?.mapCenter?.latitude} ,${mapView?.mapCenter?.longitude} "
449470 )
450- applicationKvStore.putString(LAST_ZOOM , mapView?.zoomLevel ?.toString()!! )
471+ applicationKvStore.putString(LAST_ZOOM , mapView?.zoomLevelDouble ?.toString()!! )
451472 }
452473
453474 if (media == null ) {
454475 val intent = Intent ().apply {
455476 putExtra(
456477 LocationPickerConstants .MAP_CAMERA_POSITION ,
457- CameraPosition (mapView?.mapCenter?.latitude!! , mapView?.mapCenter?.longitude!! , 14.0 )
478+ CameraPosition (
479+ mapView?.mapCenter?.latitude!! ,
480+ mapView?.mapCenter?.longitude!! ,
481+ 14.0
482+ )
458483 )
459484 }
460485 setResult(RESULT_OK , intent)
@@ -556,8 +581,15 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
556581 )
557582 }
558583
559- override fun onRequestPermissionsResult (requestCode : Int , permissions : Array <out String >, grantResults : IntArray ) {
560- if (requestCode == Constants .RequestCodes .LOCATION && grantResults.isNotEmpty() && grantResults[0 ] == PackageManager .PERMISSION_GRANTED ) {
584+ override fun onRequestPermissionsResult (
585+ requestCode : Int ,
586+ permissions : Array <out String >,
587+ grantResults : IntArray
588+ ) {
589+ if (requestCode == Constants .RequestCodes .LOCATION &&
590+ grantResults.isNotEmpty() &&
591+ grantResults[0 ] == PackageManager .PERMISSION_GRANTED
592+ ) {
561593 onLocationPermissionGranted()
562594 } else {
563595 onLocationPermissionDenied(getString(R .string.upload_map_location_access))
@@ -577,12 +609,18 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
577609
578610 override fun onLocationPermissionDenied (toastMessage : String ) {
579611 val isDeniedBefore = store.getBoolean(" isPermissionDenied" , false )
580- val showRationale = ActivityCompat .shouldShowRequestPermissionRationale(this , permission.ACCESS_FINE_LOCATION )
612+ val showRationale = ActivityCompat .shouldShowRequestPermissionRationale(
613+ this ,
614+ permission.ACCESS_FINE_LOCATION
615+ )
581616
582617 if (! showRationale) {
583618 if (! locationPermissionsHelper.checkLocationPermission(this )) {
584619 if (isDeniedBefore) {
585- locationPermissionsHelper.showAppSettingsDialog(this , R .string.upload_map_location_access)
620+ locationPermissionsHelper.showAppSettingsDialog(
621+ this ,
622+ R .string.upload_map_location_access
623+ )
586624 } else {
587625 Toast .makeText(this , toastMessage, Toast .LENGTH_LONG ).show()
588626 }
@@ -601,7 +639,10 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
601639 addMarkerAtGPSLocation()
602640 } else {
603641 addMarkerAtGPSLocation()
604- locationPermissionsHelper.showLocationOffDialog(this , R .string.ask_to_turn_location_on_text)
642+ locationPermissionsHelper.showLocationOffDialog(
643+ this ,
644+ R .string.ask_to_turn_location_on_text
645+ )
605646 }
606647 }
607648 }
@@ -652,7 +693,10 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
652693 Marker .ANCHOR_CENTER ,
653694 Marker .ANCHOR_BOTTOM
654695 )
655- icon = ContextCompat .getDrawable(this @LocationPickerActivity, R .drawable.current_location_marker)
696+ icon = ContextCompat .getDrawable(
697+ this @LocationPickerActivity,
698+ R .drawable.current_location_marker
699+ )
656700 title = " Your Location"
657701 textLabelFontSize = 24
658702 }
0 commit comments