diff --git a/app/src/main/java/org/linphone/ui/main/fragment/DrawerMenuFragment.kt b/app/src/main/java/org/linphone/ui/main/fragment/DrawerMenuFragment.kt index e371f13fc..9c120afd1 100644 --- a/app/src/main/java/org/linphone/ui/main/fragment/DrawerMenuFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/fragment/DrawerMenuFragment.kt @@ -36,6 +36,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.R import org.linphone.core.Account import org.linphone.core.tools.Log @@ -94,6 +95,18 @@ class DrawerMenuFragment : GenericMainFragment() { (requireActivity() as MainActivity).closeDrawerMenu() } + binding.setQuitClickedListener { + coreContext.stopKeepAliveService() + + coreContext.postOnCoreThread { + Log.i("$TAG Stopping Core Context") + coreContext.quitSafely() + } + + Log.i("$TAG Quitting app") + requireActivity().finishAndRemoveTask() + } + viewModel.startAssistantEvent.observe(viewLifecycleOwner) { it.consume { startActivity(Intent(requireActivity(), AssistantActivity::class.java)) diff --git a/app/src/main/java/org/linphone/ui/main/help/fragment/HelpFragment.kt b/app/src/main/java/org/linphone/ui/main/help/fragment/HelpFragment.kt index 0668d6b42..5080f47a7 100644 --- a/app/src/main/java/org/linphone/ui/main/help/fragment/HelpFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/help/fragment/HelpFragment.kt @@ -28,7 +28,6 @@ import android.view.ViewGroup import androidx.annotation.UiThread import androidx.navigation.fragment.findNavController import androidx.navigation.navGraphViewModels -import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.R import org.linphone.core.tools.Log import org.linphone.databinding.HelpFragmentBinding @@ -74,18 +73,6 @@ class HelpFragment : GenericMainFragment() { findNavController().navigate(action) } - binding.setQuitClickListener { - coreContext.stopKeepAliveService() - - coreContext.postOnCoreThread { - Log.i("$TAG Stopping Core Context") - coreContext.quitSafely() - } - - Log.i("$TAG Quitting app") - requireActivity().finishAndRemoveTask() - } - binding.setPrivacyPolicyClickListener { val url = getString(R.string.website_privacy_policy_url) try { diff --git a/app/src/main/java/org/linphone/ui/main/viewmodel/DrawerMenuViewModel.kt b/app/src/main/java/org/linphone/ui/main/viewmodel/DrawerMenuViewModel.kt index af2784337..72d56c47a 100644 --- a/app/src/main/java/org/linphone/ui/main/viewmodel/DrawerMenuViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/viewmodel/DrawerMenuViewModel.kt @@ -50,6 +50,8 @@ class DrawerMenuViewModel @UiThread constructor() : GenericViewModel() { val shortcuts = MutableLiveData>() + val hideQuitButton = MutableLiveData() + val startAssistantEvent: MutableLiveData> by lazy { MutableLiveData>() } @@ -124,6 +126,7 @@ class DrawerMenuViewModel @UiThread constructor() : GenericViewModel() { hideRecordings.postValue(corePreferences.disableCallRecordings) hideSettings.postValue(corePreferences.hideSettings) + hideQuitButton.postValue(!corePreferences.keepServiceAlive) computeAccountsList() computeShortcuts() diff --git a/app/src/main/res/layout/drawer_menu.xml b/app/src/main/res/layout/drawer_menu.xml index 1709ebbfa..44b79dbd3 100644 --- a/app/src/main/res/layout/drawer_menu.xml +++ b/app/src/main/res/layout/drawer_menu.xml @@ -13,6 +13,9 @@ + @@ -206,6 +209,37 @@ app:drawableTint="?attr/color_main2_500" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintBottom_toTopOf="@id/separator_2" /> + + + + diff --git a/app/src/main/res/layout/help_fragment.xml b/app/src/main/res/layout/help_fragment.xml index a97412ab5..6f13c154c 100644 --- a/app/src/main/res/layout/help_fragment.xml +++ b/app/src/main/res/layout/help_fragment.xml @@ -20,9 +20,6 @@ - @@ -309,34 +306,6 @@ app:layout_constraintStart_toEndOf="@id/debug_icon" app:layout_constraintEnd_toEndOf="parent"/> - - - -