mirror of
https://github.com/home-assistant/iOS.git
synced 2026-04-22 04:43:41 -05:00
Guard backgroundTimeRemaining on main thread (#4411)
This commit is contained in:
committed by
GitHub
parent
d04caed4f9
commit
66d227381e
@@ -21,7 +21,19 @@ private extension UIApplication {
|
||||
withName: name,
|
||||
beginBackgroundTask: { name, expirationHandler in
|
||||
let identifier = beginBackgroundTask(withName: name, expirationHandler: expirationHandler)
|
||||
let remaining = backgroundTimeRemaining < 100 ? backgroundTimeRemaining : nil
|
||||
let remaining: TimeInterval? = {
|
||||
if Thread.isMainThread {
|
||||
let timeRemaining = self.backgroundTimeRemaining
|
||||
return timeRemaining < 100 ? timeRemaining : nil
|
||||
} else {
|
||||
var result: TimeInterval?
|
||||
DispatchQueue.main.sync {
|
||||
let timeRemaining = self.backgroundTimeRemaining
|
||||
result = timeRemaining < 100 ? timeRemaining : nil
|
||||
}
|
||||
return result
|
||||
}
|
||||
}()
|
||||
return (identifier == .invalid ? nil : identifier, remaining)
|
||||
}, endBackgroundTask: { identifier in
|
||||
self.endBackgroundTask(identifier)
|
||||
|
||||
Reference in New Issue
Block a user