Refactor: Replace Certain SyncPreferences with appStateKey

- Revised several fields to utilize `appStateKey` for enhanced state management.
- Modified notification behavior:
  - Removed frequent 'sync completed' notifications to reduce redundancy.
  - Notifications now trigger only on sync errors, streamlining user alerts.

- Users should refer to the 'last sync timestamp' to verify successful synchronizations.
- The timestamp updates only when syncs complete successfully, providing a reliable success indicator.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
This commit is contained in:
KaiserBh
2023-11-14 14:04:05 +11:00
parent dac701bb35
commit a08a815022
4 changed files with 13 additions and 16 deletions

View File

@@ -1,25 +1,25 @@
package tachiyomi.domain.sync
import tachiyomi.core.preference.PreferenceStore
import java.time.Instant
import tachiyomi.core.preference.Preference
class SyncPreferences(
private val preferenceStore: PreferenceStore,
) {
fun syncHost() = preferenceStore.getString("sync_host", "https://sync.tachiyomi.org")
fun syncAPIKey() = preferenceStore.getString("sync_api_key", "")
fun syncLastSync() = preferenceStore.getInstant("sync_last_sync", Instant.EPOCH)
fun lastSyncTimestamp() = preferenceStore.getLong(Preference.appStateKey("last_sync_timestamp"), 0L)
fun syncInterval() = preferenceStore.getInt("sync_interval", 0)
fun deviceName() = preferenceStore.getString(
"device_name",
Preference.appStateKey("device_name"),
android.os.Build.MANUFACTURER + android.os.Build.PRODUCT,
)
fun syncService() = preferenceStore.getInt("sync_service", 0)
private fun googleDriveAccessToken() = preferenceStore.getString("google_drive_access_token", "")
private fun googleDriveAccessToken() = preferenceStore.getString(Preference.appStateKey("google_drive_access_token"), "")
fun setGoogleDriveAccessToken(accessToken: String) {
googleDriveAccessToken().set(accessToken)
@@ -27,7 +27,7 @@ class SyncPreferences(
fun getGoogleDriveAccessToken() = googleDriveAccessToken().get()
private fun googleDriveRefreshToken() = preferenceStore.getString("google_drive_refresh_token", "")
private fun googleDriveRefreshToken() = preferenceStore.getString(Preference.appStateKey("google_drive_refresh_token"), "")
fun setGoogleDriveRefreshToken(refreshToken: String) {
googleDriveRefreshToken().set(refreshToken)