Merge pull request #50 from rotvel/feature/audiotype-support

Add support for more audio types
This commit is contained in:
dkanada 2020-07-23 14:52:43 +09:00 committed by GitHub
commit 87dd7079e4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 312 additions and 8 deletions

View file

@ -0,0 +1,65 @@
package com.dkanada.gramophone.adapter;
import android.annotation.SuppressLint;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.dkanada.gramophone.R;
import com.dkanada.gramophone.model.DirectPlayCodec;
import java.util.List;
public class DirectPlayCodecAdapter extends RecyclerView.Adapter<DirectPlayCodecAdapter.ViewHolder> {
private List<DirectPlayCodec> directPlayCodecs;
public DirectPlayCodecAdapter(List<DirectPlayCodec> directPlayCodecs) {
this.directPlayCodecs = directPlayCodecs;
}
@Override
@NonNull
public DirectPlayCodecAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.preference_dialog_direct_play_codecs_listitem, parent, false);
return new ViewHolder(view);
}
@SuppressLint("ClickableViewAccessibility")
@Override
public void onBindViewHolder(@NonNull DirectPlayCodecAdapter.ViewHolder holder, int position) {
DirectPlayCodec directPlayCodec = directPlayCodecs.get(position);
holder.checkBox.setChecked(directPlayCodec.selected);
holder.title.setText(directPlayCodec.title);
holder.itemView.setOnClickListener(v -> {
directPlayCodec.selected = !directPlayCodec.selected;
holder.checkBox.setChecked(directPlayCodec.selected);
});
}
@Override
public int getItemCount() {
return directPlayCodecs.size();
}
public List<DirectPlayCodec> getDirectPlayCodecs() {
return directPlayCodecs;
}
static class ViewHolder extends RecyclerView.ViewHolder {
public CheckBox checkBox;
public TextView title;
public ViewHolder(View view) {
super(view);
checkBox = view.findViewById(R.id.checkbox);
title = view.findViewById(R.id.title);
}
}
}