Compare commits
10 Commits
add-to-pla
...
feat/at/ca
| Author | SHA1 | Date | |
|---|---|---|---|
| 925fdb775b | |||
| 597374fa3c | |||
| 1a13b66013 | |||
| ad32311de3 | |||
|
|
9bab266925 | ||
| 05f23b8ab1 | |||
|
|
d4d332ec3c | ||
| 0b9e5b75cf | |||
|
|
2a18f86051 | ||
| f8968766bf |
1
.idea/misc.xml
generated
1
.idea/misc.xml
generated
@@ -1,4 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="DesignSurface">
|
<component name="DesignSurface">
|
||||||
<option name="filePathToZoomLevelMap">
|
<option name="filePathToZoomLevelMap">
|
||||||
|
|||||||
@@ -68,12 +68,14 @@ android {
|
|||||||
buildConfig true
|
buildConfig true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lintOptions {
|
||||||
|
baseline file("lint-baseline.xml")
|
||||||
|
}
|
||||||
|
|
||||||
namespace 'com.cappielloantonio.tempo'
|
namespace 'com.cappielloantonio.tempo'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation files('../libs/lib-decoder-ffmpeg-release.aar')
|
|
||||||
|
|
||||||
// AndroidX
|
// AndroidX
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
|
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
|
||||||
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.3.0'
|
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.3.0'
|
||||||
@@ -84,6 +86,7 @@ dependencies {
|
|||||||
implementation 'androidx.room:room-runtime:2.8.4'
|
implementation 'androidx.room:room-runtime:2.8.4'
|
||||||
implementation 'androidx.core:core-splashscreen:1.2.0'
|
implementation 'androidx.core:core-splashscreen:1.2.0'
|
||||||
implementation 'androidx.appcompat:appcompat:1.7.1'
|
implementation 'androidx.appcompat:appcompat:1.7.1'
|
||||||
|
implementation 'androidx.mediarouter:mediarouter:1.8.1'
|
||||||
|
|
||||||
// Android Material
|
// Android Material
|
||||||
implementation 'com.google.android.material:material:1.13.0'
|
implementation 'com.google.android.material:material:1.13.0'
|
||||||
@@ -108,4 +111,7 @@ dependencies {
|
|||||||
implementation 'com.squareup.retrofit2:retrofit:3.0.0'
|
implementation 'com.squareup.retrofit2:retrofit:3.0.0'
|
||||||
implementation 'com.squareup.okhttp3:logging-interceptor:5.3.2'
|
implementation 'com.squareup.okhttp3:logging-interceptor:5.3.2'
|
||||||
implementation 'com.squareup.retrofit2:converter-gson:3.0.0'
|
implementation 'com.squareup.retrofit2:converter-gson:3.0.0'
|
||||||
}
|
|
||||||
|
// Jellyfin
|
||||||
|
implementation 'org.jellyfin.media3:media3-ffmpeg-decoder:1.8.0+1'
|
||||||
|
}
|
||||||
|
|||||||
5972
app/lint-baseline.xml
Normal file
5972
app/lint-baseline.xml
Normal file
File diff suppressed because one or more lines are too long
@@ -157,7 +157,7 @@ public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAd
|
|||||||
albums.sort(Comparator.comparing(AlbumID3::getName));
|
albums.sort(Comparator.comparing(AlbumID3::getName));
|
||||||
break;
|
break;
|
||||||
case Constants.ALBUM_ORDER_BY_ARTIST:
|
case Constants.ALBUM_ORDER_BY_ARTIST:
|
||||||
albums.sort(Comparator.comparing(AlbumID3::getArtist));
|
albums.sort(Comparator.comparing(AlbumID3::getArtist, Comparator.nullsLast(Comparator.naturalOrder())));
|
||||||
break;
|
break;
|
||||||
case Constants.ALBUM_ORDER_BY_YEAR:
|
case Constants.ALBUM_ORDER_BY_YEAR:
|
||||||
albums.sort(Comparator.comparing(AlbumID3::getYear));
|
albums.sort(Comparator.comparing(AlbumID3::getYear));
|
||||||
|
|||||||
@@ -129,17 +129,22 @@ public class PlaylistPageFragment extends Fragment implements ClickCallback {
|
|||||||
playlistPageViewModel.getPlaylistSongLiveList().observe(getViewLifecycleOwner(), songs -> {
|
playlistPageViewModel.getPlaylistSongLiveList().observe(getViewLifecycleOwner(), songs -> {
|
||||||
if (isVisible() && getActivity() != null) {
|
if (isVisible() && getActivity() != null) {
|
||||||
DownloadUtil.getDownloadTracker(requireContext()).download(
|
DownloadUtil.getDownloadTracker(requireContext()).download(
|
||||||
MappingUtil.mapDownloads(songs),
|
MappingUtil.mapDownloads(songs),
|
||||||
songs.stream().map(child -> {
|
songs.stream().map(child -> {
|
||||||
Download toDownload = new Download(child);
|
Download toDownload = new Download(child);
|
||||||
toDownload.setPlaylistId(playlistPageViewModel.getPlaylist().getId());
|
toDownload.setPlaylistId(playlistPageViewModel.getPlaylist().getId());
|
||||||
toDownload.setPlaylistName(playlistPageViewModel.getPlaylist().getName());
|
toDownload.setPlaylistName(playlistPageViewModel.getPlaylist().getName());
|
||||||
return toDownload;
|
return toDownload;
|
||||||
}).collect(Collectors.toList())
|
}).collect(Collectors.toList())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return true;
|
return true;
|
||||||
|
} else if (item.getItemId() == R.id.action_add_to_queue) {
|
||||||
|
playlistPageViewModel.getPlaylistSongLiveList().observe(getViewLifecycleOwner(), songs -> {
|
||||||
|
MediaManager.enqueue(mediaBrowserListenableFuture, songs, false);
|
||||||
|
});
|
||||||
|
return true;
|
||||||
} else if (item.getItemId() == R.id.action_pin_playlist) {
|
} else if (item.getItemId() == R.id.action_pin_playlist) {
|
||||||
playlistPageViewModel.setPinned(true);
|
playlistPageViewModel.setPinned(true);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
android:paddingStart="24dp"
|
android:paddingStart="24dp"
|
||||||
android:paddingEnd="24dp"
|
android:paddingEnd="24dp"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
android:background="?attr/colorSurface"
|
||||||
app:menu="@menu/bottom_nav_menu" />
|
app:menu="@menu/bottom_nav_menu" />
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
|
|||||||
@@ -12,4 +12,4 @@
|
|||||||
android:id="@+id/downloadFragment"
|
android:id="@+id/downloadFragment"
|
||||||
android:icon="@drawable/ic_play_for_work"
|
android:icon="@drawable/ic_play_for_work"
|
||||||
android:title="@string/menu_download_label" />
|
android:title="@string/menu_download_label" />
|
||||||
</menu>
|
</menu>
|
||||||
|
|||||||
@@ -18,4 +18,4 @@
|
|||||||
android:icon="@drawable/ic_settings"
|
android:icon="@drawable/ic_settings"
|
||||||
android:title="@string/menu_settings_button"
|
android:title="@string/menu_settings_button"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="never" />
|
||||||
</menu>
|
</menu>
|
||||||
|
|||||||
@@ -13,6 +13,13 @@
|
|||||||
android:icon="@drawable/ic_file_download"
|
android:icon="@drawable/ic_file_download"
|
||||||
android:title="@string/menu_download_all_button"
|
android:title="@string/menu_download_all_button"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="never" />
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_add_to_queue"
|
||||||
|
android:icon="@drawable/ic_add"
|
||||||
|
android:title="@string/menu_add_to_queue_button"
|
||||||
|
app:showAsAction="never" />
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_pin_playlist"
|
android:id="@+id/action_pin_playlist"
|
||||||
android:icon="@drawable/ic_add"
|
android:icon="@drawable/ic_add"
|
||||||
|
|||||||
@@ -157,6 +157,7 @@
|
|||||||
<string name="login_title">Subsonic servers</string>
|
<string name="login_title">Subsonic servers</string>
|
||||||
<string name="login_title_expanded">Subsonic servers</string>
|
<string name="login_title_expanded">Subsonic servers</string>
|
||||||
<string name="media_route_menu_title">Cast</string>
|
<string name="media_route_menu_title">Cast</string>
|
||||||
|
<string name="menu_add_to_queue_button">Add to queue</string>
|
||||||
<string name="menu_add_button">Add</string>
|
<string name="menu_add_button">Add</string>
|
||||||
<string name="menu_download_all_button">Download all</string>
|
<string name="menu_download_all_button">Download all</string>
|
||||||
<string name="menu_download_label">Download</string>
|
<string name="menu_download_label">Download</string>
|
||||||
|
|||||||
@@ -7,9 +7,15 @@
|
|||||||
android:title="@string/menu_search_button"
|
android:title="@string/menu_search_button"
|
||||||
app:showAsAction="always" />
|
app:showAsAction="always" />
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/media_route_menu_item"
|
||||||
|
android:title="@string/media_route_menu_title"
|
||||||
|
app:actionProviderClass="androidx.mediarouter.app.MediaRouteActionProvider"
|
||||||
|
app:showAsAction="ifRoom" />
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_settings"
|
android:id="@+id/action_settings"
|
||||||
android:icon="@drawable/ic_settings"
|
android:icon="@drawable/ic_settings"
|
||||||
android:title="@string/menu_settings_button"
|
android:title="@string/menu_settings_button"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="ifRoom" />
|
||||||
</menu>
|
</menu>
|
||||||
|
|||||||
@@ -18,4 +18,4 @@ allprojects {
|
|||||||
|
|
||||||
tasks.register('clean', Delete) {
|
tasks.register('clean', Delete) {
|
||||||
delete rootProject.buildDir
|
delete rootProject.buildDir
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user