From 3b8dc66da61c384caaec0551430a173d81688d67 Mon Sep 17 00:00:00 2001 From: Aunali321 Date: Mon, 17 Oct 2022 00:41:20 +0530 Subject: [PATCH] feat: option to delete temporary directory. --- assets/i18n/en_US.json | 5 ++++- lib/services/manager_api.dart | 7 +++++++ lib/ui/views/settings/settings_view.dart | 16 ++++++++++++++++ lib/ui/views/settings/settings_viewmodel.dart | 6 ++++++ 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/assets/i18n/en_US.json b/assets/i18n/en_US.json index 2bdb43db..59a71e11 100644 --- a/assets/i18n/en_US.json +++ b/assets/i18n/en_US.json @@ -139,7 +139,10 @@ "restartAppForChanges": "Restart the app to apply changes", "deleteKeystoreLabel": "Delete keystore", "deleteKeystoreHint": "Delete the keystore used to sign the app", - "deletedKeystore": "Keystore deleted" + "deletedKeystore": "Keystore deleted", + "deleteTempDirLabel": "Delete temp directory", + "deleteTempDirHint": "Delete the temporary directory used to store temporary files", + "deletedTempDir": "Temp directory deleted" }, "appInfoView": { "widgetTitle": "App Info", diff --git a/lib/services/manager_api.dart b/lib/services/manager_api.dart index afb7f839..b8160e87 100644 --- a/lib/services/manager_api.dart +++ b/lib/services/manager_api.dart @@ -98,6 +98,13 @@ class ManagerAPI { await _prefs.setBool('crashlyticsEnabled', value); } + Future deleteTempFolder() async { + final Directory dir = Directory('/data/local/tmp/revanced-manager'); + if (await dir.exists()) { + await dir.delete(recursive: true); + } + } + Future deleteKeystore() async { final File keystore = File( '/sdcard/Android/data/app.revanced.manager.flutter/files/revanced-keystore.keystore'); diff --git a/lib/ui/views/settings/settings_view.dart b/lib/ui/views/settings/settings_view.dart index a1c802ac..da312191 100644 --- a/lib/ui/views/settings/settings_view.dart +++ b/lib/ui/views/settings/settings_view.dart @@ -152,6 +152,22 @@ class SettingsView extends StatelessWidget { subtitle: I18nText('settingsView.deleteKeystoreHint'), onTap: () => model.deleteKeystore, ), + ListTile( + contentPadding: + const EdgeInsets.symmetric(horizontal: 20.0), + title: I18nText( + 'settingsView.deleteTempDirLabel', + child: const Text( + '', + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.w500, + ), + ), + ), + subtitle: I18nText('settingsView.deleteTempDirHint'), + onTap: () => model.deleteTempDir(), + ), ], ), _settingsDivider, diff --git a/lib/ui/views/settings/settings_viewmodel.dart b/lib/ui/views/settings/settings_viewmodel.dart index 11e37852..e641b299 100644 --- a/lib/ui/views/settings/settings_viewmodel.dart +++ b/lib/ui/views/settings/settings_viewmodel.dart @@ -343,6 +343,12 @@ class SettingsViewModel extends BaseViewModel { notifyListeners(); } + void deleteTempDir() { + _managerAPI.deleteTempFolder(); + _toast.showBottom('settingsView.deletedTempDir'); + notifyListeners(); + } + Future getSdkVersion() async { AndroidDeviceInfo info = await DeviceInfoPlugin().androidInfo; return info.version.sdkInt ?? -1;