Allow session handler objects to be initialized without MainActor to inline session creation with async await incompatible code. Fixes a Main thread dispatch clash.

This commit is contained in:
Kyle Hedden 2023-06-14 19:47:26 -04:00
parent 3af64af961
commit cba4af9ce8

View File

@ -25,12 +25,14 @@
return MVMCoreActionUtility.fatalClassCheck(object: MVMCoreObject.sharedInstance()?.sessionHandler) return MVMCoreActionUtility.fatalClassCheck(object: MVMCoreObject.sharedInstance()?.sessionHandler)
} }
public override init() { nonisolated public override init() {
super.init() super.init()
// Adds notifications for if the app entered the background/foreground.
NotificationCenter.default.addObserver(self, selector: #selector(appEnteredBackground), name: UIApplication.didEnterBackgroundNotification, object: nil) Task { @MainActor in
NotificationCenter.default.addObserver(self, selector: #selector(appEnteredForeground), name: UIApplication.willEnterForegroundNotification, object: nil) // Adds notifications for if the app entered the background/foreground.
resetStartTime() NotificationCenter.default.addObserver(self, selector: #selector(appEnteredBackground), name: UIApplication.didEnterBackgroundNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(appEnteredForeground), name: UIApplication.willEnterForegroundNotification, object: nil)
}
} }
deinit { deinit {