package typical_if.android.adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.SeekBar; import android.widget.TextView; import com.vk.sdk.api.model.VKApiAudio; import java.util.ArrayList; import typical_if.android.AudioPlayer; import typical_if.android.Constants; import typical_if.android.ItemDataSetter; import typical_if.android.R; /** * Created by gigamole on 01.02.15. */ public class AudioAdapter extends BaseAdapter { public final ArrayList<VKApiAudio> audios; public final LayoutInflater layoutInflater; public final Context context; public AudioAdapter(ArrayList<VKApiAudio> audios, Context context) { this.audios = audios; this.context = context; this.layoutInflater = LayoutInflater.from(context); } @Override public int getCount() { return audios.size(); } @Override public Object getItem(int position) { return audios.get(position); } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { VKApiAudio audio = (VKApiAudio) getItem(position); ViewHolder viewHolder; if (convertView == null) { convertView = layoutInflater.inflate(R.layout.audio_container, null, false); viewHolder = new ViewHolder(convertView); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } if (AudioPlayer.playedPausedRecord.audioUrl != null && AudioPlayer.playedPausedRecord.audioUrl.equals(audio.url) && AudioPlayer.playedPausedRecord.isPlayed) { viewHolder.cbAction.setChecked(true); try { AudioPlayer.tempThread.interrupt(); } catch (NullPointerException e) { } AudioPlayer.progressBar(viewHolder.progress).start(); AudioPlayer.tempThread = AudioPlayer.progressBar(viewHolder.progress); Constants.previousCheckBoxState = viewHolder.cbAction; Constants.previousSeekBarState = viewHolder.progress; viewHolder.progress.setVisibility(View.VISIBLE); } if (AudioPlayer.playedPausedRecord.audioUrl != null && AudioPlayer.playedPausedRecord.audioUrl.equals(audio.url) && AudioPlayer.playedPausedRecord.isPaused) { AudioPlayer.progressBar(viewHolder.progress).start(); try { AudioPlayer.tempThread.interrupt(); } catch (NullPointerException e) { } viewHolder.progress.setVisibility(View.VISIBLE); AudioPlayer.tempThread = AudioPlayer.progressBar(viewHolder.progress); } viewHolder.duration.setText(ItemDataSetter.getMediaTime(audio.duration)); viewHolder.artist.setText(audio.artist); viewHolder.title.setText(audio.title); AudioPlayer.getOwnMediaPlayer(audio.url, viewHolder.cbAction, viewHolder.progress, audio.title, audio.artist); return convertView; } public static class ViewHolder { public final CheckBox cbAction; public final SeekBar progress; public final TextView duration; public final TextView title; public final TextView artist; ViewHolder(View view) { this.cbAction = (CheckBox) view.findViewById(R.id.cb_audio_play_or_stop); this.progress = (SeekBar) view.findViewById(R.id.progress_audio); this.duration = (TextView) view.findViewById(R.id.txt_audio_duration); this.title = (TextView) view.findViewById(R.id.txt_audio_title); this.artist = (TextView) view.findViewById(R.id.txt_audio_artist); } } }