package com.nf2m.adapter;
import android.content.Context;
import android.database.Cursor;
import android.provider.MediaStore.Audio.AudioColumns;
import android.provider.MediaStore.MediaColumns;
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.draganddrop.ItemTouchHelperAdapter;
import com.nf2m.service.MediaPlayerService;
import com.nf2m.viewholder.SongItemViewHolder;
public class SongCursorAdapter extends LibraryCursorAdapter<SongItemViewHolder> {
@Nullable
private Cursor songCursor;
public SongCursorAdapter(Context context, Cursor c) {
super(context, c, 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(AudioColumns.DATA));
}
private String getSongAlbumTitle() {
return songCursor.getString(getColumnIndex(AudioColumns.ALBUM));
}
private int getSongDuration() {
return songCursor.getInt(getColumnIndex(AudioColumns.DURATION));
}
private String getSongTitle() {
return songCursor.getString(getColumnIndex(MediaColumns.TITLE));
}
public int getId() {
return songCursor.getInt(getColumnIndex(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) {
songCursor = getCursor();
if (songCursor.moveToPosition(position)) {
String songTitle = getSongTitle();
String songPath = getSongPath();
int songDurationMillis = getSongDuration();
String songDuration = convertMinuteToMillis(songDurationMillis);
String songAlbumTitle = getSongAlbumTitle();
holder.tvSongTitle.setText(songTitle);
holder.tvSongDuration.setText(songDuration);
holder.tvSongAlbumTitle.setText(songAlbumTitle);
choicePlayIconVisibility(holder, songPath);
holder.itemView.setActivated(isPositionChecked(position));
}
}
@Override
public int getItemCount() {
songCursor = getCursor();
return songCursor.getCount();
}
}