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');