Skip to content

Commit dc4fb26

Browse files
committed
Gracefully handle audio updates api returning 204
When there are no updates, the audio updates api returns 204. Gracefully handle this by treating null as no data.
1 parent b8dfb76 commit dc4fb26

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

app/src/main/java/com/quran/labs/androidquran/worker/AudioUpdateWorker.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,10 @@ class AudioUpdateWorker(
4141
val currentVersion = quranSettings.currentAudioRevision
4242
val updates = audioUpdateService.getUpdates(currentVersion)
4343

44-
Timber.d("local version: %d - server version: %d",
44+
if (updates != null && currentVersion != updates.currentRevision) {
45+
Timber.d("local version: %d - server version: %d",
4546
currentVersion, updates.currentRevision)
46-
if (currentVersion != updates.currentRevision) {
47+
4748
val localFilesToDelete = AudioUpdater.computeUpdates(
4849
updates.updates, audioUtils.getQariList(context),
4950
AudioFileCheckerImpl(MD5Calculator, audioPathRoot),
@@ -84,6 +85,8 @@ class AudioUpdateWorker(
8485
}
8586
Timber.d("updating audio to revision: %d", updates.currentRevision)
8687
quranSettings.currentAudioRevision = updates.currentRevision
88+
} else {
89+
Timber.d("no audio updates found")
8790
}
8891
}
8992
Result.success()

feature/audio/src/main/java/com/quran/labs/androidquran/feature/audio/api/AudioUpdateService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ import retrofit2.http.Query
55

66
interface AudioUpdateService {
77
@GET("/data/audio_updates.php")
8-
suspend fun getUpdates(@Query("revision") revision: Int): AudioUpdates
8+
suspend fun getUpdates(@Query("revision") revision: Int): AudioUpdates?
99
}

0 commit comments

Comments
 (0)