Showing month in the HeaderView calendar

pull/1780/head
Jakub Kalinowski 2 years ago
parent 5ab1b01f9b
commit 077edd2738

@ -42,7 +42,7 @@ import java.util.GregorianCalendar
class HeaderView(
context: Context,
val prefs: Preferences,
val midnightTimer: MidnightTimer
private val midnightTimer: MidnightTimer
) : ScrollableChart(context),
Preferences.Listener,
MidnightTimer.MidnightListener {
@ -114,7 +114,7 @@ class HeaderView(
fun draw(canvas: Canvas) {
val day = DateUtils.getStartOfTodayCalendarWithOffset()
val width = dim(R.dimen.checkmarkWidth)
val height = dim(R.dimen.checkmarkHeight)
val height = dim(R.dimen.headerViewDateHeight)
val isReversed = prefs.isCheckmarkSequenceReversed
day.add(GregorianCalendar.DAY_OF_MONTH, -dataOffset)
@ -138,12 +138,13 @@ class HeaderView(
rect.bottom
)
}
val y1 = rect.centerY() - 0.25 * em
val y2 = rect.centerY() + 1.25 * em
val lines = DateUtils.formatHeaderDate(day).toUpperCase().split("\n")
val y1 = rect.centerY() - 2.25 * em
val y2 = rect.centerY() - 0.75 * em
val y3 = rect.centerY() + 0.75 * em
val lines = DateUtils.formatHeaderDate(day).uppercase().split("\n")
canvas.drawText(lines[0], rect.centerX(), y1.toFloat(), paint)
canvas.drawText(lines[1], rect.centerX(), y2.toFloat(), paint)
canvas.drawText(lines[2], rect.centerX(), y3.toFloat(), paint)
day.add(GregorianCalendar.DAY_OF_MONTH, -1)
}
}

@ -21,6 +21,7 @@
<dimen name="baseSize">20dp</dimen>
<dimen name="checkmarkWidth">48dp</dimen>
<dimen name="checkmarkHeight">48dp</dimen>
<dimen name="headerViewDateHeight">72dp</dimen>
<dimen name="history_editor_max_height">350dp</dimen>
<dimen name="regularTextSize">16sp</dimen>
<dimen name="smallTextSize">14sp</dimen>

@ -23,6 +23,7 @@ import java.time.YearMonth
import java.util.Calendar
import java.util.Calendar.DAY_OF_MONTH
import java.util.Calendar.DAY_OF_WEEK
import java.util.Calendar.MONTH
import java.util.Calendar.SHORT
import java.util.Date
import java.util.GregorianCalendar
@ -68,7 +69,8 @@ abstract class DateUtils {
val locale = getLocale()
val dayOfMonth: String = day.get(DAY_OF_MONTH).toString()
val dayOfWeek = day.getDisplayName(DAY_OF_WEEK, SHORT, locale)
return dayOfWeek + "\n" + dayOfMonth
val month = day.getDisplayName(MONTH, SHORT, locale)
return "$dayOfWeek\n$dayOfMonth\n$month"
}
private fun getCalendar(timestamp: Long): GregorianCalendar {

Loading…
Cancel
Save