package com.seafile.seadroid2.ui.adapter;
import android.content.Context;
import android.graphics.Color;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.joanzapata.iconify.fonts.MaterialCommunityIcons;
import com.joanzapata.iconify.widget.IconTextView;
import com.seafile.seadroid2.R;
import com.seafile.seadroid2.data.EventDetailsFileItem;
import com.seafile.seadroid2.data.EventDetailsTree;
import java.util.List;
public class BottomSheetAdapter extends BaseAdapter {
private List<EventDetailsFileItem> items;
private Context context;
public BottomSheetAdapter(Context context, List<EventDetailsFileItem> items) {
this.items = items;
this.context = context;
}
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int i) {
return items.get(i);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View contentView, ViewGroup viewGroup) {
ViewHolder holder;
if (contentView == null) {
holder = new ViewHolder();
contentView = View.inflate(context, R.layout.list_item_diff, null);
holder.file = (TextView) contentView.findViewById(R.id.tv_diff_file_name);
holder.icon = (IconTextView) contentView.findViewById(R.id.tv_diff_icon);
contentView.setTag(holder);
} else {
holder = (ViewHolder) contentView.getTag();
}
final EventDetailsFileItem eventDetailsFileItem = items.get(position);
holder.file.setText(eventDetailsFileItem.getPath());
switch (eventDetailsFileItem.geteType()) {
case FILE_ADDED:
case DIR_ADDED:
holder.file.setTextColor(Color.parseColor("#6CC644"));
holder.icon.setText("{" + MaterialCommunityIcons.mdi_plus.key() + " #6CC644}");
break;
case FILE_MODIFIED:
holder.file.setTextColor(Color.parseColor("#D0B44C"));
holder.icon.setText("{" + MaterialCommunityIcons.mdi_pencil.key() + " #D0B44C}");
break;
case FILE_RENAMED:
holder.file.setTextColor(Color.parseColor("#677A85"));
holder.icon.setText("{" + MaterialCommunityIcons.mdi_arrow_right.key() + " #677A85}");
break;
case FILE_DELETED:
case DIR_DELETED:
holder.file.setTextColor(Color.parseColor("#BD2C00"));
holder.icon.setText("{" + MaterialCommunityIcons.mdi_minus.key() + " #BD2C00}");
break;
}
return contentView;
}
static class ViewHolder{
public TextView file;
public IconTextView icon;
}
}