You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.9 KiB
Swift
62 lines
1.9 KiB
Swift
//
|
|
// HMGPlatformBridge.swift
|
|
// Runner
|
|
//
|
|
// Created by ZiKambrani on 14/12/2020.
|
|
//
|
|
|
|
import UIKit
|
|
import NetworkExtension
|
|
import SystemConfiguration.CaptiveNetwork
|
|
|
|
|
|
fileprivate var openTok:OpenTok?
|
|
|
|
class OpenTokPlatformBridge : NSObject{
|
|
private var methodChannel:FlutterMethodChannel? = nil
|
|
private var mainViewController:MainFlutterVC!
|
|
private static var shared_:OpenTokPlatformBridge?
|
|
|
|
class func initialize(flutterViewController:MainFlutterVC, registrar:FlutterPluginRegistrar?){
|
|
shared_ = OpenTokPlatformBridge()
|
|
shared_?.mainViewController = flutterViewController
|
|
|
|
shared_?.openChannel()
|
|
openTok = OpenTok(mainViewController: flutterViewController, registrar: registrar)
|
|
}
|
|
|
|
func shared() -> OpenTokPlatformBridge{
|
|
assert((OpenTokPlatformBridge.shared_ != nil), "OpenTokPlatformBridge is not initialized, call initialize(mainViewController:MainFlutterVC) function first.")
|
|
return OpenTokPlatformBridge.shared_!
|
|
}
|
|
|
|
private func openChannel(){
|
|
methodChannel = FlutterMethodChannel(name: "OpenTok-Platform-Bridge", binaryMessenger: mainViewController.binaryMessenger)
|
|
methodChannel?.setMethodCallHandler { (call, result) in
|
|
print("Called function \(call.method)")
|
|
|
|
switch(call.method) {
|
|
case "initSession":
|
|
openTok?.initSession(call: call, result: result)
|
|
|
|
case "swapCamera":
|
|
openTok?.swapCamera(call: call, result: result)
|
|
|
|
case "toggleAudio":
|
|
openTok?.toggleAudio(call: call, result: result)
|
|
|
|
case "toggleVideo":
|
|
openTok?.toggleVideo(call: call, result: result)
|
|
|
|
case "hangupCall":
|
|
openTok?.hangupCall(call: call, result: result)
|
|
|
|
default:
|
|
result(FlutterMethodNotImplemented)
|
|
}
|
|
|
|
print("")
|
|
}
|
|
}
|
|
}
|