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 isFragmentVisible = false
private var wasFragmentInit = false private var wasFragmentInit = false
private var wasExtraHeightAdded = false private var wasExtraHeightAdded = false
private var dimPastEvents = true
private var clickStartTime = 0L private var clickStartTime = 0L
private var selectedGrid: View? = null private var selectedGrid: View? = null
private var todayColumnIndex = -1 private var todayColumnIndex = -1
@@ -70,6 +71,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
mRowHeight = (context!!.resources.getDimension(R.dimen.weekly_view_row_height)).toInt() mRowHeight = (context!!.resources.getDimension(R.dimen.weekly_view_row_height)).toInt()
minScrollY = mRowHeight * context!!.config.startWeeklyAt minScrollY = mRowHeight * context!!.config.startWeeklyAt
mWeekTimestamp = arguments!!.getInt(WEEK_START_TIMESTAMP) mWeekTimestamp = arguments!!.getInt(WEEK_START_TIMESTAMP)
dimPastEvents = context!!.config.dimPastEvents
primaryColor = context!!.getAdjustedPrimaryColor() primaryColor = context!!.getAdjustedPrimaryColor()
mRes = resources mRes = resources
allDayRows.add(HashSet()) allDayRows.add(HashSet())
@@ -272,9 +274,15 @@ class WeekFragment : Fragment(), WeeklyCalendar {
val duration = endDateTime.minuteOfDay - startMinutes val duration = endDateTime.minuteOfDay - startMinutes
(inflater.inflate(R.layout.week_event_marker, null, false) as TextView).apply { (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) background = ColorDrawable(backgroundColor)
setTextColor(backgroundColor.getContrastColor()) setTextColor(textColor)
text = event.title text = event.title
layout.addView(this) layout.addView(this)
y = startMinutes * minuteHeight y = startMinutes * minuteHeight
@@ -341,9 +349,15 @@ class WeekFragment : Fragment(), WeeklyCalendar {
if (activity == null) if (activity == null)
return 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) background = ColorDrawable(backgroundColor)
setTextColor(backgroundColor.getContrastColor())
setTextColor(textColor)
text = event.title text = event.title
val startDateTime = Formatter.getDateTimeFromTS(event.startTS) 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.repeatInterval.isXWeeklyRepetition()) {
if (event.startTS.isTsOnProperDay(event)) { if (event.startTS.isTsOnProperDay(event)) {
if (isOnProperWeek(event, startTimes)) { if (isOnProperWeek(event, startTimes)) {
events.add(event.copy(isPastEvent = event.getIsPastEvent())) events.add(event.copy(isPastEvent = getIsPastEvent(event)))
} }
} }
} else { } 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.repeatInterval.isXWeeklyRepetition()) {
if (event.endTS >= toTS && event.startTS.isTsOnProperDay(event)) { if (event.endTS >= toTS && event.startTS.isTsOnProperDay(event)) {
if (isOnProperWeek(event, startTimes)) { if (isOnProperWeek(event, startTimes)) {
events.add(event.copy(isPastEvent = event.getIsPastEvent())) events.add(event.copy(isPastEvent = getIsPastEvent(event)))
} }
} }
} else { } else {
val dayCode = Formatter.getDayCodeFromTS(fromTS) val dayCode = Formatter.getDayCodeFromTS(fromTS)
val endDayCode = Formatter.getDayCodeFromTS(event.endTS) val endDayCode = Formatter.getDayCodeFromTS(event.endTS)
if (dayCode == endDayCode) { 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 (event.startTS.isTsOnProperDay(event)) {
if (isOnProperWeek(event, startTimes)) { if (isOnProperWeek(event, startTimes)) {
if (event.endTS >= fromTS) { if (event.endTS >= fromTS) {
events.add(event.copy(isPastEvent = event.getIsPastEvent())) events.add(event.copy(isPastEvent = getIsPastEvent(event)))
} }
event.repeatLimit++ event.repeatLimit++
} }
@@ -757,7 +757,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
val dayCode = Formatter.getDayCodeFromTS(fromTS) val dayCode = Formatter.getDayCodeFromTS(fromTS)
val endDayCode = Formatter.getDayCodeFromTS(event.endTS) val endDayCode = Formatter.getDayCodeFromTS(event.endTS)
if (dayCode == endDayCode) { if (dayCode == endDayCode) {
events.add(event.copy(isPastEvent = event.getIsPastEvent())) events.add(event.copy(isPastEvent = getIsPastEvent(event)))
} }
} }
event.repeatLimit++ event.repeatLimit++
@@ -1043,4 +1043,6 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
cursor?.close() 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 backgroundColor = it.color
var eventTextColor = backgroundColor.getContrastColor() var eventTextColor = backgroundColor.getContrastColor()
if (!day.isThisMonth || (dimPastEvents && it.getIsPastEvent())) { if (!day.isThisMonth || (dimPastEvents && it.isPastEvent)) {
eventTextColor = eventTextColor.adjustAlpha(0.25f) eventTextColor = eventTextColor.adjustAlpha(0.25f)
backgroundColor = backgroundColor.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 getCalDAVCalendarId() = if (source.startsWith(CALDAV)) (source.split("-").lastOrNull() ?: "0").toString().toInt() else 0
fun getIsPastEvent() = endTS < System.currentTimeMillis() / 1000
} }