From 7dafd2184302b4272f4784753c4f75e50c247c37 Mon Sep 17 00:00:00 2001 From: Mark Gillespie Date: Thu, 9 Mar 2017 15:08:51 +0000 Subject: [PATCH] Refresh button (#11) * Added a refresh button to bin the previous database, copy the new one, and reload it into the UI. Saves having to kill the app and re-open to see the latest changes. Should address "Issue #8 Reload Play Music Files" * Pull Request actions. * Fixed Typo and Translation --- .../MusicContainerListActivity.java | 23 ++++++++++++++++- .../src/main/res/drawable/ic_menu_refresh.xml | 25 +++++++++++++++++++ .../src/main/res/menu/music_track_list.xml | 6 +++++ .../src/main/res/values-de/strings.xml | 6 +++-- .../src/main/res/values/colors.xml | 2 ++ .../src/main/res/values/strings.xml | 4 ++- .../arcus/playmusiclib/PlayMusicManager.java | 2 +- 7 files changed, 63 insertions(+), 5 deletions(-) create mode 100644 playmusicexporter/src/main/res/drawable/ic_menu_refresh.xml diff --git a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/MusicContainerListActivity.java b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/MusicContainerListActivity.java index 7ba6e58..2d433f1 100644 --- a/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/MusicContainerListActivity.java +++ b/playmusicexporter/src/main/java/re/jcg/playmusicexporter/activities/MusicContainerListActivity.java @@ -40,9 +40,12 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.EditText; +import android.widget.Toast; import de.arcus.framework.logger.Logger; import de.arcus.framework.crashhandler.CrashHandler; +import de.arcus.playmusiclib.exceptions.CouldNotOpenDatabaseException; +import de.arcus.playmusiclib.exceptions.NoSuperUserException; import re.jcg.playmusicexporter.R; import re.jcg.playmusicexporter.fragments.MusicTrackListFragment; import re.jcg.playmusicexporter.fragments.MusicContainerListFragment; @@ -325,8 +328,26 @@ public class MusicContainerListActivity extends AppCompatActivity MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.music_track_list, menu); + MenuItem itemRefreshLibrary = menu.findItem(R.id.action_refresh); + itemRefreshLibrary.setOnMenuItemClickListener(item -> + { + try + { + mPlayMusicManager.reloadDatabase(); + mPlayMusicManager = null; + loadPlayMusicExporter(); + Toast.makeText( this, R.string.database_reloaded, Toast.LENGTH_SHORT).show(); + } + catch (NoSuperUserException | CouldNotOpenDatabaseException e) + { + Toast.makeText( this, R.string.dialog_superuser_access_denied_title, Toast.LENGTH_SHORT).show(); + e.printStackTrace(); + } + return true; + }); + // Finds the search item and create the search view - MenuItem itemSearch = menu.findItem(R.id.action_search); + MenuItem itemSearch = menu. findItem(R.id.action_search); mSearchView = (SearchView)MenuItemCompat.getActionView(itemSearch); if (mSearchView != null) { diff --git a/playmusicexporter/src/main/res/drawable/ic_menu_refresh.xml b/playmusicexporter/src/main/res/drawable/ic_menu_refresh.xml new file mode 100644 index 0000000..e0fbccb --- /dev/null +++ b/playmusicexporter/src/main/res/drawable/ic_menu_refresh.xml @@ -0,0 +1,25 @@ + + + + diff --git a/playmusicexporter/src/main/res/menu/music_track_list.xml b/playmusicexporter/src/main/res/menu/music_track_list.xml index 34c2903..4cd393a 100644 --- a/playmusicexporter/src/main/res/menu/music_track_list.xml +++ b/playmusicexporter/src/main/res/menu/music_track_list.xml @@ -29,4 +29,10 @@ app:showAsAction="always" app:actionViewClass="android.support.v7.widget.SearchView" /> + + + \ No newline at end of file diff --git a/playmusicexporter/src/main/res/values-de/strings.xml b/playmusicexporter/src/main/res/values-de/strings.xml index 2f8c224..14498df 100644 --- a/playmusicexporter/src/main/res/values-de/strings.xml +++ b/playmusicexporter/src/main/res/values-de/strings.xml @@ -104,6 +104,8 @@ Verzeichnisbaum Bestehende Dateien überschreiben Dateiverarbeitung - Überschreiben Sie die exportierte Datei immer, auch wenn sie bereits existiert. - Bestehende Dateien überschreiben. + Überschreiben Sie die exportierte Datei immer, auch wenn sie bereits existiert + Bestehende Dateien überschreiben + Datenbank neu laden + Datenbank neu geladen \ No newline at end of file diff --git a/playmusicexporter/src/main/res/values/colors.xml b/playmusicexporter/src/main/res/values/colors.xml index 0788409..d16b282 100644 --- a/playmusicexporter/src/main/res/values/colors.xml +++ b/playmusicexporter/src/main/res/values/colors.xml @@ -44,4 +44,6 @@ #11000000 #88000000 #ef6c00 + #ffffffff + #ff000000 \ No newline at end of file diff --git a/playmusicexporter/src/main/res/values/strings.xml b/playmusicexporter/src/main/res/values/strings.xml index e7f388a..66aa76e 100644 --- a/playmusicexporter/src/main/res/values/strings.xml +++ b/playmusicexporter/src/main/res/values/strings.xml @@ -144,6 +144,8 @@ Trigger ExportAllService now File Handling - Always overwrite the exported file, even if it already exists. + Always overwrite the exported file, even if it already exists Overwrite Existing Files + Refresh + Music Database Reloaded diff --git a/playmusiclib/src/main/java/de/arcus/playmusiclib/PlayMusicManager.java b/playmusiclib/src/main/java/de/arcus/playmusiclib/PlayMusicManager.java index bfc80d9..7b570ce 100644 --- a/playmusiclib/src/main/java/de/arcus/playmusiclib/PlayMusicManager.java +++ b/playmusiclib/src/main/java/de/arcus/playmusiclib/PlayMusicManager.java @@ -373,7 +373,7 @@ public class PlayMusicManager { * @throws NoSuperUserException No super user permissions * @throws CouldNotOpenDatabaseException Could not open the database */ - public void realoadDatabase() throws NoSuperUserException, CouldNotOpenDatabaseException { + public void reloadDatabase() throws NoSuperUserException, CouldNotOpenDatabaseException { // Reload database loadDatabase(); }