start view binding migration
This commit is contained in:
parent
61267b705f
commit
cea025e20c
5 changed files with 79 additions and 112 deletions
|
|
@ -11,6 +11,7 @@ import android.widget.ImageView;
|
|||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.dkanada.gramophone.R;
|
||||
import com.dkanada.gramophone.databinding.FragmentAlbumCoverBinding;
|
||||
import com.dkanada.gramophone.glide.CustomGlideRequest;
|
||||
import com.dkanada.gramophone.glide.CustomPaletteTarget;
|
||||
import com.dkanada.gramophone.misc.CustomFragmentStatePagerAdapter;
|
||||
|
|
@ -71,10 +72,7 @@ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter {
|
|||
public static class AlbumCoverFragment extends Fragment {
|
||||
private static final String SONG_ARG = "song";
|
||||
|
||||
private Unbinder unbinder;
|
||||
|
||||
@BindView(R.id.player_image)
|
||||
ImageView albumCover;
|
||||
private FragmentAlbumCoverBinding binding;
|
||||
|
||||
private boolean isColorReady;
|
||||
private int color;
|
||||
|
|
@ -98,9 +96,9 @@ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter {
|
|||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_album_cover, container, false);
|
||||
unbinder = ButterKnife.bind(this, view);
|
||||
return view;
|
||||
binding = FragmentAlbumCoverBinding.inflate(inflater);
|
||||
|
||||
return binding.getRoot();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -112,7 +110,6 @@ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter {
|
|||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
unbinder.unbind();
|
||||
colorReceiver = null;
|
||||
}
|
||||
|
||||
|
|
@ -120,7 +117,7 @@ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter {
|
|||
CustomGlideRequest.Builder
|
||||
.from(Glide.with(getContext()), song.primary)
|
||||
.generatePalette(getActivity()).build()
|
||||
.into(new CustomPaletteTarget(albumCover) {
|
||||
.into(new CustomPaletteTarget(binding.playerImage) {
|
||||
@Override
|
||||
public void onColorReady(int color) {
|
||||
setColor(color);
|
||||
|
|
|
|||
|
|
@ -11,45 +11,35 @@ import android.view.View;
|
|||
import android.view.ViewGroup;
|
||||
import android.view.animation.AccelerateInterpolator;
|
||||
import android.view.animation.DecelerateInterpolator;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.dkanada.gramophone.R;
|
||||
import com.dkanada.gramophone.adapter.AlbumCoverPagerAdapter;
|
||||
import com.dkanada.gramophone.databinding.FragmentPlayerAlbumCoverBinding;
|
||||
import com.dkanada.gramophone.helper.MusicPlayerRemote;
|
||||
import com.dkanada.gramophone.misc.SimpleAnimatorListener;
|
||||
import com.dkanada.gramophone.ui.fragments.AbsMusicServiceFragment;
|
||||
import com.dkanada.gramophone.util.ViewUtil;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.Unbinder;
|
||||
|
||||
public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements ViewPager.OnPageChangeListener {
|
||||
|
||||
public static final int VISIBILITY_ANIM_DURATION = 300;
|
||||
|
||||
private Unbinder unbinder;
|
||||
|
||||
@BindView(R.id.player_album_cover_viewpager)
|
||||
ViewPager viewPager;
|
||||
@BindView(R.id.player_favorite_icon)
|
||||
ImageView favoriteIcon;
|
||||
FragmentPlayerAlbumCoverBinding binding;
|
||||
|
||||
private Callbacks callbacks;
|
||||
private int currentPosition;
|
||||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_player_album_cover, container, false);
|
||||
unbinder = ButterKnife.bind(this, view);
|
||||
return view;
|
||||
binding = FragmentPlayerAlbumCoverBinding.inflate(inflater);
|
||||
|
||||
return binding.getRoot();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
viewPager.addOnPageChangeListener(this);
|
||||
viewPager.setOnTouchListener(new View.OnTouchListener() {
|
||||
binding.playerAlbumCoverViewPager.addOnPageChangeListener(this);
|
||||
binding.playerAlbumCoverViewPager.setOnTouchListener(new View.OnTouchListener() {
|
||||
GestureDetector gestureDetector = new GestureDetector(getActivity(), new GestureDetector.SimpleOnGestureListener() {
|
||||
@Override
|
||||
public boolean onSingleTapConfirmed(MotionEvent e) {
|
||||
|
|
@ -71,8 +61,8 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
|
|||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
viewPager.removeOnPageChangeListener(this);
|
||||
unbinder.unbind();
|
||||
|
||||
binding.playerAlbumCoverViewPager.removeOnPageChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -82,7 +72,7 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
|
|||
|
||||
@Override
|
||||
public void onPlayMetadataChanged() {
|
||||
viewPager.setCurrentItem(MusicPlayerRemote.getPosition());
|
||||
binding.playerAlbumCoverViewPager.setCurrentItem(MusicPlayerRemote.getPosition());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -91,8 +81,8 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
|
|||
}
|
||||
|
||||
private void updatePlayingQueue() {
|
||||
viewPager.setAdapter(new AlbumCoverPagerAdapter(getFragmentManager(), MusicPlayerRemote.getPlayingQueue()));
|
||||
viewPager.setCurrentItem(MusicPlayerRemote.getPosition());
|
||||
binding.playerAlbumCoverViewPager.setAdapter(new AlbumCoverPagerAdapter(getFragmentManager(), MusicPlayerRemote.getPlayingQueue()));
|
||||
binding.playerAlbumCoverViewPager.setCurrentItem(MusicPlayerRemote.getPosition());
|
||||
onPageSelected(MusicPlayerRemote.getPosition());
|
||||
}
|
||||
|
||||
|
|
@ -103,7 +93,7 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
|
|||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
currentPosition = position;
|
||||
((AlbumCoverPagerAdapter) viewPager.getAdapter()).receiveColor(colorReceiver, position);
|
||||
((AlbumCoverPagerAdapter) binding.playerAlbumCoverViewPager.getAdapter()).receiveColor(colorReceiver, position);
|
||||
if (position != MusicPlayerRemote.getPosition()) {
|
||||
MusicPlayerRemote.playSongAt(position);
|
||||
}
|
||||
|
|
@ -123,16 +113,16 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
|
|||
}
|
||||
|
||||
public void showHeartAnimation() {
|
||||
favoriteIcon.clearAnimation();
|
||||
binding.playerFavoriteIcon.clearAnimation();
|
||||
|
||||
favoriteIcon.setAlpha(0f);
|
||||
favoriteIcon.setScaleX(0f);
|
||||
favoriteIcon.setScaleY(0f);
|
||||
favoriteIcon.setVisibility(View.VISIBLE);
|
||||
favoriteIcon.setPivotX(favoriteIcon.getWidth() / 2);
|
||||
favoriteIcon.setPivotY(favoriteIcon.getHeight() / 2);
|
||||
binding.playerFavoriteIcon.setAlpha(0f);
|
||||
binding.playerFavoriteIcon.setScaleX(0f);
|
||||
binding.playerFavoriteIcon.setScaleY(0f);
|
||||
binding.playerFavoriteIcon.setVisibility(View.VISIBLE);
|
||||
binding.playerFavoriteIcon.setPivotX(binding.playerFavoriteIcon.getWidth() / 2);
|
||||
binding.playerFavoriteIcon.setPivotY(binding.playerFavoriteIcon.getHeight() / 2);
|
||||
|
||||
favoriteIcon.animate()
|
||||
binding.playerFavoriteIcon.animate()
|
||||
.setDuration(ViewUtil.PHONOGRAPH_ANIM_TIME / 2)
|
||||
.setInterpolator(new DecelerateInterpolator())
|
||||
.scaleX(1f)
|
||||
|
|
@ -141,10 +131,10 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
|
|||
.setListener(new SimpleAnimatorListener() {
|
||||
@Override
|
||||
public void onAnimationCancel(Animator animation) {
|
||||
favoriteIcon.setVisibility(View.INVISIBLE);
|
||||
binding.playerFavoriteIcon.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
})
|
||||
.withEndAction(() -> favoriteIcon.animate()
|
||||
.withEndAction(() -> binding.playerFavoriteIcon.animate()
|
||||
.setDuration(ViewUtil.PHONOGRAPH_ANIM_TIME / 2)
|
||||
.setInterpolator(new AccelerateInterpolator())
|
||||
.scaleX(0f)
|
||||
|
|
|
|||
|
|
@ -12,10 +12,9 @@ import androidx.interpolator.view.animation.FastOutSlowInInterpolator;
|
|||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.dkanada.gramophone.databinding.FragmentFlatPlayerPlaybackControlsBinding;
|
||||
import com.kabouzeid.appthemehelper.util.MaterialValueHelper;
|
||||
import com.dkanada.gramophone.R;
|
||||
import com.dkanada.gramophone.helper.MusicPlayerRemote;
|
||||
|
|
@ -30,31 +29,8 @@ import com.dkanada.gramophone.views.PlayPauseDrawable;
|
|||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.Unbinder;
|
||||
|
||||
public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment implements MusicProgressViewUpdateHelper.Callback {
|
||||
|
||||
private Unbinder unbinder;
|
||||
|
||||
@BindView(R.id.player_play_pause__button)
|
||||
ImageButton playPauseButton;
|
||||
@BindView(R.id.player_prev_button)
|
||||
ImageButton prevButton;
|
||||
@BindView(R.id.player_next_button)
|
||||
ImageButton nextButton;
|
||||
@BindView(R.id.player_repeat_button)
|
||||
ImageButton repeatButton;
|
||||
@BindView(R.id.player_shuffle_button)
|
||||
ImageButton shuffleButton;
|
||||
|
||||
@BindView(R.id.player_progress_slider)
|
||||
SeekBar progressSlider;
|
||||
@BindView(R.id.player_song_total_time)
|
||||
TextView songTotalTime;
|
||||
@BindView(R.id.player_song_current_progress)
|
||||
TextView songCurrentProgress;
|
||||
FragmentFlatPlayerPlaybackControlsBinding binding;
|
||||
|
||||
private PlayPauseDrawable playPauseDrawable;
|
||||
|
||||
|
|
@ -75,13 +51,14 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
|
|||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
return inflater.inflate(R.layout.fragment_flat_player_playback_controls, container, false);
|
||||
binding = FragmentFlatPlayerPlaybackControlsBinding.inflate(inflater);
|
||||
|
||||
return binding.getRoot();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
unbinder = ButterKnife.bind(this, view);
|
||||
setUpMusicControllers();
|
||||
updateProgressTextColor();
|
||||
}
|
||||
|
|
@ -89,7 +66,6 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
|
|||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
unbinder.unbind();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -144,13 +120,13 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
|
|||
|
||||
private void setUpPlayPauseButton() {
|
||||
playPauseDrawable = new PlayPauseDrawable(getActivity());
|
||||
playPauseButton.setImageDrawable(playPauseDrawable);
|
||||
binding.playerPlayPauseButton.setImageDrawable(playPauseDrawable);
|
||||
updatePlayPauseColor();
|
||||
playPauseButton.setOnClickListener(new PlayPauseButtonOnClickHandler());
|
||||
playPauseButton.post(() -> {
|
||||
if (playPauseButton != null) {
|
||||
playPauseButton.setPivotX(playPauseButton.getWidth() / 2);
|
||||
playPauseButton.setPivotY(playPauseButton.getHeight() / 2);
|
||||
binding.playerPlayPauseButton.setOnClickListener(new PlayPauseButtonOnClickHandler());
|
||||
binding.playerPlayPauseButton.post(() -> {
|
||||
if (binding.playerPlayPauseButton != null) {
|
||||
binding.playerPlayPauseButton.setPivotX(binding.playerPlayPauseButton.getWidth() / 2);
|
||||
binding.playerPlayPauseButton.setPivotY(binding.playerPlayPauseButton.getHeight() / 2);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -173,57 +149,57 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
|
|||
|
||||
private void setUpPrevNext() {
|
||||
updatePrevNextColor();
|
||||
nextButton.setOnClickListener(v -> MusicPlayerRemote.playNextSong());
|
||||
prevButton.setOnClickListener(v -> MusicPlayerRemote.back());
|
||||
binding.playerNextButton.setOnClickListener(v -> MusicPlayerRemote.playNextSong());
|
||||
binding.playerPrevButton.setOnClickListener(v -> MusicPlayerRemote.back());
|
||||
}
|
||||
|
||||
private void updateProgressTextColor() {
|
||||
int color = MaterialValueHelper.getPrimaryTextColor(getContext(), false);
|
||||
songTotalTime.setTextColor(color);
|
||||
songCurrentProgress.setTextColor(color);
|
||||
binding.playerSongTotalTime.setTextColor(color);
|
||||
binding.playerSongCurrentProgress.setTextColor(color);
|
||||
}
|
||||
|
||||
private void updatePrevNextColor() {
|
||||
nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
prevButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.playerNextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.playerPrevButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
|
||||
private void updatePlayPauseColor() {
|
||||
playPauseButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.playerPlayPauseButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
|
||||
private void setUpShuffleButton() {
|
||||
shuffleButton.setOnClickListener(v -> MusicPlayerRemote.toggleShuffleMode());
|
||||
binding.playerShuffleButton.setOnClickListener(v -> MusicPlayerRemote.toggleShuffleMode());
|
||||
}
|
||||
|
||||
private void updateShuffleState() {
|
||||
switch (MusicPlayerRemote.getShuffleMode()) {
|
||||
case MusicService.SHUFFLE_MODE_SHUFFLE:
|
||||
shuffleButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.playerShuffleButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
break;
|
||||
default:
|
||||
shuffleButton.setColorFilter(lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.playerShuffleButton.setColorFilter(lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void setUpRepeatButton() {
|
||||
repeatButton.setOnClickListener(v -> MusicPlayerRemote.cycleRepeatMode());
|
||||
binding.playerRepeatButton.setOnClickListener(v -> MusicPlayerRemote.cycleRepeatMode());
|
||||
}
|
||||
|
||||
private void updateRepeatState() {
|
||||
switch (MusicPlayerRemote.getRepeatMode()) {
|
||||
case MusicService.REPEAT_MODE_NONE:
|
||||
repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp);
|
||||
repeatButton.setColorFilter(lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.playerRepeatButton.setImageResource(R.drawable.ic_repeat_white_24dp);
|
||||
binding.playerRepeatButton.setColorFilter(lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
break;
|
||||
case MusicService.REPEAT_MODE_ALL:
|
||||
repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp);
|
||||
repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.playerRepeatButton.setImageResource(R.drawable.ic_repeat_white_24dp);
|
||||
binding.playerRepeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
break;
|
||||
case MusicService.REPEAT_MODE_THIS:
|
||||
repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp);
|
||||
repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
binding.playerRepeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp);
|
||||
binding.playerRepeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -236,11 +212,11 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
|
|||
|
||||
LinkedList<Animator> animators = new LinkedList<>();
|
||||
|
||||
addAnimation(animators, playPauseButton, interpolator, duration, 0);
|
||||
addAnimation(animators, nextButton, interpolator, duration, 100);
|
||||
addAnimation(animators, prevButton, interpolator, duration, 100);
|
||||
addAnimation(animators, shuffleButton, interpolator, duration, 200);
|
||||
addAnimation(animators, repeatButton, interpolator, duration, 200);
|
||||
addAnimation(animators, binding.playerPlayPauseButton, interpolator, duration, 0);
|
||||
addAnimation(animators, binding.playerNextButton, interpolator, duration, 100);
|
||||
addAnimation(animators, binding.playerPrevButton, interpolator, duration, 100);
|
||||
addAnimation(animators, binding.playerShuffleButton, interpolator, duration, 200);
|
||||
addAnimation(animators, binding.playerRepeatButton, interpolator, duration, 200);
|
||||
|
||||
musicControllerAnimationSet = new AnimatorSet();
|
||||
musicControllerAnimationSet.playTogether(animators);
|
||||
|
|
@ -257,11 +233,11 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
|
|||
if (musicControllerAnimationSet != null) {
|
||||
musicControllerAnimationSet.cancel();
|
||||
}
|
||||
prepareForAnimation(playPauseButton);
|
||||
prepareForAnimation(nextButton);
|
||||
prepareForAnimation(prevButton);
|
||||
prepareForAnimation(shuffleButton);
|
||||
prepareForAnimation(repeatButton);
|
||||
prepareForAnimation(binding.playerPlayPauseButton);
|
||||
prepareForAnimation(binding.playerNextButton);
|
||||
prepareForAnimation(binding.playerPrevButton);
|
||||
prepareForAnimation(binding.playerShuffleButton);
|
||||
prepareForAnimation(binding.playerRepeatButton);
|
||||
|
||||
hidden = true;
|
||||
}
|
||||
|
|
@ -289,10 +265,10 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
|
|||
|
||||
private void setUpProgressSlider() {
|
||||
int color = MaterialValueHelper.getPrimaryTextColor(getContext(), false);
|
||||
progressSlider.getThumb().mutate().setColorFilter(color, PorterDuff.Mode.SRC_IN);
|
||||
progressSlider.getProgressDrawable().mutate().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN);
|
||||
binding.playerProgressSlider.getThumb().mutate().setColorFilter(color, PorterDuff.Mode.SRC_IN);
|
||||
binding.playerProgressSlider.getProgressDrawable().mutate().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN);
|
||||
|
||||
progressSlider.setOnSeekBarChangeListener(new SimpleOnSeekbarChangeListener() {
|
||||
binding.playerProgressSlider.setOnSeekBarChangeListener(new SimpleOnSeekbarChangeListener() {
|
||||
@Override
|
||||
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
|
||||
if (fromUser) {
|
||||
|
|
@ -305,9 +281,9 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
|
|||
|
||||
@Override
|
||||
public void onUpdateProgressViews(int progress, int total) {
|
||||
progressSlider.setMax(total);
|
||||
progressSlider.setProgress(progress);
|
||||
songTotalTime.setText(MusicUtil.getReadableDurationString(total));
|
||||
songCurrentProgress.setText(MusicUtil.getReadableDurationString(progress));
|
||||
binding.playerProgressSlider.setMax(total);
|
||||
binding.playerProgressSlider.setProgress(progress);
|
||||
binding.playerSongTotalTime.setText(MusicUtil.getReadableDurationString(total));
|
||||
binding.playerSongCurrentProgress.setText(MusicUtil.getReadableDurationString(progress));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/player_album_cover_viewpager"
|
||||
android:id="@+id/player_album_cover_view_pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue