| // Copyright 2016 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package io.v.todos; |
| |
| import android.view.View; |
| import android.widget.TextView; |
| |
| import io.v.todos.model.ListMetadata; |
| |
| /** |
| * @author alexfandrianto |
| */ |
| public class TodoListViewHolder extends SwipeableCardViewHolder { |
| private final TextView mName, mCompletedStatus, mTimeAgo; |
| |
| public TodoListViewHolder(View itemView) { |
| super(itemView); |
| mName = (TextView) itemView.findViewById(R.id.todo_list_name); |
| mCompletedStatus = (TextView) itemView.findViewById(R.id.todo_list_completed); |
| mTimeAgo = (TextView) itemView.findViewById(R.id.todo_list_time); |
| } |
| |
| public void bindTodoList(ListMetadata listMetadata, View.OnClickListener listener) { |
| mName.setText(listMetadata.name); |
| mCompletedStatus.setText(computeCompleted(listMetadata)); |
| mTimeAgo.setText(computeTimeAgo(listMetadata)); |
| |
| getCardView().setCardBackgroundColor(listMetadata.isDone() ? 0xFFCCCCCC : 0xFFFFFFFF); |
| |
| itemView.setTag(listMetadata.key); |
| itemView.setOnClickListener(listener); |
| } |
| |
| private String computeTimeAgo(ListMetadata listMetadata) { |
| return UIUtil.computeTimeAgo(getCardView().getContext(), "Last Updated", |
| listMetadata.updatedAt); |
| } |
| |
| private String computeCompleted(ListMetadata listMetadata) { |
| if (listMetadata.isDone()) { |
| return "Done!"; |
| } else if (listMetadata.numTasks == 0) { |
| return "Needs Tasks"; |
| } else if (listMetadata.numCompleted == 0) { |
| return "Not Started"; |
| } else { |
| return listMetadata.numCompleted + " of " + listMetadata.numTasks; |
| } |
| } |
| |
| @Override |
| public String toString() { |
| return mName.getText() + " (" + mCompletedStatus.getText() + "), " + mTimeAgo.getText(); |
| } |
| } |