Przeglądaj źródła

Merge pull request #634 from deltachat/debug_toolkit_settings

Debug toolkit moved to Settings
cyBerta 5 lat temu
rodzic
commit
a01f362635

+ 0 - 10
deltachat-ios/AppDelegate.swift

@@ -1,5 +1,4 @@
 import AudioToolbox
-import DBDebugToolkit
 import Reachability
 import SwiftyBeaver
 import UIKit
@@ -47,8 +46,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
     }
 
     func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
-        DBDebugToolkit.setup()
-        DBDebugToolkit.setupCrashReporting()
 
         let console = ConsoleDestination()
         logger.addDestination(console)
@@ -228,13 +225,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
         } catch {
             logger.info("could not start reachability notifier")
         }
-
-        let info: [DBCustomVariable] = dcContext.getInfo().map { kv in
-            let value = kv.count > 1 ? kv[1] : ""
-            return DBCustomVariable(name: kv[0], value: value)
-        }
-
-        DBDebugToolkit.add(info)
     }
 
     @objc private func reachabilityChanged(note: Notification) {

+ 2 - 0
deltachat-ios/Controller/SettingsController.swift

@@ -413,6 +413,8 @@ internal final class SettingsViewController: UITableViewController {
             UserDefaults.standard.set(!locationStreaming, forKey: "location_streaming")
         }))
 
+        let logAction = UIAlertAction(title: String.localized("pref_view_log"), style: .default, handler: { [unowned self] _ in self.coordinator?.showDebugToolkit()})
+        alert.addAction(logAction)
         alert.addAction(UIAlertAction(title: String.localized("cancel"), style: .cancel, handler: nil))
         present(alert, animated: true, completion: nil)
     }

+ 27 - 1
deltachat-ios/Coordinator/AppCoordinator.swift

@@ -3,7 +3,9 @@ import ALCameraViewController
 import Photos
 import MobileCoreServices
 import DcCore
+import DBDebugToolkit
 
+// MARK: - AppCoordinator
 class AppCoordinator: NSObject, Coordinator {
 
     private let window: UIWindow
@@ -160,6 +162,7 @@ class AppCoordinator: NSObject, Coordinator {
     }
 }
 
+// MARK: - WelcomeCoordinator
 extension AppCoordinator: WelcomeCoordinator {
 
     func showLogin() {
@@ -275,6 +278,7 @@ class ChatListCoordinator: Coordinator {
     }
 }
 
+// MARK: - SettingsCoordinator
 class SettingsCoordinator: Coordinator {
     let dcContext: DcContext
     let navigationController: UINavigationController
@@ -321,8 +325,20 @@ class SettingsCoordinator: Coordinator {
         let helpViewController = HelpViewController()
         navigationController.pushViewController(helpViewController, animated: true)
     }
+
+    func showDebugToolkit() {
+        DBDebugToolkit.setup(with: [])  // emtpy array will override default device shake trigger
+        DBDebugToolkit.setupCrashReporting()
+        let info: [DBCustomVariable] = dcContext.getInfo().map { kv in
+            let value = kv.count > 1 ? kv[1] : ""
+            return DBCustomVariable(name: kv[0], value: value)
+        }
+        DBDebugToolkit.add(info)
+        DBDebugToolkit.showMenu()
+    }
 }
 
+// MARK: - EditSettingsCoordinator
 class EditSettingsCoordinator: Coordinator {
     var dcContext: DcContext
     let navigationController: UINavigationController
@@ -343,7 +359,7 @@ class EditSettingsCoordinator: Coordinator {
     }
 }
 
-
+// MARK: - AccountSetupCoordinator
 class AccountSetupCoordinator: Coordinator {
     var dcContext: DcContext
     let navigationController: UINavigationController
@@ -382,6 +398,7 @@ class AccountSetupCoordinator: Coordinator {
     }
 }
 
+// MARK: - NewChatCoordinator
 class NewChatCoordinator: Coordinator {
     var dcContext: DcContext
     let navigationController: UINavigationController
@@ -435,6 +452,7 @@ class NewChatCoordinator: Coordinator {
     
 }
 
+// MARK: - GroupChatDetailCoordinator
 class GroupChatDetailCoordinator: Coordinator {
     var dcContext: DcContext
     let navigationController: UINavigationController
@@ -542,6 +560,7 @@ class GroupChatDetailCoordinator: Coordinator {
     }
 }
 
+// MARK: - ChatViewCoordinator
 class ChatViewCoordinator: NSObject, Coordinator {
     var dcContext: DcContext
     let navigationController: UINavigationController
@@ -625,6 +644,7 @@ class ChatViewCoordinator: NSObject, Coordinator {
     }
 }
 
+// MARK: - NewGroupAddMembersCoordinator
 class NewGroupAddMembersCoordinator: Coordinator {
     var dcContext: DcContext
     let navigationController: UINavigationController
@@ -637,6 +657,7 @@ class NewGroupAddMembersCoordinator: Coordinator {
     }
 }
 
+// MARK: - AddGroupMembersCoordinator
 class AddGroupMembersCoordinator: Coordinator {
     var dcContext: DcContext
     let navigationController: UINavigationController
@@ -658,6 +679,7 @@ class AddGroupMembersCoordinator: Coordinator {
     }
 }
 
+// MARK: - NewGroupCoordinator
 class NewGroupCoordinator: Coordinator {
     var dcContext: DcContext
     let navigationController: UINavigationController
@@ -718,6 +740,7 @@ class NewGroupCoordinator: Coordinator {
     }
 }
 
+// MARK: - ContactDetailCoordinator
 class ContactDetailCoordinator: Coordinator, ContactDetailCoordinatorProtocol {
     var dcContext: DcContext
     let navigationController: UINavigationController
@@ -811,6 +834,7 @@ class ContactDetailCoordinator: Coordinator, ContactDetailCoordinatorProtocol {
 
 }
 
+// MARK: - EditGroupCoordinator
 class EditGroupCoordinator: Coordinator {
     let navigationController: UINavigationController
     let dcContext: DcContext
@@ -835,6 +859,7 @@ class EditGroupCoordinator: Coordinator {
     }
 }
 
+// MARK: - EditContactCoordinator
 class EditContactCoordinator: Coordinator, EditContactCoordinatorProtocol {
     var dcContext: DcContext
     let navigationController: UINavigationController
@@ -864,6 +889,7 @@ class EditContactCoordinator: Coordinator, EditContactCoordinatorProtocol {
 /*
  boilerplate - I tend to remove that interface (cyberta)
  */
+// MARK: - coordinator protocols
 protocol ContactDetailCoordinatorProtocol: class {
     func showEditContact(contactId: Int)
     func showChat(chatId: Int)