44import android .view .LayoutInflater ;
55import android .view .View ;
66import android .view .ViewGroup ;
7+ import android .widget .TextView ;
78import android .widget .Toast ;
89
910import androidx .annotation .NonNull ;
@@ -28,6 +29,7 @@ public final class PlaylistAppendDialog extends PlaylistDialog {
2829
2930 private RecyclerView playlistRecyclerView ;
3031 private LocalItemListAdapter playlistAdapter ;
32+ private TextView playlistDuplicateIndicator ;
3133
3234 private final CompositeDisposable playlistDisposables = new CompositeDisposable ();
3335
@@ -73,6 +75,8 @@ public void onViewCreated(@NonNull final View view, @Nullable final Bundle saved
7375 playlistRecyclerView .setLayoutManager (new LinearLayoutManager (requireContext ()));
7476 playlistRecyclerView .setAdapter (playlistAdapter );
7577
78+ playlistDuplicateIndicator = view .findViewById (R .id .playlist_duplicate );
79+
7680 final View newPlaylistButton = view .findViewById (R .id .newPlaylist );
7781 newPlaylistButton .setOnClickListener (ignored -> openCreatePlaylistDialog ());
7882
@@ -120,23 +124,20 @@ public void openCreatePlaylistDialog() {
120124 }
121125
122126 private void onPlaylistsReceived (@ NonNull final List <PlaylistDuplicatesEntry > playlists ) {
123- if (playlistAdapter != null && playlistRecyclerView != null ) {
127+ if (playlistAdapter != null
128+ && playlistRecyclerView != null
129+ && playlistDuplicateIndicator != null ) {
124130 playlistAdapter .clearStreamItemList ();
125131 playlistAdapter .addItems (playlists );
126132 playlistRecyclerView .setVisibility (View .VISIBLE );
127- setDuplicateIndicatorExplanation (playlists );
133+ playlistDuplicateIndicator .setVisibility (
134+ anyPlaylistContainsDuplicates (playlists ) ? View .VISIBLE : View .GONE );
128135 }
129136 }
130- private void setDuplicateIndicatorExplanation (final List <PlaylistDuplicatesEntry > playlists ) {
131- for (final PlaylistDuplicatesEntry entry : playlists ) {
132- if (entry .timesStreamIsContained > 0 ) {
133- final View indicatorExplanation = getView ()
134- .findViewById (R .id .playlist_duplicate );
135- indicatorExplanation .setVisibility (View .VISIBLE );
136- return ;
137- }
138- }
139137
138+ private boolean anyPlaylistContainsDuplicates (final List <PlaylistDuplicatesEntry > playlists ) {
139+ return playlists .stream ()
140+ .anyMatch (playlist -> playlist .timesStreamIsContained > 0 );
140141 }
141142
142143 private void onPlaylistSelected (@ NonNull final LocalPlaylistManager manager ,
0 commit comments