Fix periodical backup creation interval

This commit is contained in:
Koitharu
2024-11-07 15:01:09 +02:00
parent cdce2af4a3
commit 1f0180d601
2 changed files with 9 additions and 4 deletions

View File

@@ -12,6 +12,7 @@ import androidx.appcompat.app.AppCompatDelegate
import androidx.collection.ArraySet import androidx.collection.ArraySet
import androidx.core.content.edit import androidx.core.content.edit
import androidx.core.os.LocaleListCompat import androidx.core.os.LocaleListCompat
import androidx.core.util.TimeUtils
import androidx.documentfile.provider.DocumentFile import androidx.documentfile.provider.DocumentFile
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.android.qualifiers.ApplicationContext
@@ -34,6 +35,7 @@ import org.koitharu.kotatsu.reader.domain.ReaderColorFilter
import java.io.File import java.io.File
import java.net.Proxy import java.net.Proxy
import java.util.EnumSet import java.util.EnumSet
import java.util.concurrent.TimeUnit
import javax.inject.Inject import javax.inject.Inject
import javax.inject.Singleton import javax.inject.Singleton
@@ -471,7 +473,7 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) {
get() = prefs.getBoolean(KEY_BACKUP_PERIODICAL_ENABLED, false) get() = prefs.getBoolean(KEY_BACKUP_PERIODICAL_ENABLED, false)
val periodicalBackupFrequency: Long val periodicalBackupFrequency: Long
get() = prefs.getString(KEY_BACKUP_PERIODICAL_FREQUENCY, null)?.toLongOrNull() ?: 7L get() = TimeUnit.DAYS.toMillis(prefs.getString(KEY_BACKUP_PERIODICAL_FREQUENCY, null)?.toLongOrNull() ?: 7L)
val periodicalBackupMaxCount: Int val periodicalBackupMaxCount: Int
get() = prefs.getInt(KEY_BACKUP_PERIODICAL_COUNT, 10) get() = prefs.getInt(KEY_BACKUP_PERIODICAL_COUNT, 10)

View File

@@ -4,6 +4,7 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.text.format.DateUtils
import android.view.View import android.view.View
import androidx.activity.result.ActivityResultCallback import androidx.activity.result.ActivityResultCallback
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
@@ -22,7 +23,6 @@ import org.koitharu.kotatsu.core.util.ext.resolveFile
import org.koitharu.kotatsu.core.util.ext.tryLaunch import org.koitharu.kotatsu.core.util.ext.tryLaunch
import org.koitharu.kotatsu.core.util.ext.viewLifecycleScope import org.koitharu.kotatsu.core.util.ext.viewLifecycleScope
import java.io.File import java.io.File
import java.text.SimpleDateFormat
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
@@ -60,6 +60,7 @@ class PeriodicalBackupSettingsFragment : BasePreferenceFragment(R.string.periodi
context?.contentResolver?.takePersistableUriPermission(result, takeFlags) context?.contentResolver?.takePersistableUriPermission(result, takeFlags)
settings.periodicalBackupDirectory = result settings.periodicalBackupDirectory = result
bindOutputSummary() bindOutputSummary()
bindLastBackupInfo()
} }
} }
@@ -82,8 +83,10 @@ class PeriodicalBackupSettingsFragment : BasePreferenceFragment(R.string.periodi
backupStorage.getLastBackupDate() backupStorage.getLastBackupDate()
} }
preference.summary = lastDate?.let { preference.summary = lastDate?.let {
val formatter = SimpleDateFormat.getDateInstance(SimpleDateFormat.LONG) preference.context.getString(
preference.context.getString(R.string.last_successful_backup, formatter.format(it)) R.string.last_successful_backup,
DateUtils.getRelativeTimeSpanString(it.time),
)
} }
preference.isVisible = lastDate != null preference.isVisible = lastDate != null
} }