Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you've accidentally de-indented this by 1 character 😂

I clearly don't care enough to request a change, but you may feel like fixing it as part of your broader PR.

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