Skip to content

Commit

Permalink
Reip out vector mapfile setting (#437)
Browse files Browse the repository at this point in the history
It's causing crashes on some phones, and will be replaced with a new
mechanism soon, see PR #417.
  • Loading branch information
jezhiggins authored Sep 11, 2020
1 parent 4266e84 commit 442a27c
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 57 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ private const val PREFERENCE_SCREEN_ARG: String = "preferenceScreenArg"
private val SETTINGS_ICONS = mapOf(
"screen-maps-display" to GoogleMaterial.Icon.gmd_map,
"mapstyle" to null,
"mapfile" to null,
"confirm-new-route" to null,
"screen-routing-preferences" to GoogleMaterial.Icon.gmd_directions,
"routetype" to null,
Expand Down Expand Up @@ -50,13 +49,11 @@ class SettingsFragment : PreferenceFragmentCompat(), SharedPreferences.OnSharedP
super.onCreate(savedInstance)

setupMapStyles()
setupMapFileList()

setSummary(CycleStreetsPreferences.PREF_ROUTE_TYPE_KEY)
setSummary(CycleStreetsPreferences.PREF_UNITS_KEY)
setSummary(CycleStreetsPreferences.PREF_SPEED_KEY)
setSummary(CycleStreetsPreferences.PREF_MAPSTYLE_KEY)
setSummary(CycleStreetsPreferences.PREF_MAPFILE_KEY)
setSummary(CycleStreetsPreferences.PREF_UPLOAD_SIZE)
setSummary(CycleStreetsPreferences.PREF_NEARING_TURN)
setSummary(CycleStreetsPreferences.PREF_OFFTRACK_DISTANCE)
Expand Down Expand Up @@ -117,29 +114,10 @@ class SettingsFragment : PreferenceFragmentCompat(), SharedPreferences.OnSharedP

private fun setupMapStyles() {
findPreference<ListPreference>(CycleStreetsPreferences.PREF_MAPSTYLE_KEY)?.apply {

if (this.value == CycleStreetsPreferences.MAPSTYLE_MAPSFORGE && MapPack.availableMapPacks(context).isEmpty()) {
Log.i(TAG, "Offline Vector Maps were selected, but there are no available map packs; default to OSM")
this.value = CycleStreetsPreferences.MAPSTYLE_OSM
}

TileSource.configurePreference(this)
TileSource.configurePreference(this)
}
}

private fun setupMapFileList() {
findPreference<ListPreference>(CycleStreetsPreferences.PREF_MAPFILE_KEY)?.apply {
populateMapFileList(this)
}
}

private fun populateMapFileList(mapfilePref: ListPreference) {
val names = MapPack.availableMapPacks(context).map { pack: MapPack -> pack.name() }
val files = MapPack.availableMapPacks(context).map { pack: MapPack -> pack.path() }
mapfilePref.entries = names.toTypedArray()
mapfilePref.entryValues = files.toTypedArray()
}

override fun onResume() {
super.onResume()

Expand All @@ -165,37 +143,9 @@ class SettingsFragment : PreferenceFragmentCompat(), SharedPreferences.OnSharedP
prefUI.summary = prefUI.entry
if (prefUI is EditTextPreference)
prefUI.summary = prefUI.text
}

if (CycleStreetsPreferences.PREF_MAPSTYLE_KEY == key)
setMapFileSummary((prefUI as ListPreference).value)
}

private fun setMapFileSummary(style: String) {
val pref = findPreference<Preference>(CycleStreetsPreferences.PREF_MAPFILE_KEY) ?: return
val mapfilePref = pref as ListPreference

val enabled = style == CycleStreetsPreferences.MAPSTYLE_MAPSFORGE
mapfilePref.isEnabled = enabled

if (!enabled)
return

if (mapfilePref.entryValues.isEmpty()) {
mapfilePref.isEnabled = false
MessageBox.YesNo(requireView(), R.string.settings_no_map_packs) { _, _ -> MapPack.searchGooglePlay(requireContext()) }
return
}

val mapfile = CycleStreetsPreferences.mapfile()
var index = mapfilePref.findIndexOfValue(mapfile)
if (index == -1)
index = 0 // default to something

mapfilePref.setValueIndex(index)
mapfilePref.summary = mapfilePref.entries[index]
}

private fun setAccountSummary() {
private fun setAccountSummary() {
val pref = findPreference<Preference>(CycleStreetsPreferences.PREF_ACCOUNT_KEY) ?: return
val account = pref as PreferenceScreen

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,6 @@ private static void addBuiltInSources(final Context context) {
addTileSource("OpenCycleMap (shows hills)", OPENCYCLEMAP);
addTileSource("OpenStreetMap default style", OPENSTREETMAP);
addTileSource("Ordnance Survey OpenData", OSMAP);
addTileSource("Offline Vector Maps", MAPSFORGE);

builtInsAdded_ = true;
}
Expand Down
3 changes: 0 additions & 3 deletions libraries/cyclestreets-view/src/main/res/xml/prefs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
android:title="Map style"
android:summary="OpenStreetMap"
android:defaultValue="CycleStreets-OSM" />
<ListPreference
android:key="mapfile"
android:title="Vector mapfile" />
<CheckBoxPreference
android:key="confirm-new-route"
android:title="Confirm start new route"
Expand Down

0 comments on commit 442a27c

Please sign in to comment.