Skip to content

Commit d4268e1

Browse files
Andyporrasjamescr
authored andcommitted
Refactor filename label handling and improve clarity in preferences and GPX export
1 parent eb54294 commit d4268e1

File tree

4 files changed

+18
-30
lines changed

4 files changed

+18
-30
lines changed

app/src/main/java/net/osmtracker/OSMTracker.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ public class OSMTracker {
1616
public static final class Preferences {
1717
// Property names
1818
public final static String KEY_STORAGE_DIR = "logging.storage.dir";
19-
public final static String KEY_EXPORT_LABEL = "gpx.export.label";
2019
public final static String KEY_VOICEREC_DURATION = "voicerec.duration";
2120
public final static String KEY_UI_THEME = "ui.theme";
2221
public final static String KEY_GPS_OSSETTINGS = "gps.ossettings";
@@ -26,6 +25,7 @@ public static final class Preferences {
2625
public final static String KEY_GPS_LOGGING_MIN_DISTANCE = "gps.logging.min_distance";
2726
public final static String KEY_USE_BAROMETER = "gpx.use_barometer";
2827
public final static String KEY_OUTPUT_FILENAME = "gpx.filename";
28+
public final static String KEY_OUTPUT_FILENAME_LABEL = "gpx.export.label";
2929
public final static String KEY_OUTPUT_ACCURACY = "gpx.accuracy";
3030
public final static String KEY_OUTPUT_GPX_HDOP_APPROXIMATION = "gpx.hdop.approximation";
3131
public final static String KEY_OUTPUT_DIR_PER_TRACK = "gpx.directory_per_track";
@@ -53,7 +53,6 @@ public static final class Preferences {
5353

5454
// Default values
5555
public final static String VAL_STORAGE_DIR = "/osmtracker";
56-
public final static String VAL_EXPORT_LABEL = "OSMTracker";
5756
public final static String VAL_VOICEREC_DURATION = "2";
5857
public final static String VAL_UI_THEME = "net.osmtracker:style/DefaultTheme";
5958
public final static boolean VAL_GPS_CHECKSTARTUP = true;
@@ -63,6 +62,7 @@ public static final class Preferences {
6362
public final static boolean VAL_USE_BAROMETER = false;
6463

6564
public final static String VAL_OUTPUT_FILENAME_NAME = "name";
65+
public final static String VAL_OUTPUT_FILENAME_LABEL = "OSMTracker";
6666
public final static String VAL_OUTPUT_FILENAME_NAME_DATE = "name_date";
6767
public final static String VAL_OUTPUT_FILENAME_DATE_NAME = "date_name";
6868
public final static String VAL_OUTPUT_FILENAME_DATE = "date";

app/src/main/java/net/osmtracker/gpx/ExportToTempFileTask.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public ExportToTempFileTask(Context context, long trackId) {
3434
super(context, trackId);
3535
try {
3636
String exportLabelName = PreferenceManager.getDefaultSharedPreferences(context).getString(
37-
OSMTracker.Preferences.KEY_EXPORT_LABEL, OSMTracker.Preferences.VAL_EXPORT_LABEL);
37+
OSMTracker.Preferences.KEY_OUTPUT_FILENAME_LABEL, OSMTracker.Preferences.VAL_OUTPUT_FILENAME_LABEL);
3838
String trackName = new DataHelper(context).getTrackById(trackId).getName();
3939
long date = new DataHelper(context).getTrackById(trackId).getStartDate();
4040

@@ -57,15 +57,12 @@ private String createFile(String sanitizedTrackName, String formattedTrackStartD
5757
OSMTracker.Preferences.VAL_OUTPUT_FILENAME);
5858

5959
boolean thereIsTrackName = sanitizedTrackName != null && sanitizedTrackName.length() >= 1;
60-
6160
switch(desiredOutputFormat){
6261
case OSMTracker.Preferences.VAL_OUTPUT_FILENAME_NAME:
6362
if(thereIsTrackName)
6463
result += sanitizedTrackName;
6564
else
66-
result += formattedTrackStartDate;
67-
if(!(exportLabelName.equals("")))
68-
result += "_"+ exportLabelName; // fallback case
65+
result += formattedTrackStartDate; // fallback case
6966
break;
7067
case OSMTracker.Preferences.VAL_OUTPUT_FILENAME_NAME_DATE:
7168
if(thereIsTrackName)
@@ -76,8 +73,6 @@ private String createFile(String sanitizedTrackName, String formattedTrackStartD
7673
}
7774
else
7875
result += formattedTrackStartDate;
79-
if(!(exportLabelName.equals("")))
80-
result += "_"+ exportLabelName;
8176
break;
8277
case OSMTracker.Preferences.VAL_OUTPUT_FILENAME_DATE_NAME:
8378
if(thereIsTrackName){
@@ -89,15 +84,13 @@ private String createFile(String sanitizedTrackName, String formattedTrackStartD
8984
}else{
9085
result += formattedTrackStartDate;
9186
}
92-
if(!(exportLabelName.equals("")))
93-
result += "_"+ exportLabelName;
9487
break;
9588
case OSMTracker.Preferences.VAL_OUTPUT_FILENAME_DATE:
9689
result += formattedTrackStartDate;
97-
if(!(exportLabelName.equals("")))
98-
result += "_"+ exportLabelName;
9990
break;
10091
}
92+
if(!(exportLabelName.equals("")))
93+
result += "_"+ exportLabelName;
10194
return result;
10295
}
10396

app/src/main/java/net/osmtracker/gpx/ExportTrackTask.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -566,9 +566,9 @@ public String buildGPXFilename(Cursor cursor, File parentDirectory) {
566566
public String formatGpxFilename(String desiredOutputFormat, String sanitizedTrackName, String formattedTrackStartDate){
567567
String result = "";
568568
String exportLabelName = PreferenceManager.getDefaultSharedPreferences(context).getString(
569-
OSMTracker.Preferences.KEY_EXPORT_LABEL, OSMTracker.Preferences.VAL_EXPORT_LABEL);
569+
OSMTracker.Preferences.KEY_OUTPUT_FILENAME_LABEL, OSMTracker.Preferences.VAL_OUTPUT_FILENAME_LABEL);
570570
if(exportLabelName == null){
571-
exportLabelName = OSMTracker.Preferences.VAL_EXPORT_LABEL;
571+
exportLabelName = OSMTracker.Preferences.VAL_OUTPUT_FILENAME_LABEL;
572572
}
573573
boolean thereIsTrackName = sanitizedTrackName != null && sanitizedTrackName.length() >= 1;
574574

@@ -578,8 +578,6 @@ public String formatGpxFilename(String desiredOutputFormat, String sanitizedTrac
578578
result += sanitizedTrackName;
579579
else
580580
result += formattedTrackStartDate;
581-
if(!(exportLabelName.equals("")))
582-
result += "_"+ exportLabelName; // fallback case
583581
break;
584582
case OSMTracker.Preferences.VAL_OUTPUT_FILENAME_NAME_DATE:
585583
if(thereIsTrackName)
@@ -590,8 +588,6 @@ public String formatGpxFilename(String desiredOutputFormat, String sanitizedTrac
590588
}
591589
else
592590
result += formattedTrackStartDate;
593-
if(!(exportLabelName.equals("")))
594-
result += "_"+ exportLabelName;
595591
break;
596592
case OSMTracker.Preferences.VAL_OUTPUT_FILENAME_DATE_NAME:
597593
if(thereIsTrackName){
@@ -603,15 +599,14 @@ public String formatGpxFilename(String desiredOutputFormat, String sanitizedTrac
603599
}else{
604600
result += formattedTrackStartDate;
605601
}
606-
if(!(exportLabelName.equals("")))
607-
result += "_"+ exportLabelName;
608602
break;
609603
case OSMTracker.Preferences.VAL_OUTPUT_FILENAME_DATE:
610604
result += formattedTrackStartDate;
611-
if(!(exportLabelName.equals("")))
612-
result += "_"+ exportLabelName;
613605
break;
614606
}
607+
if(!(exportLabelName.equals(""))) {
608+
result += "_" + exportLabelName;
609+
}
615610
return result;
616611
}
617612

app/src/test/java/net/osmtracker/gpx/ExportToStorageTaskTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public void testBuildGPXFilenameUsingOnlyTrackName() {
8383
Date trackStartDate = createDateFrom(2000, 1, 2, 3, 4, 5);
8484
String preferenceSetting = Preferences.VAL_OUTPUT_FILENAME_NAME;
8585

86-
String expectedFilename = "MyTrack_"+Preferences.VAL_EXPORT_LABEL+".gpx";
86+
String expectedFilename = "MyTrack_"+Preferences.VAL_OUTPUT_FILENAME_LABEL+".gpx";
8787

8888
doTestBuildGPXFilename(trackNameInDatabase, preferenceSetting, trackStartDate.getTime(), expectedFilename);
8989
}
@@ -94,7 +94,7 @@ public void testBuildGPXFilenameUsingTrackNameAndStartDate() {
9494
Date trackStartDate = createDateFrom(2000, 1, 2, 3, 4, 5);
9595
String preferenceSetting = Preferences.VAL_OUTPUT_FILENAME_NAME_DATE;
9696

97-
String expectedFilename = "MyTrack_2000-01-02_03-04-05_"+Preferences.VAL_EXPORT_LABEL+".gpx";
97+
String expectedFilename = "MyTrack_2000-01-02_03-04-05_"+Preferences.VAL_OUTPUT_FILENAME_LABEL+".gpx";
9898

9999
doTestBuildGPXFilename(trackNameInDatabase, preferenceSetting, trackStartDate.getTime(), expectedFilename);
100100
}
@@ -105,7 +105,7 @@ public void testBuildGPXFilenameUsingStartDateAndTrackName() {
105105
Date trackStartDate = createDateFrom(2000, 1, 2, 3, 4, 5);
106106
String preferenceSetting = Preferences.VAL_OUTPUT_FILENAME_DATE_NAME;
107107

108-
String expectedFilename = "2000-01-02_03-04-05_MyTrack_"+Preferences.VAL_EXPORT_LABEL+".gpx";
108+
String expectedFilename = "2000-01-02_03-04-05_MyTrack_"+Preferences.VAL_OUTPUT_FILENAME_LABEL+".gpx";
109109

110110
doTestBuildGPXFilename(trackNameInDatabase, preferenceSetting, trackStartDate.getTime(), expectedFilename);
111111
}
@@ -116,7 +116,7 @@ public void testBuildGPXFilenameUsingOnlyStartDate() {
116116
Date trackStartDate = createDateFrom(2000, 1, 2, 3, 4, 5);
117117
String preferenceSetting = Preferences.VAL_OUTPUT_FILENAME_DATE;
118118

119-
String expectedFilename = "2000-01-02_03-04-05_"+Preferences.VAL_EXPORT_LABEL+".gpx";
119+
String expectedFilename = "2000-01-02_03-04-05_"+Preferences.VAL_OUTPUT_FILENAME_LABEL+".gpx";
120120

121121
doTestBuildGPXFilename(trackNameInDatabase, preferenceSetting, trackStartDate.getTime(), expectedFilename);
122122
}
@@ -127,7 +127,7 @@ public void testBuildGPXFilenameWhenSanitizesTrackName() {
127127
Date trackStartDate = createDateFrom(2000, 1, 2, 3, 4, 5);
128128
String preferenceSetting = Preferences.VAL_OUTPUT_FILENAME_NAME;
129129

130-
String expectedFilename = ";M_y_T_r_a_c_k;_"+Preferences.VAL_EXPORT_LABEL+".gpx";
130+
String expectedFilename = ";M_y_T_r_a_c_k;_"+Preferences.VAL_OUTPUT_FILENAME_LABEL+".gpx";
131131

132132
doTestBuildGPXFilename(trackNameInDatabase, preferenceSetting, trackStartDate.getTime(), expectedFilename);
133133
}
@@ -138,7 +138,7 @@ public void testBuildGPXFilenameWhenUsesTrackNameButThereIsNoName() {
138138
Date trackStartDate = createDateFrom(2000, 1, 2, 3, 4, 5);
139139
String preferenceSetting = Preferences.VAL_OUTPUT_FILENAME_NAME;
140140

141-
String expectedFilename = "2000-01-02_03-04-05_"+Preferences.VAL_EXPORT_LABEL+".gpx"; // Must fallback to use the start date
141+
String expectedFilename = "2000-01-02_03-04-05_"+Preferences.VAL_OUTPUT_FILENAME_LABEL+".gpx"; // Must fallback to use the start date
142142

143143
doTestBuildGPXFilename(trackNameInDatabase, preferenceSetting, trackStartDate.getTime(), expectedFilename);
144144
}
@@ -149,7 +149,7 @@ public void testBuildGPXFilenameWhenUsesTrackNameAndStartDateButThereIsNoName()
149149
Date trackStartDate = createDateFrom(2000, 1, 2, 3, 4, 5);
150150
String preferenceSetting = Preferences.VAL_OUTPUT_FILENAME_NAME_DATE;
151151

152-
String expectedFilename = "2000-01-02_03-04-05_"+Preferences.VAL_EXPORT_LABEL+".gpx"; // Must fallback to use the start date
152+
String expectedFilename = "2000-01-02_03-04-05_"+Preferences.VAL_OUTPUT_FILENAME_LABEL+".gpx"; // Must fallback to use the start date
153153

154154
doTestBuildGPXFilename(trackNameInDatabase, preferenceSetting, trackStartDate.getTime(), expectedFilename);
155155
}

0 commit comments

Comments
 (0)