Initialize activity result listeners in the fragment constructor.

This commit is contained in:
Isira Seneviratne 2023-02-03 18:58:44 +05:30
parent 423c257dd7
commit d2a6dd5c31

View File

@ -1,7 +1,6 @@
package com.github.libretube.ui.preferences
import android.os.Bundle
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.result.contract.ActivityResultContracts.CreateDocument
import androidx.preference.Preference
@ -20,44 +19,35 @@ class BackupRestoreSettings : BasePreferenceFragment() {
override val titleResourceId: Int = R.string.backup_restore
// backup and restore database
private lateinit var getBackupFile: ActivityResultLauncher<String>
private lateinit var createBackupFile: ActivityResultLauncher<String>
private val getBackupFile = registerForActivityResult(ActivityResultContracts.GetContent()) {
BackupHelper.restoreAdvancedBackup(requireContext(), it)
}
private val createBackupFile = registerForActivityResult(CreateDocument(JSON)) {
BackupHelper.createAdvancedBackup(requireContext(), it, backupFile)
}
private var backupFile = BackupFile()
/**
* result listeners for importing and exporting subscriptions
*/
private lateinit var getSubscriptionsFile: ActivityResultLauncher<String>
private lateinit var createSubscriptionsFile: ActivityResultLauncher<String>
private val getSubscriptionsFile = registerForActivityResult(
ActivityResultContracts.GetContent()
) {
ImportHelper.importSubscriptions(requireActivity(), it)
}
private val createSubscriptionsFile = registerForActivityResult(CreateDocument(JSON)) {
ImportHelper.exportSubscriptions(requireActivity(), it)
}
/**
* result listeners for importing and exporting playlists
*/
private lateinit var getPlaylistsFile: ActivityResultLauncher<String>
private lateinit var createPlaylistsFile: ActivityResultLauncher<String>
override fun onCreate(savedInstanceState: Bundle?) {
getSubscriptionsFile = registerForActivityResult(ActivityResultContracts.GetContent()) {
ImportHelper.importSubscriptions(requireActivity(), it)
}
createSubscriptionsFile = registerForActivityResult(CreateDocument(JSON)) {
ImportHelper.exportSubscriptions(requireActivity(), it)
}
getPlaylistsFile = registerForActivityResult(ActivityResultContracts.GetContent()) {
private val getPlaylistsFile = registerForActivityResult(ActivityResultContracts.GetContent()) {
ImportHelper.importPlaylists(requireActivity(), it)
}
createPlaylistsFile = registerForActivityResult(CreateDocument(JSON)) {
private val createPlaylistsFile = registerForActivityResult(CreateDocument(JSON)) {
ImportHelper.exportPlaylists(requireActivity(), it)
}
getBackupFile = registerForActivityResult(ActivityResultContracts.GetContent()) {
BackupHelper.restoreAdvancedBackup(requireContext(), it)
}
createBackupFile = registerForActivityResult(CreateDocument(JSON)) {
BackupHelper.createAdvancedBackup(requireContext(), it, backupFile)
}
super.onCreate(savedInstanceState)
}
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.import_export_settings, rootKey)