chore: added dialog to starred artists sync

This commit is contained in:
eddyizm 2025-09-27 21:52:04 -07:00
parent a547e19361
commit 3eb9b2fb5c
No known key found for this signature in database
GPG key ID: CF5F671829E8158A
2 changed files with 17 additions and 2 deletions

View file

@ -42,6 +42,7 @@ import com.cappielloantonio.tempo.ui.dialog.DeleteDownloadStorageDialog;
import com.cappielloantonio.tempo.ui.dialog.DownloadStorageDialog; import com.cappielloantonio.tempo.ui.dialog.DownloadStorageDialog;
import com.cappielloantonio.tempo.ui.dialog.StarredSyncDialog; import com.cappielloantonio.tempo.ui.dialog.StarredSyncDialog;
import com.cappielloantonio.tempo.ui.dialog.StarredAlbumSyncDialog; import com.cappielloantonio.tempo.ui.dialog.StarredAlbumSyncDialog;
import com.cappielloantonio.tempo.ui.dialog.StarredArtistSyncDialog;
import com.cappielloantonio.tempo.ui.dialog.StreamingCacheStorageDialog; import com.cappielloantonio.tempo.ui.dialog.StreamingCacheStorageDialog;
import com.cappielloantonio.tempo.util.DownloadUtil; import com.cappielloantonio.tempo.util.DownloadUtil;
import com.cappielloantonio.tempo.util.Preferences; import com.cappielloantonio.tempo.util.Preferences;
@ -110,6 +111,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
actionScan(); actionScan();
actionSyncStarredAlbums(); actionSyncStarredAlbums();
actionSyncStarredTracks(); actionSyncStarredTracks();
actionSyncStarredArtists();
actionChangeStreamingCacheStorage(); actionChangeStreamingCacheStorage();
actionChangeDownloadStorage(); actionChangeDownloadStorage();
actionDeleteDownloadStorage(); actionDeleteDownloadStorage();
@ -296,7 +298,21 @@ public class SettingsFragment extends PreferenceFragmentCompat {
return true; return true;
}); });
} }
private void actionSyncStarredArtists() {
findPreference("sync_starred_artists_for_offline_use").setOnPreferenceChangeListener((preference, newValue) -> {
if (newValue instanceof Boolean) {
if ((Boolean) newValue) {
StarredArtistSyncDialog dialog = new StarredArtistSyncDialog(() -> {
((SwitchPreference)preference).setChecked(false);
});
dialog.show(activity.getSupportFragmentManager(), null);
}
}
return true;
});
}
private void actionChangeStreamingCacheStorage() { private void actionChangeStreamingCacheStorage() {
findPreference("streaming_cache_storage").setOnPreferenceClickListener(preference -> { findPreference("streaming_cache_storage").setOnPreferenceClickListener(preference -> {
StreamingCacheStorageDialog dialog = new StreamingCacheStorageDialog(new DialogClickCallback() { StreamingCacheStorageDialog dialog = new StreamingCacheStorageDialog(new DialogClickCallback() {

View file

@ -72,7 +72,6 @@ public class StarredArtistsSyncViewModel extends AndroidViewModel {
AtomicInteger remainingArtists = new AtomicInteger(artists.size()); AtomicInteger remainingArtists = new AtomicInteger(artists.size());
for (ArtistID3 artist : artists) { for (ArtistID3 artist : artists) {
// Use the new callback-based method
artistRepository.getArtistAllSongs(artist.getId(), new ArtistRepository.ArtistSongsCallback() { artistRepository.getArtistAllSongs(artist.getId(), new ArtistRepository.ArtistSongsCallback() {
@Override @Override
public void onSongsCollected(List<Child> songs) { public void onSongsCollected(List<Child> songs) {