@@ -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}
0 commit comments