fix: return SUCCESS with empty result when no BlockStore data exists (#3503)

Returning INTERNAL_ERROR when no data is stored yet caused apps to crash on first launch, as the absence of data is a valid empty-success state.
This commit is contained in:
Jonathan Klee 2026-06-08 22:15:45 +02:00 committed by GitHub
parent 730b917a40
commit c4967b018e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -78,11 +78,7 @@ class BlobstoreServiceImpl(val blockStore: BlockStoreImpl, override val lifecycl
lifecycleScope.launch {
runCatching {
val retrieveBytes = blockStore.retrieveBytes()
if (retrieveBytes != null) {
callback?.onBytesResult(Status.SUCCESS, retrieveBytes)
} else {
callback?.onBytesResult(Status.INTERNAL_ERROR, null)
}
callback?.onBytesResult(Status.SUCCESS, retrieveBytes)
}
}
}
@ -142,11 +138,7 @@ class BlobstoreServiceImpl(val blockStore: BlockStoreImpl, override val lifecycl
runCatching {
val retrieveBytesResponse = blockStore.retrieveBytesWithRequest(request)
Log.d(TAG, "retrieveBytesWithRequest: retrieveBytesResponse: $retrieveBytesResponse")
if (retrieveBytesResponse != null) {
callback?.onResponseResult(Status.SUCCESS, retrieveBytesResponse)
} else {
callback?.onResponseResult(Status.INTERNAL_ERROR, RetrieveBytesResponse(Bundle.EMPTY, emptyList()))
}
callback?.onResponseResult(Status.SUCCESS, retrieveBytesResponse ?: RetrieveBytesResponse(Bundle.EMPTY, emptyList()))
}
}
}