From c7fa9b8ce7eecdaaab1799b1c65955e5b685afb4 Mon Sep 17 00:00:00 2001 From: Benjamin <73490201+BenjaminHalko@users.noreply.github.com> Date: Sat, 28 Oct 2023 07:19:07 -0700 Subject: [PATCH] chore: upgrade dependencies (#1404) --- .github/workflows/pr-build.yml | 2 +- .github/workflows/release-build.yml | 4 +- android/app/build.gradle | 31 ++++---- android/app/src/debug/AndroidManifest.xml | 3 +- android/app/src/main/AndroidManifest.xml | 7 +- .../revanced/manager/flutter/MainActivity.kt | 4 +- android/app/src/profile/AndroidManifest.xml | 3 +- android/build.gradle | 11 +-- android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 60756 -> 63721 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 35 +++++---- gradlew.bat | 1 + lib/main.dart | 2 - lib/services/patcher_api.dart | 18 ++--- .../app_selector/app_selector_viewmodel.dart | 17 ++--- lib/ui/views/home/home_viewmodel.dart | 7 +- .../views/installer/installer_viewmodel.dart | 6 +- lib/ui/views/settings/settings_viewmodel.dart | 36 +++++----- .../patch_options_fields.dart | 13 ++-- pubspec.yaml | 68 +++++++++--------- 22 files changed, 150 insertions(+), 127 deletions(-) diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index dbc20e29..8424eff4 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -23,7 +23,7 @@ jobs: - name: Setup JDK uses: actions/setup-java@v3 with: - java-version: '11' + java-version: '17' distribution: 'zulu' - name: Setup Flutter uses: subosito/flutter-action@v2 diff --git a/.github/workflows/release-build.yml b/.github/workflows/release-build.yml index 7d31e5a0..94f2921d 100644 --- a/.github/workflows/release-build.yml +++ b/.github/workflows/release-build.yml @@ -12,10 +12,10 @@ jobs: - uses: actions/checkout@v4 - name: Set env run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - - name: Set up JDK 11 + - name: Set up JDK uses: actions/setup-java@v3 with: - java-version: "11" + java-version: "17" distribution: "zulu" - uses: subosito/flutter-action@v2 with: diff --git a/android/app/build.gradle b/android/app/build.gradle index a1b26cc8..ecf4135c 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -26,30 +26,26 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion flutter.compileSdkVersion + compileSdk 34 ndkVersion flutter.ndkVersion compileOptions { - sourceCompatibility JavaVersion.VERSION_11 - targetCompatibility JavaVersion.VERSION_11 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = '11' + jvmTarget = '17' } - sourceSets { main.java.srcDirs += 'src/main/kotlin' } - defaultConfig { applicationId "app.revanced.manager.flutter" - minSdkVersion 26 - targetSdkVersion 33 + minSdk 26 + targetSdk 34 versionCode flutterVersionCode.toInteger() versionName flutterVersionName } - buildTypes { release { shrinkResources false @@ -71,10 +67,21 @@ android { } } } - packagingOptions { - exclude '/prebuilt/**' + jniLibs { + useLegacyPackaging true + excludes += ['/prebuilt/**'] + } + resources { + excludes += ['/prebuilt/**'] + } } + + namespace 'app.revanced.manager.flutter' +} + +kotlin { + jvmToolchain(17) } flutter { diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index 2abfc8e9..bbd7ee77 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -1,4 +1,3 @@ - + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 3a2c4f8c..7fade03b 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,4 @@ - - + @@ -24,8 +22,7 @@ android:name="${applicationName}" android:icon="@mipmap/ic_launcher" android:largeHeap="true" - android:requestLegacyExternalStorage="true" - android:extractNativeLibs="true"> + android:requestLegacyExternalStorage="true"> ("cacheDirPath")!! try { + val patchBundleFile = File(patchBundleFilePath) + patchBundleFile.setWritable(false) patches = PatchBundleLoader.Dex( - File(patchBundleFilePath), + patchBundleFile, optimizedDexDirectory = File(cacheDirPath) ) } catch (ex: Exception) { diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml index 2abfc8e9..bbd7ee77 100644 --- a/android/app/src/profile/AndroidManifest.xml +++ b/android/app/src/profile/AndroidManifest.xml @@ -1,4 +1,3 @@ - + diff --git a/android/build.gradle b/android/build.gradle index 0165e070..0a04adab 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,12 +1,12 @@ buildscript { - ext.kotlin_version = '1.9.0' + ext.kotlin_version = '1.9.10' repositories { google() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.1.3' + classpath 'com.android.tools.build:gradle:8.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } @@ -22,12 +22,13 @@ allprojects { } } -rootProject.buildDir = '../build' +layout.buildDirectory.set(file("../build")) +var root = layout.buildDirectory.get().asFile.absolutePath subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" + project.layout.buildDirectory.set(file("$root/${project.name}")) project.evaluationDependsOn(':app') } tasks.register("clean", Delete) { - delete rootProject.buildDir + delete layout.buildDirectory } diff --git a/android/gradle.properties b/android/gradle.properties index 4b11638c..21a7e728 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -4,3 +4,6 @@ org.gradle.daemon=true org.gradle.caching=true android.useAndroidX=true android.enableJetifier=true +android.defaults.buildfeatures.buildconfig=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 3c472b99..8bc9958a 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-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 249e5832f090a2944b7473328c07c9755baa3196..7f93135c49b765f8051ef9d0a6055ff8e46073d8 100644 GIT binary patch delta 44091 zcmca|i}~e8X4U|2W)_i&3q&VM2{VdJ)GK5ZnYch1M2JqjDGH`1voOkvi!d;7a4;}1 zI5M=oxL&T##lR3J&cL8G`N9dY$scC0O>Vy}SU)#{y+-<~?7ujj-%matbv_p)<~8TY zCSxAX#v`1ZeQ$5Dsq#&me5GYl%$sgqrI&LqYx-qmdW+93xyV>@$l}%;!)9^B~C}XpL|N% zxyR+8cW8)5eF1CSvIkGO^1eM5t=kjC6u0!z)rwyE?LR(7v91peR2O{xp{nu+o9OmO zW~|#+M?7h|zv7W^#paaXVmtSQ>g5L)vftC2UjE~wpZ&e1kNoyTw;re#*%N;7cgUK9 zze7zPFmu_hSQNNv7jwC$#q;BLwPt-(6qP^b{^Yv*(@7Ig?~oU+ue-B&kqd$%oTcy4tR`Tung45g!R9!@^lTXgr>%BndPKn2X>v?>EQNAkEOuj7_KF+&3 z-d@gp$)slsoPeW^5i#-CTVeXLh>o@l6z846WqsnVUy zmVuQ#x0atc;cV#sR^st<#Y+>7r?|U+xfLQ9UBBzZR{h-Lk902=WG+AbT4Cy2GvO_p zmGb!by;G-Gx+*@BnY2!g`=w1X&$8UfKeG3H;1^Fi>9WM$??~I_X?ngw8M7MK*ve1c z@=vi?N7DSOV&l}f6kFMw#gg~V88^4RHeO-Z7 z!hcs%OHYZ{he_)>em)+_woZAI<_wcJ)0%5-ZG?M{bulG;$+>jx{1YB!KMnoO-)Fxq zw4M6O!0(Oe<&z8jP8Z3_ZT)(1^6xK!%TI{Z_$L%sd^6DsEd4&GBkh!=Y1Xo}j)&JS zcU5KG>&caJuX4kTuGMXIGFJ*ju4h|x8%y;)=9y~{Et&PhuCCtUzj!&L+S?c_UT4QE zQR2DDvv|z=HiVh{5wH*Xu%k`>vHB59)qpxJS>v2W-T&@$vwvvTEqnObXhP4b z*cA`*rT+ERd$9itPFPtV{_(_5fqwB_#jidzGk4we+V(%NL!)KJ@=hbSs2?sn)wEnJXJ0n;5z6j$ z2({}BXqjKKC`fRX+Nzdi9Y1HS5Hsysan)rmhsL5fVeTVNYS($5x@`ARulIpC=glE&XaCyTw5M{@jh$v(~9G-41k0f3U5(;(rHwZ}=0j zstaDecQj|EJUe;1DL5x&Y0iy;w7`X)!D7#pCzmb|@miW|{9CTnD72}oK0VR%{PK7U z?&Z%GEk9Or+)w|lYSEP4;hI$ckzwjA{~O7|8r^H=H{{Dt|MYkA3JHn!ORu

Eb@$&|6-cHVZqiU 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�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 delta 41205 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 ZZfl7Jc(byB#LXGZ8I*+?7^H83cmO;W-rE2G diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ae04661e..3fa8f862 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index a69d9cb6..1aa94a42 100644 --- a/gradlew +++ b/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,13 +80,11 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,22 +131,29 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -193,11 +198,15 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/gradlew.bat b/gradlew.bat index f127cfd4..93e3f59f 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% diff --git a/lib/main.dart b/lib/main.dart index 956f1c30..c81701ba 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -11,12 +11,10 @@ import 'package:revanced_manager/services/revanced_api.dart'; import 'package:revanced_manager/ui/theme/dynamic_theme_builder.dart'; import 'package:revanced_manager/ui/views/navigation/navigation_view.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:stacked_themes/stacked_themes.dart'; import 'package:timezone/data/latest.dart' as tz; late SharedPreferences prefs; Future main() async { - await ThemeManager.initialise(); await setupLocator(); WidgetsFlutterBinding.ensureInitialized(); await locator().initialize(); diff --git a/lib/services/patcher_api.dart b/lib/services/patcher_api.dart index 80a7e470..4266a880 100644 --- a/lib/services/patcher_api.dart +++ b/lib/services/patcher_api.dart @@ -1,10 +1,10 @@ import 'dart:io'; import 'package:collection/collection.dart'; -import 'package:cr_file_saver/file_saver.dart'; import 'package:device_apps/device_apps.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_file_dialog/flutter_file_dialog.dart'; import 'package:injectable/injectable.dart'; import 'package:install_plugin/install_plugin.dart'; import 'package:path_provider/path_provider.dart'; @@ -13,7 +13,7 @@ import 'package:revanced_manager/models/patch.dart'; import 'package:revanced_manager/models/patched_application.dart'; import 'package:revanced_manager/services/manager_api.dart'; import 'package:revanced_manager/services/root_api.dart'; -import 'package:share_extend/share_extend.dart'; +import 'package:share_plus/share_plus.dart'; @lazySingleton class PatcherAPI { @@ -236,10 +236,10 @@ void exportPatchedFile(String appName, String version) { try { if (outFile != null) { final String newName = _getFileName(appName, version); - CRFileSaver.saveFileWithDialog( - SaveFileDialogParams( + FlutterFileDialog.saveFile( + params: SaveFileDialogParams( sourceFilePath: outFile!.path, - destinationFileName: newName, + fileName: newName, ), ); } @@ -258,7 +258,7 @@ void sharePatchedFile(String appName, String version) { final String newPath = outFile!.path.substring(0, lastSeparator + 1) + newName; final File shareFile = outFile!.copySync(newPath); - ShareExtend.share(shareFile.path, 'file'); + Share.shareXFiles([XFile(shareFile.path)]); } } on Exception catch (e) { if (kDebugMode) { @@ -286,10 +286,10 @@ Future exportPatcherLog(String logs) async { final String fileName = 'revanced-manager_patcher_$dateTime.txt'; final File log = File('${logDir.path}/$fileName'); log.writeAsStringSync(logs); - CRFileSaver.saveFileWithDialog( - SaveFileDialogParams( + FlutterFileDialog.saveFile( + params: SaveFileDialogParams( sourceFilePath: log.path, - destinationFileName: fileName, + fileName: fileName, ), ); } diff --git a/lib/ui/views/app_selector/app_selector_viewmodel.dart b/lib/ui/views/app_selector/app_selector_viewmodel.dart index 9d2f9a7b..53c7a239 100644 --- a/lib/ui/views/app_selector/app_selector_viewmodel.dart +++ b/lib/ui/views/app_selector/app_selector_viewmodel.dart @@ -1,9 +1,9 @@ import 'dart:io'; import 'package:device_apps/device_apps.dart'; -import 'package:file_picker/file_picker.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_file_dialog/flutter_file_dialog.dart'; import 'package:flutter_i18n/flutter_i18n.dart'; import 'package:revanced_manager/app/app.locator.dart'; import 'package:revanced_manager/models/patch.dart'; @@ -181,13 +181,14 @@ class AppSelectorViewModel extends BaseViewModel { Future selectAppFromStorage(BuildContext context) async { try { - final FilePickerResult? result = await FilePicker.platform.pickFiles( - type: FileType.custom, - allowedExtensions: ['apk'], + final String? result = await FlutterFileDialog.pickFile( + params: const OpenFileDialogParams( + fileExtensionsFilter: ['apk'], + ), ); - if (result != null && result.files.single.path != null) { - final File apkFile = File(result.files.single.path!); - final List pathSplit = result.files.single.path!.split('/'); + if (result != null) { + final File apkFile = File(result); + final List pathSplit = result.split('/'); pathSplit.removeLast(); final Directory filePickerCacheDir = Directory(pathSplit.join('/')); final Iterable deletableFiles = @@ -207,7 +208,7 @@ class AppSelectorViewModel extends BaseViewModel { name: application.appName, packageName: application.packageName, version: application.versionName!, - apkFilePath: result.files.single.path!, + apkFilePath: result, icon: application.icon, patchDate: DateTime.now(), isFromStorage: true, diff --git a/lib/ui/views/home/home_viewmodel.dart b/lib/ui/views/home/home_viewmodel.dart index b69b99da..b85e49da 100644 --- a/lib/ui/views/home/home_viewmodel.dart +++ b/lib/ui/views/home/home_viewmodel.dart @@ -1,7 +1,7 @@ // ignore_for_file: use_build_context_synchronously import 'dart:async'; import 'dart:io'; -import 'package:cross_connectivity/cross_connectivity.dart'; +import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -64,8 +64,9 @@ class HomeViewModel extends BaseViewModel { flutterLocalNotificationsPlugin .resolvePlatformSpecificImplementation< AndroidFlutterLocalNotificationsPlugin>() - ?.requestPermission(); - final bool isConnected = await Connectivity().checkConnection(); + ?.requestNotificationsPermission(); + final bool isConnected = await Connectivity().checkConnectivity() != + ConnectivityResult.none; if (!isConnected) { _toast.showBottom('homeView.noConnection'); } diff --git a/lib/ui/views/installer/installer_viewmodel.dart b/lib/ui/views/installer/installer_viewmodel.dart index 7fef5e84..73b23027 100644 --- a/lib/ui/views/installer/installer_viewmodel.dart +++ b/lib/ui/views/installer/installer_viewmodel.dart @@ -18,7 +18,7 @@ import 'package:revanced_manager/ui/widgets/shared/custom_material_button.dart'; import 'package:revanced_manager/utils/about_info.dart'; import 'package:screenshot_callback/screenshot_callback.dart'; import 'package:stacked/stacked.dart'; -import 'package:wakelock/wakelock.dart'; +import 'package:wakelock_plus/wakelock_plus.dart'; class InstallerViewModel extends BaseViewModel { final ManagerAPI _managerAPI = locator(); @@ -74,7 +74,7 @@ class InstallerViewModel extends BaseViewModel { screenshotDetected(context); } }); - await Wakelock.enable(); + await WakelockPlus.enable(); await handlePlatformChannelMethods(); await runPatcher(); } @@ -171,7 +171,7 @@ class InstallerViewModel extends BaseViewModel { } // ignore } } - await Wakelock.disable(); + await WakelockPlus.disable(); } on Exception catch (e) { if (kDebugMode) { print(e); diff --git a/lib/ui/views/settings/settings_viewmodel.dart b/lib/ui/views/settings/settings_viewmodel.dart index bc3988e6..71730088 100644 --- a/lib/ui/views/settings/settings_viewmodel.dart +++ b/lib/ui/views/settings/settings_viewmodel.dart @@ -1,8 +1,7 @@ import 'dart:io'; -import 'package:cr_file_saver/file_saver.dart'; -import 'package:file_picker/file_picker.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_file_dialog/flutter_file_dialog.dart'; import 'package:flutter_i18n/flutter_i18n.dart'; import 'package:logcat/logcat.dart'; import 'package:path_provider/path_provider.dart'; @@ -14,7 +13,7 @@ import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart'; import 'package:revanced_manager/ui/views/patches_selector/patches_selector_viewmodel.dart'; import 'package:revanced_manager/ui/views/settings/settingsFragment/settings_update_language.dart'; import 'package:revanced_manager/ui/widgets/shared/custom_material_button.dart'; -import 'package:share_extend/share_extend.dart'; +import 'package:share_plus/share_plus.dart'; import 'package:stacked/stacked.dart'; import 'package:stacked_services/stacked_services.dart'; @@ -159,10 +158,10 @@ class SettingsViewModel extends BaseViewModel { if (outFile.existsSync()) { final String dateTime = DateTime.now().toString().replaceAll(' ', '_').split('.').first; - await CRFileSaver.saveFileWithDialog( - SaveFileDialogParams( + await FlutterFileDialog.saveFile( + params: SaveFileDialogParams( sourceFilePath: outFile.path, - destinationFileName: 'selected_patches_$dateTime.json', + fileName: 'selected_patches_$dateTime.json', ), ); _toast.showBottom('settingsView.exportedPatches'); @@ -179,12 +178,13 @@ class SettingsViewModel extends BaseViewModel { Future importPatches(BuildContext context) async { if (isPatchesChangeEnabled()) { try { - final FilePickerResult? result = await FilePicker.platform.pickFiles( - type: FileType.custom, - allowedExtensions: ['json'], + final String? result = await FlutterFileDialog.pickFile( + params: const OpenFileDialogParams( + fileExtensionsFilter: ['json'], + ), ); - if (result != null && result.files.single.path != null) { - final File inFile = File(result.files.single.path!); + if (result != null) { + final File inFile = File(result); inFile.copySync(_managerAPI.storedPatchesFile); inFile.delete(); if (_patcherViewModel.selectedApp != null) { @@ -209,10 +209,10 @@ class SettingsViewModel extends BaseViewModel { if (outFile.existsSync()) { final String dateTime = DateTime.now().toString().replaceAll(' ', '_').split('.').first; - await CRFileSaver.saveFileWithDialog( - SaveFileDialogParams( + await FlutterFileDialog.saveFile( + params: SaveFileDialogParams( sourceFilePath: outFile.path, - destinationFileName: 'keystore_$dateTime.keystore', + fileName: 'keystore_$dateTime.keystore', ), ); _toast.showBottom('settingsView.exportedKeystore'); @@ -228,9 +228,9 @@ class SettingsViewModel extends BaseViewModel { Future importKeystore() async { try { - final FilePickerResult? result = await FilePicker.platform.pickFiles(); - if (result != null && result.files.single.path != null) { - final File inFile = File(result.files.single.path!); + final String? result = await FlutterFileDialog.pickFile(); + if (result != null) { + final File inFile = File(result); inFile.copySync(_managerAPI.keystoreFile); _toast.showBottom('settingsView.importedKeystore'); @@ -276,6 +276,6 @@ class SettingsViewModel extends BaseViewModel { File('${logDir.path}/revanced-manager_logcat_$dateTime.log'); final String logs = await Logcat.execute(); logcat.writeAsStringSync(logs); - ShareExtend.share(logcat.path, 'file'); + await Share.shareXFiles([XFile(logcat.path)]); } } diff --git a/lib/ui/widgets/patchesSelectorView/patch_options_fields.dart b/lib/ui/widgets/patchesSelectorView/patch_options_fields.dart index 5b48dbcf..ae026cb7 100644 --- a/lib/ui/widgets/patchesSelectorView/patch_options_fields.dart +++ b/lib/ui/widgets/patchesSelectorView/patch_options_fields.dart @@ -1,6 +1,6 @@ -import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_file_dialog/flutter_file_dialog.dart'; import 'package:flutter_i18n/flutter_i18n.dart'; import 'package:revanced_manager/models/patch.dart'; import 'package:revanced_manager/ui/widgets/shared/custom_card.dart'; @@ -512,17 +512,16 @@ class _TextFieldForPatchOptionState extends State { onSelected: (String selection) async { switch (selection) { case 'patchOptionsView.selectFilePath': - final result = await FilePicker.platform.pickFiles(); - if (result != null && result.files.single.path != null) { - controller.text = result.files.single.path.toString(); + final String? result = await FlutterFileDialog.pickFile(); + if (result != null) { + controller.text = result; widget.onChanged(controller.text); } break; case 'patchOptionsView.selectFolder': - final result = - await FilePicker.platform.getDirectoryPath(); + final DirectoryLocation? result = await FlutterFileDialog.pickDirectory(); if (result != null) { - controller.text = result; + controller.text = result.toString(); widget.onChanged(controller.text); } break; diff --git a/pubspec.yaml b/pubspec.yaml index 4acf9060..3c39c3fb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,71 +12,75 @@ environment: dependencies: animations: ^2.0.7 collection: ^1.17.0 - cross_connectivity: ^3.0.5 - cr_file_saver: - git: - url: https://github.com/dhruvanbhalara/cr_file_saver - ref: "fix/incorrect_file_name" device_apps: - git: - url: https://github.com/ponces/flutter_plugin_device_apps + git: # switch back to ponces fork once https://github.com/ponces/flutter_plugin_device_apps/pull/1 is merged + url: https://github.com/BenjaminHalko/flutter_plugin_device_apps ref: revanced-manager - device_info_plus: ^8.1.0 + device_info_plus: ^9.1.0 dynamic_color: ^1.6.3 dio: ^5.0.0 dynamic_themes: ^1.1.0 expandable: ^5.0.1 - file_picker: - git: - url: https://github.com/alexmercerind/flutter_file_picker - ref: master flex_color_scheme: ^7.0.1 flutter: sdk: flutter - flutter_background: ^1.2.0 + flutter_background: + git: # remove once https://github.com/JulianAssmann/flutter_background/pull/79 is merged + url: https://github.com/BenjaminHalko/flutter_background + ref: specify-namespace flutter_cache_manager: ^3.3.0 - flutter_i18n: ^0.33.0 - flutter_local_notifications: ^13.0.0 + flutter_i18n: ^0.34.0 + flutter_local_notifications: ^16.1.0 flutter_localizations: sdk: flutter flutter_svg: ^2.0.4 - fluttertoast: ^8.2.1 - font_awesome_flutter: ^10.6.0 - get_it: 7.2.0 - google_fonts: ^4.0.3 - http: ^0.13.5 + fluttertoast: + git: # remove once the next fluttertoast version is release (> 8.2.2) + url: https://github.com/ponnamkarthik/FlutterToast + ref: f4e7b4e1afc8c760eb5bac80f6a2e299906d83ca + font_awesome_flutter: ^10.4.0 + get_it: ^7.6.4 + google_fonts: ^6.1.0 + http: ^1.1.0 injectable: ^2.1.1 intl: ^0.18.0 json_annotation: ^4.8.0 logcat: git: - url: https://github.com/SuaMusica/logcat - ref: feature/nullSafe - package_info_plus: ^3.0.3 + url: https://github.com/BenjaminHalko/logcat + ref: master + package_info_plus: ^4.2.0 path_provider: ^2.0.14 - permission_handler: ^10.2.0 + permission_handler: ^11.0.1 pull_to_refresh: ^2.0.0 root: git: - url: https://github.com/EvadeMaster/root - ref: 82803aa40f63cddff81c3e4d27ce8ce3e7c83f60 - share_extend: ^2.0.0 + url: https://github.com/validcube/root + ref: 68e5678a535a2a3344828a14a39017fa74b9098c shared_preferences: ^2.1.0 skeletons: ^0.0.3 stacked: ^3.2.0 stacked_generator: ^1.1.0 stacked_services: ^1.0.0 - stacked_themes: ^0.3.10 timeago: ^3.3.0 timezone: ^0.9.0 url_launcher: ^6.1.10 - wakelock: ^0.6.2 flutter_dotenv: ^5.0.2 flutter_markdown: ^0.6.14 dio_cache_interceptor: ^3.4.0 - install_plugin: ^2.1.0 - screenshot_callback: ^3.0.1 + install_plugin: + git: # remove once https://github.com/hui-z/flutter_install_plugin/pull/67 is merged + url: https://github.com/BenjaminHalko/flutter_install_plugin + ref: master + screenshot_callback: + git: # remove once https://github.com/flutter-moum/flutter_screenshot_callback/pull/81 is merged + url: https://github.com/BenjaminHalko/flutter_screenshot_callback + ref: master synchronized: ^3.1.0 + connectivity_plus: ^5.0.1 + flutter_file_dialog: ^3.0.2 + wakelock_plus: ^1.1.3 + share_plus: ^7.2.1 dev_dependencies: json_serializable: ^6.6.1 @@ -85,7 +89,7 @@ dev_dependencies: flutter_lints: ^2.0.1 flutter_test: sdk: flutter - injectable_generator: ^2.1.5 + injectable_generator: ^2.1.5