fix: used set to address duplicates and removed toast that was firing to early

This commit is contained in:
eddyizm 2025-12-31 08:20:03 -08:00
parent a2401302ed
commit 193447d07e
No known key found for this signature in database
GPG key ID: CF5F671829E8158A
2 changed files with 5 additions and 9 deletions

View file

@ -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<Child> accumulatedSongs = new ArrayList<>();
private final Set<String> 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++;
}

View file

@ -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,12 +117,6 @@ 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();
}
}
});