From e5c03ffb534d10417541b261d12e20e1a015e6f1 Mon Sep 17 00:00:00 2001 From: TheOneWithTheBraid Date: Tue, 15 Feb 2022 09:25:13 +0100 Subject: [PATCH] feat: implement WebRTC calls Signed-off-by: TheOneWithTheBraid --- android/app/build.gradle | 4 +- android/app/src/main/AndroidManifest.xml | 19 +- .../chat/fluffy/fluffychat/MainActivity.kt | 6 + android/build.gradle | 2 +- assets/l10n/intl_en.arb | 6 +- lib/main.dart | 3 + lib/pages/chat/chat.dart | 92 ++- lib/pages/chat/chat_view.dart | 5 + lib/pages/dialer/dialer.dart | 579 ++++++++++++++++++ lib/pages/dialer/pip/constants.dart | 1 + lib/pages/dialer/pip/dismiss_keyboard.dart | 5 + lib/pages/dialer/pip/pip_view.dart | 343 +++++++++++ .../new_private_chat/new_private_chat.dart | 22 +- lib/utils/famedlysdk_store.dart | 26 +- lib/utils/resize_image.dart | 1 + lib/utils/voip/callkeep_manager.dart | 312 ++++++++++ lib/utils/voip/user_media_manager.dart | 27 + lib/utils/voip_plugin.dart | 136 ++++ lib/widgets/matrix.dart | 3 + macos/Flutter/GeneratedPluginRegistrant.swift | 10 + pubspec.lock | 153 ++++- pubspec.yaml | 59 +- scripts/build-android-debug.sh | 2 +- scripts/enable-android-google-services.patch | 5 +- .../flutter/generated_plugin_registrant.cc | 6 + windows/flutter/generated_plugins.cmake | 2 + 26 files changed, 1775 insertions(+), 54 deletions(-) create mode 100644 lib/pages/dialer/dialer.dart create mode 100644 lib/pages/dialer/pip/constants.dart create mode 100644 lib/pages/dialer/pip/dismiss_keyboard.dart create mode 100644 lib/pages/dialer/pip/pip_view.dart create mode 100644 lib/utils/voip/callkeep_manager.dart create mode 100644 lib/utils/voip/user_media_manager.dart create mode 100644 lib/utils/voip_plugin.dart diff --git a/android/app/build.gradle b/android/app/build.gradle index d8b2adc8..4e018b38 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -44,11 +44,12 @@ android { defaultConfig { applicationId "chat.fluffy.fluffychat" - minSdkVersion 21 + minSdkVersion 16 targetSdkVersion 30 versionCode flutterVersionCode.toInteger() versionName flutterVersionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + multiDexEnabled true } signingConfigs { @@ -85,6 +86,7 @@ dependencies { androidTestImplementation 'androidx.test:runner:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' implementation 'com.github.UnifiedPush:android-connector:1.2.3' // needed for unifiedpush + implementation 'androidx.multidex:multidex:2.0.1' } //apply plugin: 'com.google.gms.google-services' diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index eae7eadf..ee40b78d 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,5 @@