package org.wikipedia.feed.announcement;
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import org.wikipedia.feed.model.Card;
import org.wikipedia.feed.model.CardType;
public class AnnouncementCard extends Card {
@NonNull private final Announcement announcement;
public AnnouncementCard(@NonNull Announcement announcement) {
this.announcement = announcement;
}
@Override @NonNull public String title() {
return announcement.type();
}
@Nullable @Override public String extract() {
return announcement.text();
}
public boolean hasAction() {
return announcement.hasAction();
}
@NonNull public String actionTitle() {
return announcement.actionTitle();
}
@NonNull public Uri actionUri() {
return Uri.parse(announcement.actionUrl());
}
public boolean hasFooterCaption() {
return announcement.hasFooterCaption();
}
@NonNull public String footerCaption() {
return announcement.footerCaption();
}
public boolean hasImage() {
return announcement.hasImageUrl();
}
@NonNull @Override public Uri image() {
return Uri.parse(announcement.imageUrl());
}
@NonNull @Override public CardType type() {
return CardType.ANNOUNCEMENT;
}
@Override protected int dismissHashCode() {
return announcement.id().hashCode();
}
}