From 2d732288a74b0a0a211710fcd3dd5b7ed3e52cd8 Mon Sep 17 00:00:00 2001 From: Aunali321 Date: Mon, 17 Oct 2022 01:58:50 +0530 Subject: [PATCH] feat: option to delete manager logs. --- assets/i18n/en_US.json | 5 ++++- lib/ui/views/settings/settings_view.dart | 16 ++++++++++++++++ lib/ui/views/settings/settings_viewmodel.dart | 9 +++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/assets/i18n/en_US.json b/assets/i18n/en_US.json index 59a71e11..4a60154a 100644 --- a/assets/i18n/en_US.json +++ b/assets/i18n/en_US.json @@ -142,7 +142,10 @@ "deletedKeystore": "Keystore deleted", "deleteTempDirLabel": "Delete temp directory", "deleteTempDirHint": "Delete the temporary directory used to store temporary files", - "deletedTempDir": "Temp directory deleted" + "deletedTempDir": "Temp directory deleted", + "deleteLogsLabel": "Delete logs", + "deleteLogsHint": "Delete collected manager logs", + "deletedLogs": "Logs deleted" }, "appInfoView": { "widgetTitle": "App Info", diff --git a/lib/ui/views/settings/settings_view.dart b/lib/ui/views/settings/settings_view.dart index da312191..c1603fc8 100644 --- a/lib/ui/views/settings/settings_view.dart +++ b/lib/ui/views/settings/settings_view.dart @@ -168,6 +168,22 @@ class SettingsView extends StatelessWidget { subtitle: I18nText('settingsView.deleteTempDirHint'), onTap: () => model.deleteTempDir(), ), + ListTile( + contentPadding: + const EdgeInsets.symmetric(horizontal: 20.0), + title: I18nText( + 'settingsView.deleteLogsLabel', + child: const Text( + '', + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.w500, + ), + ), + ), + subtitle: I18nText('settingsView.deleteLogsHint'), + onTap: () => model.deleteLogs(), + ), ], ), _settingsDivider, diff --git a/lib/ui/views/settings/settings_viewmodel.dart b/lib/ui/views/settings/settings_viewmodel.dart index e641b299..c7f69a7a 100644 --- a/lib/ui/views/settings/settings_viewmodel.dart +++ b/lib/ui/views/settings/settings_viewmodel.dart @@ -354,6 +354,15 @@ class SettingsViewModel extends BaseViewModel { return info.version.sdkInt ?? -1; } + Future deleteLogs() async { + Directory appCacheDir = await getTemporaryDirectory(); + Directory logsDir = Directory('${appCacheDir.path}/logs'); + if (logsDir.existsSync()) { + logsDir.deleteSync(recursive: true); + } + _toast.showBottom('settingsView.deletedLogs'); + } + Future exportLogcatLogs() async { Directory appCache = await getTemporaryDirectory(); Directory logDir = Directory('${appCache.path}/logs');