From 6d33d8b77764d1c5cf01b1e35c5a8ef3a4b52586 Mon Sep 17 00:00:00 2001 From: GrazianoCapelli Date: Sun, 21 Nov 2021 11:54:30 +0100 Subject: [PATCH] #141 - Show only the folder name instead of the complete uri path --- .../graziano/gpslogger/FragmentSettings.java | 12 +++++++----- .../graziano/gpslogger/GPSActivity.java | 2 +- .../graziano/gpslogger/GPSApplication.java | 14 ++++++++++++++ app/src/main/res/values/strings.xml | 2 +- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/basicairdata/graziano/gpslogger/FragmentSettings.java b/app/src/main/java/eu/basicairdata/graziano/gpslogger/FragmentSettings.java index 9216971f..de14d631 100644 --- a/app/src/main/java/eu/basicairdata/graziano/gpslogger/FragmentSettings.java +++ b/app/src/main/java/eu/basicairdata/graziano/gpslogger/FragmentSettings.java @@ -357,11 +357,13 @@ else if (evList.size() == 1) pGPXVersion.setSummary(pGPXVersion.getEntry()); pShowTrackStatsType.setSummary(pShowTrackStatsType.getEntry()); pShowDirections.setSummary(pShowDirections.getEntry()); - if (GPSApplication.getInstance().isExportFolderWritable()) - pExportFolder.setSummary(prefs.getString("prefExportFolder", "").replace("%3A","/").replace("%20"," ")); - else - pExportFolder.setSummary(getString(R.string.pref_not_set)); - //pViewTracksWith.setSummary(pViewTracksWith.getEntry()); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + if (GPSApplication.getInstance().isExportFolderWritable()) + pExportFolder.setSummary(GPSApplication.getInstance().extractFolderNameFromEncodedUri(prefs.getString("prefExportFolder", ""))); + else + pExportFolder.setSummary(getString(R.string.pref_not_set)); + } } @Override diff --git a/app/src/main/java/eu/basicairdata/graziano/gpslogger/GPSActivity.java b/app/src/main/java/eu/basicairdata/graziano/gpslogger/GPSActivity.java index 806f4f60..7759c8f0 100644 --- a/app/src/main/java/eu/basicairdata/graziano/gpslogger/GPSActivity.java +++ b/app/src/main/java/eu/basicairdata/graziano/gpslogger/GPSActivity.java @@ -363,7 +363,7 @@ public void onEvent(Short msg) { @Override public void run() { Toast toast = Toast.makeText(gpsApp.getApplicationContext(), - gpsApp.getString(R.string.toast_track_exported, gpsApp.getPrefExportFolder()), Toast.LENGTH_LONG); + gpsApp.getString(R.string.toast_track_exported, gpsApp.extractFolderNameFromEncodedUri(gpsApp.getPrefExportFolder())), Toast.LENGTH_LONG); toast.setGravity(Gravity.BOTTOM, 0, TOAST_VERTICAL_OFFSET); toast.show(); } diff --git a/app/src/main/java/eu/basicairdata/graziano/gpslogger/GPSApplication.java b/app/src/main/java/eu/basicairdata/graziano/gpslogger/GPSApplication.java index fd94a4f5..a50c7ddd 100644 --- a/app/src/main/java/eu/basicairdata/graziano/gpslogger/GPSApplication.java +++ b/app/src/main/java/eu/basicairdata/graziano/gpslogger/GPSApplication.java @@ -860,6 +860,20 @@ public String getFileName(Track track) { return track.getName() + " - " + stringToDescFileName(track.getDescription()); } + /** + * Extracts the folder name starting from the encoded uri. + * + * @param uriPath The encoded URI path + * @return the path of the folder + */ + public String extractFolderNameFromEncodedUri(String uriPath) { + String spath = Uri.decode(uriPath); + if (spath.contains(":")) { + String[] spathParts = spath.split(":"); + return spathParts[spathParts.length - 1]; + } else return spath; + } + // ---------------------------------------------------------------------- Preferences Excluded from Backup // These are Boolean SharedPreferences that are excluded by automatic Backups diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 505ec119..db4dac1a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -103,7 +103,7 @@ Settings Track saved into the Tracklist - Tracks exported in %1$s + Tracks exported in \"%1$s\" About Online help Shutdown