Skip to content

Commit ef94b8d

Browse files
- fixed issue of not being able to add an all-day event with same start-time and end-time, because if the end time is the same, it should still be considered ok.
- removed deprecated long id, because it's too common for calendar services to use String instead
1 parent 50585ff commit ef94b8d

File tree

3 files changed

+18
-61
lines changed

3 files changed

+18
-61
lines changed

library/src/main/java/com/alamkanak/weekview/WeekView.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ class WeekView @JvmOverloads constructor(context: Context, attrs: AttributeSet?
516516

517517
private
518518
val eventsTop: Float
519-
get() = mCurrentOrigin.y + mHeaderHeight + (weekDaysHeaderRowPadding * 2).toFloat() + mTimeTextHeight / 2 - minHourOffset
519+
get() = mCurrentOrigin.y + mHeaderHeight + (weekDaysHeaderRowPadding * 2).toFloat() + mTimeTextHeight / 2 - minHourOffset
520520

521521
private val leftDaysWithGaps: Int
522522
get() = (-Math.ceil((mCurrentOrigin.x / (mWidthPerDay + columnGap)).toDouble())).toInt()
@@ -1885,7 +1885,7 @@ class WeekView @JvmOverloads constructor(context: Context, attrs: AttributeSet?
18851885
* @param event The event to cache.
18861886
*/
18871887
private fun cacheEvent(event: WeekViewEvent) {
1888-
if (event.startTime!! >= event.endTime)
1888+
if (!event.isAllDay && event.startTime!! >= event.endTime)
18891889
return
18901890
val splitedEvents = event.splitWeekViewEvents()
18911891
for (splitedEvent in splitedEvents) {

library/src/main/java/com/alamkanak/weekview/WeekViewEvent.kt

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -67,26 +67,6 @@ class WeekViewEvent {
6767
this.name = name
6868
}
6969

70-
/**
71-
* Initializes the event for week view.
72-
*
73-
* @param id The id of the event.
74-
* @param name Name of the event.
75-
* @param startYear Year when the event starts.
76-
* @param startMonth Month when the event starts.
77-
* @param startDay Day when the event starts.
78-
* @param startHour Hour (in 24-hour format) when the event starts.
79-
* @param startMinute Minute when the event starts.
80-
* @param endYear Year when the event ends.
81-
* @param endMonth Month when the event ends.
82-
* @param endDay Day when the event ends.
83-
* @param endHour Hour (in 24-hour format) when the event ends.
84-
* @param endMinute Minute when the event ends.
85-
*/
86-
@Deprecated("")
87-
constructor(id: Long, name: String, startYear: Int, startMonth: Int, startDay: Int, startHour: Int, startMinute: Int, endYear: Int, endMonth: Int, endDay: Int, endHour: Int, endMinute: Int) : this(id.toString(), name, startYear, startMonth, startDay, startHour, startMinute, endYear, endMonth, endDay, endHour, endMinute) {
88-
}
89-
9070
/**
9171
* Initializes the event for week view.
9272
*
@@ -108,21 +88,6 @@ class WeekViewEvent {
10888
this.shader = shader
10989
}
11090

111-
/**
112-
* Initializes the event for week view.
113-
*
114-
* @param id The id of the event.
115-
* @param name Name of the event.
116-
* @param location The location of the event.
117-
* @param startTime The time when the event starts.
118-
* @param endTime The time when the event ends.
119-
* @param allDay Is the event an all day event.
120-
* @param shader the Shader of the event rectangle
121-
*/
122-
@Deprecated("")
123-
@JvmOverloads constructor(id: Long, name: String, location: String?, startTime: Calendar, endTime: Calendar, allDay: Boolean = false, shader: Shader? = null) : this(id.toString(), name, location, startTime, endTime, allDay, shader) {
124-
}
125-
12691
/**
12792
* Initializes the event for week view.
12893
*
@@ -133,18 +98,6 @@ class WeekViewEvent {
13398
*/
13499
constructor(id: String, name: String, startTime: Calendar, endTime: Calendar) : this(id, name, null, startTime, endTime) {}
135100

136-
/**
137-
* Initializes the event for week view.
138-
*
139-
* @param id The id of the event.
140-
* @param name Name of the event.
141-
* @param startTime The time when the event starts.
142-
* @param endTime The time when the event ends.
143-
*/
144-
@Deprecated("")
145-
constructor(id: Long, name: String, startTime: Calendar, endTime: Calendar) : this(id, name, null, startTime, endTime) {
146-
}
147-
148101
override fun equals(other: Any?): Boolean {
149102
if (this === other) return true
150103
if (other == null || javaClass != other.javaClass) return false

sample/src/main/java/com/alamkanak/weekview/sample/BasicActivity.kt

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ import java.util.*
1414
* Website: http://alamkanak.github.io
1515
*/
1616
open class BasicActivity : BaseActivity() {
17+
var uniqueId: Long = 0
18+
fun getUniqueId(): String = uniqueId++.toString()
19+
1720

1821
override fun onCreate(savedInstanceState: Bundle?) {
1922
super.onCreate(savedInstanceState)
@@ -40,7 +43,7 @@ open class BasicActivity : BaseActivity() {
4043
var endTime = startTime.clone() as Calendar
4144
endTime.add(Calendar.HOUR, 1)
4245
endTime.set(Calendar.MONTH, newMonth - 1)
43-
var event = WeekViewEvent("First", getEventTitle(startTime,endTime), startTime, endTime)
46+
var event = WeekViewEvent("First", getEventTitle(startTime, endTime), startTime, endTime)
4447
event.color = resources.getColor(R.color.event_color_01)
4548
events.add(event)
4649

@@ -65,7 +68,7 @@ open class BasicActivity : BaseActivity() {
6568
endTime.set(Calendar.HOUR_OF_DAY, 4)
6669
endTime.set(Calendar.MINUTE, 30)
6770
endTime.set(Calendar.MONTH, newMonth - 1)
68-
event = WeekViewEvent("Second", getEventTitle(startTime,endTime), startTime, endTime)
71+
event = WeekViewEvent("Second", getEventTitle(startTime, endTime), startTime, endTime)
6972
event.color = resources.getColor(R.color.event_color_05)
7073
events.add(event)
7174

@@ -77,7 +80,7 @@ open class BasicActivity : BaseActivity() {
7780
endTime = startTime.clone() as Calendar
7881
endTime.set(Calendar.HOUR_OF_DAY, 5)
7982
endTime.set(Calendar.MINUTE, 0)
80-
event = WeekViewEvent(10, getEventTitle(startTime,endTime), startTime, endTime)
83+
event = WeekViewEvent(getUniqueId(), getEventTitle(startTime, endTime), startTime, endTime)
8184
event.color = resources.getColor(R.color.event_color_03)
8285
events.add(event)
8386

@@ -89,7 +92,7 @@ open class BasicActivity : BaseActivity() {
8992
endTime = startTime.clone() as Calendar
9093
endTime.add(Calendar.HOUR_OF_DAY, 2)
9194
endTime.set(Calendar.MONTH, newMonth - 1)
92-
event = WeekViewEvent(2, getEventTitle(startTime,endTime), startTime, endTime)
95+
event = WeekViewEvent(getUniqueId(), getEventTitle(startTime, endTime), startTime, endTime)
9396
event.color = resources.getColor(R.color.event_color_02)
9497
events.add(event)
9598

@@ -102,7 +105,7 @@ open class BasicActivity : BaseActivity() {
102105
endTime = startTime.clone() as Calendar
103106
endTime.add(Calendar.HOUR_OF_DAY, 3)
104107
endTime.set(Calendar.MONTH, newMonth - 1)
105-
event = WeekViewEvent(3, getEventTitle(startTime,endTime), startTime, endTime)
108+
event = WeekViewEvent(getUniqueId(), getEventTitle(startTime, endTime), startTime, endTime)
106109
event.color = resources.getColor(R.color.event_color_03)
107110
events.add(event)
108111

@@ -114,7 +117,7 @@ open class BasicActivity : BaseActivity() {
114117
startTime.set(Calendar.YEAR, newYear)
115118
endTime = startTime.clone() as Calendar
116119
endTime.add(Calendar.HOUR_OF_DAY, 3)
117-
event = WeekViewEvent(4, getEventTitle(startTime,endTime), startTime, endTime)
120+
event = WeekViewEvent(getUniqueId(), getEventTitle(startTime, endTime), startTime, endTime)
118121
event.color = resources.getColor(R.color.event_color_04)
119122
events.add(event)
120123

@@ -126,7 +129,7 @@ open class BasicActivity : BaseActivity() {
126129
startTime.set(Calendar.YEAR, newYear)
127130
endTime = startTime.clone() as Calendar
128131
endTime.add(Calendar.HOUR_OF_DAY, 3)
129-
event = WeekViewEvent(5, getEventTitle(startTime,endTime), startTime, endTime)
132+
event = WeekViewEvent(getUniqueId(), getEventTitle(startTime, endTime), startTime, endTime)
130133
event.color = resources.getColor(R.color.event_color_01)
131134
events.add(event)
132135

@@ -138,7 +141,7 @@ open class BasicActivity : BaseActivity() {
138141
startTime.set(Calendar.YEAR, newYear)
139142
endTime = startTime.clone() as Calendar
140143
endTime.add(Calendar.HOUR_OF_DAY, 3)
141-
event = WeekViewEvent(5, getEventTitle(startTime,endTime), startTime, endTime)
144+
event = WeekViewEvent(getUniqueId(), getEventTitle(startTime, endTime), startTime, endTime)
142145
event.color = resources.getColor(R.color.event_color_02)
143146
events.add(event)
144147

@@ -150,7 +153,7 @@ open class BasicActivity : BaseActivity() {
150153
startTime.set(Calendar.YEAR, newYear)
151154
endTime = startTime.clone() as Calendar
152155
endTime.add(Calendar.HOUR_OF_DAY, 23)
153-
event = WeekViewEvent(7, getEventTitle(startTime,endTime), null, startTime, endTime, true)
156+
event = WeekViewEvent(getUniqueId(), getEventTitle(startTime, endTime), null, startTime, endTime, true)
154157
event.color = resources.getColor(R.color.event_color_04)
155158
events.add(event)
156159

@@ -163,7 +166,7 @@ open class BasicActivity : BaseActivity() {
163166
endTime = startTime.clone() as Calendar
164167
endTime.set(Calendar.DAY_OF_MONTH, 10)
165168
endTime.set(Calendar.HOUR_OF_DAY, 23)
166-
event = WeekViewEvent(8, getEventTitle(startTime,endTime), null, startTime, endTime, true)
169+
event = WeekViewEvent(getUniqueId(), getEventTitle(startTime, endTime), null, startTime, endTime, true)
167170
event.color = resources.getColor(R.color.event_color_03)
168171
events.add(event)
169172

@@ -178,7 +181,7 @@ open class BasicActivity : BaseActivity() {
178181
startTime.set(Calendar.YEAR, newYear)
179182
endTime = startTime.clone() as Calendar
180183
endTime.set(Calendar.DAY_OF_MONTH, 11)
181-
event = WeekViewEvent(8, getEventTitle(startTime,endTime), null, startTime, endTime, true)
184+
event = WeekViewEvent(getUniqueId(), getEventTitle(startTime, endTime), null, startTime, endTime, true)
182185
event.color = resources.getColor(R.color.event_color_01)
183186

184187
startTime = Calendar.getInstance()
@@ -190,10 +193,11 @@ open class BasicActivity : BaseActivity() {
190193
endTime.set(Calendar.HOUR_OF_DAY, 19)
191194
endTime.set(Calendar.MINUTE, 30)
192195
endTime.set(Calendar.MONTH, newMonth - 1)
193-
event = WeekViewEvent(22, getEventTitle(startTime,endTime), startTime, endTime)
196+
event = WeekViewEvent(getUniqueId(), getEventTitle(startTime, endTime), startTime, endTime)
194197
event.color = resources.getColor(R.color.event_color_02)
195198
events.add(event)
196199

197200
return events
198201
}
202+
199203
}

0 commit comments

Comments
 (0)