diff --git a/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberCaptchaViewController.swift b/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberCaptchaViewController.swift index 06178c2742..11fb134405 100644 --- a/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberCaptchaViewController.swift +++ b/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberCaptchaViewController.swift @@ -58,12 +58,9 @@ extension ChangePhoneNumberCaptchaViewController: RegistrationCaptchaViewControl changePhoneNumberController.requestVerification(fromViewController: self, isSMS: true) { [weak self] willDismiss, _ in - if let self = self, - !willDismiss { - RegistrationBaseViewController.restoreBackButton(self) - - // There's nothing left to do here. If onboardingController isn't taking us anywhere, let's - // just pop back to the phone number verification controller + if let self = self, !willDismiss { + // There's nothing left to do here. If onboardingController isn't taking us + // anywhere, let's just pop back to the phone number confirm controller self.navigationController?.popViewController(animated: true) } viewModel.removeProgressView(progressView) diff --git a/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberController.swift b/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberController.swift index 2bb6844cee..3deea281d2 100644 --- a/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberController.swift +++ b/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberController.swift @@ -128,8 +128,6 @@ class ChangePhoneNumberController: Dependencies { return } - RegistrationBaseViewController.restoreBackButton(changePhoneNumberViewFromViewController) - if didSucceed { guard let newPhoneNumber = newPhoneNumber else { owsFailDebug("Missing new number.") diff --git a/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberVerificationViewController.swift b/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberVerificationViewController.swift index 7c2b8ed388..d7b053a2fd 100644 --- a/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberVerificationViewController.swift +++ b/Signal/src/ViewControllers/Registration/ChangePhoneNumber/ChangePhoneNumberVerificationViewController.swift @@ -63,11 +63,6 @@ public class ChangePhoneNumberVerificationViewController: RegistrationBaseViewCo // MARK: - Methods - @objc - public func hideBackLink() { - backLink?.isHidden = true - } - @objc public func setVerificationCodeAndTryToVerify(_ verificationCode: String) { AssertIsOnMainThread() @@ -137,8 +132,6 @@ extension ChangePhoneNumberVerificationViewController: RegistrationVerificationV Logger.info("") - RegistrationBaseViewController.restoreBackButton(self) - let phoneNumberVC = navigationController?.viewControllers .filter { $0 is ChangePhoneNumberSplashViewController }.last diff --git a/Signal/src/ViewControllers/Registration/RegistrationBaseViewController.swift b/Signal/src/ViewControllers/Registration/RegistrationBaseViewController.swift index 201e6caec6..d03cbcade1 100644 --- a/Signal/src/ViewControllers/Registration/RegistrationBaseViewController.swift +++ b/Signal/src/ViewControllers/Registration/RegistrationBaseViewController.swift @@ -6,7 +6,7 @@ import UIKit @objc -public class RegistrationBaseViewController: OWSViewController { +public class RegistrationBaseViewController: OWSViewController, OWSNavigationChildController { // MARK: - Factory Methods @@ -109,34 +109,12 @@ public class RegistrationBaseViewController: OWSViewController { navigationController?.popViewController(animated: true) } - @objc - public var shouldHideBackButton = true - - public override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - if shouldHideBackButton { - Self.hideBackButton(self) - } + public var prefersNavigationBarHidden: Bool { + true } - public override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(animated) - - if shouldHideBackButton { - Self.hideBackButton(self) - } - } - - public static func hideBackButton(_ vc: UIViewController) { - vc.navigationController?.isNavigationBarHidden = true - // Disable "back" gesture. - vc.navigationController?.navigationItem.backBarButtonItem?.isEnabled = false - } - - public static func restoreBackButton(_ vc: UIViewController) { - vc.navigationController?.isNavigationBarHidden = false - vc.navigationController?.navigationItem.backBarButtonItem?.isEnabled = true + public var shouldCancelNavigationBack: Bool { + true } // The margins for `primaryView` will update to reflect the current traitCollection. diff --git a/Signal/src/ViewControllers/Registration/SecondaryLinking/ProvisioningController.swift b/Signal/src/ViewControllers/Registration/SecondaryLinking/ProvisioningController.swift index de73b5e420..543787106f 100644 --- a/Signal/src/ViewControllers/Registration/SecondaryLinking/ProvisioningController.swift +++ b/Signal/src/ViewControllers/Registration/SecondaryLinking/ProvisioningController.swift @@ -51,7 +51,6 @@ public class ProvisioningController: NSObject { navController.setViewControllers([vc], animated: false) provisioningController.awaitProvisioning(from: vc, navigationController: navController) - navController.isNavigationBarHidden = true CurrentAppContext().mainWindow?.rootViewController = navController } diff --git a/Signal/src/util/RegistrationUtils.swift b/Signal/src/util/RegistrationUtils.swift index e39b4568e7..58a9b807fe 100644 --- a/Signal/src/util/RegistrationUtils.swift +++ b/Signal/src/util/RegistrationUtils.swift @@ -46,7 +46,6 @@ public extension RegistrationUtils { viewController.hideBackLink() let navigationController = OnboardingNavigationController(onboardingController: onboardingController) navigationController.setViewControllers([ viewController ], animated: false) - navigationController.isNavigationBarHidden = true let window: UIWindow = CurrentAppContext().mainWindow! window.rootViewController = navigationController }