From 193447d07e5ebd84764bb3e9a0cd6a39faaf0b08 Mon Sep 17 00:00:00 2001 From: eddyizm Date: Wed, 31 Dec 2025 08:20:03 -0800 Subject: [PATCH] fix: used set to address duplicates and removed toast that was firing to early --- .../tempo/repository/SongRepository.java | 4 ++++ .../bottomsheetdialog/ArtistBottomSheetDialog.java | 10 +--------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/tempo/repository/SongRepository.java b/app/src/main/java/com/cappielloantonio/tempo/repository/SongRepository.java index a3b14031..0c82e022 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/repository/SongRepository.java +++ b/app/src/main/java/com/cappielloantonio/tempo/repository/SongRepository.java @@ -11,8 +11,10 @@ import com.cappielloantonio.tempo.util.Constants.SeedType; import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.List; import java.util.Objects; +import java.util.Set; import retrofit2.Call; import retrofit2.Callback; @@ -94,6 +96,7 @@ public class SongRepository { private final MediaCallbackInternal originalCallback; private final int targetCount; private final List accumulatedSongs = new ArrayList<>(); + private final Set trackIds = new HashSet<>(); private boolean isComplete = false; MediaCallbackAccumulator(MediaCallbackInternal callback, int count) { @@ -113,6 +116,7 @@ public class SongRepository { int added = 0; for (Child s : batch) { if (!accumulatedSongs.contains(s) && accumulatedSongs.size() < targetCount) { + trackIds.add(s.getId()); accumulatedSongs.add(s); added++; } diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java index 2f48e4dc..b6e88c1a 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java @@ -8,11 +8,9 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; -import android.widget.Toast; import android.widget.ToggleButton; import androidx.annotation.Nullable; -import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import androidx.media3.common.util.UnstableApi; import androidx.media3.session.MediaBrowser; @@ -119,13 +117,7 @@ public class ArtistBottomSheetDialog extends BottomSheetDialogFragment implement } view.postDelayed(() -> dismissBottomSheet(), 200); }, 300); - } else { - // No songs at all - all attempts failed - Toast.makeText(requireContext(), - "Could not load songs. Please check your connection.", - Toast.LENGTH_SHORT).show(); - dismissBottomSheet(); - } + } } }); });