Fix clearing logs on Android and checking if logs need to be deleted

This commit is contained in:
albexk 2024-04-20 17:51:33 +03:00
parent 89703ba58f
commit f14a2add0f
3 changed files with 16 additions and 12 deletions

View file

@ -453,7 +453,7 @@ class AmneziaActivity : QtActivity() {
@Suppress("unused") @Suppress("unused")
fun setSaveLogs(enabled: Boolean) { fun setSaveLogs(enabled: Boolean) {
Log.d(TAG, "Set save logs: $enabled") Log.v(TAG, "Set save logs: $enabled")
mainScope.launch { mainScope.launch {
Log.saveLogs = enabled Log.saveLogs = enabled
vpnServiceMessenger.send { vpnServiceMessenger.send {
@ -473,7 +473,9 @@ class AmneziaActivity : QtActivity() {
@Suppress("unused") @Suppress("unused")
fun clearLogs() { fun clearLogs() {
Log.v(TAG, "Clear logs") Log.v(TAG, "Clear logs")
Log.clearLogs() mainScope.launch {
Log.clearLogs()
}
} }
@Suppress("unused") @Suppress("unused")

View file

@ -109,9 +109,11 @@ object Log {
"${deviceInfo()}\n${readLogs()}\nLOGCAT:\n${getLogcat()}" "${deviceInfo()}\n${readLogs()}\nLOGCAT:\n${getLogcat()}"
fun clearLogs() { fun clearLogs() {
withLock { if (logDir.exists()) {
logFile.delete() withLock {
rotateLogFile.delete() logFile.delete()
rotateLogFile.delete()
}
} }
} }

View file

@ -77,8 +77,6 @@ void SettingsController::toggleLogging(bool enable)
AmneziaVPN::toggleLogging(enable); AmneziaVPN::toggleLogging(enable);
#endif #endif
if (enable == true) { if (enable == true) {
checkIfNeedDisableLogs();
qInfo().noquote() << QString("Logging has enabled on %1 version %2 %3").arg(APPLICATION_NAME, APP_VERSION, GIT_COMMIT_HASH); qInfo().noquote() << QString("Logging has enabled on %1 version %2 %3").arg(APPLICATION_NAME, APP_VERSION, GIT_COMMIT_HASH);
qInfo().noquote() << QString("%1 (%2)").arg(QSysInfo::prettyProductName(), QSysInfo::currentCpuArchitecture()); qInfo().noquote() << QString("%1 (%2)").arg(QSysInfo::prettyProductName(), QSysInfo::currentCpuArchitecture());
} }
@ -216,10 +214,12 @@ bool SettingsController::isCameraPresent()
void SettingsController::checkIfNeedDisableLogs() void SettingsController::checkIfNeedDisableLogs()
{ {
m_loggingDisableDate = m_settings->getLogEnableDate().addDays(14); if (m_settings->isSaveLogs()) {
if (m_loggingDisableDate <= QDateTime::currentDateTime()) { m_loggingDisableDate = m_settings->getLogEnableDate().addDays(14);
toggleLogging(false); if (m_loggingDisableDate <= QDateTime::currentDateTime()) {
clearLogs(); toggleLogging(false);
emit loggingDisableByWatcher(); clearLogs();
emit loggingDisableByWatcher();
}
} }
} }