From a5672785b1ca7e7d4ab6adbe25adba685ee658b9 Mon Sep 17 00:00:00 2001 From: Michael W Date: Tue, 31 May 2022 19:59:23 +0200 Subject: [PATCH] Tell user about non enabled backup * Pressing "Backup now" should not just ignore you when it's not actually enabled * Add a toast message telling you it's not enabled Fixes: #390 Change-Id: I5d698a244652e094b0acfc42cdea017a0af9a20b --- app/src/main/java/com/stevesoltys/seedvault/App.kt | 2 +- .../com/stevesoltys/seedvault/settings/SettingsViewModel.kt | 4 ++++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/stevesoltys/seedvault/App.kt b/app/src/main/java/com/stevesoltys/seedvault/App.kt index 7a053873..69d3b6dc 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/App.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/App.kt @@ -50,7 +50,7 @@ open class App : Application() { factory { IBackupManager.Stub.asInterface(getService(BACKUP_SERVICE)) } factory { AppListRetriever(this@App, get(), get(), get()) } - viewModel { SettingsViewModel(this@App, get(), get(), get(), get(), get(), get()) } + viewModel { SettingsViewModel(this@App, get(), get(), get(), get(), get(), get(), get()) } viewModel { RecoveryCodeViewModel(this@App, get(), get(), get(), get(), get(), get()) } viewModel { BackupStorageViewModel(this@App, get(), get(), get(), get()) } viewModel { RestoreStorageViewModel(this@App, get(), get()) } diff --git a/app/src/main/java/com/stevesoltys/seedvault/settings/SettingsViewModel.kt b/app/src/main/java/com/stevesoltys/seedvault/settings/SettingsViewModel.kt index 41bef224..8da4f9fc 100644 --- a/app/src/main/java/com/stevesoltys/seedvault/settings/SettingsViewModel.kt +++ b/app/src/main/java/com/stevesoltys/seedvault/settings/SettingsViewModel.kt @@ -1,6 +1,7 @@ package com.stevesoltys.seedvault.settings import android.app.Application +import android.app.backup.IBackupManager import android.app.job.JobInfo.NETWORK_TYPE_NONE import android.app.job.JobInfo.NETWORK_TYPE_UNMETERED import android.content.Intent @@ -49,6 +50,7 @@ internal class SettingsViewModel( private val metadataManager: MetadataManager, private val appListRetriever: AppListRetriever, private val storageBackup: StorageBackup, + private val backupManager: IBackupManager, ) : RequireProvisioningViewModel(app, settingsManager, keyManager) { private val contentResolver = app.contentResolver @@ -157,6 +159,8 @@ internal class SettingsViewModel( // maybe replace the check below with one that checks if our transport service is running if (notificationManager.hasActiveBackupNotifications()) { Toast.makeText(app, R.string.notification_backup_already_running, LENGTH_LONG).show() + } else if (!backupManager.isBackupEnabled) { + Toast.makeText(app, R.string.notification_backup_disabled, LENGTH_LONG).show() } else viewModelScope.launch(Dispatchers.IO) { if (settingsManager.isStorageBackupEnabled()) { val i = Intent(app, StorageBackupService::class.java) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3fdac732..d69a44ef 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -111,6 +111,7 @@ Backup notification Backup running Backup already in progress + Backup not enabled Backup finished %1$d of %2$d apps backed up. Tap to learn more.