From 3f24e739783a7c5dc9775020e8cbf8b87b114e88 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 5 Oct 2023 10:09:23 +0200 Subject: [PATCH] Added grant all button on permissions fragment --- .../ui/assistant/fragment/LoginFragment.kt | 12 ++++++++++ .../assistant/fragment/PermissionsFragment.kt | 12 ++++++++++ .../layout/assistant_permissions_fragment.xml | 23 +++++++++++++++++++ app/src/main/res/values/strings.xml | 1 + 4 files changed, 48 insertions(+) diff --git a/app/src/main/java/org/linphone/ui/assistant/fragment/LoginFragment.kt b/app/src/main/java/org/linphone/ui/assistant/fragment/LoginFragment.kt index b12a24827..e02199863 100644 --- a/app/src/main/java/org/linphone/ui/assistant/fragment/LoginFragment.kt +++ b/app/src/main/java/org/linphone/ui/assistant/fragment/LoginFragment.kt @@ -25,6 +25,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.activity.OnBackPressedCallback import androidx.annotation.UiThread import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope @@ -54,6 +55,12 @@ class LoginFragment : Fragment() { R.id.assistant_nav_graph ) + private val onBackPressedCallback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + goBack() + } + } + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -69,6 +76,11 @@ class LoginFragment : Fragment() { binding.lifecycleOwner = viewLifecycleOwner binding.viewModel = viewModel + requireActivity().onBackPressedDispatcher.addCallback( + viewLifecycleOwner, + onBackPressedCallback + ) + binding.setBackClickListener { goBack() } diff --git a/app/src/main/java/org/linphone/ui/assistant/fragment/PermissionsFragment.kt b/app/src/main/java/org/linphone/ui/assistant/fragment/PermissionsFragment.kt index f35a1f196..0ea622a61 100644 --- a/app/src/main/java/org/linphone/ui/assistant/fragment/PermissionsFragment.kt +++ b/app/src/main/java/org/linphone/ui/assistant/fragment/PermissionsFragment.kt @@ -126,6 +126,18 @@ class PermissionsFragment : Fragment() { goToLoginFragment() } + binding.setGrantAllClickListener { + Log.i("$TAG Requesting all permissions") + requestPermissionLauncher.launch( + arrayOf( + Manifest.permission.READ_CONTACTS, + Manifest.permission.POST_NOTIFICATIONS, + Manifest.permission.RECORD_AUDIO, + Manifest.permission.CAMERA + ) + ) + } + if (ContextCompat.checkSelfPermission( requireContext(), Manifest.permission.MANAGE_OWN_CALLS diff --git a/app/src/main/res/layout/assistant_permissions_fragment.xml b/app/src/main/res/layout/assistant_permissions_fragment.xml index 713d4d1dc..4936024bd 100644 --- a/app/src/main/res/layout/assistant_permissions_fragment.xml +++ b/app/src/main/res/layout/assistant_permissions_fragment.xml @@ -23,6 +23,9 @@ + @@ -272,6 +275,26 @@ app:layout_constraintTop_toBottomOf="@id/access_camera_switch" app:layout_constraintBottom_toBottomOf="parent"/> + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 89f52ef56..5cd9c2d91 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -153,6 +153,7 @@ Wrong username or password Failed to login: error code is %i Grant permissions + Grant all To be able to work properly, we need you to grand the application the following permissions.\n\nIf you don\'t, some features won\'t be available, but you can grant them later. Read contacts