Skip to content

Commit

Permalink
Merge branch 'osmandapp:master' into hardy_Afa
Browse files Browse the repository at this point in the history
  • Loading branch information
sonora authored May 15, 2024
2 parents 345c0e5 + a6e896f commit eebef21
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public class CachedOsmandIndexes {
private boolean hasChanged = false;
public static final String INDEXES_DEFAULT_FILENAME = "indexes.cache";

public static final int VERSION = 4;// synchronize with binaryRead.cpp CACHE_VERSION
public static final int VERSION = 5;// synchronize with binaryRead.cpp CACHE_VERSION

public FileIndex addToCache(BinaryMapIndexReader reader, File f) {
hasChanged = true;
Expand Down
37 changes: 35 additions & 2 deletions OsmAnd/src/net/osmand/plus/configmap/tracks/TrackTabsHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import net.osmand.IndexConstants;
import net.osmand.data.LatLon;
import net.osmand.gpx.GPXFile;
import net.osmand.plus.OsmandApplication;
Expand All @@ -26,6 +27,7 @@
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
Expand Down Expand Up @@ -99,12 +101,43 @@ private void updateTrackTabs(@NonNull Map<String, TrackTab> folderTabs) {
trackTabs.clear();
trackTabs.put(TrackTabType.ON_MAP.name(), getTracksOnMapTab());
trackTabs.put(TrackTabType.ALL.name(), getAllTracksTab());
trackTabs.putAll(getAllSmartFoldersTabs());
trackTabs.putAll(folderTabs);
for (TrackTab tab : sortTabOrder(getAllSmartFoldersTabs())) {
trackTabs.put(tab.getTypeName(), tab);
}
for (TrackTab tab : sortTabOrder(folderTabs)) {
trackTabs.put(tab.getTypeName(), tab);
}
loadTabsSortModes();
sortTrackTabs();
}

private List<TrackTab> sortTabOrder(Map<String, TrackTab> folderTabs) {
List<TrackTab> sortedTabs = new ArrayList<>(folderTabs.values());
Map<String, String> tabsSortModes = settings.getTrackSortModes();
TracksSortMode rootSortModeTemp = TracksSortMode.getDefaultSortMode();
String trackRootDir = app.getAppPath(IndexConstants.GPX_INDEX_DIR).getName();
if (tabsSortModes.containsKey(trackRootDir)) {
rootSortModeTemp = TracksSortMode.getByValue(tabsSortModes.get(trackRootDir));
}
final TracksSortMode rootSortMode = rootSortModeTemp;
//LatLon latLon = app.getMapViewTrackingUtilities().getDefaultLocation();
//Collections.sort(sortedTabs, new TracksComparator(rootSortMode, latLon));
// PRELIMINARY: Should ultimately use TracksComparator for trackTabs, similar to trackFolders:
Collections.sort(sortedTabs, new Comparator<TrackTab>() {
@Override
public int compare(TrackTab tab1, TrackTab tab2) {
switch (rootSortMode) {
case NAME_ASCENDING:
return tab1.getTypeName().compareTo(tab2.getTypeName());
case NAME_DESCENDING:
return -tab1.getTypeName().compareTo(tab2.getTypeName());
}
return tab1.getTypeName().compareTo(tab2.getTypeName());
}
});
return sortedTabs;
}

private void updateSelectTrackTabs(@NonNull TrackFolder folder) {
processVisibleTracks();
processRecentlyVisibleTracks();
Expand Down

0 comments on commit eebef21

Please sign in to comment.