Skip to content

Commit

Permalink
Fix potential NPE
Browse files Browse the repository at this point in the history
Fix #115
  • Loading branch information
MM2-0 committed Jul 12, 2022
1 parent 82edd0a commit 144db40
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,11 @@ internal class CalendarRepositoryImpl(
) ?: return@withContext mutableListOf()
val attendees = mutableListOf<String>()
while (cur.moveToNext()) {
attendees.add(cur.getString(1).takeUnless { it.isNullOrBlank() }
?: cur.getString(2))
attendees.add(
cur.getStringOrNull(1).takeUnless { it.isNullOrBlank() }
?: cur.getStringOrNull(2)
?: continue
)
}
cur.close()
val allday = cursor.getInt(4) > 0
Expand All @@ -123,13 +126,13 @@ internal class CalendarRepositoryImpl(
0
}
val event = CalendarEvent(
label = cursor.getString(1) ?: "",
label = cursor.getStringOrNull(1) ?: "",
id = cursor.getLong(0),
color = cursor.getInt(5),
startTime = begin - tzOffset,
endTime = cursor.getLong(3) - tzOffset - if (allday) 1 else 0,
allDay = allday,
location = cursor.getString(6) ?: "",
location = cursor.getStringOrNull(6) ?: "",
attendees = attendees,
description = cursor.getStringOrNull(8)
?: "",
Expand Down Expand Up @@ -189,8 +192,8 @@ internal class CalendarRepositoryImpl(
calendars.add(
UserCalendar(
id = cursor.getLong(0),
name = cursor.getString(5) ?: cursor.getString(1) ?: "",
owner = cursor.getString(2),
name = cursor.getStringOrNull(5) ?: cursor.getStringOrNull(1) ?: "",
owner = cursor.getStringOrNull(2) ?: "",
color = cursor.getInt(3)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,12 @@ class CalendarEventDeserializer(val context: Context): SearchableDeserializer {
val cursor = context.contentResolver.query(uri, projection, selection, selArgs, null)
?: return null
if (cursor.moveToNext()) {
val title = cursor.getString(1)
val title = cursor.getStringOrNull(1) ?: ""
val begin = cursor.getLong(2)
val end = cursor.getLong(3)
val allday = cursor.getInt(4) != 0
val color = cursor.getInt(5)
val location = cursor.getString(6)
val location = cursor.getStringOrNull(6)
val calendar = cursor.getLong(7)
val description = cursor.getStringOrNull(8)
?: ""
Expand All @@ -74,8 +74,11 @@ class CalendarEventDeserializer(val context: Context): SearchableDeserializer {
) ?: return null
val attendees = mutableListOf<String>()
while (cur.moveToNext()) {
attendees.add(cur.getString(1).takeUnless { it.isNullOrBlank() }
?: cur.getString(2))
attendees.add(
cur.getStringOrNull(1).takeUnless { it.isNullOrBlank() }
?: cur.getStringOrNull(2)
?: continue
)
}
cur.close()
val tzOffset = if (allday) {
Expand Down

0 comments on commit 144db40

Please sign in to comment.