From 8ac059bb172b0b21b5c8339439c47f9a9d1eab43 Mon Sep 17 00:00:00 2001 From: Matthew Simpson Date: Sun, 9 Mar 2025 14:34:11 +0000 Subject: [PATCH] Add "Add to playlist" option to Album bottom sheet dialog Resolves #349 Resolves #202 --- .../bottomsheetdialog/AlbumBottomSheetDialog.java | 15 +++++++++++++++ .../main/res/layout/bottom_sheet_album_dialog.xml | 13 +++++++++++++ app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 3 ++- app/src/main/res/values-ko/strings.xml | 1 + app/src/main/res/values-pt/strings.xml | 1 + app/src/main/res/values-ru/strings.xml | 1 + app/src/main/res/values-zh/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 10 files changed, 37 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java index a498f473..cfcefe9d 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java @@ -31,6 +31,7 @@ import com.cappielloantonio.tempo.service.MediaService; import com.cappielloantonio.tempo.subsonic.models.AlbumID3; import com.cappielloantonio.tempo.subsonic.models.Child; import com.cappielloantonio.tempo.ui.activity.MainActivity; +import com.cappielloantonio.tempo.ui.dialog.PlaylistChooserDialog; import com.cappielloantonio.tempo.util.Constants; import com.cappielloantonio.tempo.util.DownloadUtil; import com.cappielloantonio.tempo.util.MappingUtil; @@ -167,6 +168,20 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements }); }); + TextView addToPlaylist = view.findViewById(R.id.add_to_playlist_text_view); + addToPlaylist.setOnClickListener(v -> { + albumBottomSheetViewModel.getAlbumTracks().observe(getViewLifecycleOwner(), songs -> { + Bundle bundle = new Bundle(); + bundle.putParcelableArrayList(Constants.TRACKS_OBJECT, new ArrayList<>(songs)); + + PlaylistChooserDialog dialog = new PlaylistChooserDialog(); + dialog.setArguments(bundle); + dialog.show(requireActivity().getSupportFragmentManager(), null); + + dismissBottomSheet(); + }); + }); + TextView removeAll = view.findViewById(R.id.remove_all_text_view); albumBottomSheetViewModel.getAlbumTracks().observe(getViewLifecycleOwner(), songs -> { List mediaItems = MappingUtil.mapDownloads(songs); diff --git a/app/src/main/res/layout/bottom_sheet_album_dialog.xml b/app/src/main/res/layout/bottom_sheet_album_dialog.xml index a6ed37a5..b37a5f90 100644 --- a/app/src/main/res/layout/bottom_sheet_album_dialog.xml +++ b/app/src/main/res/layout/bottom_sheet_album_dialog.xml @@ -146,6 +146,19 @@ android:paddingBottom="12dp" android:text="@string/album_bottom_sheet_download_all" /> + + Bitte deaktiviere die Batterieoptimierung, damit die Medienwiedergabe bei ausgeschaltetem Bildschirm richtig funktioniert. Batterie Optimierung Offlinebetrieb + Zu Playliste hinzufügen Zur Warteschlange hinzufügen Alle herunterladen Gehe zu Künstler diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 03a2f0db..617b6fcb 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -3,6 +3,7 @@ Veuillez désactiver les optimisations de la batterie pour permettre la lecture des médias lorsque l\'écran est éteint. Optimisations de la batterie Mode hors-ligne + Ajouter à une playlist Ajouter à la file d\'attente Télécharger tout Aller à l\'artiste diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 2cc5bcb6..d402c769 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -3,7 +3,8 @@ Per favore, disabilita le ottimizzazioni della batteria per la riproduzione multimediale quando lo schermo è spento. Ottimizzazioni della Batteria Modalità offline - Aggiungi alla coda + Aggiungi alla playlist + Aggiungi alla coda Scarica tutto Vai all\'artista Mix istantaneo diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 679f333a..71128ca5 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -3,6 +3,7 @@ 화면이 꺼진 상태에서 음악 재생을 하기 위해서는 배터리 최적화를 비활성화 해주세요. 배터리 최적화 오프라인 모드 + 플레이리스트에 추가 재생목록에 추가 모두 다운로드 아티스트로 이동 diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 12f04a31..5f688e54 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -3,6 +3,7 @@ Por favor, desative as otimizações de bateria para a reprodução de mídia enquanto a tela estiver desligada. Otimizações de bateria Modo offline + Adicionar a uma playlist Adicionar à fila Baixar todos Ir para o(a) artista diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 0f893b90..684d5e8a 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -3,6 +3,7 @@ Пожалуйста, отключите оптимизацию батареи для воспроизведения мультимедиа при выключенном экране. Оптимизация батареи Офлайн-режим + Добавить в плейлист Добавить в очередь Скачать все Перейти к исполнителю diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 915b33d1..1daf002e 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -3,6 +3,7 @@ 请禁用针对媒体锁屏播放的电池优化。 电池优化 离线模式 + 添加到播放列表 添加到队列 全部下载 查看该艺术家 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5fd1ac33..455701e0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3,6 +3,7 @@ Please disable battery optimizations for media playback while the screen is off. Battery Optimizations Offline mode + Add to playlist Add to queue Download all Go to artist