Skip to content

Commit

Permalink
Reip out vector mapfile setting
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 committed Sep 10, 2020
1 parent 4266e84 commit b30fb27
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 b30fb27

Please sign in to comment.