diff --git a/Kiwix-iOS/Controller/Main/MainController.swift b/Kiwix-iOS/Controller/Main/MainController.swift
index 6d4e5f4f..cc54f323 100644
--- a/Kiwix-iOS/Controller/Main/MainController.swift
+++ b/Kiwix-iOS/Controller/Main/MainController.swift
@@ -30,11 +30,15 @@ class MainController: UIViewController {
private(set) var tableOfContentsController: TableOfContentsController?
let searchBar = SearchBar()
- private(set) var article: Article? {
+ var article: Article? {
willSet(newArticle) {
article?.removeObserver(self, forKeyPath: "isBookmarked")
newArticle?.addObserver(self, forKeyPath: "isBookmarked", options: .New, context: context)
}
+ didSet {
+ // searchbar title
+ // bookmarked or not
+ }
}
// MARK: - Override
diff --git a/Kiwix-iOS/Controller/Main/MainControllerDelegates.swift b/Kiwix-iOS/Controller/Main/MainControllerDelegates.swift
index 3dad28da..f6833370 100644
--- a/Kiwix-iOS/Controller/Main/MainControllerDelegates.swift
+++ b/Kiwix-iOS/Controller/Main/MainControllerDelegates.swift
@@ -23,15 +23,20 @@ extension MainController: UIWebViewDelegate, SFSafariViewControllerDelegate,
}
func webViewDidStartLoad(webView: UIWebView) {
-
+ URLResponseCache.shared.start()
}
func webViewDidFinishLoad(webView: UIWebView) {
+ URLResponseCache.shared.stop()
}
func webView(webView: UIWebView, didFailLoadWithError error: NSError) {
+ // handle error
print(error)
+
+ article = nil
+ URLResponseCache.shared.stop()
}
// MARK: - SFSafariViewControllerDelegate
diff --git a/Kiwix-iOS/Info.plist b/Kiwix-iOS/Info.plist
index 46ece701..6df7630b 100644
--- a/Kiwix-iOS/Info.plist
+++ b/Kiwix-iOS/Info.plist
@@ -49,7 +49,7 @@
CFBundleVersion
- 1.8.133
+ 1.8.140
ITSAppUsesNonExemptEncryption
LSRequiresIPhoneOS
diff --git a/Kiwix-iOSWidgets/Bookmarks/Info.plist b/Kiwix-iOSWidgets/Bookmarks/Info.plist
index f0c22bcc..5c3fc558 100644
--- a/Kiwix-iOSWidgets/Bookmarks/Info.plist
+++ b/Kiwix-iOSWidgets/Bookmarks/Info.plist
@@ -21,7 +21,7 @@
CFBundleSignature
????
CFBundleVersion
- 1.8.135
+ 1.8.142
NSExtension
NSExtensionMainStoryboard
diff --git a/Kiwix/URLProtocol/PacketAnalyzer.swift b/Kiwix/URLProtocol/PacketAnalyzer.swift
deleted file mode 100644
index 1d83598a..00000000
--- a/Kiwix/URLProtocol/PacketAnalyzer.swift
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// PacketAnalyzer.swift
-// Kiwix
-//
-// Created by Chris Li on 7/18/16.
-// Copyright © 2016 Chris. All rights reserved.
-//
-
-import UIKit
-
-class PacketAnalyzer {
- static let sharedInstance = PacketAnalyzer()
- private var listening = false
- private var images = [(data: NSData, url: NSURL)]()
-
- func startListening() {
- listening = true
- }
-
- func stopListening() {
- listening = false
- images.removeAll()
- }
-
- func addImage(data: NSData, url: NSURL) {
- guard listening else {return}
- images.append((data, url))
- }
-
- func chooseImage() -> (data: NSData, url: NSURL)? {
- return images.first
- }
-}
diff --git a/Kiwix/URLProtocol/URLResponseCache.swift b/Kiwix/URLProtocol/URLResponseCache.swift
index d98866e4..89c5dbc8 100644
--- a/Kiwix/URLProtocol/URLResponseCache.swift
+++ b/Kiwix/URLProtocol/URLResponseCache.swift
@@ -15,14 +15,19 @@ class URLResponseCache {
func start() {
listening = true
+ clear()
}
func stop() {
listening = false
+ }
+
+ func clear() {
responses.removeAll()
}
func cache(response response: NSURLResponse) {
+ guard listening else {return}
guard let url = response.URL else {return}
responses[url] = response
}