use view binding for all details activities
This commit is contained in:
parent
eb1a4442f4
commit
eca41ab93a
4 changed files with 79 additions and 143 deletions
|
|
@ -7,19 +7,17 @@ import android.os.Bundle;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.afollestad.materialcab.MaterialCab;
|
||||
import com.afollestad.materialdialogs.util.DialogUtils;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.dkanada.gramophone.databinding.ActivityAlbumDetailBinding;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.kabouzeid.appthemehelper.util.ColorUtil;
|
||||
import com.kabouzeid.appthemehelper.util.MaterialValueHelper;
|
||||
|
|
@ -47,41 +45,12 @@ import org.jellyfin.apiclient.model.querying.ItemQuery;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements PaletteColorHolder, CabHolder, AppBarLayout.OnOffsetChangedListener {
|
||||
public static final String EXTRA_ALBUM = "extra_album";
|
||||
|
||||
private Album album;
|
||||
|
||||
@BindView(R.id.app_bar_layout)
|
||||
AppBarLayout appBarLayout;
|
||||
@BindView(R.id.list)
|
||||
RecyclerView recyclerView;
|
||||
@BindView(R.id.image)
|
||||
ImageView albumArtImageView;
|
||||
@BindView(R.id.toolbar)
|
||||
Toolbar toolbar;
|
||||
@BindView(R.id.header)
|
||||
View headerView;
|
||||
|
||||
@BindView(R.id.artist_icon)
|
||||
ImageView artistIconImageView;
|
||||
@BindView(R.id.duration_icon)
|
||||
ImageView durationIconImageView;
|
||||
@BindView(R.id.song_count_icon)
|
||||
ImageView songCountIconImageView;
|
||||
@BindView(R.id.album_year_icon)
|
||||
ImageView albumYearIconImageView;
|
||||
@BindView(R.id.artist_text)
|
||||
TextView artistTextView;
|
||||
@BindView(R.id.duration_text)
|
||||
TextView durationTextView;
|
||||
@BindView(R.id.song_count_text)
|
||||
TextView songCountTextView;
|
||||
@BindView(R.id.album_year_text)
|
||||
TextView albumYearTextView;
|
||||
ActivityAlbumDetailBinding binding;
|
||||
|
||||
private AlbumSongAdapter adapter;
|
||||
|
||||
|
|
@ -92,11 +61,13 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setDrawUnderStatusbar();
|
||||
ButterKnife.bind(this);
|
||||
|
||||
binding = ActivityAlbumDetailBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
setDrawUnderStatusbar();
|
||||
setUpObservableListViewParams();
|
||||
setUpToolBar();
|
||||
setUpToolbar();
|
||||
setUpViews();
|
||||
|
||||
if (Build.VERSION.SDK_INT > 21) postponeEnterTransition();
|
||||
|
|
@ -120,7 +91,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
@Override
|
||||
public void onOffsetChanged (AppBarLayout appBarLayout, int verticalOffset) {
|
||||
float headerAlpha = Math.max(0, Math.min(1, 1 + (2 * (float) verticalOffset / headerViewHeight)));
|
||||
headerView.setAlpha(headerAlpha);
|
||||
binding.header.setAlpha(headerAlpha);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -135,7 +106,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
private void setUpViews() {
|
||||
setUpRecyclerView();
|
||||
setUpSongsAdapter();
|
||||
artistTextView.setOnClickListener(v -> {
|
||||
binding.artistText.setOnClickListener(v -> {
|
||||
if (album != null) {
|
||||
NavigationUtil.goToArtist(AlbumDetailActivity.this, new Artist(album));
|
||||
}
|
||||
|
|
@ -162,7 +133,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
}
|
||||
})
|
||||
.dontAnimate()
|
||||
.into(new CustomPaletteTarget(albumArtImageView) {
|
||||
.into(new CustomPaletteTarget(binding.image) {
|
||||
@Override
|
||||
public void onColorReady(int color) {
|
||||
setColors(color);
|
||||
|
|
@ -172,25 +143,26 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
|
||||
private void setColors(int color) {
|
||||
toolbarColor = color;
|
||||
appBarLayout.setBackgroundColor(color);
|
||||
binding.appBarLayout.setBackgroundColor(color);
|
||||
|
||||
setNavigationbarColor(color);
|
||||
setTaskDescriptionColor(color);
|
||||
|
||||
toolbar.setBackgroundColor(color);
|
||||
binding.toolbar.setBackgroundColor(color);
|
||||
// needed to auto readjust the toolbar content color
|
||||
setSupportActionBar(toolbar);
|
||||
setSupportActionBar(binding.toolbar);
|
||||
setStatusbarColor(color);
|
||||
|
||||
int secondaryTextColor = MaterialValueHelper.getSecondaryTextColor(this, ColorUtil.isColorLight(color));
|
||||
artistIconImageView.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
durationIconImageView.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
songCountIconImageView.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
albumYearIconImageView.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
artistTextView.setTextColor(MaterialValueHelper.getPrimaryTextColor(this, ColorUtil.isColorLight(color)));
|
||||
durationTextView.setTextColor(secondaryTextColor);
|
||||
songCountTextView.setTextColor(secondaryTextColor);
|
||||
albumYearTextView.setTextColor(secondaryTextColor);
|
||||
binding.artistIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.durationIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.songCountIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.albumYearIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
|
||||
binding.artistText.setTextColor(MaterialValueHelper.getPrimaryTextColor(this, ColorUtil.isColorLight(color)));
|
||||
binding.durationText.setTextColor(secondaryTextColor);
|
||||
binding.songCountText.setTextColor(secondaryTextColor);
|
||||
binding.albumYearText.setTextColor(secondaryTextColor);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -199,11 +171,11 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
}
|
||||
|
||||
private void setUpRecyclerView() {
|
||||
appBarLayout.addOnOffsetChangedListener(this);
|
||||
binding.appBarLayout.addOnOffsetChangedListener(this);
|
||||
}
|
||||
|
||||
private void setUpToolBar() {
|
||||
setSupportActionBar(toolbar);
|
||||
private void setUpToolbar() {
|
||||
setSupportActionBar(binding.toolbar);
|
||||
//noinspection ConstantConditions
|
||||
getSupportActionBar().setTitle(null);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
|
@ -211,8 +183,8 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
|
||||
private void setUpSongsAdapter() {
|
||||
adapter = new AlbumSongAdapter(this, getAlbum().songs, R.layout.item_list, false, this);
|
||||
recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
|
||||
recyclerView.setAdapter(adapter);
|
||||
binding.list.setLayoutManager(new GridLayoutManager(this, 1));
|
||||
binding.list.setAdapter(adapter);
|
||||
adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
|
||||
@Override
|
||||
public void onChanged() {
|
||||
|
|
@ -291,7 +263,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
if (cab != null && cab.isActive()) {
|
||||
cab.finish();
|
||||
} else {
|
||||
recyclerView.stopScroll();
|
||||
binding.list.stopScroll();
|
||||
super.onBackPressed();
|
||||
}
|
||||
}
|
||||
|
|
@ -306,10 +278,10 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
this.album = album;
|
||||
|
||||
getSupportActionBar().setTitle(album.title);
|
||||
artistTextView.setText(album.artistName);
|
||||
songCountTextView.setText(MusicUtil.getSongCountString(this, album.songs.size()));
|
||||
durationTextView.setText(MusicUtil.getReadableDurationString(MusicUtil.getTotalDuration(this, album.songs)));
|
||||
albumYearTextView.setText(MusicUtil.getYearString(album.year));
|
||||
binding.artistText.setText(album.artistName);
|
||||
binding.songCountText.setText(MusicUtil.getSongCountString(this, album.songs.size()));
|
||||
binding.durationText.setText(MusicUtil.getReadableDurationString(MusicUtil.getTotalDuration(this, album.songs)));
|
||||
binding.albumYearText.setText(MusicUtil.getYearString(album.year));
|
||||
|
||||
if (album.songs.size() != 0) adapter.swapDataSet(album.songs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,16 +6,11 @@ import android.os.Bundle;
|
|||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -25,6 +20,7 @@ import com.bumptech.glide.Glide;
|
|||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.dkanada.gramophone.adapter.song.SongAdapter;
|
||||
import com.dkanada.gramophone.databinding.ActivityArtistDetailBinding;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.kabouzeid.appthemehelper.util.ColorUtil;
|
||||
import com.kabouzeid.appthemehelper.util.MaterialValueHelper;
|
||||
|
|
@ -53,31 +49,7 @@ import org.jellyfin.apiclient.model.querying.ItemQuery;
|
|||
public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implements PaletteColorHolder, CabHolder, AppBarLayout.OnOffsetChangedListener {
|
||||
public static final String EXTRA_ARTIST = "extra_artist";
|
||||
|
||||
@BindView(R.id.app_bar_layout)
|
||||
AppBarLayout appBarLayout;
|
||||
@BindView(R.id.albums)
|
||||
RecyclerView albumRecyclerView;
|
||||
@BindView(R.id.songs)
|
||||
RecyclerView songRecyclerView;
|
||||
@BindView(R.id.image)
|
||||
ImageView artistImage;
|
||||
@BindView(R.id.toolbar)
|
||||
Toolbar toolbar;
|
||||
@BindView(R.id.header)
|
||||
View headerView;
|
||||
|
||||
@BindView(R.id.duration_icon)
|
||||
ImageView durationIconImageView;
|
||||
@BindView(R.id.song_count_icon)
|
||||
ImageView songCountIconImageView;
|
||||
@BindView(R.id.album_count_icon)
|
||||
ImageView albumCountIconImageView;
|
||||
@BindView(R.id.duration_text)
|
||||
TextView durationTextView;
|
||||
@BindView(R.id.song_count_text)
|
||||
TextView songCountTextView;
|
||||
@BindView(R.id.album_count_text)
|
||||
TextView albumCountTextView;
|
||||
ActivityArtistDetailBinding binding;
|
||||
|
||||
private MaterialCab cab;
|
||||
private int headerViewHeight;
|
||||
|
|
@ -90,15 +62,17 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
binding = ActivityArtistDetailBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
setDrawUnderStatusbar();
|
||||
ButterKnife.bind(this);
|
||||
|
||||
usePalette = PreferenceUtil.getInstance(this).getAlbumArtistColoredFooters();
|
||||
|
||||
setUpObservableListViewParams();
|
||||
setUpToolbar();
|
||||
setUpViews();
|
||||
|
||||
usePalette = PreferenceUtil.getInstance(this).getAlbumArtistColoredFooters();
|
||||
|
||||
if (Build.VERSION.SDK_INT > 21) postponeEnterTransition();
|
||||
Artist artist = getIntent().getExtras().getParcelable(EXTRA_ARTIST);
|
||||
loadArtistImage(artist.primary);
|
||||
|
|
@ -126,9 +100,9 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onOffsetChanged (AppBarLayout appBarLayout, int verticalOffset) {
|
||||
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
|
||||
float headerAlpha = Math.max(0, Math.min(1, 1 + (2 * (float) verticalOffset / headerViewHeight)));
|
||||
headerView.setAlpha(headerAlpha);
|
||||
binding.header.setAlpha(headerAlpha);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -149,18 +123,18 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
}
|
||||
|
||||
private void setUpSongListView() {
|
||||
appBarLayout.addOnOffsetChangedListener(this);
|
||||
binding.appBarLayout.addOnOffsetChangedListener(this);
|
||||
|
||||
songAdapter = new SongAdapter(this, getArtist().songs, R.layout.item_list, false, this);
|
||||
|
||||
songRecyclerView.setLayoutManager(new GridLayoutManager(this, 1));
|
||||
songRecyclerView.setAdapter(songAdapter);
|
||||
binding.songs.setLayoutManager(new GridLayoutManager(this, 1));
|
||||
binding.songs.setAdapter(songAdapter);
|
||||
}
|
||||
|
||||
private void setUpAlbumRecyclerView() {
|
||||
albumRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
|
||||
binding.albums.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
|
||||
albumAdapter = new HorizontalAlbumAdapter(this, getArtist().albums, usePalette, this);
|
||||
albumRecyclerView.setAdapter(albumAdapter);
|
||||
binding.albums.setAdapter(albumAdapter);
|
||||
albumAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
|
||||
@Override
|
||||
public void onChanged() {
|
||||
|
|
@ -194,7 +168,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
}
|
||||
})
|
||||
.dontAnimate()
|
||||
.into(new CustomPaletteTarget(artistImage) {
|
||||
.into(new CustomPaletteTarget(binding.image) {
|
||||
@Override
|
||||
public void onColorReady(int color) {
|
||||
setColors(color);
|
||||
|
|
@ -209,27 +183,28 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
|
||||
private void setColors(int color) {
|
||||
toolbarColor = color;
|
||||
appBarLayout.setBackgroundColor(color);
|
||||
binding.appBarLayout.setBackgroundColor(color);
|
||||
|
||||
setNavigationbarColor(color);
|
||||
setTaskDescriptionColor(color);
|
||||
|
||||
toolbar.setBackgroundColor(color);
|
||||
binding.toolbar.setBackgroundColor(color);
|
||||
// needed to auto readjust the toolbar content color
|
||||
setSupportActionBar(toolbar);
|
||||
setSupportActionBar(binding.toolbar);
|
||||
setStatusbarColor(color);
|
||||
|
||||
int secondaryTextColor = MaterialValueHelper.getSecondaryTextColor(this, ColorUtil.isColorLight(color));
|
||||
durationIconImageView.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
songCountIconImageView.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
albumCountIconImageView.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
durationTextView.setTextColor(secondaryTextColor);
|
||||
songCountTextView.setTextColor(secondaryTextColor);
|
||||
albumCountTextView.setTextColor(secondaryTextColor);
|
||||
binding.durationIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.songCountIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.albumCountIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
|
||||
|
||||
binding.durationText.setTextColor(secondaryTextColor);
|
||||
binding.songCountText.setTextColor(secondaryTextColor);
|
||||
binding.albumCountText.setTextColor(secondaryTextColor);
|
||||
}
|
||||
|
||||
private void setUpToolbar() {
|
||||
setSupportActionBar(toolbar);
|
||||
setSupportActionBar(binding.toolbar);
|
||||
// noinspection ConstantConditions
|
||||
getSupportActionBar().setTitle(null);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
|
@ -306,7 +281,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
if (cab != null && cab.isActive()) {
|
||||
cab.finish();
|
||||
} else {
|
||||
albumRecyclerView.stopScroll();
|
||||
binding.albums.stopScroll();
|
||||
super.onBackPressed();
|
||||
}
|
||||
}
|
||||
|
|
@ -321,9 +296,9 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
this.artist = artist;
|
||||
|
||||
getSupportActionBar().setTitle(artist.name);
|
||||
songCountTextView.setText(MusicUtil.getSongCountString(this, artist.songs.size()));
|
||||
albumCountTextView.setText(MusicUtil.getAlbumCountString(this, artist.albums.size()));
|
||||
durationTextView.setText(MusicUtil.getReadableDurationString(MusicUtil.getTotalDuration(this, artist.songs)));
|
||||
binding.songCountText.setText(MusicUtil.getSongCountString(this, artist.songs.size()));
|
||||
binding.albumCountText.setText(MusicUtil.getAlbumCountString(this, artist.albums.size()));
|
||||
binding.durationText.setText(MusicUtil.getReadableDurationString(MusicUtil.getTotalDuration(this, artist.songs)));
|
||||
|
||||
if (artist.songs.size() != 0) songAdapter.swapDataSet(artist.songs);
|
||||
if (artist.albums.size() != 0) albumAdapter.swapDataSet(artist.albums);
|
||||
|
|
|
|||
|
|
@ -4,13 +4,12 @@ import android.os.Bundle;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.afollestad.materialcab.MaterialCab;
|
||||
import com.dkanada.gramophone.databinding.ActivityGenreDetailBinding;
|
||||
import com.h6ah4i.android.widget.advrecyclerview.utils.WrapperAdapterUtils;
|
||||
import com.kabouzeid.appthemehelper.ThemeStore;
|
||||
import com.dkanada.gramophone.R;
|
||||
|
|
@ -31,18 +30,10 @@ import org.jellyfin.apiclient.model.querying.ItemQuery;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class GenreDetailActivity extends AbsSlidingMusicPanelActivity implements CabHolder {
|
||||
public static final String EXTRA_GENRE = "extra_genre";
|
||||
|
||||
@BindView(R.id.recycler_view)
|
||||
RecyclerView recyclerView;
|
||||
@BindView(R.id.toolbar)
|
||||
Toolbar toolbar;
|
||||
@BindView(android.R.id.empty)
|
||||
TextView empty;
|
||||
ActivityGenreDetailBinding binding;
|
||||
|
||||
private Genre genre;
|
||||
|
||||
|
|
@ -54,10 +45,13 @@ public class GenreDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setDrawUnderStatusbar();
|
||||
ButterKnife.bind(this);
|
||||
|
||||
binding = ActivityGenreDetailBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
setDrawUnderStatusbar();
|
||||
setStatusbarColorAuto();
|
||||
|
||||
setNavigationbarColorAuto();
|
||||
setTaskDescriptionColorAuto();
|
||||
|
||||
|
|
@ -83,11 +77,11 @@ public class GenreDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
}
|
||||
|
||||
private void setUpRecyclerView() {
|
||||
ViewUtil.setUpFastScrollRecyclerViewColor(this, ((FastScrollRecyclerView) recyclerView), ThemeStore.accentColor(this));
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
||||
ViewUtil.setUpFastScrollRecyclerViewColor(this, ((FastScrollRecyclerView) binding.recyclerView), ThemeStore.accentColor(this));
|
||||
binding.recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
||||
|
||||
adapter = new SongAdapter(this, new ArrayList<>(), R.layout.item_list, false, this);
|
||||
recyclerView.setAdapter(adapter);
|
||||
binding.recyclerView.setAdapter(adapter);
|
||||
|
||||
adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
|
||||
@Override
|
||||
|
|
@ -99,8 +93,8 @@ public class GenreDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
}
|
||||
|
||||
private void setUpToolBar() {
|
||||
toolbar.setBackgroundColor(ThemeStore.primaryColor(this));
|
||||
setSupportActionBar(toolbar);
|
||||
binding.toolbar.setBackgroundColor(ThemeStore.primaryColor(this));
|
||||
setSupportActionBar(binding.toolbar);
|
||||
//noinspection ConstantConditions
|
||||
getSupportActionBar().setTitle(genre.name);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
|
@ -144,21 +138,18 @@ public class GenreDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
public void onBackPressed() {
|
||||
if (cab != null && cab.isActive()) cab.finish();
|
||||
else {
|
||||
recyclerView.stopScroll();
|
||||
binding.recyclerView.stopScroll();
|
||||
super.onBackPressed();
|
||||
}
|
||||
}
|
||||
|
||||
private void checkIsEmpty() {
|
||||
empty.setVisibility(adapter.getItemCount() == 0 ? View.VISIBLE : View.GONE);
|
||||
binding.empty.setVisibility(adapter.getItemCount() == 0 ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
if (recyclerView != null) {
|
||||
recyclerView.setAdapter(null);
|
||||
recyclerView = null;
|
||||
}
|
||||
binding.recyclerView.setAdapter(null);
|
||||
|
||||
if (wrappedAdapter != null) {
|
||||
WrapperAdapterUtils.releaseAll(wrappedAdapter);
|
||||
|
|
|
|||
|
|
@ -5,11 +5,9 @@ import android.os.Handler;
|
|||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
|
|
@ -35,7 +33,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
public class SearchActivity extends AbsMusicServiceActivity implements SearchView.OnQueryTextListener {
|
||||
public static final String QUERY = "query";
|
||||
public String QUERY = "query";
|
||||
|
||||
ActivitySearchBinding binding;
|
||||
|
||||
|
|
@ -85,7 +83,7 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie
|
|||
}
|
||||
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle outState) {
|
||||
protected void onSaveInstanceState(@NonNull Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
outState.putString(QUERY, query);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue