fix(android): single break in extend loop for detekt LoopWithTooManyJumpStatements
android / Build + lint + test (push) Successful in 3m52s
android / Build + lint + test (push) Successful in 3m52s
This commit is contained in:
+28
-25
@@ -353,36 +353,39 @@ class OutputPickerController @Inject constructor(
|
|||||||
)
|
)
|
||||||
var consecutiveFailures = 0
|
var consecutiveFailures = 0
|
||||||
var succeeded = 0
|
var succeeded = 0
|
||||||
|
var aborted = false
|
||||||
for ((i, ref) in tracks.withIndex()) {
|
for ((i, ref) in tracks.withIndex()) {
|
||||||
|
if (aborted) break
|
||||||
if (activeUpnpHolder.active.value?.routeId != route.id) {
|
if (activeUpnpHolder.active.value?.routeId != route.id) {
|
||||||
Timber.w("UPnP extend: cancelled at offset %d (route changed)", i)
|
Timber.w("UPnP extend: cancelled at offset %d (route changed)", i)
|
||||||
break
|
aborted = true
|
||||||
}
|
|
||||||
val outcome = runCatching {
|
|
||||||
val token = streamTokens.mint(ref.id)
|
|
||||||
transport.addURIToQueue(
|
|
||||||
uri = token.url,
|
|
||||||
mime = token.mime,
|
|
||||||
title = token.title,
|
|
||||||
enqueuedURIPosition = startPosition + i + 1,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
if (outcome.isSuccess) {
|
|
||||||
consecutiveFailures = 0
|
|
||||||
succeeded += 1
|
|
||||||
} else {
|
} else {
|
||||||
consecutiveFailures += 1
|
val outcome = runCatching {
|
||||||
val e = outcome.exceptionOrNull()
|
val token = streamTokens.mint(ref.id)
|
||||||
val detail = (e as? SoapFaultException)?.let {
|
transport.addURIToQueue(
|
||||||
"code=${it.code} desc=${it.description}"
|
uri = token.url,
|
||||||
} ?: e?.message
|
mime = token.mime,
|
||||||
Timber.w(e, "UPnP extend: append failed at offset %d -- %s", i, detail)
|
title = token.title,
|
||||||
if (consecutiveFailures >= EXTEND_ABORT_AFTER_FAILURES) {
|
enqueuedURIPosition = startPosition + i + 1,
|
||||||
Timber.w(
|
|
||||||
"UPnP extend: aborting after %d consecutive failures",
|
|
||||||
consecutiveFailures,
|
|
||||||
)
|
)
|
||||||
break
|
}
|
||||||
|
if (outcome.isSuccess) {
|
||||||
|
consecutiveFailures = 0
|
||||||
|
succeeded += 1
|
||||||
|
} else {
|
||||||
|
consecutiveFailures += 1
|
||||||
|
val e = outcome.exceptionOrNull()
|
||||||
|
val detail = (e as? SoapFaultException)?.let {
|
||||||
|
"code=${it.code} desc=${it.description}"
|
||||||
|
} ?: e?.message
|
||||||
|
Timber.w(e, "UPnP extend: append failed at offset %d -- %s", i, detail)
|
||||||
|
if (consecutiveFailures >= EXTEND_ABORT_AFTER_FAILURES) {
|
||||||
|
Timber.w(
|
||||||
|
"UPnP extend: aborting after %d consecutive failures",
|
||||||
|
consecutiveFailures,
|
||||||
|
)
|
||||||
|
aborted = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user