Skip to content

Commit eacd593

Browse files
handled NPE in PrefetchingWeekViewLoader.
1 parent 2c8ca57 commit eacd593

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

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

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ import java.util.*
1414
* @param prefetchingPeriod The amount of periods to be fetched before and after the
1515
* current period. Must be 1 or greater.
1616
*/
17-
class PrefetchingWeekViewLoader(weekViewLoader: WeekViewLoader, @IntRange(from = 1L) val prefetchingPeriod: Int = 1) : WeekViewLoader {
18-
private var mWeekViewLoader: WeekViewLoader? = weekViewLoader
17+
class PrefetchingWeekViewLoader(val weekViewLoader: WeekViewLoader, @IntRange(from = 1L) val prefetchingPeriod: Int = 1) : WeekViewLoader {
1918

2019
init {
2120
if (prefetchingPeriod < 1)
@@ -24,16 +23,23 @@ class PrefetchingWeekViewLoader(weekViewLoader: WeekViewLoader, @IntRange(from =
2423

2524
override fun onLoad(periodIndex: Int): MutableList<WeekViewEvent>? {
2625
// fetch the current period
27-
val events = ArrayList(mWeekViewLoader!!.onLoad(periodIndex)!!)
26+
var loadedEvents = weekViewLoader.onLoad(periodIndex)
27+
val events = ArrayList<WeekViewEvent>()
28+
if (loadedEvents != null)
29+
events.addAll(loadedEvents)
2830
// fetch periods before/after
2931
for (i in 1..this.prefetchingPeriod) {
30-
events.addAll(mWeekViewLoader!!.onLoad(periodIndex - i)!!)
31-
events.addAll(mWeekViewLoader!!.onLoad(periodIndex + i)!!)
32+
loadedEvents = weekViewLoader.onLoad(periodIndex - i)
33+
if (loadedEvents != null)
34+
events.addAll(loadedEvents)
35+
loadedEvents = weekViewLoader.onLoad(periodIndex + i)
36+
if (loadedEvents != null)
37+
events.addAll(loadedEvents)
3238
}
3339
// return list of all events together
3440
return events
3541
}
3642

37-
override fun toWeekViewPeriodIndex(instance: Calendar) = mWeekViewLoader!!.toWeekViewPeriodIndex(instance)
43+
override fun toWeekViewPeriodIndex(instance: Calendar) = weekViewLoader.toWeekViewPeriodIndex(instance)
3844

3945
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import com.alamkanak.weekview.WeekViewUtil.isSameDay
66
import java.util.*
77

88
open class WeekViewEvent {
9-
var id: String? = null
9+
val id: String?
1010
val startTime: Calendar
1111
val endTime: Calendar
1212
var name: String? = null

0 commit comments

Comments
 (0)