Browse Source

Merge pull request #113 from deltachat/addressbookBugfix

network status indicator in addressbook
nayooti 6 years ago
parent
commit
aa89082690

+ 4 - 4
deltachat-ios.xcodeproj/project.pbxproj

@@ -19,7 +19,7 @@
 		789E879D21D6DF86003ED1C5 /* ProgressHud.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789E879C21D6DF86003ED1C5 /* ProgressHud.swift */; };
 		78E45E3A21D3CFBC00D4B15E /* SettingsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78E45E3921D3CFBC00D4B15E /* SettingsController.swift */; };
 		78E45E3C21D3D03700D4B15E /* TextFieldTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78E45E3B21D3D03700D4B15E /* TextFieldTableViewCell.swift */; };
-		78E45E3E21D3D28C00D4B15E /* NavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78E45E3D21D3D28C00D4B15E /* NavigationController.swift */; };
+		78E45E3E21D3D28C00D4B15E /* DCNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78E45E3D21D3D28C00D4B15E /* DCNavigationController.swift */; };
 		78E45E4021D3D70700D4B15E /* ContactListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78E45E3F21D3D70700D4B15E /* ContactListController.swift */; };
 		78E45E4221D3DB4000D4B15E /* UIViewController+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78E45E4121D3DB4000D4B15E /* UIViewController+Extension.swift */; };
 		78E45E4421D3F14A00D4B15E /* UIImage+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78E45E4321D3F14A00D4B15E /* UIImage+Extension.swift */; };
@@ -94,7 +94,7 @@
 		78E45E2121D1768900D4B15E /* src */ = {isa = PBXFileReference; lastKnownFileType = folder; name = src; path = "deltachat-ios/libraries/deltachat-core/src"; sourceTree = "<group>"; };
 		78E45E3921D3CFBC00D4B15E /* SettingsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsController.swift; sourceTree = "<group>"; };
 		78E45E3B21D3D03700D4B15E /* TextFieldTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldTableViewCell.swift; sourceTree = "<group>"; };
-		78E45E3D21D3D28C00D4B15E /* NavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationController.swift; sourceTree = "<group>"; };
+		78E45E3D21D3D28C00D4B15E /* DCNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DCNavigationController.swift; sourceTree = "<group>"; };
 		78E45E3F21D3D70700D4B15E /* ContactListController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactListController.swift; sourceTree = "<group>"; };
 		78E45E4121D3DB4000D4B15E /* UIViewController+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Extension.swift"; sourceTree = "<group>"; };
 		78E45E4321D3F14A00D4B15E /* UIImage+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Extension.swift"; sourceTree = "<group>"; };
@@ -277,7 +277,7 @@
 			isa = PBXGroup;
 			children = (
 				AE18F28B228C17630007B1BE /* AccountSetup */,
-				78E45E3D21D3D28C00D4B15E /* NavigationController.swift */,
+				78E45E3D21D3D28C00D4B15E /* DCNavigationController.swift */,
 				785BE16721E247F1003BE98C /* MessageInfoViewController.swift */,
 				7A0052C71FBE6CB40048C3BF /* NewContactController.swift */,
 				AEE56D752253431E007DC082 /* AccountSetupController.swift */,
@@ -623,7 +623,7 @@
 				78E45E4421D3F14A00D4B15E /* UIImage+Extension.swift in Sources */,
 				AE52EA20229EB9F000C586C9 /* EditGroupViewController.swift in Sources */,
 				70B08FCD21073B910097D3EA /* NewGroupMemberChoiceController.swift in Sources */,
-				78E45E3E21D3D28C00D4B15E /* NavigationController.swift in Sources */,
+				78E45E3E21D3D28C00D4B15E /* DCNavigationController.swift in Sources */,
 				78E45E4021D3D70700D4B15E /* ContactListController.swift in Sources */,
 				AE18F294228C602A0007B1BE /* SecuritySettingsController.swift in Sources */,
 				78ED838D21D577D000243125 /* events.swift in Sources */,

+ 0 - 2
deltachat-ios/AppDelegate.swift

@@ -75,7 +75,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
     //       - second param remains nil (user data for more than one mailbox)
     open()
     let isConfigured = dc_is_configured(mailboxPointer) != 0
-    // AppDelegate.appCoordinatorDeprecated.setupViewControllers(window: window)
     appCoordinator = AppCoordinator(window: window)
     appCoordinator.start()
     UIApplication.shared.setMinimumBackgroundFetchInterval(UIApplication.backgroundFetchIntervalMinimum)
@@ -83,7 +82,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
     registerForPushNotifications()
     if !isConfigured {
       appCoordinator.presentLoginController()
-      // AppDelegate.appCoordinatorDeprecated.presentAccountSetup(animated: false)
     }
     return true
   }

+ 3 - 3
deltachat-ios/Controller/ContactListController.swift

@@ -11,7 +11,7 @@ import UIKit
 class ContactListController: UITableViewController {
   weak var coordinator: ContactListCoordinator?
 
-  let contactCellReuseIdentifier = "xyz"
+  let contactCellReuseIdentifier = "ChatCell"
   var contactIds: [Int] = Utils.getContactIds()
   var contactIdsForGroup: Set<Int> = []
 
@@ -60,10 +60,10 @@ class ContactListController: UITableViewController {
 
   override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
     let cell: ContactCell
-    if let c = tableView.dequeueReusableCell(withIdentifier: "ChatCell") as? ContactCell {
+    if let c = tableView.dequeueReusableCell(withIdentifier: contactCellReuseIdentifier) as? ContactCell {
       cell = c
     } else {
-      cell = ContactCell(style: .subtitle, reuseIdentifier: "ChatCell")
+      cell = ContactCell(style: .subtitle, reuseIdentifier: contactCellReuseIdentifier)
     }
     let row = indexPath.row
     let contactRow = row

+ 27 - 13
deltachat-ios/Controller/NavigationController.swift → deltachat-ios/Controller/DCNavigationController.swift

@@ -7,8 +7,9 @@
 //
 
 import UIKit
+import Reachability
 
-final class NavigationController: UINavigationController {
+final class DCNavigationController: UINavigationController {
   var stateChangedObserver: Any?
 
   override func viewDidLoad() {
@@ -21,18 +22,6 @@ final class NavigationController: UINavigationController {
     }
 
     setShadow(nil)
-
-    let nc = NotificationCenter.default
-    stateChangedObserver = nc.addObserver(
-      forName: dcNotificationStateChanged,
-      object: nil,
-      queue: nil
-    ) {
-      notification in
-      if let state = notification.userInfo?["state"] {
-        self.setShadow(state as? String)
-      }
-    }
   }
 
   private func setShadow(_ state: String?) {
@@ -46,6 +35,30 @@ final class NavigationController: UINavigationController {
     }
   }
 
+	override func viewWillAppear(_ animated: Bool) {
+
+		if let connection = Reachability()?.connection {
+			switch connection {
+			case Reachability.Connection.cellular, Reachability.Connection.wifi:
+				setShadow("online")
+			case Reachability.Connection.none:
+				setShadow("offline")
+			}
+		}
+
+		let nc = NotificationCenter.default
+		stateChangedObserver = nc.addObserver(
+			forName: dcNotificationStateChanged,
+			object: nil,
+			queue: nil
+		) {
+			notification in
+			if let state = notification.userInfo?["state"] {
+				self.setShadow(state as? String)
+			}
+		}
+	}
+
   override func viewWillDisappear(_ animated: Bool) {
     super.viewWillDisappear(animated)
 
@@ -54,4 +67,5 @@ final class NavigationController: UINavigationController {
       nc.removeObserver(stateChangedObserver)
     }
   }
+
 }

+ 12 - 11
deltachat-ios/Coordinator/AppCoordinator.swift

@@ -33,7 +33,7 @@ class AppCoordinator: NSObject, Coordinator, UITabBarControllerDelegate {
 
 	private lazy var contactListController: UIViewController = {
 		let controller = ContactListController()
-		let nav = NavigationController(rootViewController: controller)
+		let nav = DCNavigationController(rootViewController: controller)
 		let settingsImage = UIImage(named: "contacts")
 		nav.tabBarItem = UITabBarItem(title: "Contacts", image: settingsImage, tag: 4)
 		let coordinator = ContactListCoordinator(navigationController: nav)
@@ -45,9 +45,9 @@ class AppCoordinator: NSObject, Coordinator, UITabBarControllerDelegate {
 	private lazy var mailboxController: UIViewController = {
 		let controller = MailboxViewController(chatId: Int(DC_CHAT_ID_DEADDROP), title: "Mailbox")
 		controller.disableWriting = true
-		let nav = NavigationController(rootViewController: controller)
+		let nav = DCNavigationController(rootViewController: controller)
 		let settingsImage = UIImage(named: "message")
-		nav.tabBarItem = UITabBarItem(title: "Mailbox", image: settingsImage, tag: 4)
+		nav.tabBarItem = UITabBarItem(title: "Mailbox", image: settingsImage, tag: 0)
 		let coordinator = MailboxCoordinator(navigationController: nav)
 		self.childCoordinators.append(coordinator)
 		controller.coordinator = coordinator
@@ -56,9 +56,9 @@ class AppCoordinator: NSObject, Coordinator, UITabBarControllerDelegate {
 
 	private lazy var profileController: UIViewController = {
 		let controller = ProfileViewController()
-		let nav = NavigationController(rootViewController: controller)
+		let nav = DCNavigationController(rootViewController: controller)
 		let settingsImage = UIImage(named: "report_card")
-		nav.tabBarItem = UITabBarItem(title: "My Profile", image: settingsImage, tag: 4)
+		nav.tabBarItem = UITabBarItem(title: "My Profile", image: settingsImage, tag: 1)
 		let coordinator = ProfileCoordinator(rootViewController: nav)
 		self.childCoordinators.append(coordinator)
 		controller.coordinator = coordinator
@@ -67,9 +67,9 @@ class AppCoordinator: NSObject, Coordinator, UITabBarControllerDelegate {
 
 	private lazy var chatListController: UIViewController = {
 		let controller = ChatListController()
-		let nav = NavigationController(rootViewController: controller)
+		let nav = DCNavigationController(rootViewController: controller)
 		let settingsImage = UIImage(named: "chat")
-		nav.tabBarItem = UITabBarItem(title: "Chats", image: settingsImage, tag: 4)
+		nav.tabBarItem = UITabBarItem(title: "Chats", image: settingsImage, tag: 2)
 		let coordinator = ChatListCoordinator(navigationController: nav)
 		self.childCoordinators.append(coordinator)
 		controller.coordinator = coordinator
@@ -78,9 +78,9 @@ class AppCoordinator: NSObject, Coordinator, UITabBarControllerDelegate {
 
 	private lazy var settingsController: UIViewController = {
 		let controller = SettingsViewController()
-		let nav = NavigationController(rootViewController: controller)
+		let nav = DCNavigationController(rootViewController: controller)
 		let settingsImage = UIImage(named: "settings")
-		nav.tabBarItem = UITabBarItem(title: "Settings", image: settingsImage, tag: 4)
+		nav.tabBarItem = UITabBarItem(title: "Settings", image: settingsImage, tag: 3)
 		let coordinator = SettingsCoordinator(navigationController: nav)
 		self.childCoordinators.append(coordinator)
 		controller.coordinator = coordinator
@@ -95,6 +95,7 @@ class AppCoordinator: NSObject, Coordinator, UITabBarControllerDelegate {
 	}
 
 	public func start() {
+	print(tabBarController.selectedIndex)
 		showTab(index: 3)
 	}
 
@@ -104,7 +105,7 @@ class AppCoordinator: NSObject, Coordinator, UITabBarControllerDelegate {
 
 	func presentLoginController() {
 		let accountSetupController = AccountSetupController()
-		let accountSetupNavigationController = NavigationController(rootViewController: accountSetupController)
+		let accountSetupNavigationController = DCNavigationController(rootViewController: accountSetupController)
 		rootViewController.present(accountSetupNavigationController, animated: false, completion: nil)
 	}
 }
@@ -225,7 +226,7 @@ class SettingsCoordinator: Coordinator {
 		let coordinator = AccountSetupCoordinator(navigationController: navigationController)
 		childCoordinators.append(coordinator)
 		accountSetupVC.coordinator = coordinator
-		let accountSetupNavigationController = NavigationController(rootViewController: accountSetupVC)
+		let accountSetupNavigationController = DCNavigationController(rootViewController: accountSetupVC)
 		navigationController.present(accountSetupNavigationController, animated: true, completion: nil)
 	}
 }

+ 1 - 1
deltachat-ios/Helper/Utils.swift

@@ -196,7 +196,7 @@ class DateUtils {
 		} else {
 			let date = Date(timeIntervalSince1970: Double(timeStamp))
 			let dateFormatter = DateFormatter()
-			dateFormatter.timeStyle = DateFormatter.Style.medium //Set time style
+			// dateFormatter.timeStyle = DateFormatter.Style.short //Set time style
 			dateFormatter.dateStyle = DateFormatter.Style.medium //Set date style
 			dateFormatter.timeZone = .current
 			let localDate = dateFormatter.string(from: date)