mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-03-01 01:47:38 +01:00
dim past events when appropriate at the weekly view too
This commit is contained in:
parent
66f8c6adf1
commit
614b17e36f
@ -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)
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user