package it.bz.its.angelhack.threedudes.hikingbuddy.adapters;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.text.format.DateUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import it.bz.its.angelhack.threedudes.hikingbuddy.R;
import it.bz.its.angelhack.threedudes.hikingbuddy.Utils;
import it.bz.its.angelhack.threedudes.hikingbuddy.models.Mission;
import it.bz.its.angelhack.threedudes.hikingbuddy.models.MissionSession;
import it.bz.its.angelhack.threedudes.hikingbuddy.models.User;
/**
* Created by philipgiuliani on 17.05.15.
*/
public class ActivitiesAdapter extends RecyclerView.Adapter<ActivitiesAdapter.ActivityViewHolder> {
private List<MissionSession> activities = new ArrayList<>();
private final Context context;
private final LayoutInflater layoutInflater;
public void setActivities(List<MissionSession> activities) {
this.activities = activities;
notifyDataSetChanged();
}
public ActivitiesAdapter(Context context) {
this.context = context;
layoutInflater = LayoutInflater.from(context);
}
@Override
public ActivitiesAdapter.ActivityViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = layoutInflater.inflate(R.layout.item_activity, parent, false);
return new ActivityViewHolder(v);
}
@Override
public void onBindViewHolder(ActivitiesAdapter.ActivityViewHolder viewHolder, int i) {
MissionSession activity = activities.get(i);
// user data
User user = activity.getUser();
viewHolder.textViewFullName.setText(user.getFullName());
Picasso.with(context).load(user.getPicture().getThumbImageUri()).into(viewHolder.imageView);
// created at
Date currDate = new Date();
String timeLeft = DateUtils.getRelativeTimeSpanString(activity.getCompletedAt().getTime(), currDate.getTime(), DateUtils.SECOND_IN_MILLIS).toString();
// DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT);
viewHolder.textViewCreatedAt.setText(timeLeft);//(dateFormat.format(activity.getCompletedAt()));
// text
Mission mission = activity.getMission();
String usedTime = Utils.pretifyAverageTime(activity.getScore());
viewHolder.textViewDescription.setText("Completed " + mission.getName() + " in " + usedTime);
}
@Override
public int getItemCount() {
return activities.size();
}
public class ActivityViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textViewFullName;
private TextView textViewCreatedAt;
private TextView textViewDescription;
public ActivityViewHolder(View itemView) {
super(itemView);
imageView = (ImageView) itemView.findViewById(R.id.imageView);
textViewFullName = (TextView) itemView.findViewById(R.id.textViewFullname);
textViewCreatedAt = (TextView) itemView.findViewById(R.id.textViewCreatedAt);
textViewDescription = (TextView) itemView.findViewById(R.id.textViewDescription);
}
}
}