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.