package com.ichi2.anki.widgets;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.ichi2.anki.R;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
public final class DeckDropDownAdapter extends BaseAdapter {
public interface SubtitleListener {
public String getSubtitleText();
}
private Context context;
private ArrayList<JSONObject> decks;
public DeckDropDownAdapter(Context context, ArrayList<JSONObject> decks) {
this.context = context;
this.decks = decks;
}
static class DeckDropDownViewHolder {
public TextView deckNameView;
public TextView deckCountsView;
}
@Override
public int getCount() {
return decks.size() + 1;
}
@Override
public Object getItem(int position) {
if (position == 0) {
return null;
} else {
return decks.get(position + 1);
}
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
DeckDropDownViewHolder viewHolder;
TextView deckNameView;
TextView deckCountsView;
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.dropdown_deck_selected_item, parent, false);
deckNameView = (TextView) convertView.findViewById(R.id.dropdown_deck_name);
deckCountsView = (TextView) convertView.findViewById(R.id.dropdown_deck_counts);
viewHolder = new DeckDropDownViewHolder();
viewHolder.deckNameView = deckNameView;
viewHolder.deckCountsView = deckCountsView;
convertView.setTag(viewHolder);
} else {
viewHolder = (DeckDropDownViewHolder) convertView.getTag();
deckNameView = viewHolder.deckNameView;
deckCountsView = viewHolder.deckCountsView;
}
if (position == 0) {
deckNameView.setText(context.getResources().getString(R.string.deck_summary_all_decks));
} else {
JSONObject deck = decks.get(position - 1);
try {
String deckName = deck.getString("name");
deckNameView.setText(deckName);
} catch (JSONException ex) {
new RuntimeException();
}
}
deckCountsView.setText(((SubtitleListener) context).getSubtitleText());
return convertView;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
TextView deckNameView;
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.dropdown_deck_item, parent, false);
deckNameView = (TextView) convertView.findViewById(R.id.dropdown_deck_name);
convertView.setTag(deckNameView);
} else {
deckNameView = (TextView) convertView.getTag();
}
if (position == 0) {
deckNameView.setText(context.getResources().getString(R.string.deck_summary_all_decks));
} else {
JSONObject deck = decks.get(position - 1);
try {
String deckName = deck.getString("name");
deckNameView.setText(deckName);
} catch (JSONException ex) {
new RuntimeException();
}
}
return convertView;
}
}