mirror of
https://github.com/kiwix/kiwix-apple.git
synced 2025-09-28 14:35:03 -04:00
Fix: Network Observer not balance
This commit is contained in:
parent
cd9c4d4c58
commit
987c633a14
@ -49,7 +49,7 @@
|
|||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1.8.900</string>
|
<string>1.8.912</string>
|
||||||
<key>ITSAppUsesNonExemptEncryption</key>
|
<key>ITSAppUsesNonExemptEncryption</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>LSRequiresIPhoneOS</key>
|
<key>LSRequiresIPhoneOS</key>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1.8.903</string>
|
<string>1.8.915</string>
|
||||||
<key>NSExtension</key>
|
<key>NSExtension</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>NSExtensionMainStoryboard</key>
|
<key>NSExtensionMainStoryboard</key>
|
||||||
|
@ -15,10 +15,15 @@ class RefreshLibraryOperation: GroupOperation {
|
|||||||
private(set) var firstTime = false
|
private(set) var firstTime = false
|
||||||
|
|
||||||
init(invokedByUser: Bool = false) {
|
init(invokedByUser: Bool = false) {
|
||||||
let retrive = Retrive()
|
let retrieve = Retrieve()
|
||||||
let process = Process()
|
let process = Process()
|
||||||
process.injectResultFromDependency(retrive)
|
process.injectResultFromDependency(retrieve)
|
||||||
super.init(operations: [retrive, process])
|
super.init(operations: [retrieve, process])
|
||||||
|
|
||||||
|
addObserver(NetworkObserver())
|
||||||
|
if UIApplication.sharedApplication().applicationState == .Active {
|
||||||
|
addCondition(ReachabilityCondition(url: Retrieve.url))
|
||||||
|
}
|
||||||
|
|
||||||
addObserver(WillExecuteObserver { _ in
|
addObserver(WillExecuteObserver { _ in
|
||||||
(UIApplication.sharedApplication().delegate as! AppDelegate).registerNotification()
|
(UIApplication.sharedApplication().delegate as! AppDelegate).registerNotification()
|
||||||
@ -32,20 +37,18 @@ class RefreshLibraryOperation: GroupOperation {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class Retrive: Operation, ResultOperationType {
|
private class Retrieve: Operation, ResultOperationType {
|
||||||
private static let url = NSURL(string: "https://download.kiwix.org/library/library.xml")!
|
private static let url = NSURL(string: "https://download.kiwix.org/library/library.xml")!
|
||||||
private var result: NSData?
|
private var result: NSData?
|
||||||
|
|
||||||
override init() {
|
override init() {
|
||||||
super.init()
|
super.init()
|
||||||
addObserver(NetworkObserver())
|
name = "Library Retrieve"
|
||||||
if UIApplication.sharedApplication().applicationState == .Active {
|
|
||||||
addCondition(ReachabilityCondition(url: Retrive.url))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private override func execute() {
|
private override func execute() {
|
||||||
let task = NSURLSession.sharedSession().dataTaskWithURL(Retrive.url) { (data, response, error) in
|
guard !cancelled else {return}
|
||||||
|
let task = NSURLSession.sharedSession().dataTaskWithURL(Retrieve.url) { (data, response, error) in
|
||||||
self.result = data
|
self.result = data
|
||||||
self.finish()
|
self.finish()
|
||||||
}
|
}
|
||||||
@ -66,6 +69,7 @@ private class Process: Operation, NSXMLParserDelegate, AutomaticInjectionOperati
|
|||||||
context.parentContext = NSManagedObjectContext.mainQueueContext
|
context.parentContext = NSManagedObjectContext.mainQueueContext
|
||||||
context.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
|
context.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
|
||||||
super.init()
|
super.init()
|
||||||
|
name = "Library Process"
|
||||||
}
|
}
|
||||||
|
|
||||||
override private func execute() {
|
override private func execute() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user