feat: Working VoIP calling implementation (Flutter + Android)

Working video and audio calls, as well as android integration
This commit is contained in:
Andrew 2025-08-30 18:46:02 +07:00
commit 96a7e211a0
60 changed files with 2445 additions and 0 deletions

View file

@ -0,0 +1,27 @@
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:liblinphone_flutter/liblinphone_flutter_method_channel.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
MethodChannelLiblinphoneFlutter platform = MethodChannelLiblinphoneFlutter();
const MethodChannel channel = MethodChannel('liblinphone_flutter');
setUp(() {
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
channel,
(MethodCall methodCall) async {
return '42';
},
);
});
tearDown(() {
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(channel, null);
});
test('getPlatformVersion', () async {
expect(await platform.getPlatformVersion(), '42');
});
}

View file

@ -0,0 +1,29 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:liblinphone_flutter/liblinphone_flutter.dart';
import 'package:liblinphone_flutter/liblinphone_flutter_platform_interface.dart';
import 'package:liblinphone_flutter/liblinphone_flutter_method_channel.dart';
import 'package:plugin_platform_interface/plugin_platform_interface.dart';
class MockLiblinphoneFlutterPlatform
with MockPlatformInterfaceMixin
implements LiblinphoneFlutterPlatform {
@override
Future<String?> getPlatformVersion() => Future.value('42');
}
void main() {
final LiblinphoneFlutterPlatform initialPlatform = LiblinphoneFlutterPlatform.instance;
test('$MethodChannelLiblinphoneFlutter is the default instance', () {
expect(initialPlatform, isInstanceOf<MethodChannelLiblinphoneFlutter>());
});
test('getPlatformVersion', () async {
LiblinphoneFlutter liblinphoneFlutterPlugin = LiblinphoneFlutter();
MockLiblinphoneFlutterPlatform fakePlatform = MockLiblinphoneFlutterPlatform();
LiblinphoneFlutterPlatform.instance = fakePlatform;
expect(await liblinphoneFlutterPlugin.getPlatformVersion(), '42');
});
}