ConferenceOptionsViewController.swift 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. //
  2. // ConferenceOptionsViewController.swift
  3. //
  4. // Created by aby on 2022/12/26.
  5. // Copyright © 2022 Tencent. All rights reserved.
  6. //
  7. import UIKit
  8. import RTCRoomEngine
  9. import Factory
  10. import Combine
  11. import TUIRoomKit
  12. class ConferenceOptionsViewController: UIViewController {
  13. private var cancellableSet = Set<AnyCancellable>()
  14. override var shouldAutorotate: Bool {
  15. return false
  16. }
  17. override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
  18. return .portrait
  19. }
  20. init() {
  21. super.init(nibName: nil, bundle: nil)
  22. }
  23. required init?(coder: NSCoder) {
  24. fatalError("init(coder:) has not been implemented")
  25. }
  26. override func viewWillAppear(_ animated: Bool) {
  27. super.viewWillAppear(animated)
  28. guard let optionsView = view as? ConferenceOptionsView else {
  29. return
  30. }
  31. UIApplication.shared.isIdleTimerDisabled = false
  32. navigationController?.setNavigationBarHidden(true, animated: false)
  33. optionsView.reloadConferenceList()
  34. }
  35. override func loadView() {
  36. let view = ConferenceOptionsView(viewController: self)
  37. self.view = view
  38. }
  39. override func viewDidLoad() {
  40. super.viewDidLoad()
  41. ConferenceSession.sharedInstance.enableWaterMark()
  42. }
  43. deinit {
  44. debugPrint("deinit \(self)")
  45. }
  46. }
  47. extension ConferenceOptionsViewController {
  48. func didBackButtonClicked(in optionsView: ConferenceOptionsView) {
  49. if let navigationController = self.navigationController {
  50. if navigationController.viewControllers.first != self {
  51. navigationController.popViewController(animated: true)
  52. } else if presentingViewController != nil {
  53. navigationController.dismiss(animated: true, completion: nil)
  54. }
  55. } else if presentingViewController != nil {
  56. dismiss(animated: true, completion: nil)
  57. }
  58. }
  59. func didDebugButtonClicked() {
  60. let debugVC = RoomFileBrowserViewController(bathPath: NSHomeDirectory())
  61. navigationController?.pushViewController(debugVC, animated: true)
  62. }
  63. func joinRoom() {
  64. navigationController?.pushViewController(EnterRoomViewController(), animated: true)
  65. }
  66. func createRoom() {
  67. navigationController?.pushViewController(CreateRoomViewController(), animated: true)
  68. }
  69. func scheduleRoom() {
  70. let scheduleViewController = ScheduleConferenceViewController()
  71. navigationController?.pushViewController(scheduleViewController, animated: true)
  72. }
  73. }