Skip to content

Commit 65af33a

Browse files
committed
Clean up permission button configuration
1 parent 5765ada commit 65af33a

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

Authenticator/Source/TokenScannerViewController.swift

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,11 @@ import OneTimePassword
3030
class TokenScannerViewController: UIViewController, QRScannerDelegate {
3131
private let scanner = QRScanner()
3232
private let videoLayer = AVCaptureVideoPreviewLayer()
33-
private let messageView = UIButton()
3433

3534
private var viewModel: TokenScanner.ViewModel
3635
private let dispatchAction: (TokenScanner.Action) -> Void
3736

38-
fileprivate let permissionLabel: UILabel = {
37+
private let permissionLabel: UILabel = {
3938
let linkTitle = "Go to Settings →"
4039
let message = "To add a new token via QR code, Authenticator needs permission to access the camera.\n\(linkTitle)"
4140
let paragraphStyle = NSMutableParagraphStyle()
@@ -56,6 +55,18 @@ class TokenScannerViewController: UIViewController, QRScannerDelegate {
5655
return label
5756
}()
5857

58+
private lazy var permissionButton: UIButton = {
59+
let button = UIButton(frame: UIScreen.main.bounds)
60+
button.backgroundColor = .otpBackgroundColor
61+
button.addTarget(self, action: #selector(TokenScannerViewController.editPermissions), for: .touchUpInside)
62+
63+
self.permissionLabel.frame = button.bounds.insetBy(dx: 35, dy: 35)
64+
self.permissionLabel.autoresizingMask = [.flexibleWidth, .flexibleHeight]
65+
button.addSubview(self.permissionLabel)
66+
67+
return button
68+
}()
69+
5970
// MARK: Initialization
6071

6172
init(viewModel: TokenScanner.ViewModel, dispatchAction: @escaping (TokenScanner.Action) -> Void) {
@@ -95,16 +106,10 @@ class TokenScannerViewController: UIViewController, QRScannerDelegate {
95106
videoLayer.frame = view.layer.bounds
96107
view.layer.addSublayer(videoLayer)
97108

98-
messageView.backgroundColor = UIColor.otpBackgroundColor
99-
messageView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
100-
messageView.frame = view.bounds
101-
messageView.isHidden = true
102-
messageView.addTarget(self, action: #selector(TokenScannerViewController.editPermissions), for: .touchUpInside)
103-
view.addSubview(messageView)
104-
105-
permissionLabel.autoresizingMask = [.flexibleWidth, .flexibleHeight]
106-
permissionLabel.frame = messageView.bounds.insetBy(dx: 35, dy: 35)
107-
messageView.addSubview(permissionLabel)
109+
permissionButton.frame = view.bounds
110+
permissionButton.autoresizingMask = [.flexibleWidth, .flexibleHeight]
111+
permissionButton.isHidden = true
112+
view.addSubview(permissionButton)
108113

109114
if CommandLine.isDemo {
110115
// If this is a demo, display an image in place of the AVCaptureVideoPreviewLayer.
@@ -150,7 +155,7 @@ class TokenScannerViewController: UIViewController, QRScannerDelegate {
150155
}
151156

152157
private func showMissingAccessMessage() {
153-
messageView.isHidden = false
158+
permissionButton.isHidden = false
154159
}
155160

156161
override func viewWillDisappear(_ animated: Bool) {

0 commit comments

Comments
 (0)