Skip to content

Commit 771f370

Browse files
authored
Migration of locationpicker module from Java to Kotlin (commons-app#5981)
* Rename .java to .kt * Migrated location picker module from Java to Kotlin
1 parent fb1ef32 commit 771f370

8 files changed

+807
-841
lines changed

app/src/main/java/fr/free/nrw/commons/LocationPicker/LocationPicker.java

-77
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package fr.free.nrw.commons.LocationPicker
2+
3+
import android.app.Activity
4+
import android.content.Intent
5+
import fr.free.nrw.commons.CameraPosition
6+
import fr.free.nrw.commons.Media
7+
8+
9+
/**
10+
* Helper class for starting the activity
11+
*/
12+
object LocationPicker {
13+
14+
/**
15+
* Getting camera position from the intent using constants
16+
*
17+
* @param data intent
18+
* @return CameraPosition
19+
*/
20+
@JvmStatic
21+
fun getCameraPosition(data: Intent): CameraPosition? {
22+
return data.getParcelableExtra(LocationPickerConstants.MAP_CAMERA_POSITION)
23+
}
24+
25+
class IntentBuilder
26+
/**
27+
* Creates a new builder that creates an intent to launch the place picker activity.
28+
*/() {
29+
30+
private val intent: Intent = Intent()
31+
32+
/**
33+
* Gets and puts location in intent
34+
* @param position CameraPosition
35+
* @return LocationPicker.IntentBuilder
36+
*/
37+
fun defaultLocation(position: CameraPosition): IntentBuilder {
38+
intent.putExtra(LocationPickerConstants.MAP_CAMERA_POSITION, position)
39+
return this
40+
}
41+
42+
/**
43+
* Gets and puts activity name in intent
44+
* @param activity activity key
45+
* @return LocationPicker.IntentBuilder
46+
*/
47+
fun activityKey(activity: String): IntentBuilder {
48+
intent.putExtra(LocationPickerConstants.ACTIVITY_KEY, activity)
49+
return this
50+
}
51+
52+
/**
53+
* Gets and puts media in intent
54+
* @param media Media
55+
* @return LocationPicker.IntentBuilder
56+
*/
57+
fun media(media: Media): IntentBuilder {
58+
intent.putExtra(LocationPickerConstants.MEDIA, media)
59+
return this
60+
}
61+
62+
/**
63+
* Gets and sets the activity
64+
* @param activity Activity
65+
* @return Intent
66+
*/
67+
fun build(activity: Activity): Intent {
68+
intent.setClass(activity, LocationPickerActivity::class.java)
69+
return intent
70+
}
71+
}
72+
}

0 commit comments

Comments
 (0)