diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bd3ba4c5..16015433 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ on: env: IS_GITHUB_ACTIONS: 1 CHANNEL: "${{ inputs.channel }}" - FLUTTER_VERSION: '3.16.x' + FLUTTER_VERSION: '3.19.x' NDK_VERSION: r26b UPLOAD_ARTIFACT: "${{ inputs.upload-artifact }}" TAG_NAME: "${{ inputs.tag-name }}" diff --git a/android/app/build.gradle b/android/app/build.gradle index 869d8e28..cd56b934 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - boolean hasKeyStore = false def keystoreProperties = new Properties() @@ -39,10 +40,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.hiddify.hiddify" compileSdkVersion 34 @@ -127,7 +124,6 @@ flutter { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) implementation 'com.google.code.gson:gson:2.10.1' - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'androidx.core:core-ktx:1.12.0' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.2' diff --git a/android/build.gradle b/android/build.gradle index d02fac26..bc157bd1 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,16 +1,3 @@ -buildscript { - ext.kotlin_version = '1.8.21' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() diff --git a/android/settings.gradle b/android/settings.gradle index 44e62bcf..cf00f3cb 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,11 +1,25 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "7.4.2" apply false + id "org.jetbrains.kotlin.android" version "1.8.21" apply false +} + +include ":app" diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 6bdb9749..613ba947 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -3,6 +3,8 @@ PODS: - FlutterMacOS - device_info_plus (0.0.1): - FlutterMacOS + - flutter_timezone (0.1.0): + - FlutterMacOS - FlutterMacOS (1.0.0) - mobile_scanner (3.5.6): - FlutterMacOS @@ -52,6 +54,7 @@ PODS: DEPENDENCIES: - cupertino_http (from `Flutter/ephemeral/.symlinks/plugins/cupertino_http/macos`) - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`) + - flutter_timezone (from `Flutter/ephemeral/.symlinks/plugins/flutter_timezone/macos`) - FlutterMacOS (from `Flutter/ephemeral`) - mobile_scanner (from `Flutter/ephemeral/.symlinks/plugins/mobile_scanner/macos`) - package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`) @@ -77,6 +80,8 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/cupertino_http/macos device_info_plus: :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos + flutter_timezone: + :path: Flutter/ephemeral/.symlinks/plugins/flutter_timezone/macos FlutterMacOS: :path: Flutter/ephemeral mobile_scanner: @@ -107,6 +112,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: cupertino_http: afa11b9e2786b62da2671e4ddd32caf792503748 device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f + flutter_timezone: 6b906d1740654acb16e50b639835628fea851037 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 mobile_scanner: 54ceceae0c8da2457e26a362a6be5c61154b1829 package_info_plus: 02d7a575e80f194102bef286361c6c326e4c29ce diff --git a/pubspec.lock b/pubspec.lock index 71c3cdda..a568bb9a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -221,10 +221,10 @@ packages: dependency: "direct main" description: name: combine - sha256: c400552a66ab05ec98a01927b78cc548233804b6e3240cff3b038204ffda7bee + sha256: "8b52083c822a614a448fdd307e78c05266080e9747604b61fca5ddfe736a6c1e" url: "https://pub.dev" source: hosted - version: "0.5.6" + version: "0.5.7-0.1.pre" convert: dependency: transitive description: @@ -245,10 +245,10 @@ packages: dependency: transitive description: name: cross_file - sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e + sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" url: "https://pub.dev" source: hosted - version: "0.3.3+8" + version: "0.3.4+1" crypto: dependency: transitive description: @@ -309,18 +309,18 @@ packages: dependency: "direct main" description: name: dart_mappable - sha256: "7b6d38ae95f1ae8ffa65df9a5464f14b56c2de94699a035202ca4cd3a0ba249e" + sha256: f9f272f2af6c11adf4abc22574eb946df110251052a0d00c03519ecf2442defc url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.2.1" dart_mappable_builder: dependency: "direct dev" description: name: dart_mappable_builder - sha256: "98c058f7e80a98ea42d357d888ed1648d96bedac8b16872b58fc7024faefcdfe" + sha256: dd42e99b7e605ad6cf4a5c241a777c0f4f76a9769f27c439795355c444283074 url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.2.1" dart_style: dependency: transitive description: @@ -389,18 +389,18 @@ packages: dependency: "direct main" description: name: drift - sha256: b50a8342c6ddf05be53bda1d246404cbad101b64dc73e8d6d1ac1090d119b4e2 + sha256: "3b276c838ff7f8e19aac18a51f9b388715268f3534eaaf8047c8455ef3c1738d" url: "https://pub.dev" source: hosted - version: "2.15.0" + version: "2.16.0" drift_dev: dependency: "direct dev" description: name: drift_dev - sha256: c037d9431b6f8dc633652b1469e5f53aaec6e4eb405ed29dd232fa888ef10d88 + sha256: "66cf3e397448f855523d7b6b7b3789db232b211db96543a42285464d05f3bf72" url: "https://pub.dev" source: hosted - version: "2.15.0" + version: "2.16.0" equatable: dependency: transitive description: @@ -421,10 +421,10 @@ packages: dependency: "direct main" description: name: ffi - sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" ffigen: dependency: "direct dev" description: @@ -469,10 +469,10 @@ packages: dependency: "direct main" description: name: fluentui_system_icons - sha256: abe7c343e2151e0ad6544653e0b6601686b993bc436ccde72b88cea677db0c0a + sha256: bb2dd7b5dc2c14c8a18cab6405a67c4697825d2662553b1b22d1f7ddc1057235 url: "https://pub.dev" source: hosted - version: "1.1.226" + version: "1.1.229" flutter: dependency: "direct main" description: flutter @@ -623,10 +623,10 @@ packages: dependency: "direct main" description: name: flutter_svg - sha256: d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c + sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2" url: "https://pub.dev" source: hosted - version: "2.0.9" + version: "2.0.10+1" flutter_test: dependency: "direct dev" description: flutter @@ -745,10 +745,10 @@ packages: dependency: "direct main" description: name: http - sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" http_multi_server: dependency: transitive description: @@ -869,6 +869,30 @@ packages: url: "https://pub.dev" source: hosted version: "0.2.2" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" lint: dependency: "direct dev" description: @@ -897,18 +921,18 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" maybe_just_nothing: dependency: transitive description: @@ -929,10 +953,10 @@ packages: dependency: "direct main" description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" mime: dependency: transitive description: @@ -1001,10 +1025,10 @@ packages: dependency: "direct main" description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" path_parsing: dependency: transitive description: @@ -1393,10 +1417,10 @@ packages: dependency: transitive description: name: shared_preferences_web - sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21" + sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.3.0" shared_preferences_windows: dependency: transitive description: @@ -1454,26 +1478,26 @@ packages: dependency: "direct main" description: name: slang - sha256: "95dee03eb3fd1b36c99f365d4eace270a0d83c6148f8e7d1057806ef60cfaf12" + sha256: "5e08ac915ac27a3508863f37734280d30c3713d56746cd2e4a5da77413da4b95" url: "https://pub.dev" source: hosted - version: "3.29.0" + version: "3.30.1" slang_build_runner: dependency: "direct dev" description: name: slang_build_runner - sha256: "929ea4bf24f11e09afd2b01abd658f550da7eb4039ae83d91bc220f942e18cb3" + sha256: "2daff2deb2ab8d557a2e7de5405c0ee1376afba5d0231570c2d2c3c56da8a692" url: "https://pub.dev" source: hosted - version: "3.29.0" + version: "3.30.0" slang_flutter: dependency: "direct main" description: name: slang_flutter - sha256: "34c7cf297c608e24d3957a29e75c6790f4dbbfb1a4783d261a6c1e33ede7ad0f" + sha256: "9ee040b0d364d3a4d692e4af536acff6ef513870689403494ebc6d59b0dccea6" url: "https://pub.dev" source: hosted - version: "3.29.0" + version: "3.30.0" sliver_tools: dependency: "direct main" description: @@ -1542,10 +1566,10 @@ packages: dependency: transitive description: name: sqlite3 - sha256: c4a4c5a4b2a32e2d0f6837b33d7c91a67903891a5b7dbe706cf4b1f6b0c798c5 + sha256: "072128763f1547e3e9b4735ce846bfd226d68019ccda54db4cd427b12dfdedc9" url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.4.0" sqlite3_flutter_libs: dependency: "direct main" description: @@ -1734,10 +1758,10 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: c512655380d241a337521703af62d2c122bf7b77a46ff7dd750092aa9433499c + sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e" url: "https://pub.dev" source: hosted - version: "6.2.4" + version: "6.2.5" url_launcher_android: dependency: transitive description: @@ -1782,10 +1806,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b + sha256: "3692a459204a33e04bc94f5fb91158faf4f2c8903281ddd82915adecdb1a901d" url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "2.3.0" url_launcher_windows: dependency: transitive description: @@ -1814,26 +1838,26 @@ packages: dependency: transitive description: name: vector_graphics - sha256: "18f6690295af52d081f6808f2f7c69f0eed6d7e23a71539d75f4aeb8f0062172" + sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.11+1" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: "531d20465c10dfac7f5cd90b60bbe4dd9921f1ec4ca54c83ebb176dbacb7bb2d" + sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.11+1" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: "03012b0a33775c5530576b70240308080e1d5050f0faf000118c20e6463bc0ad" + sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.11+1" vector_math: dependency: transitive description: @@ -1867,13 +1891,13 @@ packages: source: hosted version: "1.1.0" web: - dependency: transitive + dependency: "direct overridden" description: name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "0.5.1" web_socket_channel: dependency: transitive description: @@ -1955,5 +1979,5 @@ packages: source: hosted version: "2.1.1" sdks: - dart: ">=3.2.0 <4.0.0" - flutter: ">=3.16.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.19.0" diff --git a/pubspec.yaml b/pubspec.yaml index ab48500a..2dc27de1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: "none" version: 0.16.16+1616 environment: - sdk: ">=3.2.0 <4.0.0" + sdk: ">=3.3.0 <4.0.0" dependencies: flutter: @@ -13,8 +13,8 @@ dependencies: sdk: flutter cupertino_icons: ^1.0.6 intl: ^0.18.1 - slang: ^3.29.0 - slang_flutter: ^3.29.0 + slang: ^3.30.1 + slang_flutter: ^3.30.0 fpdart: ^1.1.0 freezed_annotation: ^2.4.1 json_annotation: ^4.8.1 @@ -22,11 +22,11 @@ dependencies: flutter_hooks: ^0.20.5 riverpod_annotation: ^2.3.4 rxdart: ^0.27.7 - drift: ^2.15.0 + drift: ^2.16.0 sqlite3_flutter_libs: ^0.5.20 shared_preferences: ^2.2.2 dio: ^5.4.1 - ffi: ^2.1.0 + ffi: ^2.1.2 path_provider: ^2.1.1 mobile_scanner: ^4.0.0 protocol_handler: ^0.2.0 @@ -35,12 +35,12 @@ dependencies: window_manager: ^0.3.8 tray_manager: ^0.2.1 package_info_plus: ^5.0.1 - url_launcher: ^6.2.4 + url_launcher: ^6.2.5 vclibs: ^0.1.2 launch_at_startup: ^0.2.2 sentry_flutter: ^7.16.1 sentry_dart_plugin: ^1.7.1 - combine: ^0.5.6 + combine: ^0.5.7-0.1.pre path: ^1.8.3 loggy: ^2.0.3 flutter_loggy: ^2.0.2 @@ -54,7 +54,7 @@ dependencies: go_router: ^13.2.0 flex_color_scheme: ^7.3.1 flutter_animate: ^4.5.0 - flutter_svg: ^2.0.9 + flutter_svg: ^2.0.10+1 gap: ^3.0.1 percent_indicator: ^4.2.3 sliver_tools: ^0.2.12 @@ -71,8 +71,8 @@ dependencies: dio_smart_retry: ^6.0.0 cupertino_http: ^1.3.0 wolt_modal_sheet: ^0.4.1 - dart_mappable: ^4.2.0 - fluentui_system_icons: ^1.1.226 + dart_mappable: ^4.2.1 + fluentui_system_icons: ^1.1.229 circle_flags: ^4.0.2 http: ^1.2.0 timezone_to_country: ^2.1.0 @@ -86,13 +86,17 @@ dev_dependencies: json_serializable: ^6.7.1 freezed: ^2.4.7 riverpod_generator: ^2.3.11 - drift_dev: ^2.15.0 + drift_dev: ^2.16.0 ffigen: ^8.0.2 - slang_build_runner: ^3.29.0 + slang_build_runner: ^3.30.0 flutter_gen_runner: ^5.4.0 go_router_builder: ^2.4.1 dependency_validator: ^3.2.3 - dart_mappable_builder: ^4.2.0 + dart_mappable_builder: ^4.2.1 + +dependency_overrides: + # drift & package_info_plus are not compatible + web: ^0.5.1 flutter: uses-material-design: true