From a1ebbfa4739e662d456dee1ca2bf0eee82c04bed Mon Sep 17 00:00:00 2001 From: primozratej Date: Tue, 7 Apr 2026 14:02:15 +0200 Subject: [PATCH] Use flutter_inappwebview fork for audio intent support --- .fvmrc | 2 +- android/app/build.gradle | 184 +++++++++--------- android/gradle.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/settings.gradle | 2 +- l10n.yaml | 3 +- pubspec.lock | 159 +++++++-------- pubspec.yaml | 51 ++++- 8 files changed, 223 insertions(+), 182 deletions(-) diff --git a/.fvmrc b/.fvmrc index 4cfa3d5f..00359a4a 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,3 +1,3 @@ { - "flutter": "3.29.0" + "flutter": "3.35.1" } \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index 50ccf63c..e581b689 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,92 +1,92 @@ -plugins { - id "com.android.application" - id "org.jetbrains.kotlin.android" - id "dev.flutter.flutter-gradle-plugin" - id "com.google.gms.google-services" - id 'com.google.firebase.crashlytics' -} - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = '1' -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = '1.0.0' -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -def keystoreProperties = new Properties() -def keystorePropertiesFile = rootProject.file('key.properties') -if (keystorePropertiesFile.exists()) { - keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) -} - -android { - namespace 'com.humhub.app' - compileSdkVersion 35 - ndkVersion flutter.ndkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - coreLibraryDesugaringEnabled true - } - - kotlinOptions { - jvmTarget = '17' - } - kotlin { - jvmToolchain(17) - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - defaultConfig { - applicationId "com.humhub.app" - minSdkVersion 23 - targetSdkVersion 35 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - multiDexEnabled true - } - - signingConfigs { - release { - if (keystorePropertiesFile.exists()) { - keyAlias keystoreProperties['keyAlias'] - keyPassword keystoreProperties['keyPassword'] - storeFile file(keystoreProperties['storeFile']) - storePassword keystoreProperties['storePassword'] - } - } - } - buildTypes { - release { - if (keystorePropertiesFile.exists()) { - signingConfig signingConfigs.release - } else { - signingConfig signingConfigs.debug - } - } - } -} - -flutter { - source '../..' -} - -dependencies { - implementation platform('com.google.firebase:firebase-bom:31.2.2') - coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.0.3" -} +plugins { + id "com.android.application" + id "org.jetbrains.kotlin.android" + id "dev.flutter.flutter-gradle-plugin" + id "com.google.gms.google-services" + id 'com.google.firebase.crashlytics' +} + +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterVersionCode = '1' +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = '1.0.0' +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} + +android { + namespace 'com.humhub.app' + compileSdkVersion 36 + ndkVersion flutter.ndkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + coreLibraryDesugaringEnabled true + } + + kotlinOptions { + jvmTarget = '17' + } + kotlin { + jvmToolchain(17) + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + applicationId "com.humhub.app" + minSdkVersion flutter.minSdkVersion + targetSdkVersion 36 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + multiDexEnabled true + } + + signingConfigs { + release { + if (keystorePropertiesFile.exists()) { + keyAlias keystoreProperties['keyAlias'] + keyPassword keystoreProperties['keyPassword'] + storeFile file(keystoreProperties['storeFile']) + storePassword keystoreProperties['storePassword'] + } + } + } + buildTypes { + release { + if (keystorePropertiesFile.exists()) { + signingConfig signingConfigs.release + } else { + signingConfig signingConfigs.debug + } + } + } +} + +flutter { + source '../..' +} + +dependencies { + implementation platform('com.google.firebase:firebase-bom:31.2.2') + coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.0.3" +} diff --git a/android/gradle.properties b/android/gradle.properties index 94adc3a3..467f4c5e 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx4096M -Dfile.encoding=UTF-8 android.useAndroidX=true android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 3c85cfe0..efdcc4ac 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index 3dfeb6ca..ab3737bc 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -18,7 +18,7 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.5.1" apply false + id "com.android.application" version "8.9.1" apply false id "org.jetbrains.kotlin.android" version "1.8.22" apply false id "com.google.gms.google-services" version "4.3.15" apply false id "com.google.firebase.crashlytics" version "2.8.1" apply false diff --git a/l10n.yaml b/l10n.yaml index 29c97cfb..e8bf05e3 100644 --- a/l10n.yaml +++ b/l10n.yaml @@ -1,5 +1,4 @@ arb-dir: lib/l10n template-arb-file: app_en.arb output-localization-file: app_localizations.dart -output-dir: lib/l10n/generated -synthetic-package: false \ No newline at end of file +output-dir: lib/l10n/generated \ No newline at end of file diff --git a/pubspec.lock b/pubspec.lock index f77dde3a..3f3513fe 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" url: "https://pub.dev" source: hosted - version: "76.0.0" + version: "67.0.0" _flutterfire_internals: dependency: transitive description: @@ -17,19 +17,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.56" - _macros: - dependency: transitive - description: dart - source: sdk - version: "0.3.3" analyzer: dependency: transitive description: name: analyzer - sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" url: "https://pub.dev" source: hosted - version: "6.11.0" + version: "6.4.1" ansicolor: dependency: transitive description: @@ -226,10 +221,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "7856d364b589d1f08986e140938578ed36ed948581fbc3bc9aef1805039ac5ab" + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" url: "https://pub.dev" source: hosted - version: "2.3.7" + version: "2.3.6" dbus: dependency: transitive description: @@ -258,10 +253,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" ffi: dependency: transitive description: @@ -422,67 +417,83 @@ packages: flutter_inappwebview: dependency: "direct main" description: - name: flutter_inappwebview - sha256: "80092d13d3e29b6227e25b67973c67c7210bd5e35c4b747ca908e31eb71a46d5" - url: "https://pub.dev" - source: hosted - version: "6.1.5" + path: flutter_inappwebview + ref: master + resolved-ref: fbcee6cd2ff2f97822f0e32abff4df1072021c17 + url: "https://github.com/PrimozRatej/flutter_inappwebview.git" + source: git + version: "6.2.0-beta.3" flutter_inappwebview_android: - dependency: transitive + dependency: "direct overridden" description: - name: flutter_inappwebview_android - sha256: "62557c15a5c2db5d195cb3892aab74fcaec266d7b86d59a6f0027abd672cddba" - url: "https://pub.dev" - source: hosted - version: "1.1.3" + path: flutter_inappwebview_android + ref: master + resolved-ref: fbcee6cd2ff2f97822f0e32abff4df1072021c17 + url: "https://github.com/PrimozRatej/flutter_inappwebview.git" + source: git + version: "1.2.0-beta.3" flutter_inappwebview_internal_annotations: dependency: transitive description: name: flutter_inappwebview_internal_annotations - sha256: "787171d43f8af67864740b6f04166c13190aa74a1468a1f1f1e9ee5b90c359cd" + sha256: e30fba942e3debea7b7e6cdd4f0f59ce89dd403a9865193e3221293b6d1544c6 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" flutter_inappwebview_ios: - dependency: transitive + dependency: "direct overridden" description: - name: flutter_inappwebview_ios - sha256: "5818cf9b26cf0cbb0f62ff50772217d41ea8d3d9cc00279c45f8aabaa1b4025d" - url: "https://pub.dev" - source: hosted - version: "1.1.2" + path: flutter_inappwebview_ios + ref: master + resolved-ref: fbcee6cd2ff2f97822f0e32abff4df1072021c17 + url: "https://github.com/PrimozRatej/flutter_inappwebview.git" + source: git + version: "1.2.0-beta.3" + flutter_inappwebview_linux: + dependency: "direct overridden" + description: + path: flutter_inappwebview_linux + ref: master + resolved-ref: fbcee6cd2ff2f97822f0e32abff4df1072021c17 + url: "https://github.com/PrimozRatej/flutter_inappwebview.git" + source: git + version: "0.1.0-beta.1" flutter_inappwebview_macos: - dependency: transitive + dependency: "direct overridden" description: - name: flutter_inappwebview_macos - sha256: c1fbb86af1a3738e3541364d7d1866315ffb0468a1a77e34198c9be571287da1 - url: "https://pub.dev" - source: hosted - version: "1.1.2" + path: flutter_inappwebview_macos + ref: master + resolved-ref: fbcee6cd2ff2f97822f0e32abff4df1072021c17 + url: "https://github.com/PrimozRatej/flutter_inappwebview.git" + source: git + version: "1.2.0-beta.3" flutter_inappwebview_platform_interface: - dependency: transitive + dependency: "direct overridden" description: - name: flutter_inappwebview_platform_interface - sha256: cf5323e194096b6ede7a1ca808c3e0a078e4b33cc3f6338977d75b4024ba2500 - url: "https://pub.dev" - source: hosted - version: "1.3.0+1" + path: flutter_inappwebview_platform_interface + ref: master + resolved-ref: fbcee6cd2ff2f97822f0e32abff4df1072021c17 + url: "https://github.com/PrimozRatej/flutter_inappwebview.git" + source: git + version: "1.4.0-beta.3" flutter_inappwebview_web: - dependency: transitive + dependency: "direct overridden" description: - name: flutter_inappwebview_web - sha256: "55f89c83b0a0d3b7893306b3bb545ba4770a4df018204917148ebb42dc14a598" - url: "https://pub.dev" - source: hosted - version: "1.1.2" + path: flutter_inappwebview_web + ref: master + resolved-ref: fbcee6cd2ff2f97822f0e32abff4df1072021c17 + url: "https://github.com/PrimozRatej/flutter_inappwebview.git" + source: git + version: "1.2.0-beta.3" flutter_inappwebview_windows: - dependency: transitive + dependency: "direct overridden" description: - name: flutter_inappwebview_windows - sha256: "8b4d3a46078a2cdc636c4a3d10d10f2a16882f6be607962dbfff8874d1642055" - url: "https://pub.dev" - source: hosted - version: "0.6.0" + path: flutter_inappwebview_windows + ref: master + resolved-ref: fbcee6cd2ff2f97822f0e32abff4df1072021c17 + url: "https://github.com/PrimozRatej/flutter_inappwebview.git" + source: git + version: "0.7.0-beta.3" flutter_keyboard_visibility: dependency: "direct main" description: @@ -710,10 +721,10 @@ packages: dependency: "direct main" description: name: intl - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" url: "https://pub.dev" source: hosted - version: "0.19.0" + version: "0.20.2" js: dependency: transitive description: @@ -726,26 +737,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" lints: dependency: transitive description: @@ -778,14 +789,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.3" - macros: - dependency: transitive - description: - name: macros - sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" - url: "https://pub.dev" - source: hosted - version: "0.1.3-main.0" matcher: dependency: transitive description: @@ -1359,10 +1362,10 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.6" timezone: dependency: transitive description: @@ -1479,10 +1482,10 @@ packages: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" vm_service: dependency: transitive description: @@ -1540,5 +1543,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0-0 <4.0.0" - flutter: ">=3.24.0" + dart: ">=3.8.0 <4.0.0" + flutter: ">=3.32.0" diff --git a/pubspec.yaml b/pubspec.yaml index 6d5847e1..b12fd24a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -39,7 +39,11 @@ dependencies: flutter_riverpod: ^2.1.3 permission_handler: ^11.3.1 flutter_secure_storage: ^9.2.4 - flutter_inappwebview: ^6.0.0 + flutter_inappwebview: + git: + url: https://github.com/PrimozRatej/flutter_inappwebview.git + path: flutter_inappwebview + ref: master listen_sharing_intent: ^1.9.2 package_info_plus: ^8.2.1 app_links: ^6.3.3 @@ -67,11 +71,46 @@ dependencies: flutter_keyboard_visibility: ^6.0.0 internet_connection_checker_plus: ^1.0.1 -dependency_overrides: - url_launcher_android: 6.3.9 - quick_actions_platform_interface: - git: - url: https://github.com/PrimozRatej/packages +dependency_overrides: + url_launcher_android: 6.3.9 + flutter_inappwebview_android: + git: + url: https://github.com/PrimozRatej/flutter_inappwebview.git + path: flutter_inappwebview_android + ref: master + flutter_inappwebview_ios: + git: + url: https://github.com/PrimozRatej/flutter_inappwebview.git + path: flutter_inappwebview_ios + ref: master + flutter_inappwebview_linux: + git: + url: https://github.com/PrimozRatej/flutter_inappwebview.git + path: flutter_inappwebview_linux + ref: master + flutter_inappwebview_macos: + git: + url: https://github.com/PrimozRatej/flutter_inappwebview.git + path: flutter_inappwebview_macos + ref: master + flutter_inappwebview_platform_interface: + git: + url: https://github.com/PrimozRatej/flutter_inappwebview.git + path: flutter_inappwebview_platform_interface + ref: master + flutter_inappwebview_web: + git: + url: https://github.com/PrimozRatej/flutter_inappwebview.git + path: flutter_inappwebview_web + ref: master + flutter_inappwebview_windows: + git: + url: https://github.com/PrimozRatej/flutter_inappwebview.git + path: flutter_inappwebview_windows + ref: master + quick_actions_platform_interface: + git: + url: https://github.com/PrimozRatej/packages path: packages/quick_actions/quick_actions_platform_interface ref: main quick_actions: