@@ -279,28 +279,20 @@ internal class PowerSyncDatabaseImpl(
279279 }
280280
281281 private suspend fun updateHasSynced () {
282- try {
283- data class SyncedAt (
284- val syncedAt : String? ,
285- )
286- // Query the database to see if any data has been synced
287- val timestamp =
288- internalDb
289- .getOptional(" SELECT powersync_last_synced_at() as synced_at" , null ) { cursor ->
290- SyncedAt (syncedAt = cursor.getStringOptional(" synced_at" ))
291- }?.syncedAt
292- val hasSynced = timestamp != null
293- if (hasSynced != currentStatus.hasSynced) {
294- val formattedDateTime = " ${timestamp!! .replace(" " ," T" ).toLocalDateTime()} Z"
295- val lastSyncedAt = Instant .parse(formattedDateTime)
296- currentStatus.update(hasSynced = hasSynced, lastSyncedAt = lastSyncedAt)
297- }
298- } catch (e: Exception ) {
299- if (e is NullPointerException ) {
300- // No data has been synced which results in a null pointer exception
301- // and can be safely ignored.
302- return
303- }
282+ data class SyncedAt (
283+ val syncedAt : String? ,
284+ )
285+ // Query the database to see if any data has been synced
286+ val timestamp =
287+ internalDb
288+ .getOptional(" SELECT powersync_last_synced_at() as synced_at" , null ) { cursor ->
289+ SyncedAt (syncedAt = cursor.getStringOptional(" synced_at" ))
290+ }?.syncedAt
291+ val hasSynced = timestamp != null
292+ if (currentStatus.hasSynced != null && hasSynced != currentStatus.hasSynced) {
293+ val formattedDateTime = " ${timestamp!! .replace(" " ," T" ).toLocalDateTime()} Z"
294+ val lastSyncedAt = Instant .parse(formattedDateTime)
295+ currentStatus.update(hasSynced = hasSynced, lastSyncedAt = lastSyncedAt)
304296 }
305297 }
306298
0 commit comments