From 5617535a63070caacd44ef6dfabad6c871a9792a Mon Sep 17 00:00:00 2001 From: Aunali321 <48486084+Aunali321@users.noreply.github.com> Date: Sun, 5 Mar 2023 14:42:46 +0530 Subject: [PATCH] refactor: remove sentry and crowdin (#730) We no longer use sentry and crowdin. --- .env | 3 - assets/i18n/en_US.json | 2 - lib/app/app.dart | 2 - lib/main.dart | 27 -------- lib/services/crowdin_api.dart | 63 ------------------- lib/services/github_api.dart | 56 ++++++++++------- lib/services/manager_api.dart | 34 +++++----- lib/services/patcher_api.dart | 56 ++++++++++------- lib/services/revanced_api.dart | 54 +++++++++------- lib/services/root_api.dart | 26 +++++--- .../app_selector/app_selector_viewmodel.dart | 8 ++- lib/ui/views/home/home_viewmodel.dart | 14 +++-- .../views/installer/installer_viewmodel.dart | 53 ++++++++++------ .../settings_update_language.dart | 3 - lib/ui/views/settings/settings_view.dart | 2 - lib/ui/views/settings/settings_viewmodel.dart | 32 +++++----- .../settings_logging_section.dart | 36 ----------- lib/utils/environment.dart | 5 -- pubspec.yaml | 5 +- 19 files changed, 198 insertions(+), 283 deletions(-) delete mode 100644 .env delete mode 100644 lib/services/crowdin_api.dart delete mode 100644 lib/ui/widgets/settingsView/settings_logging_section.dart delete mode 100644 lib/utils/environment.dart diff --git a/.env b/.env deleted file mode 100644 index 4ead69a3..00000000 --- a/.env +++ /dev/null @@ -1,3 +0,0 @@ -sentryDSN= -apiKey= -appId= \ No newline at end of file diff --git a/assets/i18n/en_US.json b/assets/i18n/en_US.json index 9490cc91..4c094867 100644 --- a/assets/i18n/en_US.json +++ b/assets/i18n/en_US.json @@ -145,8 +145,6 @@ "exportSectionTitle": "Import & export", "aboutLabel": "About", "snackbarMessage": "Copied to clipboard", - "sentryLabel": "Sentry logging", - "sentryHint": "Send anonymous logs to help us improve ReVanced Manager", "restartAppForChanges": "Restart the app to apply changes", "deleteKeystoreLabel": "Delete keystore", "deleteKeystoreHint": "Delete the keystore used to sign the app", diff --git a/lib/app/app.dart b/lib/app/app.dart index 2f10b09a..76c32b19 100644 --- a/lib/app/app.dart +++ b/lib/app/app.dart @@ -1,4 +1,3 @@ -import 'package:revanced_manager/services/crowdin_api.dart'; import 'package:revanced_manager/services/github_api.dart'; import 'package:revanced_manager/services/manager_api.dart'; import 'package:revanced_manager/services/patcher_api.dart'; @@ -38,7 +37,6 @@ import 'package:stacked_services/stacked_services.dart'; LazySingleton(classType: PatcherAPI), LazySingleton(classType: RevancedAPI), LazySingleton(classType: GithubAPI), - LazySingleton(classType: CrowdinAPI), LazySingleton(classType: Toast), ], ) diff --git a/lib/main.dart b/lib/main.dart index 9763504a..d34f9d66 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,15 +4,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_i18n/flutter_i18n.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:revanced_manager/app/app.locator.dart'; -import 'package:revanced_manager/services/crowdin_api.dart'; import 'package:revanced_manager/services/github_api.dart'; import 'package:revanced_manager/services/manager_api.dart'; import 'package:revanced_manager/services/patcher_api.dart'; 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:revanced_manager/utils/environment.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:stacked_themes/stacked_themes.dart'; import 'package:timezone/data/latest.dart' as tz; @@ -25,36 +22,12 @@ Future main() async { await locator().initialize(); final String apiUrl = locator().getApiUrl(); await locator().initialize(apiUrl); - await locator().initialize(); - final bool isSentryEnabled = locator().isSentryEnabled(); final String repoUrl = locator().getRepoUrl(); locator().initialize(repoUrl); await locator().initialize(); tz.initializeTimeZones(); prefs = await SharedPreferences.getInstance(); - await SentryFlutter.init( - (options) { - options - ..dsn = isSentryEnabled ? Environment.sentryDSN : '' - ..environment = 'alpha' - ..release = '0.1' - ..tracesSampleRate = 1.0 - ..anrEnabled = true - ..enableOutOfMemoryTracking = true - ..sampleRate = isSentryEnabled ? 1.0 : 0.0 - ..beforeSend = (event, hint) { - if (isSentryEnabled) { - return event; - } else { - return null; - } - } as BeforeSendCallback?; - }, - appRunner: () { - runApp(const MyApp()); - }, - ); runApp(const MyApp()); } diff --git a/lib/services/crowdin_api.dart b/lib/services/crowdin_api.dart deleted file mode 100644 index 053d5a41..00000000 --- a/lib/services/crowdin_api.dart +++ /dev/null @@ -1,63 +0,0 @@ -import 'package:dio/dio.dart'; -import 'package:dio_http_cache_lts/dio_http_cache_lts.dart'; -import 'package:injectable/injectable.dart' hide Environment; -import 'package:revanced_manager/utils/environment.dart'; -import 'package:sentry_dio/sentry_dio.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; - -@lazySingleton -class CrowdinAPI { - late Dio _dio = Dio(); - final DioCacheManager _dioCacheManager = DioCacheManager(CacheConfig()); - final apiKey = Environment.crowdinKEY; - - Future initialize() async { - try { - _dio = Dio( - BaseOptions( - baseUrl: 'https://api.crowdin.com/api/v2', - ), - ); - - _dio.interceptors.add(_dioCacheManager.interceptor); - _dio.addSentry( - captureFailedRequests: true, - ); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); - } - } - - Future clearAllCache() async { - try { - await _dioCacheManager.clearAll(); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); - } - } - - Future getLanguages() async { - try { - final response = await _dio.get( - '/projects', - options: buildCacheOptions( - const Duration(hours: 6), - maxStale: const Duration(days: 1), - options: Options( - headers: { - 'Authorization': 'Bearer $apiKey', - }, - contentType: 'application/json', - ), - ), - ); - final List targetLanguages = - await response.data['data'][0]['data']['targetLanguages']; - - return targetLanguages; - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); - return []; - } - } -} diff --git a/lib/services/github_api.dart b/lib/services/github_api.dart index de4676e9..0af9fbb1 100644 --- a/lib/services/github_api.dart +++ b/lib/services/github_api.dart @@ -4,11 +4,10 @@ import 'dart:io'; import 'package:collection/collection.dart'; import 'package:dio/dio.dart'; import 'package:dio_http_cache_lts/dio_http_cache_lts.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter_cache_manager/flutter_cache_manager.dart'; import 'package:injectable/injectable.dart'; import 'package:revanced_manager/models/patch.dart'; -import 'package:sentry_dio/sentry_dio.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; @lazySingleton class GithubAPI { @@ -38,19 +37,20 @@ class GithubAPI { ); _dio.interceptors.add(_dioCacheManager.interceptor); - _dio.addSentry( - captureFailedRequests: true, - ); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } Future clearAllCache() async { try { await _dioCacheManager.clearAll(); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } @@ -61,8 +61,10 @@ class GithubAPI { options: _cacheOptions, ); return response.data[0]; - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return null; } } @@ -92,10 +94,12 @@ class GithubAPI { '\n' as String, ) .toList(); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); - return List.empty(); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } + return []; } Future getLatestReleaseFile(String extension, String repoName) async { @@ -112,9 +116,10 @@ class GithubAPI { ); } } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); - return null; + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } return null; } @@ -127,10 +132,12 @@ class GithubAPI { final List list = jsonDecode(f.readAsStringSync()); patches = list.map((patch) => Patch.fromJson(patch)).toList(); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); - return List.empty(); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } + return patches; } @@ -142,9 +149,12 @@ class GithubAPI { } else { return 'Unknown'; } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); - return ''; + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } + + return 'Unknown'; } } } diff --git a/lib/services/manager_api.dart b/lib/services/manager_api.dart index 2c79b3bc..c4eaeb60 100644 --- a/lib/services/manager_api.dart +++ b/lib/services/manager_api.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'dart:io'; import 'package:device_apps/device_apps.dart'; +import 'package:flutter/foundation.dart'; import 'package:injectable/injectable.dart'; import 'package:package_info_plus/package_info_plus.dart'; import 'package:path_provider/path_provider.dart'; @@ -10,7 +11,6 @@ import 'package:revanced_manager/models/patched_application.dart'; import 'package:revanced_manager/services/github_api.dart'; import 'package:revanced_manager/services/revanced_api.dart'; import 'package:revanced_manager/services/root_api.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:shared_preferences/shared_preferences.dart'; @lazySingleton @@ -98,14 +98,6 @@ class ManagerAPI { await _prefs.setBool('useDarkTheme', value); } - bool isSentryEnabled() { - return _prefs.getBool('sentryEnabled') ?? true; - } - - Future setSentryStatus(bool value) async { - await _prefs.setBool('sentryEnabled', value); - } - bool areUniversalPatchesEnabled() { return _prefs.getBool('universalPatchesEnabled') ?? false; } @@ -179,8 +171,10 @@ class ManagerAPI { try { _revancedAPI.clearAllCache(); _githubAPI.clearAllCache(); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } @@ -196,8 +190,10 @@ class ManagerAPI { } else { return await _githubAPI.getPatches(repoName); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return []; } } @@ -213,8 +209,10 @@ class ManagerAPI { } else { return await _githubAPI.getLatestReleaseFile('.jar', repoName); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return null; } } @@ -230,8 +228,10 @@ class ManagerAPI { } else { return await _githubAPI.getLatestReleaseFile('.apk', repoName); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return null; } } diff --git a/lib/services/patcher_api.dart b/lib/services/patcher_api.dart index 2ea16d15..75e253a4 100644 --- a/lib/services/patcher_api.dart +++ b/lib/services/patcher_api.dart @@ -13,7 +13,6 @@ 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:sentry_flutter/sentry_flutter.dart'; import 'package:share_extend/share_extend.dart'; @lazySingleton @@ -49,8 +48,10 @@ class PatcherAPI { if (_patches.isEmpty) { _patches = await _managerAPI.getPatches(); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } _patches = List.empty(); } } @@ -91,9 +92,10 @@ class PatcherAPI { filteredApps.add(app); } } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); - continue; + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } } @@ -151,8 +153,10 @@ class PatcherAPI { ); } return originalFilePath; - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return originalFilePath; } } @@ -173,9 +177,10 @@ class PatcherAPI { if (settingsPatch != null) { selectedPatches.add(settingsPatch); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); - // ignore + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } final File? patchBundleFile = await _managerAPI.downloadPatches(); @@ -207,11 +212,10 @@ class PatcherAPI { 'keyStoreFilePath': _keyStoreFile.path, }, ); - } on Exception catch (e, s) { + } on Exception catch (e) { if (kDebugMode) { print(e); } - throw await Sentry.captureException(e, stackTrace: s); } } } @@ -232,8 +236,10 @@ class PatcherAPI { await AppInstaller.installApk(_outFile!.path); return await DeviceApps.isAppInstalled(patchedApp.packageName); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return false; } } @@ -244,11 +250,17 @@ class PatcherAPI { try { if (_outFile != null) { final String newName = _getFileName(appName, version); - CRFileSaver.saveFileWithDialog(SaveFileDialogParams( - sourceFilePath: _outFile!.path, destinationFileName: newName,),); + CRFileSaver.saveFileWithDialog( + SaveFileDialogParams( + sourceFilePath: _outFile!.path, + destinationFileName: newName, + ), + ); + } + } on Exception catch (e) { + if (kDebugMode) { + print(e); } - } on Exception catch (e, s) { - Sentry.captureException(e, stackTrace: s); } } @@ -262,8 +274,10 @@ class PatcherAPI { final File shareFile = _outFile!.copySync(newPath); ShareExtend.share(shareFile.path, 'file'); } - } on Exception catch (e, s) { - Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } diff --git a/lib/services/revanced_api.dart b/lib/services/revanced_api.dart index fb78d63c..f7626d45 100644 --- a/lib/services/revanced_api.dart +++ b/lib/services/revanced_api.dart @@ -4,13 +4,12 @@ import 'dart:io'; import 'package:collection/collection.dart'; import 'package:dio/dio.dart'; import 'package:dio_http_cache_lts/dio_http_cache_lts.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter_cache_manager/flutter_cache_manager.dart'; import 'package:injectable/injectable.dart'; import 'package:native_dio_client/native_dio_client.dart'; import 'package:revanced_manager/models/patch.dart'; import 'package:revanced_manager/utils/check_for_gms.dart'; -import 'package:sentry_dio/sentry_dio.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:timeago/timeago.dart'; @lazySingleton @@ -42,19 +41,20 @@ class RevancedAPI { log('ReVanced API: Using CronetEngine + $isGMSInstalled'); } _dio.interceptors.add(_dioCacheManager.interceptor); - _dio.addSentry( - captureFailedRequests: true, - ); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } Future clearAllCache() async { try { await _dioCacheManager.clearAll(); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } @@ -67,8 +67,10 @@ class RevancedAPI { final String name = repo['name']; contributors[name] = repo['contributors']; } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return {}; } return contributors; @@ -79,8 +81,10 @@ class RevancedAPI { final response = await _dio.get('/patches', options: _cacheOptions); final List patches = response.data; return patches.map((patch) => Patch.fromJson(patch)).toList(); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return List.empty(); } } @@ -97,8 +101,10 @@ class RevancedAPI { t['repository'] == repoName && (t['name'] as String).endsWith(extension), ); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return null; } } @@ -115,8 +121,10 @@ class RevancedAPI { if (release != null) { return release['version']; } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return null; } return null; @@ -132,8 +140,10 @@ class RevancedAPI { final String url = release['browser_download_url']; return await DefaultCacheManager().getSingleFile(url); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return null; } return null; @@ -153,8 +163,10 @@ class RevancedAPI { DateTime.parse(release['timestamp'] as String); return format(timestamp, locale: 'en_short'); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return null; } return null; diff --git a/lib/services/root_api.dart b/lib/services/root_api.dart index 0153848d..727bac1d 100644 --- a/lib/services/root_api.dart +++ b/lib/services/root_api.dart @@ -1,5 +1,5 @@ +import 'package:flutter/foundation.dart'; import 'package:root/root.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; class RootAPI { final String _managerDirPath = '/data/local/tmp/revanced-manager'; @@ -10,8 +10,10 @@ class RootAPI { try { final bool? isRooted = await Root.isRootAvailable(); return isRooted != null && isRooted; - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return false; } } @@ -24,8 +26,10 @@ class RootAPI { return isRooted != null && isRooted; } return false; - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return false; } } @@ -78,8 +82,10 @@ class RootAPI { apps.removeWhere((pack) => pack.isEmpty); return apps.map((pack) => pack.trim()).toList(); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return List.empty(); } return List.empty(); @@ -125,8 +131,10 @@ class RootAPI { await installApk(packageName, patchedFilePath); await mountApk(packageName, originalFilePath); return true; - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return false; } } diff --git a/lib/ui/views/app_selector/app_selector_viewmodel.dart b/lib/ui/views/app_selector/app_selector_viewmodel.dart index d7019ae7..21d21d96 100644 --- a/lib/ui/views/app_selector/app_selector_viewmodel.dart +++ b/lib/ui/views/app_selector/app_selector_viewmodel.dart @@ -2,6 +2,7 @@ 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:revanced_manager/app/app.locator.dart'; import 'package:revanced_manager/models/patched_application.dart'; @@ -9,7 +10,6 @@ import 'package:revanced_manager/services/manager_api.dart'; import 'package:revanced_manager/services/patcher_api.dart'; import 'package:revanced_manager/services/toast.dart'; import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:stacked/stacked.dart'; class AppSelectorViewModel extends BaseViewModel { @@ -87,8 +87,10 @@ class AppSelectorViewModel extends BaseViewModel { locator().loadLastSelectedPatches(); } } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } _toast.showBottom('appSelectorView.errorMessage'); } } diff --git a/lib/ui/views/home/home_viewmodel.dart b/lib/ui/views/home/home_viewmodel.dart index d09ed202..ac553061 100644 --- a/lib/ui/views/home/home_viewmodel.dart +++ b/lib/ui/views/home/home_viewmodel.dart @@ -4,6 +4,7 @@ import 'dart:io'; import 'package:app_installer/app_installer.dart'; import 'package:cross_connectivity/cross_connectivity.dart'; import 'package:device_apps/device_apps.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_i18n/flutter_i18n.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; @@ -18,7 +19,6 @@ import 'package:revanced_manager/services/toast.dart'; import 'package:revanced_manager/ui/views/navigation/navigation_viewmodel.dart'; import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart'; import 'package:revanced_manager/ui/widgets/homeView/update_confirmation_dialog.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:stacked/stacked.dart'; import 'package:stacked_services/stacked_services.dart'; import 'package:timezone/timezone.dart' as tz; @@ -95,8 +95,10 @@ class HomeViewModel extends BaseViewModel { final int currentVersionInt = int.parse(currentVersion.replaceAll(RegExp('[^0-9]'), '')); return latestVersionInt > currentVersionInt; - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } return false; } } @@ -137,8 +139,10 @@ class HomeViewModel extends BaseViewModel { } else { _toast.showBottom('homeView.errorDownloadMessage'); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } _toast.showBottom('homeView.errorInstallMessage'); } } diff --git a/lib/ui/views/installer/installer_viewmodel.dart b/lib/ui/views/installer/installer_viewmodel.dart index fb891795..c1523dab 100644 --- a/lib/ui/views/installer/installer_viewmodel.dart +++ b/lib/ui/views/installer/installer_viewmodel.dart @@ -1,5 +1,6 @@ // ignore_for_file: use_build_context_synchronously import 'package:device_apps/device_apps.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_background/flutter_background.dart'; @@ -14,7 +15,6 @@ import 'package:revanced_manager/services/root_api.dart'; import 'package:revanced_manager/services/toast.dart'; import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart'; import 'package:revanced_manager/ui/widgets/shared/custom_material_button.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:stacked/stacked.dart'; import 'package:wakelock/wakelock.dart'; @@ -56,9 +56,10 @@ class InstallerViewModel extends BaseViewModel { ), ), ).then((value) => FlutterBackground.enableBackgroundExecution()); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); - // ignore + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } // ignore } } await Wakelock.enable(); @@ -131,14 +132,15 @@ class InstallerViewModel extends BaseViewModel { _app.apkFilePath, _patches, ); - } on Exception catch (e, s) { + } on Exception catch (e) { update( -100.0, 'Aborting...', 'An error occurred! Aborting\nError:\n$e', ); - await Sentry.captureException(e, stackTrace: s); - throw await Sentry.captureException(e, stackTrace: s); + if (kDebugMode) { + print(e); + } } } else { update(-100.0, 'Aborting...', 'No app or patches selected! Aborting'); @@ -146,14 +148,17 @@ class InstallerViewModel extends BaseViewModel { if (FlutterBackground.isBackgroundExecutionEnabled) { try { FlutterBackground.disableBackgroundExecution(); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); - // ignore + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } // ignore } } await Wakelock.disable(); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } @@ -211,24 +216,30 @@ class InstallerViewModel extends BaseViewModel { await _managerAPI.savePatchedApp(_app); } } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } void exportResult() { try { _patcherAPI.exportPatchedFile(_app.name, _app.version); - } on Exception catch (e, s) { - Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } void shareResult() { try { _patcherAPI.sharePatchedFile(_app.name, _app.version); - } on Exception catch (e, s) { - Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } @@ -242,8 +253,10 @@ class InstallerViewModel extends BaseViewModel { locator().selectedApp = null; locator().selectedPatches.clear(); locator().notifyListeners(); - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } diff --git a/lib/ui/views/settings/settingsFragment/settings_update_language.dart b/lib/ui/views/settings/settingsFragment/settings_update_language.dart index 833d4a87..66bb2c3e 100644 --- a/lib/ui/views/settings/settingsFragment/settings_update_language.dart +++ b/lib/ui/views/settings/settingsFragment/settings_update_language.dart @@ -4,7 +4,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_i18n/flutter_i18n.dart'; import 'package:revanced_manager/app/app.locator.dart'; import 'package:revanced_manager/main.dart'; -import 'package:revanced_manager/services/crowdin_api.dart'; import 'package:revanced_manager/services/toast.dart'; import 'package:revanced_manager/ui/views/navigation/navigation_viewmodel.dart'; import 'package:revanced_manager/ui/views/settings/settings_viewmodel.dart'; @@ -16,7 +15,6 @@ import 'package:timeago/timeago.dart' as timeago; final _settingViewModel = SettingsViewModel(); class SUpdateLanguage extends BaseViewModel { - final CrowdinAPI _crowdinAPI = locator(); final Toast _toast = locator(); late SharedPreferences _prefs; String selectedLanguage = 'English'; @@ -43,7 +41,6 @@ class SUpdateLanguage extends BaseViewModel { } Future initLang() async { - languages = await _crowdinAPI.getLanguages(); languages.sort((a, b) => a['name'].compareTo(b['name'])); notifyListeners(); } diff --git a/lib/ui/views/settings/settings_view.dart b/lib/ui/views/settings/settings_view.dart index a122bb7f..e1002b40 100644 --- a/lib/ui/views/settings/settings_view.dart +++ b/lib/ui/views/settings/settings_view.dart @@ -49,8 +49,6 @@ class SettingsView extends StatelessWidget { _settingsDivider, SExportSection(), _settingsDivider, - // SLoggingSection(), - // _settingsDivider, SInfoSection(), ], ), diff --git a/lib/ui/views/settings/settings_viewmodel.dart b/lib/ui/views/settings/settings_viewmodel.dart index 48d41c76..65df575e 100644 --- a/lib/ui/views/settings/settings_viewmodel.dart +++ b/lib/ui/views/settings/settings_viewmodel.dart @@ -2,6 +2,7 @@ import 'dart:io'; import 'package:cr_file_saver/file_saver.dart'; import 'package:device_info_plus/device_info_plus.dart'; import 'package:file_picker/file_picker.dart'; +import 'package:flutter/foundation.dart'; import 'package:logcat/logcat.dart'; import 'package:path_provider/path_provider.dart'; import 'package:revanced_manager/app/app.locator.dart'; @@ -11,7 +12,6 @@ import 'package:revanced_manager/services/toast.dart'; import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart'; import 'package:revanced_manager/ui/views/settings/settingsFragment/settings_update_language.dart'; import 'package:revanced_manager/ui/views/settings/settingsFragment/settings_update_theme.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:share_extend/share_extend.dart'; import 'package:stacked/stacked.dart'; import 'package:stacked_services/stacked_services.dart'; @@ -28,16 +28,6 @@ class SettingsViewModel extends BaseViewModel { _navigationService.navigateTo(Routes.contributorsView); } - bool isSentryEnabled() { - return _managerAPI.isSentryEnabled(); - } - - void useSentry(bool value) { - _managerAPI.setSentryStatus(value); - _toast.showBottom('settingsView.restartAppForChanges'); - notifyListeners(); - } - bool areUniversalPatchesEnabled() { return _managerAPI.areUniversalPatchesEnabled(); } @@ -74,14 +64,20 @@ class SettingsViewModel extends BaseViewModel { if (outFile.existsSync()) { final String dateTime = DateTime.now().toString().replaceAll(' ', '_').split('.').first; - await CRFileSaver.saveFileWithDialog(SaveFileDialogParams( - sourceFilePath: outFile.path, destinationFileName: 'selected_patches_$dateTime.json',),); + await CRFileSaver.saveFileWithDialog( + SaveFileDialogParams( + sourceFilePath: outFile.path, + destinationFileName: 'selected_patches_$dateTime.json', + ), + ); _toast.showBottom('settingsView.exportedPatches'); } else { _toast.showBottom('settingsView.noExportFileFound'); } - } on Exception catch (e, s) { - Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } } } @@ -100,8 +96,10 @@ class SettingsViewModel extends BaseViewModel { } _toast.showBottom('settingsView.importedPatches'); } - } on Exception catch (e, s) { - await Sentry.captureException(e, stackTrace: s); + } on Exception catch (e) { + if (kDebugMode) { + print(e); + } _toast.showBottom('settingsView.jsonSelectorErrorMessage'); } } diff --git a/lib/ui/widgets/settingsView/settings_logging_section.dart b/lib/ui/widgets/settingsView/settings_logging_section.dart deleted file mode 100644 index b06b589c..00000000 --- a/lib/ui/widgets/settingsView/settings_logging_section.dart +++ /dev/null @@ -1,36 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_i18n/widgets/I18nText.dart'; -import 'package:revanced_manager/ui/views/settings/settings_viewmodel.dart'; -import 'package:revanced_manager/ui/widgets/settingsView/custom_switch_tile.dart'; -import 'package:revanced_manager/ui/widgets/settingsView/settings_section.dart'; - -final _settingsViewModel = SettingsViewModel(); - -class SLoggingSection extends StatelessWidget { - const SLoggingSection({super.key}); - - @override - Widget build(BuildContext context) { - return SettingsSection( - title: 'settingsView.logsSectionTitle', - children: [ - CustomSwitchTile( - padding: const EdgeInsets.symmetric(horizontal: 20.0), - title: I18nText( - 'settingsView.sentryLabel', - child: const Text( - '', - style: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w500, - ), - ), - ), - subtitle: I18nText('settingsView.sentryHint'), - value: _settingsViewModel.isSentryEnabled(), - onTap: (value) => _settingsViewModel.useSentry(value), - ), - ], - ); - } -} diff --git a/lib/utils/environment.dart b/lib/utils/environment.dart deleted file mode 100644 index ba671b68..00000000 --- a/lib/utils/environment.dart +++ /dev/null @@ -1,5 +0,0 @@ -// Dummy environment variables used for building the app locally. These automatically get set with correct values during workflow builds. -class Environment { - static const sentryDSN = ''; - static const crowdinKEY = ''; -} diff --git a/pubspec.yaml b/pubspec.yaml index 92f8e715..05d739e4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,7 +10,6 @@ environment: sdk: ">=2.17.5 <3.0.0" dependencies: - sentry_flutter: ^6.12.2 animations: ^2.0.4 app_installer: ^1.1.0 collection: ^1.16.0 @@ -73,7 +72,6 @@ dependencies: timezone: ^0.8.0 url_launcher: ^6.1.5 wakelock: ^0.6.2 - sentry_dio: ^6.12.2 flutter_dotenv: ^5.0.2 pub_release: ^8.0.3 flutter_markdown: ^0.6.13 @@ -92,5 +90,4 @@ dev_dependencies: flutter: uses-material-design: true assets: - - assets/i18n/ - - .env + - assets/i18n/ \ No newline at end of file