diff options
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/adapter')
13 files changed, 98 insertions, 132 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java index 0a8b9a54..c10e3dab 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java @@ -40,12 +40,8 @@ public class ArtistAdapter extends SectionAdapter<Serializable> implements FastS public static int VIEW_TYPE_SONG = 3; public static int VIEW_TYPE_ARTIST = 4; - private List<MusicFolder> musicFolders; - private OnMusicFolderChanged onMusicFolderChanged; - - public ArtistAdapter(Context context, List<Serializable> artists, OnItemClickedListener listener) { - this(context, artists, null, listener, null); - } + private final List<MusicFolder> musicFolders; + private final OnMusicFolderChanged onMusicFolderChanged; public ArtistAdapter(Context context, List<Serializable> artists, List<MusicFolder> musicFolders, OnItemClickedListener onItemClickedListener, OnMusicFolderChanged onMusicFolderChanged) { super(context, artists); @@ -93,7 +89,7 @@ public class ArtistAdapter extends SectionAdapter<Serializable> implements FastS } }); - return new UpdateView.UpdateViewHolder(header, false); + return new UpdateView.UpdateViewHolder(header); } @Override public void onBindHeaderHolder(UpdateView.UpdateViewHolder holder, String header, int sectionIndex) { diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/ChatAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/ChatAdapter.java index 0c116d39..5b5b23f6 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/ChatAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/ChatAdapter.java @@ -23,7 +23,7 @@ import java.util.regex.Pattern; public class ChatAdapter extends ArrayAdapter<ChatMessage> { private final SubsonicActivity activity; - private ArrayList<ChatMessage> messages; + private final ArrayList<ChatMessage> messages; private final ImageLoader imageLoader; private static final String phoneRegex = "1?\\W*([2-9][0-8][0-9])\\W*([2-9][0-9]{2})\\W*([0-9]{4})"; //you can just place your support phone here diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/DetailsAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/DetailsAdapter.java index 927b63ae..a2549204 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/DetailsAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/DetailsAdapter.java @@ -30,8 +30,8 @@ import java.util.List; import github.daneren2005.dsub.R; public class DetailsAdapter extends ArrayAdapter<String> { - private List<String> headers; - private List<String> details; + private final List<String> headers; + private final List<String> details; public DetailsAdapter(Context context, int layout, List<String> headers, List<String> details) { super(context, layout, headers); diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/EntryGridAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/EntryGridAdapter.java index e75a5104..b769987f 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/EntryGridAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/EntryGridAdapter.java @@ -35,14 +35,12 @@ import github.daneren2005.dsub.view.UpdateView; import github.daneren2005.dsub.view.UpdateView.UpdateViewHolder; public class EntryGridAdapter extends SectionAdapter<Entry> { - private static String TAG = EntryGridAdapter.class.getSimpleName(); - public static int VIEW_TYPE_ALBUM_CELL = 1; public static int VIEW_TYPE_ALBUM_LINE = 2; public static int VIEW_TYPE_SONG = 3; - private ImageLoader imageLoader; - private boolean largeAlbums; + private final ImageLoader imageLoader; + private final boolean largeAlbums; private boolean showArtist = false; private boolean showAlbum = false; private boolean removeFromPlaylist = false; @@ -94,7 +92,7 @@ public class EntryGridAdapter extends SectionAdapter<Entry> { } public UpdateViewHolder onCreateHeaderHolder(ViewGroup parent) { - return new UpdateViewHolder(header, false); + return new UpdateViewHolder(header); } public void onBindHeaderHolder(UpdateViewHolder holder, String header, int sectionIndex) { diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/EntryInfiniteGridAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/EntryInfiniteGridAdapter.java index 6c1c14da..4914d52d 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/EntryInfiniteGridAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/EntryInfiniteGridAdapter.java @@ -20,6 +20,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.NonNull; + import java.util.List; import github.daneren2005.dsub.R; @@ -47,12 +49,13 @@ public class EntryInfiniteGridAdapter extends EntryGridAdapter { super(context, entries, imageLoader, largeCell); } + @NonNull @Override - public UpdateView.UpdateViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + public UpdateView.UpdateViewHolder<Entry> onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { if(viewType == VIEW_TYPE_LOADING) { View progress = LayoutInflater.from(context).inflate(R.layout.tab_progress, null); progress.setVisibility(View.VISIBLE); - return new UpdateView.UpdateViewHolder(progress, false); + return new UpdateView.UpdateViewHolder(progress); } return super.onCreateViewHolder(parent, viewType); @@ -131,7 +134,7 @@ public class EntryInfiniteGridAdapter extends EntryGridAdapter { result = service.getAlbumList(type, extra, size, offset, false, context, null); } else if("genres".equals(type) || "genres-songs".equals(type)) { result = service.getSongsByGenre(extra, size, offset, context, null); - }else if(type.indexOf(MainFragment.SONGS_LIST_PREFIX) != -1) { + }else if(type.contains(MainFragment.SONGS_LIST_PREFIX)) { result = service.getSongList(type, size, offset, context, null); } else { result = service.getAlbumList(type, size, offset, false, context, null); diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/ExpandableSectionAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/ExpandableSectionAdapter.java index 6ebb34e3..6fc41b1c 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/ExpandableSectionAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/ExpandableSectionAdapter.java @@ -16,13 +16,12 @@ package github.daneren2005.dsub.adapter; import android.content.Context; -import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import java.util.ArrayList; -import java.util.Arrays; +import java.util.Collections; import java.util.List; import github.daneren2005.dsub.R; @@ -31,7 +30,6 @@ import github.daneren2005.dsub.view.BasicHeaderView; import github.daneren2005.dsub.view.UpdateView; public abstract class ExpandableSectionAdapter<T> extends SectionAdapter<T> { - private static final String TAG = ExpandableSectionAdapter.class.getSimpleName(); private static final int DEFAULT_VISIBLE = 4; private static final int EXPAND_TOGGLE = R.attr.select_server; private static final int COLLAPSE_TOGGLE = R.attr.select_tabs; @@ -46,10 +44,7 @@ public abstract class ExpandableSectionAdapter<T> extends SectionAdapter<T> { List<List<T>> sections = new ArrayList<>(); sections.add(section); - init(context, Arrays.asList("Section"), sections, Arrays.asList((Integer) null)); - } - public ExpandableSectionAdapter(Context context, List<String> headers, List<List<T>> sections) { - init(context, headers, sections, null); + init(context, Collections.singletonList("Section"), sections, Collections.singletonList((Integer) null)); } public ExpandableSectionAdapter(Context context, List<String> headers, List<List<T>> sections, List<Integer> sectionsDefaultVisible) { init(context, headers, sections, sectionsDefaultVisible); @@ -143,8 +138,6 @@ public abstract class ExpandableSectionAdapter<T> extends SectionAdapter<T> { toggleSelectionView.setVisibility(View.GONE); } - if(view != null) { - view.setObject(header); - } + view.setObject(header); } } diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/GenreAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/GenreAdapter.java index 70aa5fe3..4020d301 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/GenreAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/GenreAdapter.java @@ -28,7 +28,7 @@ public class GenreAdapter extends SectionAdapter<Genre> implements FastScroller. public static int VIEW_TYPE_GENRE = 1; public GenreAdapter(Context context, List<Genre> genres, OnItemClickedListener listener) { - super(context, genres); + super(context, genres); this.onItemClickedListener = listener; } diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/MainAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/MainAdapter.java index dd70aa99..afbedbdc 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/MainAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/MainAdapter.java @@ -108,8 +108,6 @@ public class MainAdapter extends SectionAdapter<Integer> { checkBox.setVisibility(View.GONE); } - if(view != null) { - view.setObject(display); - } + view.setObject(display); } } diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/PlaylistAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/PlaylistAdapter.java index 6402eecb..4b457326 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/PlaylistAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/PlaylistAdapter.java @@ -28,8 +28,8 @@ import github.daneren2005.dsub.view.UpdateView; public class PlaylistAdapter extends SectionAdapter<Playlist> implements FastScroller.BubbleTextGetter { public static int VIEW_TYPE_PLAYLIST = 1; - private ImageLoader imageLoader; - private boolean largeCell; + private final ImageLoader imageLoader; + private final boolean largeCell; public PlaylistAdapter(Context context, List<Playlist> playlists, ImageLoader imageLoader, boolean largeCell, OnItemClickedListener listener) { super(context, playlists); @@ -62,9 +62,9 @@ public class PlaylistAdapter extends SectionAdapter<Playlist> implements FastScr @Override public String getTextToShowInBubble(int position) { - Object item = getItemForPosition(position); - if(item instanceof Playlist) { - return getNameIndex(((Playlist) item).getName()); + Playlist item = getItemForPosition(position); + if(item != null) { + return getNameIndex(item.getName()); } else { return null; } diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/PodcastChannelAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/PodcastChannelAdapter.java index f843a722..bb243ebf 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/PodcastChannelAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/PodcastChannelAdapter.java @@ -43,8 +43,8 @@ public class PodcastChannelAdapter extends ExpandableSectionAdapter<Serializable public static final int VIEW_TYPE_PODCAST_CELL = 3; public static final int VIEW_TYPE_PODCAST_EPISODE = 4; - private ImageLoader imageLoader; - private boolean largeCell; + private final ImageLoader imageLoader; + private final boolean largeCell; public PodcastChannelAdapter(Context context, List<Serializable> podcasts, ImageLoader imageLoader, OnItemClickedListener listener, boolean largeCell) { super(context, podcasts); diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/SearchAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/SearchAdapter.java index 69e5d56d..4ab29f65 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/SearchAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/SearchAdapter.java @@ -19,9 +19,7 @@ import android.content.Context; import android.content.res.Resources; import android.view.Menu; import android.view.MenuInflater; -import android.view.View; import android.view.ViewGroup; -import android.widget.ImageView; import java.io.Serializable; import java.util.ArrayList; @@ -30,12 +28,10 @@ import java.util.List; import github.daneren2005.dsub.R; import github.daneren2005.dsub.domain.MusicDirectory.Entry; import github.daneren2005.dsub.domain.SearchResult; -import github.daneren2005.dsub.util.DrawableTint; import github.daneren2005.dsub.util.ImageLoader; import github.daneren2005.dsub.util.Util; import github.daneren2005.dsub.view.AlbumView; import github.daneren2005.dsub.view.ArtistView; -import github.daneren2005.dsub.view.BasicHeaderView; import github.daneren2005.dsub.view.SongView; import github.daneren2005.dsub.view.UpdateView; @@ -45,8 +41,8 @@ import static github.daneren2005.dsub.adapter.EntryGridAdapter.VIEW_TYPE_ALBUM_L import static github.daneren2005.dsub.adapter.EntryGridAdapter.VIEW_TYPE_SONG; public class SearchAdapter extends ExpandableSectionAdapter<Serializable> { - private ImageLoader imageLoader; - private boolean largeAlbums; + private final ImageLoader imageLoader; + private final boolean largeAlbums; private static final int MAX_ARTISTS = 10; private static final int MAX_ALBUMS = 4; diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java index af3690c3..5ee97303 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java @@ -19,6 +19,8 @@ import android.content.Context; import android.content.SharedPreferences; import android.content.res.Resources; import android.os.Build; + +import androidx.annotation.NonNull; import androidx.appcompat.view.ActionMode; import androidx.recyclerview.widget.RecyclerView; import android.util.Log; @@ -34,6 +36,7 @@ import android.widget.PopupMenu; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import github.daneren2005.dsub.R; @@ -46,7 +49,7 @@ import github.daneren2005.dsub.view.UpdateView; import github.daneren2005.dsub.view.UpdateView.UpdateViewHolder; public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewHolder<T>> { - private static String TAG = SectionAdapter.class.getSimpleName(); + private static final String TAG = SectionAdapter.class.getSimpleName(); public static int VIEW_TYPE_HEADER = 0; public static String[] ignoredArticles; @@ -54,7 +57,7 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH protected List<String> headers; protected List<List<T>> sections; protected boolean singleSectionHeader; - protected OnItemClickedListener<T> onItemClickedListener; + protected OnItemClickedListener onItemClickedListener; protected List<T> selected = new ArrayList<>(); protected List<UpdateView> selectedViews = new ArrayList<>(); protected ActionMode currentActionMode; @@ -66,7 +69,7 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH } public SectionAdapter(Context context, List<T> section, boolean singleSectionHeader) { this.context = context; - this.headers = Arrays.asList("Section"); + this.headers = Collections.singletonList("Section"); this.sections = new ArrayList<>(); this.sections.add(section); this.singleSectionHeader = singleSectionHeader; @@ -81,19 +84,20 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH this.singleSectionHeader = singleSectionHeader; } - public void replaceExistingData(List<T> section) { - this.sections = new ArrayList<>(); - this.sections.add(section); - notifyDataSetChanged(); - } - public void replaceExistingData(List<String> headers, List<List<T>> sections) { - this.headers = headers; - this.sections = sections; - notifyDataSetChanged(); - } - +// public void replaceExistingData(List<T> section) { +// this.sections = new ArrayList<>(); +// this.sections.add(section); +// notifyDataSetChanged(); +// } +// public void replaceExistingData(List<String> headers, List<List<T>> sections) { +// this.headers = headers; +// this.sections = sections; +// notifyDataSetChanged(); +// } + + @NonNull @Override - public UpdateViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + public UpdateViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { if(viewType == VIEW_TYPE_HEADER) { return onCreateHeaderHolder(parent); } else { @@ -101,73 +105,59 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH final UpdateView updateView = holder.getUpdateView(); if(updateView != null) { - updateView.getChildAt(0).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - T item = holder.getItem(); - updateView.onClick(); - if (currentActionMode != null) { - if(updateView.isCheckable()) { - if (selected.contains(item)) { - selected.remove(item); - selectedViews.remove(updateView); - setChecked(updateView, false); - } else { - selected.add(item); - selectedViews.add(updateView); - setChecked(updateView, true); - } + updateView.getChildAt(0).setOnClickListener(v -> { + T item = holder.getItem(); + updateView.onClick(); + if (currentActionMode != null) { + if(updateView.isCheckable()) { + if (selected.contains(item)) { + selected.remove(item); + selectedViews.remove(updateView); + setChecked(updateView, false); + } else { + selected.add(item); + selectedViews.add(updateView); + setChecked(updateView, true); + } - if (selected.isEmpty()) { - currentActionMode.finish(); - } else { - currentActionMode.setTitle(context.getResources().getString(R.string.select_album_n_selected, selected.size())); - } + if (selected.isEmpty()) { + currentActionMode.finish(); + } else { + currentActionMode.setTitle(context.getResources().getString(R.string.select_album_n_selected, selected.size())); } - } else if (onItemClickedListener != null) { - onItemClickedListener.onItemClicked(updateView, item); } + } else if (onItemClickedListener != null) { + onItemClickedListener.onItemClicked(updateView, item); } }); View moreButton = updateView.findViewById(R.id.item_more); if (moreButton != null) { - moreButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - try { - final T item = holder.getItem(); - if (onItemClickedListener != null) { - PopupMenu popup = new PopupMenu(context, v); - onItemClickedListener.onCreateContextMenu(popup.getMenu(), popup.getMenuInflater(), updateView, item); - - popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { - @Override - public boolean onMenuItemClick(MenuItem menuItem) { - return onItemClickedListener.onContextItemSelected(menuItem, updateView, item); - } - }); - popup.show(); - } - } catch(Exception e) { - Log.w(TAG, "Failed to show popup", e); + moreButton.setOnClickListener(v -> { + try { + final T item = holder.getItem(); + if (onItemClickedListener != null) { + PopupMenu popup = new PopupMenu(context, v); + onItemClickedListener.onCreateContextMenu(popup.getMenu(), popup.getMenuInflater(), updateView, item); + + popup.setOnMenuItemClickListener(menuItem -> onItemClickedListener.onContextItemSelected(menuItem, updateView, item)); + popup.show(); } + } catch(Exception e) { + Log.w(TAG, "Failed to show popup", e); } }); if(checkable) { - updateView.getChildAt(0).setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - if(updateView.isCheckable()) { - if (currentActionMode == null) { - startActionMode(holder); - } else { - updateView.getChildAt(0).performClick(); - } + updateView.getChildAt(0).setOnLongClickListener(v -> { + if(updateView.isCheckable()) { + if (currentActionMode == null) { + startActionMode(holder); + } else { + updateView.getChildAt(0).performClick(); } - return true; } + return true; }); } } @@ -342,20 +332,18 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH selected.add(item); } public List<T> getSelected() { - List<T> selected = new ArrayList<>(); - selected.addAll(this.selected); - return selected; + return new ArrayList<>(this.selected); } public void clearSelected() { // TODO: This needs to work with multiple sections - for(T item: selected) { - int index = sections.get(0).indexOf(item); - - if(singleSectionHeader) { - index++; - } - } +// for(T item: selected) { +// int index = sections.get(0).indexOf(item); +// +// if(singleSectionHeader) { +// index++; +// } +// } selected.clear(); for(UpdateView updateView: selectedViews) { @@ -424,7 +412,7 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH MenuUtil.hideMenuItems(context, menu, updateView); mode.setTitle(context.getResources().getString(R.string.select_album_n_selected, selected.size())); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && Util.getPreferences(context).getBoolean(Constants.PREFERENCES_KEY_COLOR_ACTION_BAR, true)) { + if (Util.getPreferences(context).getBoolean(Constants.PREFERENCES_KEY_COLOR_ACTION_BAR, true)) { TypedValue typedValue = new TypedValue(); Resources.Theme theme = context.getTheme(); theme.resolveAttribute(R.attr.colorPrimaryDark, typedValue, true); @@ -462,7 +450,7 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH } selectedViews.clear(); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && Util.getPreferences(context).getBoolean(Constants.PREFERENCES_KEY_COLOR_ACTION_BAR, true)) { + if (Util.getPreferences(context).getBoolean(Constants.PREFERENCES_KEY_COLOR_ACTION_BAR, true)) { Window window = ((SubsonicFragmentActivity) context).getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java index 4e75a2f7..2f9e39fb 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java @@ -37,7 +37,6 @@ import github.daneren2005.dsub.view.UpdateView; import static github.daneren2005.dsub.domain.User.Setting; public class SettingsAdapter extends SectionAdapter<Setting> { - private static final String TAG = SettingsAdapter.class.getSimpleName(); public final int VIEW_TYPE_SETTING = 1; public final int VIEW_TYPE_SETTING_HEADER = 2; @@ -77,7 +76,7 @@ public class SettingsAdapter extends SectionAdapter<Setting> { public UpdateView.UpdateViewHolder onCreateHeaderHolder(ViewGroup parent) { View header = LayoutInflater.from(context).inflate(R.layout.user_header, parent, false); - return new UpdateView.UpdateViewHolder(header, false); + return new UpdateView.UpdateViewHolder(header); } public void onBindHeaderHolder(UpdateView.UpdateViewHolder holder, String description, int sectionIndex) { View header = holder.getView(); @@ -85,12 +84,7 @@ public class SettingsAdapter extends SectionAdapter<Setting> { RecyclingImageView coverArtView = (RecyclingImageView) header.findViewById(R.id.user_avatar); if(coverArtView != null) { imageLoader.loadAvatar(context, coverArtView, user.getUsername()); - coverArtView.setOnInvalidated(new RecyclingImageView.OnInvalidated() { - @Override - public void onInvalidated(RecyclingImageView imageView) { - imageLoader.loadAvatar(context, imageView, user.getUsername()); - } - }); + coverArtView.setOnInvalidated(imageView -> imageLoader.loadAvatar(context, imageView, user.getUsername())); TextView usernameView = (TextView) header.findViewById(R.id.user_username); usernameView.setText(user.getUsername()); |