refactor: remove activity dependency from LinphoneBridge
This commit is contained in:
parent
0375fe4d1a
commit
9a86c4881c
2 changed files with 1 additions and 22 deletions
|
|
@ -6,7 +6,6 @@ public class LiblinphoneFlutterPlugin: NSObject, FlutterPlugin {
|
||||||
private var registrationEventsChannel: FlutterEventSink?
|
private var registrationEventsChannel: FlutterEventSink?
|
||||||
private var callEventsChannel: FlutterEventSink?
|
private var callEventsChannel: FlutterEventSink?
|
||||||
|
|
||||||
private var activity: UIViewController?
|
|
||||||
private var remoteViewCache: [Int: UIView] = [:]
|
private var remoteViewCache: [Int: UIView] = [:]
|
||||||
private var localViewCache: [Int: UIView] = [:]
|
private var localViewCache: [Int: UIView] = [:]
|
||||||
|
|
||||||
|
|
@ -76,13 +75,6 @@ public class LiblinphoneFlutterPlugin: NSObject, FlutterPlugin {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
callEventChannel.setStreamHandler(callStreamHandler)
|
callEventChannel.setStreamHandler(callStreamHandler)
|
||||||
|
|
||||||
// Get root view controller
|
|
||||||
if let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene,
|
|
||||||
let window = windowScene.windows.first,
|
|
||||||
let rootViewController = window.rootViewController {
|
|
||||||
instance.activity = rootViewController
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
|
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
|
||||||
|
|
@ -93,17 +85,7 @@ public class LiblinphoneFlutterPlugin: NSObject, FlutterPlugin {
|
||||||
|
|
||||||
case "initialize":
|
case "initialize":
|
||||||
do {
|
do {
|
||||||
guard let activity = self.activity else {
|
|
||||||
result(FlutterError(
|
|
||||||
code: "NO_ACTIVITY",
|
|
||||||
message: "Activity not available",
|
|
||||||
details: nil
|
|
||||||
))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
linphoneBridge = LinphoneBridge(
|
linphoneBridge = LinphoneBridge(
|
||||||
activity: activity,
|
|
||||||
remoteViewAcquisitor: { [weak self] in
|
remoteViewAcquisitor: { [weak self] in
|
||||||
return self?.acquireRemoteView()
|
return self?.acquireRemoteView()
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ class LinphoneBridge {
|
||||||
private var core: Core!
|
private var core: Core!
|
||||||
private var isRegistered = false
|
private var isRegistered = false
|
||||||
private var currentCall: Call?
|
private var currentCall: Call?
|
||||||
private let activity: UIViewController
|
|
||||||
private let remoteViewAcquisitor: () -> UIView?
|
private let remoteViewAcquisitor: () -> UIView?
|
||||||
private let localViewAcquisitor: () -> UIView?
|
private let localViewAcquisitor: () -> UIView?
|
||||||
private let onRegistrationStateChanged: (Int) -> Void
|
private let onRegistrationStateChanged: (Int) -> Void
|
||||||
|
|
@ -30,13 +29,11 @@ class LinphoneBridge {
|
||||||
private static let TAG = "LinphoneBridge"
|
private static let TAG = "LinphoneBridge"
|
||||||
|
|
||||||
init(
|
init(
|
||||||
activity: UIViewController,
|
|
||||||
remoteViewAcquisitor: @escaping () -> UIView?,
|
remoteViewAcquisitor: @escaping () -> UIView?,
|
||||||
localViewAcquisitor: @escaping () -> UIView?,
|
localViewAcquisitor: @escaping () -> UIView?,
|
||||||
onRegistrationStateChanged: @escaping (Int) -> Void,
|
onRegistrationStateChanged: @escaping (Int) -> Void,
|
||||||
onCallStateChanged: @escaping (Int) -> Void
|
onCallStateChanged: @escaping (Int) -> Void
|
||||||
) {
|
) {
|
||||||
self.activity = activity
|
|
||||||
self.remoteViewAcquisitor = remoteViewAcquisitor
|
self.remoteViewAcquisitor = remoteViewAcquisitor
|
||||||
self.localViewAcquisitor = localViewAcquisitor
|
self.localViewAcquisitor = localViewAcquisitor
|
||||||
self.onRegistrationStateChanged = onRegistrationStateChanged
|
self.onRegistrationStateChanged = onRegistrationStateChanged
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue