1
- package fr.free.nrw.commons.LocationPicker
1
+ package fr.free.nrw.commons.locationpicker
2
2
3
3
import android.Manifest.permission
4
4
import android.annotation.SuppressLint
@@ -8,8 +8,7 @@ import android.graphics.Color
8
8
import android.graphics.Paint
9
9
import android.location.LocationManager
10
10
import android.os.Bundle
11
- import android.preference.PreferenceManager
12
- import android.text.Html
11
+ import androidx.preference.PreferenceManager
13
12
import android.text.method.LinkMovementMethod
14
13
import android.view.MotionEvent
15
14
import android.view.View
@@ -23,6 +22,9 @@ import androidx.appcompat.widget.AppCompatTextView
23
22
import androidx.constraintlayout.widget.ConstraintLayout
24
23
import androidx.core.app.ActivityCompat
25
24
import androidx.core.content.ContextCompat
25
+ import androidx.core.content.IntentCompat
26
+ import androidx.core.os.BundleCompat
27
+ import androidx.core.text.HtmlCompat
26
28
import com.google.android.material.floatingactionbutton.FloatingActionButton
27
29
import fr.free.nrw.commons.CameraPosition
28
30
import fr.free.nrw.commons.CommonsApplication
@@ -181,13 +183,25 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
181
183
setContentView(R .layout.activity_location_picker)
182
184
183
185
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
+ )
185
191
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
+ )
187
197
} else {
188
- cameraPosition = savedInstanceState.getParcelable(CAMERA_POS )
198
+ cameraPosition = BundleCompat .getParcelable(
199
+ savedInstanceState,
200
+ CAMERA_POS ,
201
+ CameraPosition ::class .java
202
+ )
189
203
activity = savedInstanceState.getString(ACTIVITY )
190
- media = savedInstanceState .getParcelable(" sMedia" )
204
+ media = BundleCompat .getParcelable(savedInstanceState, " sMedia" , Media :: class .java )
191
205
}
192
206
193
207
bindViews()
@@ -270,7 +284,10 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
270
284
* For showing credits
271
285
*/
272
286
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
+ )
274
291
tvAttribution.movementMethod = LinkMovementMethod .getInstance()
275
292
}
276
293
@@ -396,7 +413,11 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
396
413
val position = when {
397
414
// location metadata is available
398
415
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
+ )
400
421
}
401
422
// location metadata is not available
402
423
mapView != null -> {
@@ -447,14 +468,18 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
447
468
LAST_LOCATION ,
448
469
" ${mapView?.mapCenter?.latitude} ,${mapView?.mapCenter?.longitude} "
449
470
)
450
- applicationKvStore.putString(LAST_ZOOM , mapView?.zoomLevel ?.toString()!! )
471
+ applicationKvStore.putString(LAST_ZOOM , mapView?.zoomLevelDouble ?.toString()!! )
451
472
}
452
473
453
474
if (media == null ) {
454
475
val intent = Intent ().apply {
455
476
putExtra(
456
477
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
+ )
458
483
)
459
484
}
460
485
setResult(RESULT_OK , intent)
@@ -556,8 +581,15 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
556
581
)
557
582
}
558
583
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
+ ) {
561
593
onLocationPermissionGranted()
562
594
} else {
563
595
onLocationPermissionDenied(getString(R .string.upload_map_location_access))
@@ -577,12 +609,18 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
577
609
578
610
override fun onLocationPermissionDenied (toastMessage : String ) {
579
611
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
+ )
581
616
582
617
if (! showRationale) {
583
618
if (! locationPermissionsHelper.checkLocationPermission(this )) {
584
619
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
+ )
586
624
} else {
587
625
Toast .makeText(this , toastMessage, Toast .LENGTH_LONG ).show()
588
626
}
@@ -601,7 +639,10 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
601
639
addMarkerAtGPSLocation()
602
640
} else {
603
641
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
+ )
605
646
}
606
647
}
607
648
}
@@ -652,7 +693,10 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
652
693
Marker .ANCHOR_CENTER ,
653
694
Marker .ANCHOR_BOTTOM
654
695
)
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
+ )
656
700
title = " Your Location"
657
701
textLabelFontSize = 24
658
702
}
0 commit comments