         return true
     }
 }
+
+extension AddSearchEngineViewController: KeyboardHelperDelegate {
+    
+    func keyboardHelper(_ keyboardHelper: KeyboardHelper, keyboardWillShowWithState state: KeyboardState) {
+        self.updateViewConstraints()
+        UIView.animate(withDuration: state.animationDuration) {
+            self.container.snp.updateConstraints { (make) in
+                make.bottom.equalToSuperview().offset(-state.intersectionHeightForView(view: self.view))
+            }
+            self.view.layoutIfNeeded()
+        }
+    }
+    
+    func keyboardHelper(_ keyboardHelper: KeyboardHelper, keyboardWillHideWithState state: KeyboardState) {
+        self.updateViewConstraints()
+        UIView.animate(withDuration: state.animationDuration) {
+            self.container.snp.updateConstraints { (make) in
+                make.height.equalToSuperview()
+                self.view.layoutIfNeeded()
+            }
+        }
+    }
+    
+    func keyboardHelper(_ keyboardHelper: KeyboardHelper, keyboardDidHideWithState state: KeyboardState) { }
+    
+    func keyboardHelper(_ keyboardHelper: KeyboardHelper, keyboardDidShowWithState state: KeyboardState) { }
+    
+}

    }

    override func viewDidLoad() {
        title = UIConstants.strings.AddSearchEngineTitle

        setupUI()

    }
    
    private func updateContainerConstraints() {
        scrollView.snp.updateConstraints { make in
            switch (UIDevice.current.userInterfaceIdiom, UIDevice.current.orientation) {
            case (.phone, .landscapeLeft):
                make.leading.equalTo(view).offset(self.view.safeAreaInsets.left)
                make.trailing.equalTo(view)
                scrollView.isScrollEnabled = true
            case (.phone, .landscapeRight):
                make.leading.equalTo(view)
                make.trailing.equalTo(view).inset(self.view.safeAreaInsets.right)
                scrollView.isScrollEnabled = true
            default:
                make.leading.trailing.equalTo(view)
                scrollView.isScrollEnabled = false
            }
            
        }
    }
    
    override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
        updateContainerConstraints()
    }
