From 8bd156dea6e87eb667f76f4738fde992323ce0cf Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Tue, 12 Jan 2021 11:19:28 +0530 Subject: Rework settings to use ModernAndroidPreferences (#1236) Co-authored-by: Fabian Henneke --- .../aps/ui/onboarding/fragments/RepoLocationFragment.kt | 12 +++++++----- .../msfjarvis/aps/ui/onboarding/fragments/WelcomeFragment.kt | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'app/src/main/java/dev/msfjarvis/aps/ui/onboarding') diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/onboarding/fragments/RepoLocationFragment.kt b/app/src/main/java/dev/msfjarvis/aps/ui/onboarding/fragments/RepoLocationFragment.kt index 08090d1b..37c23cea 100644 --- a/app/src/main/java/dev/msfjarvis/aps/ui/onboarding/fragments/RepoLocationFragment.kt +++ b/app/src/main/java/dev/msfjarvis/aps/ui/onboarding/fragments/RepoLocationFragment.kt @@ -19,9 +19,9 @@ import com.github.michaelbull.result.onFailure import com.github.michaelbull.result.runCatching import com.google.android.material.dialog.MaterialAlertDialogBuilder import dev.msfjarvis.aps.R -import dev.msfjarvis.aps.ui.settings.UserPreference import dev.msfjarvis.aps.databinding.FragmentRepoLocationBinding import dev.msfjarvis.aps.data.repo.PasswordRepository +import dev.msfjarvis.aps.ui.settings.DirectorySelectionActivity import dev.msfjarvis.aps.util.settings.PasswordSortOrder import dev.msfjarvis.aps.util.settings.PreferenceKeys import dev.msfjarvis.aps.util.extensions.finish @@ -31,11 +31,13 @@ import dev.msfjarvis.aps.util.extensions.listFilesRecursively import dev.msfjarvis.aps.util.extensions.performTransactionWithBackStack import dev.msfjarvis.aps.util.extensions.sharedPrefs import dev.msfjarvis.aps.util.extensions.viewBinding +import android.content.Intent import java.io.File class RepoLocationFragment : Fragment(R.layout.fragment_repo_location) { private val settings by lazy(LazyThreadSafetyMode.NONE) { requireActivity().applicationContext.sharedPrefs } + private val directorySelectIntent by lazy(LazyThreadSafetyMode.NONE) { Intent(requireContext(), DirectorySelectionActivity::class.java) } private val binding by viewBinding(FragmentRepoLocationBinding::bind) private val sortOrder: PasswordSortOrder get() = PasswordSortOrder.getSortOrder(settings) @@ -57,7 +59,7 @@ class RepoLocationFragment : Fragment(R.layout.fragment_repo_location) { } private val externalDirPermGrantedAction = createPermGrantedAction { - externalDirectorySelectAction.launch(UserPreference.createDirectorySelectionIntent(requireContext())) + externalDirectorySelectAction.launch(directorySelectIntent) } private val repositoryUsePermGrantedAction = createPermGrantedAction { @@ -65,7 +67,7 @@ class RepoLocationFragment : Fragment(R.layout.fragment_repo_location) { } private val repositoryChangePermGrantedAction = createPermGrantedAction { - repositoryInitAction.launch(UserPreference.createDirectorySelectionIntent(requireContext())) + repositoryInitAction.launch(directorySelectIntent) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { @@ -102,7 +104,7 @@ class RepoLocationFragment : Fragment(R.layout.fragment_repo_location) { } else { // Unlikely we have storage permissions without user ever selecting a directory, // but let's not assume. - externalDirectorySelectAction.launch(UserPreference.createDirectorySelectionIntent(requireContext())) + externalDirectorySelectAction.launch(directorySelectIntent) } } else { MaterialAlertDialogBuilder(requireActivity()) @@ -119,7 +121,7 @@ class RepoLocationFragment : Fragment(R.layout.fragment_repo_location) { if (!isPermissionGranted(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { repositoryChangePermGrantedAction.launch(Manifest.permission.WRITE_EXTERNAL_STORAGE) } else { - repositoryInitAction.launch(UserPreference.createDirectorySelectionIntent(requireContext())) + repositoryInitAction.launch(directorySelectIntent) } } .show() diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/onboarding/fragments/WelcomeFragment.kt b/app/src/main/java/dev/msfjarvis/aps/ui/onboarding/fragments/WelcomeFragment.kt index 696aba17..34459208 100644 --- a/app/src/main/java/dev/msfjarvis/aps/ui/onboarding/fragments/WelcomeFragment.kt +++ b/app/src/main/java/dev/msfjarvis/aps/ui/onboarding/fragments/WelcomeFragment.kt @@ -11,8 +11,8 @@ import android.view.View import androidx.annotation.Keep import androidx.fragment.app.Fragment import dev.msfjarvis.aps.R -import dev.msfjarvis.aps.ui.settings.UserPreference import dev.msfjarvis.aps.databinding.FragmentWelcomeBinding +import dev.msfjarvis.aps.ui.settings.SettingsActivity import dev.msfjarvis.aps.util.extensions.performTransactionWithBackStack import dev.msfjarvis.aps.util.extensions.viewBinding @@ -25,6 +25,6 @@ class WelcomeFragment : Fragment(R.layout.fragment_welcome) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) binding.letsGo.setOnClickListener { parentFragmentManager.performTransactionWithBackStack(CloneFragment.newInstance()) } - binding.settingsButton.setOnClickListener { startActivity(Intent(requireContext(), UserPreference::class.java)) } + binding.settingsButton.setOnClickListener { startActivity(Intent(requireContext(), SettingsActivity::class.java)) } } } -- cgit v1.2.3