SettingsFragment: Add preference for permissions fragment

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-12-31 13:51:06 +07:00
parent e766c8000b
commit 825ed174b2
7 changed files with 75 additions and 2 deletions

View File

@@ -74,7 +74,7 @@ class OnboardingFragment : BaseFragment<FragmentOnboardingBinding>() {
override fun createFragment(position: Int): Fragment {
when (position) {
0 -> return WelcomeFragment()
1 -> return PermissionsFragment()
1 -> return PermissionsFragment.newInstance()
2 -> return AppLinksFragment()
}
return Fragment()

View File

@@ -22,6 +22,10 @@ package com.aurora.store.view.ui.onboarding
import android.os.Bundle
import android.view.View
import androidx.core.os.bundleOf
import androidx.core.view.isVisible
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
import com.aurora.extensions.isMAndAbove
import com.aurora.extensions.isOAndAbove
import com.aurora.extensions.isRAndAbove
@@ -39,8 +43,27 @@ import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
class PermissionsFragment : BaseFragment<FragmentOnboardingPermissionsBinding>() {
private val args: PermissionsFragmentArgs by navArgs()
companion object {
fun newInstance(isOnboarding: Boolean = true): PermissionsFragment {
return PermissionsFragment().apply {
arguments = bundleOf("isOnboarding" to isOnboarding)
}
}
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// Headers are only visible if we are onboarding
binding.title?.isVisible = args.isOnboarding
binding.subtitle?.isVisible = args.isOnboarding
binding.toolbar?.apply {
isVisible = !args.isOnboarding
setNavigationOnClickListener { findNavController().navigateUp() }
}
updateController()
}

View File

@@ -34,6 +34,12 @@ class SettingsFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.preferences_settings, rootKey)
findPreference<Preference>("pref_perms")?.setOnPreferenceClickListener {
findNavController().navigate(
SettingsFragmentDirections.actionSettingsFragmentToPermissionsFragment(false)
)
true
}
findPreference<Preference>("pref_install")?.setOnPreferenceClickListener {
findNavController().navigate(R.id.installationPreference)
true