use view binding for mini player fragment
This commit is contained in:
parent
2efcb4b444
commit
a7d05ed9e5
1 changed files with 13 additions and 33 deletions
|
|
@ -11,9 +11,8 @@ import android.view.LayoutInflater;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.ImageView;
|
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
|
import com.dkanada.gramophone.databinding.FragmentMiniPlayerBinding;
|
||||||
import com.kabouzeid.appthemehelper.ThemeStore;
|
import com.kabouzeid.appthemehelper.ThemeStore;
|
||||||
import com.kabouzeid.appthemehelper.util.ATHUtil;
|
import com.kabouzeid.appthemehelper.util.ATHUtil;
|
||||||
import com.dkanada.gramophone.R;
|
import com.dkanada.gramophone.R;
|
||||||
|
|
@ -23,23 +22,9 @@ import com.dkanada.gramophone.helper.PlayPauseButtonOnClickHandler;
|
||||||
import com.dkanada.gramophone.ui.fragments.AbsMusicServiceFragment;
|
import com.dkanada.gramophone.ui.fragments.AbsMusicServiceFragment;
|
||||||
import com.dkanada.gramophone.views.PlayPauseDrawable;
|
import com.dkanada.gramophone.views.PlayPauseDrawable;
|
||||||
|
|
||||||
import butterknife.BindView;
|
|
||||||
import butterknife.ButterKnife;
|
|
||||||
import butterknife.Unbinder;
|
|
||||||
import me.zhanghai.android.materialprogressbar.MaterialProgressBar;
|
|
||||||
|
|
||||||
public class MiniPlayerFragment extends AbsMusicServiceFragment implements MusicProgressViewUpdateHelper.Callback {
|
public class MiniPlayerFragment extends AbsMusicServiceFragment implements MusicProgressViewUpdateHelper.Callback {
|
||||||
|
|
||||||
private Unbinder unbinder;
|
FragmentMiniPlayerBinding binding;
|
||||||
|
|
||||||
@BindView(R.id.mini_player_title)
|
|
||||||
TextView miniPlayerTitle;
|
|
||||||
|
|
||||||
@BindView(R.id.mini_player_play_pause_button)
|
|
||||||
ImageView miniPlayerPlayPauseButton;
|
|
||||||
|
|
||||||
@BindView(R.id.progress_bar)
|
|
||||||
MaterialProgressBar progressBar;
|
|
||||||
|
|
||||||
private PlayPauseDrawable miniPlayerPlayPauseDrawable;
|
private PlayPauseDrawable miniPlayerPlayPauseDrawable;
|
||||||
|
|
||||||
|
|
@ -54,38 +39,33 @@ public class MiniPlayerFragment extends AbsMusicServiceFragment implements Music
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
return inflater.inflate(R.layout.fragment_mini_player, container, false);
|
binding = FragmentMiniPlayerBinding.inflate(inflater);
|
||||||
|
|
||||||
|
return binding.getRoot();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
unbinder = ButterKnife.bind(this, view);
|
|
||||||
|
|
||||||
view.setOnTouchListener(new FlingPlayBackController(getActivity()));
|
view.setOnTouchListener(new FlingPlayBackController(getActivity()));
|
||||||
setUpMiniPlayer();
|
setUpMiniPlayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDestroyView() {
|
|
||||||
super.onDestroyView();
|
|
||||||
unbinder.unbind();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setUpMiniPlayer() {
|
private void setUpMiniPlayer() {
|
||||||
setUpPlayPauseButton();
|
setUpPlayPauseButton();
|
||||||
progressBar.setProgressTintList(ColorStateList.valueOf(ThemeStore.accentColor(getActivity())));
|
binding.progressBar.setProgressTintList(ColorStateList.valueOf(ThemeStore.accentColor(getActivity())));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpPlayPauseButton() {
|
private void setUpPlayPauseButton() {
|
||||||
miniPlayerPlayPauseDrawable = new PlayPauseDrawable(getActivity());
|
miniPlayerPlayPauseDrawable = new PlayPauseDrawable(getActivity());
|
||||||
miniPlayerPlayPauseButton.setImageDrawable(miniPlayerPlayPauseDrawable);
|
binding.miniPlayerPlayPauseButton.setImageDrawable(miniPlayerPlayPauseDrawable);
|
||||||
miniPlayerPlayPauseButton.setColorFilter(ATHUtil.resolveColor(getActivity(), R.attr.iconColor, ThemeStore.textColorSecondary(getActivity())), PorterDuff.Mode.SRC_IN);
|
binding.miniPlayerPlayPauseButton.setColorFilter(ATHUtil.resolveColor(getActivity(), R.attr.iconColor, ThemeStore.textColorSecondary(getActivity())), PorterDuff.Mode.SRC_IN);
|
||||||
miniPlayerPlayPauseButton.setOnClickListener(new PlayPauseButtonOnClickHandler());
|
binding.miniPlayerPlayPauseButton.setOnClickListener(new PlayPauseButtonOnClickHandler());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateSongTitle() {
|
private void updateSongTitle() {
|
||||||
miniPlayerTitle.setText(MusicPlayerRemote.getCurrentSong().title);
|
binding.miniPlayerTitle.setText(MusicPlayerRemote.getCurrentSong().title);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -106,8 +86,8 @@ public class MiniPlayerFragment extends AbsMusicServiceFragment implements Music
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onUpdateProgressViews(int progress, int total) {
|
public void onUpdateProgressViews(int progress, int total) {
|
||||||
progressBar.setMax(total);
|
binding.progressBar.setMax(total);
|
||||||
progressBar.setProgress(progress);
|
binding.progressBar.setProgress(progress);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -123,7 +103,6 @@ public class MiniPlayerFragment extends AbsMusicServiceFragment implements Music
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class FlingPlayBackController implements View.OnTouchListener {
|
private static class FlingPlayBackController implements View.OnTouchListener {
|
||||||
|
|
||||||
GestureDetector flingPlayBackController;
|
GestureDetector flingPlayBackController;
|
||||||
|
|
||||||
public FlingPlayBackController(Context context) {
|
public FlingPlayBackController(Context context) {
|
||||||
|
|
@ -139,6 +118,7 @@ public class MiniPlayerFragment extends AbsMusicServiceFragment implements Music
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue