package cz.destil.wearsquare.adapter;
import android.content.Context;
import android.support.wearable.view.WearableListView;
import android.text.TextUtils;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
import cz.destil.wearsquare.R;
/**
* Adapter for selecting emojis.
*
* @author David Vávra (david@vavra.me)
*/
public class EmojiAdapter extends WearableListView.Adapter {
private static List<String> sEmojis;
private static String sSelectedEmoji;
private Context mContext;
public EmojiAdapter(Context context) {
mContext = context;
}
public static void setEmojis(ArrayList<String> emojis) {
sEmojis = emojis;
}
public static String getSelectedEmoji() {
return sSelectedEmoji;
}
@Override
public WearableListView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
return new WearableListView.ViewHolder(new ListItem(mContext));
}
@Override
public void onBindViewHolder(WearableListView.ViewHolder viewHolder, int position) {
String emoji = sEmojis.get(position);
ListItem listItem = (ListItem) viewHolder.itemView;
listItem.setTag(emoji);
if (TextUtils.isEmpty(emoji)) {
listItem.emoji.setText(R.string.no_emoji);
listItem.emoji.setTextSize(TypedValue.COMPLEX_UNIT_SP, 17);
} else {
listItem.emoji.setText(emoji);
listItem.emoji.setTextSize(TypedValue.COMPLEX_UNIT_SP, 40);
}
}
@Override
public int getItemCount() {
return sEmojis.size();
}
class ListItem extends FrameLayout implements WearableListView.OnCenterProximityListener {
@Bind(R.id.emoji)
TextView emoji;
public ListItem(Context context) {
super(context);
View.inflate(context, R.layout.list_item_emoji, this);
ButterKnife.bind(this, this);
}
@Override
public void onCenterPosition(boolean b) {
emoji.setAlpha(1f);
sSelectedEmoji = (String) getTag();
}
@Override
public void onNonCenterPosition(boolean b) {
emoji.setAlpha(0.5f);
}
}
}