package com.nf2m.adapter;
import android.content.Context;
import android.database.Cursor;
import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.View;
import android.view.ViewGroup;
import com.nf2m.R;
import com.nf2m.service.MediaPlayerService;
import com.nf2m.viewholder.SongItemViewHolder;
public class RecentlyAddedCursorAdapter extends LibraryCursorAdapter<SongItemViewHolder> {
private final Cursor songCursor;
public RecentlyAddedCursorAdapter(Context context, Cursor c) {
super(context, c, MediaStore.MediaColumns.TITLE);
songCursor = c;
}
/**
* Eger şarkı şu an çalınıyorsa play icon görüntülenecek
*/
private void choicePlayIconVisibility(@NonNull SongItemViewHolder viewHolder, @Nullable String songPath) {
if (songPath != null && MediaPlayerService.songPath != null) {
if (songPath.equalsIgnoreCase(MediaPlayerService.songPath) && MediaPlayerService.isPlaying) {
viewHolder.ivPlayIcon.setVisibility(View.VISIBLE);
} else {
viewHolder.ivPlayIcon.setVisibility(View.GONE);
}
}
}
private String getSongPath() {
return songCursor.getString(songCursor.getColumnIndexOrThrow(MediaStore.Audio.AudioColumns.DATA));
}
private String getSongAlbumTitle() {
return songCursor.getString(getColumnIndex(MediaStore.Audio.AudioColumns.ALBUM));
}
private int getSongDuration() {
return songCursor.getInt(getColumnIndex(MediaStore.Audio.AudioColumns.DURATION));
}
private String getSongTitle() {
return songCursor.getString(getColumnIndex(MediaStore.MediaColumns.TITLE));
}
public int getId() {
return songCursor.getInt(getColumnIndex(MediaStore.MediaColumns._ID));
}
@NonNull
@Override
public SongItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = inflateCustomViewAndListView(parent, R.layout.songs_custom_layout);
return new SongItemViewHolder(itemView, clickListener, longClickListener);
}
@Override
public void onBindViewHolder(@NonNull SongItemViewHolder holder, int position) {
if (songCursor.moveToPosition(position)) {
String songTitle = getSongTitle();
int songDurationMillis = getSongDuration();
String songDuration = convertMinuteToMillis(songDurationMillis);
String songAlbumTitle = getSongAlbumTitle();
String songPath = getSongPath();
holder.tvSongTitle.setText(songTitle);
holder.tvSongDuration.setText(songDuration);
holder.tvSongAlbumTitle.setText(songAlbumTitle);
choicePlayIconVisibility(holder, songPath);
holder.itemView.setActivated(isPositionChecked(position));
}
}
@Override
public int getItemCount() {
return songCursor.getCount();
}
}