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(); } }