mirror of
https://github.com/TeamVanced/VancedMicroG
synced 2024-12-24 11:45:50 +01:00
reading from the stream in a loop
this ensures that desired number of bytes will be read, as stream.read(byte[] buffer) will just make effort to read at least 1 byte
This commit is contained in:
parent
5f70d943cb
commit
7d91551126
@ -159,7 +159,15 @@ class ExposureNotificationServiceImpl(private val context: Context, private val
|
||||
val entry = stream.nextEntry ?: break
|
||||
if (entry.name == "export.bin") {
|
||||
val prefix = ByteArray(16)
|
||||
if (stream.read(prefix) == prefix.size && String(prefix).trim() == "EK Export v1") {
|
||||
var totalBytesRead = 0
|
||||
var bytesRead = 0
|
||||
while (bytesRead != -1 && totalBytesRead < prefix.size) {
|
||||
bytesRead = stream.read(prefix, totalBytesRead, prefix.size - totalBytesRead)
|
||||
if (bytesRead > 0) {
|
||||
totalBytesRead += bytesRead
|
||||
}
|
||||
}
|
||||
if (totalBytesRead == prefix.size && String(prefix).trim() == "EK Export v1") {
|
||||
val fileKeys = storeDiagnosisKeyExport(params.token, TemporaryExposureKeyExport.ADAPTER.decode(stream))
|
||||
keys + fileKeys
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user