-
-
Notifications
You must be signed in to change notification settings - Fork 801
Expand file tree
/
Copy pathOnThisDayCard.kt
More file actions
53 lines (42 loc) · 1.42 KB
/
OnThisDayCard.kt
File metadata and controls
53 lines (42 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package org.wikipedia.feed.onthisday
import org.wikipedia.R
import org.wikipedia.dataclient.WikiSite
import org.wikipedia.dataclient.page.PageSummary
import org.wikipedia.feed.model.CardType
import org.wikipedia.feed.model.WikiSiteCard
import org.wikipedia.feed.view.FeedAdapter
import org.wikipedia.util.DateUtil
import org.wikipedia.util.L10nUtil
import java.util.Calendar
import java.util.concurrent.TimeUnit
class OnThisDayCard(val event: OnThisDay.Event, wiki: WikiSite, val age: Int) : WikiSiteCard(wiki) {
private val date: Calendar = DateUtil.getDefaultDateFor(age)
var callback: FeedAdapter.Callback? = null
override fun type(): CardType {
return CardType.ON_THIS_DAY
}
override fun title(): String {
return L10nUtil.getString(wikiSite().languageCode, R.string.on_this_day_card_title)
}
override fun subtitle(): String {
return DateUtil.getMediumMonthDayString(date)
}
override fun dismissHashCode(): Int {
return TimeUnit.MILLISECONDS.toDays(date.time.time).toInt() + wikiSite().hashCode()
}
fun footerActionText(): String {
return L10nUtil.getString(wikiSite().languageCode, R.string.more_events_text)
}
fun text(): CharSequence {
return event.text
}
fun year(): Int {
return event.year
}
fun date(): Calendar {
return date
}
fun pages(): List<PageSummary> {
return event.pages
}
}