Skip to content

Commit d030cb4

Browse files
committed
Fix null pointer when setting week day formatter via XML
- Update version number
1 parent 25fa088 commit d030cb4

File tree

4 files changed

+24
-7
lines changed

4 files changed

+24
-7
lines changed

app/src/main/res/layout/activity_basic_calendar.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
app:mk_firstDayOfWeek="monday"
2727
app:mk_showWeekDayLabels="true"
2828
app:mk_showingModes="standard"
29+
app:mk_weekDayLabels="@array/weekDaysCalendar"
2930
/>
3031

3132
<TextView

app/src/main/res/values/arrays.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
4+
<string-array name="weekDaysCalendar">
5+
<item>L</item>
6+
<item>M</item>
7+
<item>X</item>
8+
<item>J</item>
9+
<item>V</item>
10+
<item>S</item>
11+
<item>D</item>
12+
</string-array>
13+
14+
</resources>

dependencies.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ext {
44
targetSdkVersion = 28
55
versionMajor = 1
66
versionMinor = 0
7-
versionPatch = 5
7+
versionPatch = 6
88
versionClassifier = null
99
isSnapshot = true
1010

library/src/main/java/com/uxsmobile/materialkalendar/presentation/ui/MaterialKalendar.kt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ class MaterialKalendar
8585
@ShowingDateModes private var showingDateFlagModes = SHOWING_MODE_DEFAULT
8686
private var allowClickDaysOutsideCurrentMonth: Boolean = true
8787
private var allowDynamicWeeksHeightResize: Boolean = false
88+
private var weekLabelsArray: Array<CharSequence>? = null
8889
private var shouldShowWeekDays: Boolean = true
8990

9091
init {
@@ -118,10 +119,7 @@ class MaterialKalendar
118119

119120
shouldShowWeekDays = a.getBoolean(R.styleable.MaterialKalendar_mk_showWeekDayLabels, true)
120121

121-
val weekLabelsArray: Array<CharSequence>? = a.getTextArray(R.styleable.MaterialKalendar_mk_weekDayLabels)
122-
weekLabelsArray?.let {
123-
setWeekDayFormatter(ArrayKalendarWeekDayDateFormatter(weekLabelsArray))
124-
}
122+
weekLabelsArray = a.getTextArray(R.styleable.MaterialKalendar_mk_weekDayLabels)
125123

126124
showingDateFlagModes = a.getInteger(R.styleable.MaterialKalendar_mk_showingModes,
127125
SHOWING_MODE_DEFAULT)
@@ -143,7 +141,11 @@ class MaterialKalendar
143141

144142
adapter = KalendarMonthPagerAdapter(this@MaterialKalendar).apply {
145143
setShowingDatesMode(showingDateFlagModes)
144+
weekLabelsArray?.let {
145+
setWeekDayFormatter(ArrayKalendarWeekDayDateFormatter(it))
146+
} ?: setWeekDayFormatter(KalendarWeekDayDateFormatter())
146147
}
148+
147149
pager = KalendarPager(context).apply {
148150
addOnPageChangeListener(pageChangeListener)
149151
pageMargin = 16.dpToPx()
@@ -302,8 +304,8 @@ class MaterialKalendar
302304
adapter.setShowingDatesMode(flagsMode)
303305
}
304306

305-
fun setWeekDayFormatter(formatter: DateFormatter<DayOfWeek>?) {
306-
adapter.setWeekDayFormatter(formatter ?: KalendarWeekDayDateFormatter())
307+
fun setWeekDayFormatter(formatter: DateFormatter<DayOfWeek>) {
308+
adapter.setWeekDayFormatter(formatter)
307309
}
308310

309311
fun setAllowClickDaysOutsideCurrentMonth(enable: Boolean) {

0 commit comments

Comments
 (0)