diff --git a/android/build.gradle b/android/build.gradle index fd4273b..ad95eca 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -47,8 +47,19 @@ android { minSdk = 24 } + repositories { + maven { + name = "linphone.org maven repository" + url = uri("https://download.linphone.org/maven_repository") + content { + includeGroup("org.linphone") + } + } + } + dependencies { - implementation(files("libs/linphone-sdk-android-5.2.0.aar")) +// implementation(files("libs/linphone-sdk-android-5.2.0.aar")) + implementation("org.linphone:linphone-sdk-android:5.4.84") testImplementation("org.jetbrains.kotlin:kotlin-test") testImplementation("org.mockito:mockito-core:5.0.0") diff --git a/android/libs/linphone-sdk-android-5.2.0.aar b/android/libs/linphone-sdk-android-5.2.0.aar deleted file mode 100644 index e40e966..0000000 Binary files a/android/libs/linphone-sdk-android-5.2.0.aar and /dev/null differ diff --git a/android/src/main/kotlin/xyz/nuark/liblinphone_flutter/LiblinphoneFlutterPlugin.kt b/android/src/main/kotlin/xyz/nuark/liblinphone_flutter/LiblinphoneFlutterPlugin.kt index 55ece49..9e92d25 100644 --- a/android/src/main/kotlin/xyz/nuark/liblinphone_flutter/LiblinphoneFlutterPlugin.kt +++ b/android/src/main/kotlin/xyz/nuark/liblinphone_flutter/LiblinphoneFlutterPlugin.kt @@ -180,6 +180,11 @@ class LiblinphoneFlutterPlugin : FlutterPlugin, ActivityAware, MethodCallHandler result.success(true) } + "syncCurrentState" -> { + linphoneBridge.syncCurrentState() + result.success(true) + } + else -> { result.notImplemented() } diff --git a/android/src/main/kotlin/xyz/nuark/liblinphone_flutter/LinphoneBridge.kt b/android/src/main/kotlin/xyz/nuark/liblinphone_flutter/LinphoneBridge.kt index 6ca97f3..7ac456c 100644 --- a/android/src/main/kotlin/xyz/nuark/liblinphone_flutter/LinphoneBridge.kt +++ b/android/src/main/kotlin/xyz/nuark/liblinphone_flutter/LinphoneBridge.kt @@ -335,6 +335,11 @@ class LinphoneBridge( return currentCall != null } + fun syncCurrentState() { + onRegistrationStateChanged(registrationState.ordinal) + onCallStateChanged(callState.ordinal) + } + enum class CallType { Audio, Video, diff --git a/lib/liblinphone_flutter.dart b/lib/liblinphone_flutter.dart index 43ff883..b8f47f7 100644 --- a/lib/liblinphone_flutter.dart +++ b/lib/liblinphone_flutter.dart @@ -67,4 +67,7 @@ class LiblinphoneFlutter { LiblinphoneFlutterPlatform.instance.toggleMicrophone(); Future stop() async => LiblinphoneFlutterPlatform.instance.stop(); + + Future syncCurrentState() async => + LiblinphoneFlutterPlatform.instance.syncCurrentState(); } diff --git a/lib/liblinphone_flutter_method_channel.dart b/lib/liblinphone_flutter_method_channel.dart index 42ab345..d9abad1 100644 --- a/lib/liblinphone_flutter_method_channel.dart +++ b/lib/liblinphone_flutter_method_channel.dart @@ -84,4 +84,9 @@ class MethodChannelLiblinphoneFlutter extends LiblinphoneFlutterPlatform { Future stop() async { return (await methodChannel.invokeMethod('stop'))!; } + + @override + Future syncCurrentState() async { + return (await methodChannel.invokeMethod('syncCurrentState'))!; + } } diff --git a/lib/liblinphone_flutter_platform_interface.dart b/lib/liblinphone_flutter_platform_interface.dart index 5475359..d339afc 100644 --- a/lib/liblinphone_flutter_platform_interface.dart +++ b/lib/liblinphone_flutter_platform_interface.dart @@ -77,4 +77,8 @@ abstract class LiblinphoneFlutterPlatform extends PlatformInterface { Future stop() { throw UnimplementedError('stop() has not been implemented.'); } + + Future syncCurrentState() { + throw UnimplementedError('syncCurrentState() has not been implemented.'); + } } diff --git a/pubspec.yaml b/pubspec.yaml index 7c0400b..d86ba54 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: liblinphone_flutter description: "libLinPhone integration library for Flutter apps" -version: 0.0.2 +version: 0.0.3 homepage: "https://git.nuark.xyz/nuark/liblinphone_flutter" environment: @@ -23,5 +23,5 @@ flutter: android: package: xyz.nuark.liblinphone_flutter pluginClass: LiblinphoneFlutterPlugin - ios: + ios: pluginClass: LiblinphoneFlutterPlugin