package org.wikipedia.feed.continuereading;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.PluralsRes;
import android.view.View;
import org.wikipedia.R;
import org.wikipedia.feed.view.CardHeaderView;
import org.wikipedia.feed.view.CardLargeHeaderView;
import org.wikipedia.feed.view.ListCardView;
import org.wikipedia.history.HistoryEntry;
import org.wikipedia.views.ItemTouchHelperSwipeAdapter;
public class ContinueReadingCardView extends ListCardView<ContinueReadingCard>
implements ItemTouchHelperSwipeAdapter.SwipeableView {
public ContinueReadingCardView(Context context) {
super(context);
}
@Override public void setCard(@NonNull ContinueReadingCard card) {
super.setCard(card);
header(card);
}
private void header(@NonNull ContinueReadingCard card) {
int age = (int) card.daysOld();
@PluralsRes int subtitlePlural;
String subtitle;
if (age == 0) {
subtitle = getResources().getString(R.string.view_continue_reading_card_subtitle_today);
} else {
subtitlePlural = R.plurals.view_continue_reading_card_subtitle;
subtitle = getResources().getQuantityString(subtitlePlural, age, age);
}
CardHeaderView header = new CardHeaderView(getContext())
.setTitle(R.string.view_continue_reading_card_title)
.setSubtitle(subtitle)
.setImage(R.drawable.ic_arrow_forward_black_24dp)
.setImageCircleColor(R.color.gray_highlight)
.setCard(card)
.setCallback(getCallback());
header(header);
CardLargeHeaderView largeHeader = new CardLargeHeaderView(getContext())
.setTitle(card.title())
.setImage(card.image())
.onClickListener(new CardClickListener());
largeHeader(largeHeader);
}
private class CardClickListener implements OnClickListener {
@Override
public void onClick(View v) {
if (getCallback() != null && getCard() != null) {
getCallback().onSelectPage(getCard(), new HistoryEntry(getCard().pageTitle(),
HistoryEntry.SOURCE_FEED_CONTINUE_READING));
}
}
}
}