diff options
author | Scott Jackson <daneren2005@gmail.com> | 2013-06-18 21:23:24 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2013-06-18 21:23:24 -0700 |
commit | 90da556bb175e31cf829911ad14bbc793cb1a216 (patch) | |
tree | 32050e8c325409fdeeb3184ee2948e18316610ea | |
parent | 9ba93d8a887fac10bb385dc4f2004bbaf1637167 (diff) | |
download | dsub-90da556bb175e31cf829911ad14bbc793cb1a216.tar.gz dsub-90da556bb175e31cf829911ad14bbc793cb1a216.tar.bz2 dsub-90da556bb175e31cf829911ad14bbc793cb1a216.zip |
Fix Show Album for online songs in offline mode
-rw-r--r-- | subsonic-android/src/github/daneren2005/dsub/fragments/DownloadFragment.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/subsonic-android/src/github/daneren2005/dsub/fragments/DownloadFragment.java b/subsonic-android/src/github/daneren2005/dsub/fragments/DownloadFragment.java index 9bcb4a05..5b227f89 100644 --- a/subsonic-android/src/github/daneren2005/dsub/fragments/DownloadFragment.java +++ b/subsonic-android/src/github/daneren2005/dsub/fragments/DownloadFragment.java @@ -530,6 +530,23 @@ public class DownloadFragment extends SubsonicFragment implements OnGestureListe intent.putExtra(Constants.INTENT_EXTRA_NAME_PARENT_ID, entry.getGrandParent());
intent.putExtra(Constants.INTENT_EXTRA_NAME_PARENT_NAME, entry.getArtist());
}
+
+ if(Util.isOffline(context)) {
+ try {
+ // This should only be succesful if this is a online song in offline mode
+ Integer.parseInt(entry.getParent());
+ String root = FileUtil.getMusicDirectory(context).getPath();
+ String id = root + "/" + entry.getPath();
+ id = id.substring(0, id.lastIndexOf("/"));
+ intent.putExtra(Constants.INTENT_EXTRA_NAME_ID, id);
+ id = id.substring(0, id.lastIndexOf("/"));
+ intent.putExtra(Constants.INTENT_EXTRA_NAME_PARENT_ID, id);
+ intent.putExtra(Constants.INTENT_EXTRA_NAME_PARENT_NAME, entry.getArtist());
+ } catch(Exception e) {
+ // Do nothing, entry.getParent() is fine
+ }
+ }
+
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Util.startActivityWithoutTransition(context, intent);
return true;
|