Skip to content

Commit b0419ed

Browse files
authored
pumpmanager-changes (#3)
* Modal presentation of CGMManager settings. * Don't push root viewcontroller * update to pumpmanager-updates * Setup controller is shown modally * Use dev LoopKit * Cartfile should be pointing to LoopKit dev
1 parent f9e26a3 commit b0419ed

File tree

5 files changed

+26
-9
lines changed

5 files changed

+26
-9
lines changed

Cartfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
github "LoopKit/LoopKit" ~> 2.0
1+
github "LoopKit/LoopKit" "dev"

Cartfile.resolved

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
github "LoopKit/LoopKit" "v2.2.1"
1+
github "LoopKit/LoopKit" "bf4166bc77f89e22971f2030ad006967881ff082"

ShareClientUI/ShareClientManager+UI.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ import ShareClient
1111

1212

1313
extension ShareClientManager: CGMManagerUI {
14-
public static func setupViewController() -> (UIViewController & CGMManagerSetupViewController)? {
14+
public static func setupViewController() -> (UIViewController & CGMManagerSetupViewController & CompletionNotifying)? {
1515
return ShareClientSetupViewController()
1616
}
1717

18-
public func settingsViewController(for glucoseUnit: HKUnit) -> UIViewController {
19-
return ShareClientSettingsViewController(cgmManager: self, glucoseUnit: glucoseUnit, allowsDeletion: true)
18+
public func settingsViewController(for glucoseUnit: HKUnit) -> (UIViewController & CompletionNotifying) {
19+
let settings = ShareClientSettingsViewController(cgmManager: self, glucoseUnit: glucoseUnit, allowsDeletion: true)
20+
let nav = SettingsNavigationViewController(rootViewController: settings)
21+
return nav
2022
}
2123

2224
public var smallImage: UIImage? {

ShareClientUI/ShareClientSettingsViewController.swift

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,19 @@ public class ShareClientSettingsViewController: UITableViewController {
4545

4646
tableView.register(SettingsTableViewCell.self, forCellReuseIdentifier: SettingsTableViewCell.className)
4747
tableView.register(TextButtonTableViewCell.self, forCellReuseIdentifier: TextButtonTableViewCell.className)
48+
49+
let button = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(doneTapped(_:)))
50+
self.navigationItem.setRightBarButton(button, animated: false)
51+
}
52+
53+
@objc func doneTapped(_ sender: Any) {
54+
complete()
55+
}
56+
57+
private func complete() {
58+
if let nav = navigationController as? SettingsNavigationViewController {
59+
nav.notifyComplete()
60+
}
4861
}
4962

5063
// MARK: - UITableViewDataSource
@@ -168,7 +181,7 @@ public class ShareClientSettingsViewController: UITableViewController {
168181
case .delete:
169182
let confirmVC = UIAlertController(cgmDeletionHandler: {
170183
self.cgmManager.cgmManagerDelegate?.cgmManagerWantsDeletion(self.cgmManager)
171-
self.navigationController?.popViewController(animated: true)
184+
self.complete()
172185
})
173186

174187
present(confirmVC, animated: true) {

ShareClientUI/ShareClientSetupViewController.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@ import LoopKitUI
1111
import ShareClient
1212

1313

14-
class ShareClientSetupViewController: UINavigationController, CGMManagerSetupViewController {
14+
class ShareClientSetupViewController: UINavigationController, CGMManagerSetupViewController, CompletionNotifying {
1515
var setupDelegate: CGMManagerSetupViewControllerDelegate?
1616

17+
weak var completionDelegate: CompletionDelegate?
18+
1719
let cgmManager = ShareClientManager()
1820

1921
init() {
@@ -37,11 +39,11 @@ class ShareClientSetupViewController: UINavigationController, CGMManagerSetupVie
3739
}
3840

3941
@objc private func cancel() {
40-
setupDelegate?.cgmManagerSetupViewControllerDidCancel(self)
42+
completionDelegate?.completionNotifyingDidComplete(self)
4143
}
4244

4345
@objc private func save() {
4446
setupDelegate?.cgmManagerSetupViewController(self, didSetUpCGMManager: cgmManager)
47+
completionDelegate?.completionNotifyingDidComplete(self)
4548
}
46-
4749
}

0 commit comments

Comments
 (0)