|
1 | 1 | package org.andstatus.todoagenda.prefs |
2 | 2 |
|
| 3 | +import org.andstatus.todoagenda.prefs.EndedSomeTimeAgo.entries |
3 | 4 | import org.andstatus.todoagenda.util.MyClock |
4 | 5 | import org.joda.time.DateTime |
5 | 6 |
|
6 | | -enum class EndedSomeTimeAgo(private val value: String, private val hoursAgo: Int) { |
| 7 | +enum class EndedSomeTimeAgo( |
| 8 | + private val value: String, |
| 9 | + private val hoursAgo: Int, |
| 10 | +) { |
7 | 11 | NONE("NONE", 0), |
8 | 12 | ONE_HOUR("ONE_HOUR", 1), |
9 | 13 | TWO_HOURS("TWO_HOURS", 2), |
10 | 14 | FOUR_HOURS("FOUR_HOURS", 4), |
11 | 15 | TODAY("TODAY", 0) { |
12 | | - override fun endedAt(clock: MyClock): DateTime? { |
13 | | - return clock.startOfToday() |
14 | | - } |
| 16 | + override fun endedAt(clock: MyClock): DateTime? = clock.startOfToday() |
15 | 17 | }, |
16 | 18 | YESTERDAY("YESTERDAY", 0) { |
17 | | - override fun endedAt(clock: MyClock): DateTime? { |
18 | | - return clock.startOfToday().minusDays(1) |
19 | | - } |
| 19 | + override fun endedAt(clock: MyClock): DateTime? = clock.startOfToday().minusDays(1) |
20 | 20 | }, |
21 | 21 | ONE_WEEK("ONE_WEEK", 0) { |
22 | | - override fun endedAt(clock: MyClock): DateTime? { |
23 | | - return clock.startOfToday().minusDays(7) |
24 | | - } |
| 22 | + override fun endedAt(clock: MyClock): DateTime? = clock.startOfToday().minusDays(7) |
25 | 23 | }, |
26 | 24 | TWO_WEEKS("TWO_WEEKS", 0) { |
27 | | - override fun endedAt(clock: MyClock): DateTime? { |
28 | | - return clock.startOfToday().minusDays(14) |
29 | | - } |
| 25 | + override fun endedAt(clock: MyClock): DateTime? = clock.startOfToday().minusDays(14) |
30 | 26 | }, |
31 | 27 | ONE_MONTH("ONE_MONTH", 0) { |
32 | | - override fun endedAt(clock: MyClock): DateTime? { |
33 | | - return clock.startOfToday().minusMonths(1) |
34 | | - } |
| 28 | + override fun endedAt(clock: MyClock): DateTime? = clock.startOfToday().minusMonths(1) |
35 | 29 | }, |
36 | 30 | TWO_MONTHS("TWO_MONTHS", 0) { |
37 | | - override fun endedAt(clock: MyClock): DateTime? { |
38 | | - return clock.startOfToday().minusMonths(2) |
39 | | - } |
| 31 | + override fun endedAt(clock: MyClock): DateTime? = clock.startOfToday().minusMonths(2) |
40 | 32 | }, |
41 | 33 | THREE_MONTHS("THREE_MONTHS", 0) { |
42 | | - override fun endedAt(clock: MyClock): DateTime? { |
43 | | - return clock.startOfToday().minusMonths(3) |
44 | | - } |
| 34 | + override fun endedAt(clock: MyClock): DateTime? = clock.startOfToday().minusMonths(3) |
45 | 35 | }, |
46 | 36 | SIX_MONTHS("SIX_MONTHS", 0) { |
47 | | - override fun endedAt(clock: MyClock): DateTime? { |
48 | | - return clock.startOfToday().minusMonths(6) |
49 | | - } |
| 37 | + override fun endedAt(clock: MyClock): DateTime? = clock.startOfToday().minusMonths(6) |
50 | 38 | }, |
51 | 39 | ONE_YEAR("ONE_YEAR", 0) { |
52 | | - override fun endedAt(clock: MyClock): DateTime? { |
53 | | - return clock.startOfToday().minusYears(1) |
54 | | - } |
55 | | - }; |
| 40 | + override fun endedAt(clock: MyClock): DateTime? = clock.startOfToday().minusYears(1) |
| 41 | + }, ; |
56 | 42 |
|
57 | | - open fun endedAt(clock: MyClock): DateTime? { |
58 | | - return clock.now().minusHours(hoursAgo) |
59 | | - } |
| 43 | + open fun endedAt(clock: MyClock): DateTime? = clock.now().minusHours(hoursAgo) |
60 | 44 |
|
61 | | - fun save(): String { |
62 | | - return value |
63 | | - } |
| 45 | + fun save(): String = value |
64 | 46 |
|
65 | 47 | companion object { |
| 48 | + val defaultValue = TWO_HOURS |
| 49 | + |
66 | 50 | fun fromValue(valueIn: String?): EndedSomeTimeAgo { |
67 | | - var ended = NONE |
68 | 51 | for (item in entries) { |
69 | 52 | if (item.value == valueIn) { |
70 | | - ended = item |
71 | | - break |
| 53 | + return item |
72 | 54 | } |
73 | 55 | } |
74 | | - return ended |
| 56 | + return defaultValue |
75 | 57 | } |
76 | 58 | } |
77 | 59 | } |
0 commit comments