create an isPastEvent inline variable for the model

This commit is contained in:
tibbi 2018-11-12 23:47:58 +01:00
parent 4ac956d315
commit 5ec19501f3
8 changed files with 34 additions and 34 deletions

View File

@ -119,7 +119,7 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList<Event>, r
}
var newTextColor = textColor
if (dimPastEvents && event.getIsPastEvent()) {
if (dimPastEvents && event.isPastEvent) {
newTextColor = newTextColor.adjustAlpha(LOW_ALPHA)
}

View File

@ -174,7 +174,7 @@ class EventListWidgetAdapter(val context: Context) : RemoteViewsService.RemoteVi
prevCode = code
}
val listEvent = ListEvent(it.id!!, it.startTS, it.endTS, it.title, it.description, it.getIsAllDay(), it.color, it.location, it.getIsPastEvent(), it.repeatInterval > 0)
val listEvent = ListEvent(it.id!!, it.startTS, it.endTS, it.title, it.description, it.getIsAllDay(), it.color, it.location, it.isPastEvent, it.repeatInterval > 0)
listItems.add(listEvent)
}

View File

@ -425,7 +425,7 @@ fun Context.getEventListItems(events: List<Event>): ArrayList<ListItem> {
listItems.add(listSection)
prevCode = code
}
val listEvent = ListEvent(it.id!!, it.startTS, it.endTS, it.title, it.description, it.getIsAllDay(), it.color, it.location, it.getIsPastEvent(), it.repeatInterval > 0)
val listEvent = ListEvent(it.id!!, it.startTS, it.endTS, it.title, it.description, it.getIsAllDay(), it.color, it.location, it.isPastEvent, it.repeatInterval > 0)
listItems.add(listEvent)
}
return listItems

View File

@ -270,7 +270,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
(inflater.inflate(R.layout.week_event_marker, null, false) as TextView).apply {
var backgroundColor = eventTypeColors.get(event.eventType, primaryColor)
var textColor = backgroundColor.getContrastColor()
if (dimPastEvents && event.getIsPastEvent()) {
if (dimPastEvents && event.isPastEvent) {
backgroundColor = backgroundColor.adjustAlpha(LOW_ALPHA)
textColor = textColor.adjustAlpha(LOW_ALPHA)
}
@ -339,7 +339,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
(inflater.inflate(R.layout.week_all_day_event_marker, null, false) as TextView).apply {
var backgroundColor = eventTypeColors.get(event.eventType, primaryColor)
var textColor = backgroundColor.getContrastColor()
if (dimPastEvents && event.getIsPastEvent()) {
if (dimPastEvents && event.isPastEvent) {
backgroundColor = backgroundColor.adjustAlpha(LOW_ALPHA)
textColor = textColor.adjustAlpha(LOW_ALPHA)
}

View File

@ -650,14 +650,14 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
if (event.startTS.isTsOnProperDay(event)) {
if (isOnProperWeek(event, startTimes)) {
event.copy().apply {
setIsPastEvent(getIsPastEvent(this))
updateIsPastEvent()
events.add(this)
}
}
}
} else {
event.copy().apply {
setIsPastEvent(getIsPastEvent(this))
updateIsPastEvent()
events.add(this)
}
}
@ -668,7 +668,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
if (event.endTS >= toTS && event.startTS.isTsOnProperDay(event)) {
if (isOnProperWeek(event, startTimes)) {
event.copy().apply {
setIsPastEvent(getIsPastEvent(this))
updateIsPastEvent()
events.add(this)
}
}
@ -678,7 +678,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
val endDayCode = Formatter.getDayCodeFromTS(event.endTS)
if (dayCode == endDayCode) {
event.copy().apply {
setIsPastEvent(getIsPastEvent(this))
updateIsPastEvent()
events.add(this)
}
}
@ -698,7 +698,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
if (isOnProperWeek(event, startTimes)) {
if (event.endTS >= fromTS) {
event.copy().apply {
setIsPastEvent(getIsPastEvent(this))
updateIsPastEvent()
events.add(this)
}
}
@ -708,7 +708,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
} else {
if (event.endTS >= fromTS) {
event.copy().apply {
setIsPastEvent(getIsPastEvent(this))
updateIsPastEvent()
events.add(this)
}
} else if (event.getIsAllDay()) {
@ -716,7 +716,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
val endDayCode = Formatter.getDayCodeFromTS(event.endTS)
if (dayCode == endDayCode) {
event.copy().apply {
setIsPastEvent(getIsPastEvent(this))
updateIsPastEvent()
events.add(this)
}
}
@ -879,7 +879,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
val event = Event(id, startTS, endTS, title, description, reminder1Minutes, reminder2Minutes, reminder3Minutes,
repeatInterval, importId, flags, repeatLimit, repeatRule, eventType, 0, lastUpdated, source, color, location)
event.setIsPastEvent(getIsPastEvent(event))
event.updateIsPastEvent()
events.add(event)
} while (cursor.moveToNext())
@ -960,13 +960,4 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
}
return daycodes
}
private fun getIsPastEvent(event: Event): Boolean {
val endTSToCheck = if (event.startTS < getNowSeconds() && event.getIsAllDay()) {
Formatter.getDayEndTS(Formatter.getDayCodeFromTS(event.endTS))
} else {
event.endTS
}
return endTSToCheck < getNowSeconds()
}
}

View File

@ -125,7 +125,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

@ -95,16 +95,6 @@ data class Event(var id: Long?, var startTS: Int = 0, var endTS: Int = 0, var ti
fun getIsAllDay() = flags and FLAG_ALL_DAY != 0
fun getIsPastEvent() = flags and FLAG_IS_PAST_EVENT != 0
fun setIsPastEvent(isPastEvent: Boolean) {
flags = if (isPastEvent) {
flags.addBit(FLAG_IS_PAST_EVENT)
} else {
flags.removeBit(FLAG_IS_PAST_EVENT)
}
}
fun getReminders() = setOf(reminder1Minutes, reminder2Minutes, reminder3Minutes).filter { it != REMINDER_OFF }
// properly return the start time of all-day events as midnight
@ -125,4 +115,23 @@ data class Event(var id: Long?, var startTS: Int = 0, var endTS: Int = 0, var ti
}
fun getCalDAVCalendarId() = if (source.startsWith(CALDAV)) (source.split("-").lastOrNull() ?: "0").toString().toInt() else 0
fun updateIsPastEvent() {
val endTSToCheck = if (startTS < getNowSeconds() && getIsAllDay()) {
Formatter.getDayEndTS(Formatter.getDayCodeFromTS(endTS))
} else {
endTS
}
isPastEvent = endTSToCheck < getNowSeconds()
}
var isPastEvent: Boolean
get() = flags and FLAG_IS_PAST_EVENT != 0
set(isPastEvent) {
flags = if (isPastEvent) {
flags.addBit(FLAG_IS_PAST_EVENT)
} else {
flags.removeBit(FLAG_IS_PAST_EVENT)
}
}
}

View File

@ -106,7 +106,7 @@ class MonthView(context: Context, attrs: AttributeSet, defStyle: Int) : View(con
val daysCnt = getEventLastingDaysCount(event)
if (lastEvent == null || lastEvent.startDayIndex + daysCnt <= day.indexOnMonthView) {
val monthViewEvent = MonthViewEvent(event.id!!, event.title, event.startTS, event.color, day.indexOnMonthView,
daysCnt, day.indexOnMonthView, event.getIsAllDay(), event.getIsPastEvent())
daysCnt, day.indexOnMonthView, event.getIsAllDay(), event.isPastEvent)
allEvents.add(monthViewEvent)
}
}