diff options
author | Scott Jackson <daneren2005@gmail.com> | 2015-02-27 08:46:42 -0800 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2015-02-27 08:46:42 -0800 |
commit | 3a878a9f5612e469532731e98ba8a75139f33ea5 (patch) | |
tree | 4c06d4d7fee6e045c821f8f621d03e16ae79dde0 | |
parent | dae987d86671333ba00b70c236484e5c67d00a8d (diff) | |
parent | 50f81f657f9c2c520f4af08a519f0c1d73a2b9a1 (diff) | |
download | dsub-3a878a9f5612e469532731e98ba8a75139f33ea5.tar.gz dsub-3a878a9f5612e469532731e98ba8a75139f33ea5.tar.bz2 dsub-3a878a9f5612e469532731e98ba8a75139f33ea5.zip |
Merge branch 'master' into CastProxy
-rw-r--r-- | AndroidManifest.xml | 4 | ||||
-rw-r--r-- | res/xml/changelog.xml | 4 | ||||
-rw-r--r-- | src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java | 2 | ||||
-rw-r--r-- | src/github/daneren2005/dsub/service/DownloadService.java | 2 | ||||
-rw-r--r-- | src/github/daneren2005/dsub/service/RESTMusicService.java | 30 | ||||
-rw-r--r-- | src/github/daneren2005/dsub/util/FileUtil.java | 25 | ||||
-rw-r--r-- | src/github/daneren2005/dsub/view/HeaderGridView.java | 4 |
7 files changed, 52 insertions, 19 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 52ecc026..baed2745 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,8 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="github.daneren2005.dsub"
android:installLocation="internalOnly"
- android:versionCode="145"
- android:versionName="4.9.2">
+ android:versionCode="146"
+ android:versionName="4.9.3">
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="github.daneren2005.dsub"
diff --git a/res/xml/changelog.xml b/res/xml/changelog.xml index 66975aa7..c02722fb 100644 --- a/res/xml/changelog.xml +++ b/res/xml/changelog.xml @@ -1,5 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <changelog> + <release version="4.9.3" versioncode="146" releasedate="2/27/2015"> + <change>Browse starred by folder as well (Subsonic 5.2+)</change> + <change>Crash fixes</change> + </release> <release version="4.9.2" versioncode="145" releasedate="2/20/2015"> <change>Fix some more DLNA issues (still working on others)</change> <change>Artist Radio (Subsonic 5.1+)</change> diff --git a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java index b8a1006b..515a6cd4 100644 --- a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java +++ b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java @@ -730,7 +730,7 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Adapter // Needs to be added here, GB crashes if you to try to remove the header view before adapter is set
if(addAlbumHeader && entryAdapter == null) {
- if(entries.size() > 0) {
+ if(entries.size() > 0 || playlistId != null || podcastId != null) {
entryList.addHeaderView(albumList);
} else {
ViewGroup rootGroup = (ViewGroup) rootView.findViewById(R.id.select_album_layout);
diff --git a/src/github/daneren2005/dsub/service/DownloadService.java b/src/github/daneren2005/dsub/service/DownloadService.java index 5ab58bf6..24c710dd 100644 --- a/src/github/daneren2005/dsub/service/DownloadService.java +++ b/src/github/daneren2005/dsub/service/DownloadService.java @@ -233,9 +233,9 @@ public class DownloadService extends Service { mediaRouter = new MediaRouteManager(this); instance = this; - lifecycleSupport.onCreate(); shufflePlayBuffer = new ShufflePlayBuffer(this); artistRadioBuffer = new ArtistRadioBuffer(this); + lifecycleSupport.onCreate(); } @Override diff --git a/src/github/daneren2005/dsub/service/RESTMusicService.java b/src/github/daneren2005/dsub/service/RESTMusicService.java index 715d07da..341b1158 100644 --- a/src/github/daneren2005/dsub/service/RESTMusicService.java +++ b/src/github/daneren2005/dsub/service/RESTMusicService.java @@ -594,9 +594,22 @@ public class RESTMusicService implements MusicService { @Override public MusicDirectory getStarredList(Context context, ProgressListener progressListener) throws Exception { - Reader reader = getReader(context, progressListener, Util.isTagBrowsing(context, getInstance(context)) ? "getStarred2" : "getStarred", null); + List<String> names = new ArrayList<String>(); + List<Object> values = new ArrayList<Object>(); + + // Add folder if it was set and is non null + int instance = getInstance(context); + if(Util.getAlbumListsPerFolder(context, instance)) { + String folderId = Util.getSelectedMusicFolderId(context, instance); + if(folderId != null) { + names.add("musicFolderId"); + values.add(folderId); + } + } + + Reader reader = getReader(context, progressListener, Util.isTagBrowsing(context, instance) ? "getStarred2" : "getStarred", null, names, values); try { - return new StarredListParser(context, getInstance(context)).parse(reader, progressListener); + return new StarredListParser(context, instance).parse(reader, progressListener); } finally { Util.close(reader); } @@ -1103,10 +1116,19 @@ public class RESTMusicService implements MusicService { parameterNames.add("offset"); parameterValues.add(offset); - Reader reader = getReader(context, progressListener, "getSongsByGenre", params, parameterNames, parameterValues); + // Add folder if it was set and is non null + int instance = getInstance(context); + if(Util.getAlbumListsPerFolder(context, instance)) { + String folderId = Util.getSelectedMusicFolderId(context, instance); + if(folderId != null) { + parameterNames.add("musicFolderId"); + parameterValues.add(folderId); + } + } + Reader reader = getReader(context, progressListener, "getSongsByGenre", params, parameterNames, parameterValues); try { - return new RandomSongsParser(context, getInstance(context)).parse(reader, progressListener); + return new RandomSongsParser(context, instance).parse(reader, progressListener); } finally { Util.close(reader); } diff --git a/src/github/daneren2005/dsub/util/FileUtil.java b/src/github/daneren2005/dsub/util/FileUtil.java index fbfa6af0..8bd53c0c 100644 --- a/src/github/daneren2005/dsub/util/FileUtil.java +++ b/src/github/daneren2005/dsub/util/FileUtil.java @@ -501,17 +501,24 @@ public class FileUtil { } public static void deleteEmptyDir(File dir) { - File[] children = dir.listFiles(); + try { + File[] children = dir.listFiles(); + if(children == null) { + return; + } - // No songs left in the folder - if(children.length == 1 && children[0].getPath().equals(FileUtil.getAlbumArtFile(dir).getPath())) { - Util.delete(children[0]); - children = dir.listFiles(); - } + // No songs left in the folder + if (children.length == 1 && children[0].getPath().equals(FileUtil.getAlbumArtFile(dir).getPath())) { + Util.delete(children[0]); + children = dir.listFiles(); + } - // Delete empty directory - if (children.length == 0) { - Util.delete(dir); + // Delete empty directory + if (children.length == 0) { + Util.delete(dir); + } + } catch(Exception e) { + Log.w(TAG, "Error while trying to delete empty dir", e); } } diff --git a/src/github/daneren2005/dsub/view/HeaderGridView.java b/src/github/daneren2005/dsub/view/HeaderGridView.java index 51d08ebf..c8e51764 100644 --- a/src/github/daneren2005/dsub/view/HeaderGridView.java +++ b/src/github/daneren2005/dsub/view/HeaderGridView.java @@ -36,7 +36,7 @@ import java.util.ArrayList; * See {@link HeaderGridView#addFooterView(View, Object, boolean)} */ public class HeaderGridView extends GridView { - + private static final String TAG = HeaderGridView.class.getSimpleName(); public static boolean DEBUG = false; /** @@ -316,7 +316,7 @@ public class HeaderGridView extends GridView { int numColumns = getNumColumnsCompatible(); // adapter has not been set or has no views in it; - if (adapter == null || adapter.getCount() <= numColumns * (mHeaderViewInfos.size() + mFooterViewInfos.size())) { + if (adapter == null || adapter.getCount() <= numColumns * (mHeaderViewInfos.size() + mFooterViewInfos.size()) || numColumns == -1) { return -1; } int mColumnWidth = getColumnWidthCompatible(); |