diff --git a/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp/activity/localization/LocalizationActivity.kt b/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp/activity/localization/LocalizationActivity.kt
index ca40aa7a9..29bb2ce39 100644
--- a/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp/activity/localization/LocalizationActivity.kt
+++ b/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp/activity/localization/LocalizationActivity.kt
@@ -27,35 +27,38 @@ class LocalizationActivity : AppCompatActivity(), OnMapReadyCallback {
Toast.makeText(this, R.string.change_language_instruction, Toast.LENGTH_LONG).show()
mapView.onCreate(savedInstanceState)
mapView.getMapAsync(this)
+ }
- fabLocalize.setOnClickListener {
- mapIsLocalized = if (mapIsLocalized) {
- localizationPlugin?.setMapLanguage(MapLocale(MapLocale.FRENCH))
- Toast.makeText(this, R.string.map_not_localized, Toast.LENGTH_SHORT).show()
- false
- } else {
- localizationPlugin?.matchMapLanguageWithDeviceDefault()
- Toast.makeText(this, R.string.map_localized, Toast.LENGTH_SHORT).show()
- true
+ override fun onMapReady(mapboxMap: MapboxMap) {
+ mapboxMap.setStyle(Style.MAPBOX_STREETS) { style ->
+ this.mapboxMap = mapboxMap
+ localizationPlugin = LocalizationPlugin(mapView, mapboxMap, style).also { localizationPlugin ->
+ localizationPlugin.matchMapLanguageWithDeviceDefault()
}
- }
- fabCamera.setOnClickListener {
- val locale = nextMapLocale
- localizationPlugin?.setMapLanguage(locale)
- localizationPlugin?.setCameraToLocaleCountry(locale, 25)
- }
+ fabLocalize.setOnClickListener {
+ mapIsLocalized = if (mapIsLocalized) {
+ localizationPlugin?.setMapLanguage(MapLocale(MapLocale.FRENCH))
+ Toast.makeText(this, R.string.map_not_localized, Toast.LENGTH_SHORT).show()
+ false
+ } else {
+ localizationPlugin?.matchMapLanguageWithDeviceDefault()
+ Toast.makeText(this, R.string.map_localized, Toast.LENGTH_SHORT).show()
+ true
+ }
+ }
- fabStyles.setOnClickListener {
- mapboxMap?.setStyle(Style.Builder().fromUri(Utils.nextStyle))
- }
- }
+ fabCamera.setOnClickListener {
+ val locale = nextMapLocale
+ localizationPlugin?.apply {
+ setMapLanguage(locale)
+ setCameraToLocaleCountry(locale, 25)
+ }
+ }
- override fun onMapReady(mapboxMap: MapboxMap) {
- this.mapboxMap = mapboxMap
- mapboxMap.setStyle(Style.MAPBOX_STREETS) {
- localizationPlugin = LocalizationPlugin(mapView, mapboxMap, it)
- localizationPlugin?.matchMapLanguageWithDeviceDefault()
+ fabStyles.setOnClickListener {
+ mapboxMap.setStyle(Style.Builder().fromUri(Utils.nextStyle))
+ }
}
}
@@ -145,6 +148,14 @@ class LocalizationActivity : AppCompatActivity(), OnMapReadyCallback {
localizationPlugin?.setMapLanguage(MapLocale.KOREAN)
return true
}
+ R.id.vietnamese -> {
+ localizationPlugin?.setMapLanguage(MapLocale.VIETNAMESE)
+ return true
+ }
+ R.id.italian -> {
+ localizationPlugin?.setMapLanguage(MapLocale.ITALIAN)
+ return true
+ }
R.id.local -> {
localizationPlugin?.setMapLanguage(MapLocale.LOCAL_NAME)
return true
@@ -159,7 +170,10 @@ class LocalizationActivity : AppCompatActivity(), OnMapReadyCallback {
companion object {
- private val LOCALES = arrayOf(MapLocale.CANADA, MapLocale.GERMANY, MapLocale.CHINA, MapLocale.US, MapLocale.CANADA_FRENCH, MapLocale.JAPAN, MapLocale.KOREA, MapLocale.FRANCE, MapLocale.SPAIN)
+ private val LOCALES = arrayOf(MapLocale.CANADA, MapLocale.GERMANY, MapLocale.CHINA,
+ MapLocale.US, MapLocale.CANADA_FRENCH, MapLocale.JAPAN, MapLocale.KOREA,
+ MapLocale.FRANCE, MapLocale.SPAIN, MapLocale.VIETNAM, MapLocale.ITALY, MapLocale.UK
+ )
private var index: Int = 0
diff --git a/app/src/main/res/menu/menu_languages.xml b/app/src/main/res/menu/menu_languages.xml
index 1b92f6868..2261ab68b 100644
--- a/app/src/main/res/menu/menu_languages.xml
+++ b/app/src/main/res/menu/menu_languages.xml
@@ -58,6 +58,16 @@
android:title="Korean"
app:showAsAction="never"/>
+
+
+
+
- = android.os.Build.VERSION_CODES.LOLLIPOP) {
Locale zh_CN_Hans = new Locale.Builder().setLanguage("zh").setRegion("CN").setScript("Hans").build();