diff options
Diffstat (limited to 'app/src')
7 files changed, 55 insertions, 19 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/ChatFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/ChatFragment.java index 3e48f1a6..febf22de 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/ChatFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/ChatFragment.java @@ -81,6 +81,7 @@ public class ChatFragment extends SubsonicFragment { }); chatListView = (ListView) rootView.findViewById(R.id.chat_entries); + chatListView.setStackFromBottom(true); messageEditText.setImeActionLabel("Send", KeyEvent.KEYCODE_ENTER); messageEditText.addTextChangedListener(new TextWatcher() { diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java index abd1c6aa..2db10c2e 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java @@ -858,7 +858,7 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Section RecursiveLoader onValid = new RecursiveLoader(context) { @Override protected Boolean doInBackground() throws Throwable { - getSongsRecursively(entries, songs); + getSongsRecursively(entries, true); getDownloadService().downloadBackground(songs, save); return null; } diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/SubsonicFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/SubsonicFragment.java index 8a0752be..8672f534 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/SubsonicFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/SubsonicFragment.java @@ -1943,7 +1943,7 @@ public class SubsonicFragment extends Fragment implements SwipeRefreshLayout.OnR new RecursiveLoader(context) { @Override protected Boolean doInBackground() throws Throwable { - getSongsRecursively(entries, songs); + getSongsRecursively(entries, true); getDownloadService().downloadBackground(songs, save); return null; } @@ -2018,14 +2018,24 @@ public class SubsonicFragment extends Fragment implements SwipeRefreshLayout.OnR } protected void getSongsRecursively(List<Entry> entry) throws Exception { - getSongsRecursively(entry, songs); + getSongsRecursively(entry, false); + } + protected void getSongsRecursively(List<Entry> entry, boolean allowVideo) throws Exception { + getSongsRecursively(entry, songs, allowVideo); } protected void getSongsRecursively(List<Entry> entry, List<Entry> songs) throws Exception { + getSongsRecursively(entry, songs, false); + } + protected void getSongsRecursively(List<Entry> entry, List<Entry> songs, boolean allowVideo) throws Exception { MusicDirectory dir = new MusicDirectory(); dir.addChildren(entry); - getSongsRecursively(dir, songs); + getSongsRecursively(dir, songs, allowVideo); } + protected void getSongsRecursively(MusicDirectory parent, List<Entry> songs) throws Exception { + getSongsRecursively(parent, songs, false); + } + protected void getSongsRecursively(MusicDirectory parent, List<Entry> songs, boolean allowVideo) throws Exception { if (songs.size() > MAX_SONGS) { return; } @@ -2045,7 +2055,7 @@ public class SubsonicFragment extends Fragment implements SwipeRefreshLayout.OnR } for (Entry song : parent.getChildren(false, true)) { - if (!song.isVideo() && song.getRating() != 1) { + if ((!song.isVideo() || allowVideo) && song.getRating() != 1) { songs.add(song); } } diff --git a/app/src/main/java/github/daneren2005/dsub/service/ChromeCastController.java b/app/src/main/java/github/daneren2005/dsub/service/ChromeCastController.java index a729ed4e..6006e280 100644 --- a/app/src/main/java/github/daneren2005/dsub/service/ChromeCastController.java +++ b/app/src/main/java/github/daneren2005/dsub/service/ChromeCastController.java @@ -319,21 +319,22 @@ public class ChromeCastController extends RemoteController { meta.putString(MediaMetadata.KEY_ALBUM_ARTIST, song.getArtist()); meta.putString(MediaMetadata.KEY_ALBUM_TITLE, song.getAlbum()); - String coverArt = ""; - if(proxy == null || proxy instanceof WebProxy) { - coverArt = musicService.getCoverArtUrl(downloadService, song); + if(castDevice.hasCapability(CastDevice.CAPABILITY_VIDEO_IN)) { + if (proxy == null || proxy instanceof WebProxy) { + String coverArt = musicService.getCoverArtUrl(downloadService, song); - // If proxy is going, it is a web proxy - if(proxy != null) { - coverArt = proxy.getPublicAddress(coverArt); - } + // If proxy is going, it is a web proxy + if (proxy != null) { + coverArt = proxy.getPublicAddress(coverArt); + } - meta.addImage(new WebImage(Uri.parse(coverArt))); - } else { - File coverArtFile = FileUtil.getAlbumArtFile(downloadService, song); - if(coverArtFile != null && coverArtFile.exists()) { - coverArt = proxy.getPublicAddress(coverArtFile.getPath()); meta.addImage(new WebImage(Uri.parse(coverArt))); + } else { + File coverArtFile = FileUtil.getAlbumArtFile(downloadService, song); + if (coverArtFile != null && coverArtFile.exists()) { + String coverArt = proxy.getPublicAddress(coverArtFile.getPath()); + meta.addImage(new WebImage(Uri.parse(coverArt))); + } } } } diff --git a/app/src/main/java/github/daneren2005/dsub/service/OfflineMusicService.java b/app/src/main/java/github/daneren2005/dsub/service/OfflineMusicService.java index 2146cd15..17aaf804 100644 --- a/app/src/main/java/github/daneren2005/dsub/service/OfflineMusicService.java +++ b/app/src/main/java/github/daneren2005/dsub/service/OfflineMusicService.java @@ -394,8 +394,8 @@ public class OfflineMusicService implements MusicService { Reader reader = null; BufferedReader buffer = null; + int songCount = 0; try { - int songCount = 0; reader = new FileReader(file); buffer = new BufferedReader(reader); @@ -427,7 +427,9 @@ public class OfflineMusicService implements MusicService { Util.close(reader); } - playlists.add(playlist); + if(songCount > 0) { + playlists.add(playlist); + } } } diff --git a/app/src/main/java/github/daneren2005/dsub/service/RESTMusicService.java b/app/src/main/java/github/daneren2005/dsub/service/RESTMusicService.java index 97899529..88489e10 100644 --- a/app/src/main/java/github/daneren2005/dsub/service/RESTMusicService.java +++ b/app/src/main/java/github/daneren2005/dsub/service/RESTMusicService.java @@ -730,6 +730,22 @@ public class RESTMusicService implements MusicService { values.add(genre); } if(startYear != null && !"".equals(startYear)) { + // Check to make sure user isn't doing 2015 -> 2010 since Subsonic will return no results + if(endYear != null && !"".equals(endYear)) { + try { + int startYearInt = Integer.parseInt(startYear); + int endYearInt = Integer.parseInt(endYear); + + if(startYearInt > endYearInt) { + String tmp = startYear; + startYear = endYear; + endYear = tmp; + } + } catch(Exception e) { + Log.w(TAG, "Failed to convert start/end year into ints", e); + } + } + names.add("fromYear"); values.add(startYear); } diff --git a/app/src/main/res/menu/select_video_context.xml b/app/src/main/res/menu/select_video_context.xml index 41d2b1a6..95576efc 100644 --- a/app/src/main/res/menu/select_video_context.xml +++ b/app/src/main/res/menu/select_video_context.xml @@ -19,6 +19,12 @@ android:title="@string/common.download"/> </group> + <group android:id="@+id/hide_pin"> + <item + android:id="@+id/song_menu_pin" + android:title="@string/common.pin"/> + </group> + <group android:id="@+id/hide_delete"> <item android:id="@+id/song_menu_delete" |