From 90da556bb175e31cf829911ad14bbc793cb1a216 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Tue, 18 Jun 2013 21:23:24 -0700 Subject: Fix Show Album for online songs in offline mode --- .../daneren2005/dsub/fragments/DownloadFragment.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'subsonic-android/src') 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; -- cgit v1.2.3