diff --git a/android/app/build.gradle b/android/app/build.gradle index cd56b934..fbe5b7b6 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -41,7 +41,8 @@ if (flutterVersionName == null) { } android { - namespace "com.hiddify.hiddify" + namespace 'com.hiddify.hiddify' + testNamespace "test.com.hiddify.hiddify" compileSdkVersion 34 ndkVersion "26.1.10909125" diff --git a/android/build.gradle b/android/build.gradle index bc157bd1..462b3342 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -16,3 +16,4 @@ subprojects { tasks.register("clean", Delete) { delete rootProject.buildDir } + diff --git a/android/settings.gradle b/android/settings.gradle index cf00f3cb..767847f1 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { 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 + id "com.android.application" version "8.0.0" apply false + id "org.jetbrains.kotlin.android" version "1.8.0" apply false } include ":app" diff --git a/lib/features/common/qr_code_scanner_screen.dart b/lib/features/common/qr_code_scanner_screen.dart index cfb3f679..7fd0f623 100644 --- a/lib/features/common/qr_code_scanner_screen.dart +++ b/lib/features/common/qr_code_scanner_screen.dart @@ -1,15 +1,15 @@ import 'package:dartx/dartx.dart'; import 'package:fluentui_system_icons/fluentui_system_icons.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_easy_permission/easy_permissions.dart'; +// import 'package:flutter_easy_permission/easy_permissions.dart'; import 'package:hiddify/core/localization/translations.dart'; import 'package:hiddify/utils/utils.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:mobile_scanner/mobile_scanner.dart'; // import 'package:permission_handler/permission_handler.dart'; -const permissions = [Permissions.CAMERA]; -const permissionGroup = [PermissionGroup.Camera]; +// const permissions = [Permissions.CAMERA]; +// const permissionGroup = [PermissionGroup.Camera]; class QRCodeScannerScreen extends StatefulHookConsumerWidget { const QRCodeScannerScreen({super.key}); @@ -24,62 +24,59 @@ class QRCodeScannerScreen extends StatefulHookConsumerWidget { } @override - ConsumerState createState() => - _QRCodeScannerScreenState(); + ConsumerState createState() => _QRCodeScannerScreenState(); } -class _QRCodeScannerScreenState extends ConsumerState - with WidgetsBindingObserver, PresLogger { - final controller = - MobileScannerController(detectionTimeoutMs: 500, autoStart: false); +class _QRCodeScannerScreenState extends ConsumerState with WidgetsBindingObserver, PresLogger { + final controller = MobileScannerController(detectionTimeoutMs: 500, autoStart: false); bool started = false; - late FlutterEasyPermission _easyPermission; + // late FlutterEasyPermission _easyPermission; @override void initState() { super.initState(); WidgetsBinding.instance.addObserver(this); - _easyPermission = FlutterEasyPermission() - ..addPermissionCallback(onGranted: (requestCode, androidPerms, iosPerm) { - debugPrint("android:$androidPerms"); - debugPrint("iOS:$iosPerm"); - startQrScannerIfPermissionGranted(); - }, onDenied: (requestCode, androidPerms, iosPerm, isPermanent) { - if (isPermanent) { - FlutterEasyPermission.showAppSettingsDialog(title: "Camera"); - } else { - debugPrint("android:$androidPerms"); - debugPrint("iOS:$iosPerm"); - } - }, onSettingsReturned: () { - startQrScannerIfPermissionGranted(); - }); + // _easyPermission = FlutterEasyPermission() + // ..addPermissionCallback(onGranted: (requestCode, androidPerms, iosPerm) { + // debugPrint("android:$androidPerms"); + // debugPrint("iOS:$iosPerm"); + // startQrScannerIfPermissionGranted(); + // }, onDenied: (requestCode, androidPerms, iosPerm, isPermanent) { + // if (isPermanent) { + // FlutterEasyPermission.showAppSettingsDialog(title: "Camera"); + // } else { + // debugPrint("android:$androidPerms"); + // debugPrint("iOS:$iosPerm"); + // } + // }, onSettingsReturned: () { + // startQrScannerIfPermissionGranted(); + // }); } @override void dispose() { controller.stop(); - _easyPermission.dispose(); + // _easyPermission.dispose(); WidgetsBinding.instance.removeObserver(this); super.dispose(); } void startQrScannerIfPermissionGranted() { - FlutterEasyPermission.has(perms: permissions, permsGroup: permissionGroup) - .then((value) { - if (value) { - controller.start().then((result) { - if (result != null) { - setState(() { - started = true; - }); - } - }).catchError((error) { - loggy.warning("Error starting scanner: $error"); - }); - } else {} - }); + // FlutterEasyPermission.has(perms: permissions, permsGroup: permissionGroup) + // .then((value) { + // if (value) { + // controller.start().then((result) { + // if (result != null) { + // setState(() { + // started = true; + // }); + // } + // }).catchError((error) { + // loggy.warning("Error starting scanner: $error"); + // }); + // } else {} + // }); } @override @@ -139,8 +136,7 @@ class _QRCodeScannerScreenState extends ConsumerState final uri = Uri.tryParse(rawData); if (context.mounted && uri != null) { loggy.debug('captured url: [$uri]'); - Navigator.of(context, rootNavigator: true) - .pop(uri.toString()); + Navigator.of(context, rootNavigator: true).pop(uri.toString()); } } else { loggy.warning("unable to capture"); @@ -148,8 +144,7 @@ class _QRCodeScannerScreenState extends ConsumerState }, errorBuilder: (_, error, __) { final message = switch (error.errorCode) { - MobileScannerErrorCode.permissionDenied => - t.profile.add.qrScanner.permissionDeniedError, + MobileScannerErrorCode.permissionDenied => t.profile.add.qrScanner.permissionDeniedError, _ => t.profile.add.qrScanner.unexpectedError, }; diff --git a/pubspec.lock b/pubspec.lock index 81bbc137..966945dc 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -487,14 +487,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.6.0" - flutter_easy_permission: - dependency: "direct main" - description: - name: flutter_easy_permission - sha256: "05eb1b561c894adef28b3ae38d8087fc2635f1047c5e18cf2698fb42b6ccc132" - url: "https://pub.dev" - source: hosted - version: "1.1.2" flutter_gen_core: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 5fcac156..b1b3e90b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -81,7 +81,7 @@ dependencies: timezone_to_country: ^2.1.0 json_path: ^0.7.1 # permission_handler: ^11.3.0 # is not compatible with windows - flutter_easy_permission: ^1.1.2 + # flutter_easy_permission: ^1.1.2 in_app_review: ^2.0.9 # circle_flags: ^4.0.2 circle_flags: