settings: Open compose permission rationale fragment from settings

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2025-11-30 19:17:44 +08:00
parent 709e0ec1ca
commit 82ec033b0e
3 changed files with 11 additions and 5 deletions

View File

@@ -79,7 +79,10 @@ fun NavDisplay(startDestination: NavKey) {
}
entry<Screen.PermissionRationale> { screen ->
PermissionRationaleScreen(onNavigateUp = ::onNavigateUp)
PermissionRationaleScreen(
onNavigateUp = ::onNavigateUp,
requiredPermissions = screen.requiredPermissions
)
}
entry<Screen.Downloads> {

View File

@@ -35,9 +35,7 @@ sealed class Screen : NavKey, Parcelable {
data object Search : Screen()
@Serializable
data class PermissionRationale(
val requiredPermissions: Set<PermissionType> = emptySet()
) : Screen()
data class PermissionRationale(val requiredPermissions: Set<PermissionType>) : Screen()
@Serializable
data object Downloads : Screen()

View File

@@ -25,7 +25,10 @@ import androidx.appcompat.widget.Toolbar
import androidx.navigation.fragment.findNavController
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import com.aurora.extensions.navigate
import com.aurora.store.R
import com.aurora.store.compose.navigation.Screen
import com.aurora.store.data.model.PermissionType
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
@@ -35,7 +38,9 @@ class SettingsFragment : PreferenceFragmentCompat() {
setPreferencesFromResource(R.xml.preferences_settings, rootKey)
findPreference<Preference>("pref_perms")?.setOnPreferenceClickListener {
TODO()
requireContext().navigate(
Screen.PermissionRationale(requiredPermissions = PermissionType.entries.toSet())
)
true
}
findPreference<Preference>("pref_install")?.setOnPreferenceClickListener {