1
0
Fork 0
seedvault/app/src/main/java/com/stevesoltys/backup/settings/SettingsViewModel.kt

28 lines
997 B
Kotlin
Raw Normal View History

package com.stevesoltys.backup.settings
import android.app.Application
import android.content.Intent
import android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION
import android.content.Intent.FLAG_GRANT_WRITE_URI_PERMISSION
import androidx.lifecycle.AndroidViewModel
class SettingsViewModel(application: Application) : AndroidViewModel(application) {
private val app = application
fun recoveryCodeIsSet() = getBackupPassword(getApplication()) != null
fun locationIsSet() = getBackupFolderUri(getApplication()) != null
fun handleChooseFolderResult(result: Intent?) {
val folderUri = result?.data ?: return
// persist permission to access backup folder across reboots
val takeFlags = result.flags and (FLAG_GRANT_READ_URI_PERMISSION or FLAG_GRANT_WRITE_URI_PERMISSION)
app.contentResolver.takePersistableUriPermission(folderUri, takeFlags)
// store backup folder location in settings
setBackupFolderUri(app, folderUri)
}
}