Add "Add to playlist" option to Album bottom sheet dialog

Resolves #349
Resolves #202
This commit is contained in:
Matthew Simpson 2025-03-09 14:34:11 +00:00
parent bfdeb0658b
commit 8ac059bb17
No known key found for this signature in database
GPG key ID: 9291883D725C52C9
10 changed files with 37 additions and 1 deletions

View file

@ -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<MediaItem> mediaItems = MappingUtil.mapDownloads(songs);

View file

@ -146,6 +146,19 @@
android:paddingBottom="12dp"
android:text="@string/album_bottom_sheet_download_all" />
<TextView
android:id="@+id/add_to_playlist_text_view"
style="@style/LabelMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:paddingStart="20dp"
android:paddingTop="12dp"
android:paddingEnd="20dp"
android:paddingBottom="12dp"
android:text="@string/album_bottom_sheet_add_to_playlist" />
<TextView
android:id="@+id/remove_all_text_view"
style="@style/LabelMedium"

View file

@ -3,6 +3,7 @@
<string name="activity_battery_optimizations_summary">Bitte deaktiviere die Batterieoptimierung, damit die Medienwiedergabe bei ausgeschaltetem Bildschirm richtig funktioniert.</string>
<string name="activity_battery_optimizations_title">Batterie Optimierung</string>
<string name="activity_info_offline_mode">Offlinebetrieb</string>
<string name="album_bottom_sheet_add_to_playlist">Zu Playliste hinzufügen</string>
<string name="album_bottom_sheet_add_to_queue">Zur Warteschlange hinzufügen</string>
<string name="album_bottom_sheet_download_all">Alle herunterladen</string>
<string name="album_bottom_sheet_go_to_artist">Gehe zu Künstler</string>

View file

@ -3,6 +3,7 @@
<string name="activity_battery_optimizations_summary">Veuillez désactiver les optimisations de la batterie pour permettre la lecture des médias lorsque l\'écran est éteint.</string>
<string name="activity_battery_optimizations_title">Optimisations de la batterie</string>
<string name="activity_info_offline_mode">Mode hors-ligne</string>
<string name="album_bottom_sheet_add_to_playlist">Ajouter à une playlist</string>
<string name="album_bottom_sheet_add_to_queue">Ajouter à la file d\'attente</string>
<string name="album_bottom_sheet_download_all">Télécharger tout</string>
<string name="album_bottom_sheet_go_to_artist">Aller à l\'artiste</string>

View file

@ -3,7 +3,8 @@
<string name="activity_battery_optimizations_summary">Per favore, disabilita le ottimizzazioni della batteria per la riproduzione multimediale quando lo schermo è spento.</string>
<string name="activity_battery_optimizations_title">Ottimizzazioni della Batteria</string>
<string name="activity_info_offline_mode">Modalità offline</string>
<string name="album_bottom_sheet_add_to_queue">Aggiungi alla coda</string>
<string name="album_bottom_sheet_add_to_playlist">Aggiungi alla playlist</string>
<string name="album_bottom_sheet_add_to_queue">Aggiungi alla coda</string>
<string name="album_bottom_sheet_download_all">Scarica tutto</string>
<string name="album_bottom_sheet_go_to_artist">Vai all\'artista</string>
<string name="album_bottom_sheet_instant_mix">Mix istantaneo</string>

View file

@ -3,6 +3,7 @@
<string name="activity_battery_optimizations_summary">화면이 꺼진 상태에서 음악 재생을 하기 위해서는 배터리 최적화를 비활성화 해주세요.</string>
<string name="activity_battery_optimizations_title">배터리 최적화</string>
<string name="activity_info_offline_mode">오프라인 모드</string>
<string name="album_bottom_sheet_add_to_playlist">플레이리스트에 추가</string>
<string name="album_bottom_sheet_add_to_queue">재생목록에 추가</string>
<string name="album_bottom_sheet_download_all">모두 다운로드</string>
<string name="album_bottom_sheet_go_to_artist">아티스트로 이동</string>

View file

@ -3,6 +3,7 @@
<string name="activity_battery_optimizations_summary">Por favor, desative as otimizações de bateria para a reprodução de mídia enquanto a tela estiver desligada.</string>
<string name="activity_battery_optimizations_title">Otimizações de bateria</string>
<string name="activity_info_offline_mode">Modo offline</string>
<string name="album_bottom_sheet_add_to_playlist">Adicionar a uma playlist</string>
<string name="album_bottom_sheet_add_to_queue">Adicionar à fila</string>
<string name="album_bottom_sheet_download_all">Baixar todos</string>
<string name="album_bottom_sheet_go_to_artist">Ir para o(a) artista</string>

View file

@ -3,6 +3,7 @@
<string name="activity_battery_optimizations_summary">Пожалуйста, отключите оптимизацию батареи для воспроизведения мультимедиа при выключенном экране.</string>
<string name="activity_battery_optimizations_title">Оптимизация батареи</string>
<string name="activity_info_offline_mode">Офлайн-режим</string>
<string name="album_bottom_sheet_add_to_playlist">Добавить в плейлист</string>
<string name="album_bottom_sheet_add_to_queue">Добавить в очередь</string>
<string name="album_bottom_sheet_download_all">Скачать все</string>
<string name="album_bottom_sheet_go_to_artist">Перейти к исполнителю</string>

View file

@ -3,6 +3,7 @@
<string name="activity_battery_optimizations_summary">请禁用针对媒体锁屏播放的电池优化。</string>
<string name="activity_battery_optimizations_title">电池优化</string>
<string name="activity_info_offline_mode">离线模式</string>
<string name="album_bottom_sheet_add_to_playlist">添加到播放列表</string>
<string name="album_bottom_sheet_add_to_queue">添加到队列</string>
<string name="album_bottom_sheet_download_all">全部下载</string>
<string name="album_bottom_sheet_go_to_artist">查看该艺术家</string>

View file

@ -3,6 +3,7 @@
<string name="activity_battery_optimizations_summary">Please disable battery optimizations for media playback while the screen is off.</string>
<string name="activity_battery_optimizations_title">Battery Optimizations</string>
<string name="activity_info_offline_mode">Offline mode</string>
<string name="album_bottom_sheet_add_to_playlist">Add to playlist</string>
<string name="album_bottom_sheet_add_to_queue">Add to queue</string>
<string name="album_bottom_sheet_download_all">Download all</string>
<string name="album_bottom_sheet_go_to_artist">Go to artist</string>