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

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

@ -23,6 +23,7 @@ import java.time.YearMonth
import java.util.Calendar import java.util.Calendar
import java.util.Calendar.DAY_OF_MONTH import java.util.Calendar.DAY_OF_MONTH
import java.util.Calendar.DAY_OF_WEEK import java.util.Calendar.DAY_OF_WEEK
import java.util.Calendar.MONTH
import java.util.Calendar.SHORT import java.util.Calendar.SHORT
import java.util.Date import java.util.Date
import java.util.GregorianCalendar import java.util.GregorianCalendar
@ -68,7 +69,8 @@ abstract class DateUtils {
val locale = getLocale() val locale = getLocale()
val dayOfMonth: String = day.get(DAY_OF_MONTH).toString() val dayOfMonth: String = day.get(DAY_OF_MONTH).toString()
val dayOfWeek = day.getDisplayName(DAY_OF_WEEK, SHORT, locale) 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 { private fun getCalendar(timestamp: Long): GregorianCalendar {

Loading…
Cancel
Save