Skip to content

Commit d4b4f22

Browse files
Merge pull request #58 from inucat/bugfix/widget-npe
Fix exception on widget
2 parents b498cf3 + f0cdd16 commit d4b4f22

File tree

6 files changed

+6
-6
lines changed

6 files changed

+6
-6
lines changed

app/src/main/java/net/twinte/android/datastore/schedule/ScheduleDataStore.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ interface ScheduleDataStore {
1212
),
1313
)
1414

15-
suspend fun getSchedule(date: Date): Timetable
15+
suspend fun getSchedule(date: Date): Timetable?
1616
}

app/src/main/java/net/twinte/android/datastore/schedule/SharedPreferencesScheduleDataStore.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class SharedPreferencesScheduleDataStore @Inject constructor(
4747
}
4848
}
4949

50-
override suspend fun getSchedule(date: Date): Timetable = withContext(Dispatchers.IO) {
50+
override suspend fun getSchedule(date: Date): Timetable? = withContext(Dispatchers.IO) {
5151
val d = simpleDateFormat.format(date)
5252
if (!pref.contains(d)) update(arrayOf(date))
5353

app/src/main/java/net/twinte/android/widget/V3LargeWidgetProvider.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class V3LargeWidgetProvider @Inject constructor() : AppWidgetProvider() {
5555
val (current) = WidgetUpdater.getShouldShowCurrentDate()
5656

5757
try {
58-
val schedule = scheduleDataStore.getSchedule(current.time)
58+
val schedule = scheduleDataStore.getSchedule(current.time) ?: return@runBlocking
5959

6060
appWidgetIds.forEach { appWidgetId ->
6161
val views = RemoteViews(

app/src/main/java/net/twinte/android/widget/V3MediumWidgetProvider.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class V3MediumWidgetProvider @Inject constructor() : AppWidgetProvider() {
5454
Log.d("V3MediumWidgetProvider", "OnUpdate received")
5555
val (current) = WidgetUpdater.getShouldShowCurrentDate()
5656
try {
57-
val schedule = scheduleDataStore.getSchedule(current.time)
57+
val schedule = scheduleDataStore.getSchedule(current.time) ?: return@runBlocking
5858

5959
appWidgetIds.forEach { appWidgetId ->
6060
val views = RemoteViews(

app/src/main/java/net/twinte/android/widget/V3SmallWidgetProvider.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class V3SmallWidgetProvider @Inject constructor() : AppWidgetProvider() {
5353
val (current, period) = WidgetUpdater.getShouldShowCurrentDate()
5454

5555
try {
56-
val schedule = scheduleDataStore.getSchedule(current.time)
56+
val schedule = scheduleDataStore.getSchedule(current.time) ?: return@runBlocking
5757

5858
appWidgetIds.forEach { appWidgetId ->
5959
val views = RemoteViews(

app/src/main/java/net/twinte/android/work/ScheduleNotifier.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class ScheduleNotifier : BroadcastReceiver() {
3838
if (get(Calendar.HOUR_OF_DAY) > 18) add(Calendar.DATE, 1)
3939
}
4040

41-
val schedule = scheduleDataStore.getSchedule(targetDate.time)
41+
val schedule = scheduleDataStore.getSchedule(targetDate.time) ?: return@runBlocking
4242

4343
val substitute = schedule.events.find { it.changeTo != null }?.changeTo
4444
if (substitute != null) {

0 commit comments

Comments
 (0)