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