dim past events when appropriate at the weekly view too

This commit is contained in:
tibbi 2018-05-04 22:33:15 +02:00
parent 66f8c6adf1
commit 614b17e36f
4 changed files with 27 additions and 13 deletions

View File

@ -47,6 +47,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
private var isFragmentVisible = false
private var wasFragmentInit = false
private var wasExtraHeightAdded = false
private var dimPastEvents = true
private var clickStartTime = 0L
private var selectedGrid: View? = null
private var todayColumnIndex = -1
@ -70,6 +71,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
mRowHeight = (context!!.resources.getDimension(R.dimen.weekly_view_row_height)).toInt()
minScrollY = mRowHeight * context!!.config.startWeeklyAt
mWeekTimestamp = arguments!!.getInt(WEEK_START_TIMESTAMP)
dimPastEvents = context!!.config.dimPastEvents
primaryColor = context!!.getAdjustedPrimaryColor()
mRes = resources
allDayRows.add(HashSet())
@ -272,9 +274,15 @@ class WeekFragment : Fragment(), WeeklyCalendar {
val duration = endDateTime.minuteOfDay - startMinutes
(inflater.inflate(R.layout.week_event_marker, null, false) as TextView).apply {
val backgroundColor = eventTypeColors.get(event.eventType, primaryColor)
var backgroundColor = eventTypeColors.get(event.eventType, primaryColor)
var textColor = backgroundColor.getContrastColor()
if (dimPastEvents && event.isPastEvent) {
backgroundColor = backgroundColor.adjustAlpha(LOW_ALPHA)
textColor = textColor.adjustAlpha(LOW_ALPHA)
}
background = ColorDrawable(backgroundColor)
setTextColor(backgroundColor.getContrastColor())
setTextColor(textColor)
text = event.title
layout.addView(this)
y = startMinutes * minuteHeight
@ -341,9 +349,15 @@ class WeekFragment : Fragment(), WeeklyCalendar {
if (activity == null)
return
val backgroundColor = eventTypeColors.get(event.eventType, primaryColor)
var backgroundColor = eventTypeColors.get(event.eventType, primaryColor)
var textColor = backgroundColor.getContrastColor()
if (dimPastEvents && event.isPastEvent) {
backgroundColor = backgroundColor.adjustAlpha(LOW_ALPHA)
textColor = textColor.adjustAlpha(LOW_ALPHA)
}
background = ColorDrawable(backgroundColor)
setTextColor(backgroundColor.getContrastColor())
setTextColor(textColor)
text = event.title
val startDateTime = Formatter.getDateTimeFromTS(event.startTS)

View File

@ -709,11 +709,11 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
if (event.repeatInterval.isXWeeklyRepetition()) {
if (event.startTS.isTsOnProperDay(event)) {
if (isOnProperWeek(event, startTimes)) {
events.add(event.copy(isPastEvent = event.getIsPastEvent()))
events.add(event.copy(isPastEvent = getIsPastEvent(event)))
}
}
} else {
events.add(event.copy(isPastEvent = event.getIsPastEvent()))
events.add(event.copy(isPastEvent = getIsPastEvent(event)))
}
}
@ -721,14 +721,14 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
if (event.repeatInterval.isXWeeklyRepetition()) {
if (event.endTS >= toTS && event.startTS.isTsOnProperDay(event)) {
if (isOnProperWeek(event, startTimes)) {
events.add(event.copy(isPastEvent = event.getIsPastEvent()))
events.add(event.copy(isPastEvent = getIsPastEvent(event)))
}
}
} else {
val dayCode = Formatter.getDayCodeFromTS(fromTS)
val endDayCode = Formatter.getDayCodeFromTS(event.endTS)
if (dayCode == endDayCode) {
events.add(event.copy(isPastEvent = event.getIsPastEvent()))
events.add(event.copy(isPastEvent = getIsPastEvent(event)))
}
}
}
@ -745,7 +745,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
if (event.startTS.isTsOnProperDay(event)) {
if (isOnProperWeek(event, startTimes)) {
if (event.endTS >= fromTS) {
events.add(event.copy(isPastEvent = event.getIsPastEvent()))
events.add(event.copy(isPastEvent = getIsPastEvent(event)))
}
event.repeatLimit++
}
@ -757,7 +757,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
val dayCode = Formatter.getDayCodeFromTS(fromTS)
val endDayCode = Formatter.getDayCodeFromTS(event.endTS)
if (dayCode == endDayCode) {
events.add(event.copy(isPastEvent = event.getIsPastEvent()))
events.add(event.copy(isPastEvent = getIsPastEvent(event)))
}
}
event.repeatLimit++
@ -1043,4 +1043,6 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
cursor?.close()
}
}
private fun getIsPastEvent(event: Event) = event.endTS < System.currentTimeMillis() / 1000
}

View File

@ -118,7 +118,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() {
var backgroundColor = it.color
var eventTextColor = backgroundColor.getContrastColor()
if (!day.isThisMonth || (dimPastEvents && it.getIsPastEvent())) {
if (!day.isThisMonth || (dimPastEvents && it.isPastEvent)) {
eventTextColor = eventTextColor.adjustAlpha(0.25f)
backgroundColor = backgroundColor.adjustAlpha(0.25f)
}

View File

@ -112,6 +112,4 @@ data class Event(var id: Int = 0, var startTS: Int = 0, var endTS: Int = 0, var
}
fun getCalDAVCalendarId() = if (source.startsWith(CALDAV)) (source.split("-").lastOrNull() ?: "0").toString().toInt() else 0
fun getIsPastEvent() = endTS < System.currentTimeMillis() / 1000
}