mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Add a way to go to Help page from assistant
This commit is contained in:
parent
bb81957aab
commit
028ece407c
10 changed files with 109 additions and 22 deletions
|
|
@ -78,6 +78,14 @@ class LandingFragment : GenericFragment() {
|
|||
requireActivity().finish()
|
||||
}
|
||||
|
||||
binding.setHelpClickListener {
|
||||
if (findNavController().currentDestination?.id == R.id.landingFragment) {
|
||||
val action =
|
||||
LandingFragmentDirections.actionLandingFragmentToHelpFragment()
|
||||
findNavController().navigate(action)
|
||||
}
|
||||
}
|
||||
|
||||
binding.setRegisterClickListener {
|
||||
if (viewModel.conditionsAndPrivacyPolicyAccepted) {
|
||||
goToRegisterFragment()
|
||||
|
|
|
|||
|
|
@ -66,7 +66,6 @@ import org.linphone.databinding.MainActivityBinding
|
|||
import org.linphone.ui.GenericActivity
|
||||
import org.linphone.ui.assistant.AssistantActivity
|
||||
import org.linphone.ui.main.chat.fragment.ConversationsListFragmentDirections
|
||||
import org.linphone.ui.main.help.fragment.DebugFragmentDirections
|
||||
import org.linphone.utils.PasswordDialogModel
|
||||
import org.linphone.ui.main.sso.fragment.SingleSignOnFragmentDirections
|
||||
import org.linphone.ui.main.viewmodel.MainViewModel
|
||||
|
|
@ -722,8 +721,13 @@ class MainActivity : GenericActivity() {
|
|||
sharedViewModel.showConversationEvent.value = Event(conversationId)
|
||||
}
|
||||
|
||||
val action = DebugFragmentDirections.actionDebugFragmentToConversationsListFragment()
|
||||
findNavController().navigate(action)
|
||||
val action = ConversationsListFragmentDirections.actionGlobalConversationsListFragment()
|
||||
val options = NavOptions.Builder()
|
||||
options.apply {
|
||||
setPopUpTo(R.id.helpFragment, true)
|
||||
setLaunchSingleTop(true)
|
||||
}
|
||||
findNavController().navigate(action, options.build())
|
||||
} else {
|
||||
val conversationId = parseShortcutIfAny(intent)
|
||||
if (conversationId != null) {
|
||||
|
|
|
|||
|
|
@ -28,22 +28,22 @@ import android.os.Bundle
|
|||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.navGraphViewModels
|
||||
import org.linphone.R
|
||||
import org.linphone.core.tools.Log
|
||||
import org.linphone.databinding.HelpDebugFragmentBinding
|
||||
import org.linphone.ui.GenericActivity
|
||||
import org.linphone.ui.assistant.AssistantActivity
|
||||
import org.linphone.ui.fileviewer.FileViewerActivity
|
||||
import org.linphone.ui.main.MainActivity
|
||||
import org.linphone.ui.main.fragment.GenericMainFragment
|
||||
import org.linphone.ui.main.help.viewmodel.HelpViewModel
|
||||
|
||||
class DebugFragment : GenericMainFragment() {
|
||||
private lateinit var binding: HelpDebugFragmentBinding
|
||||
|
||||
val viewModel: HelpViewModel by navGraphViewModels(
|
||||
R.id.main_nav_graph
|
||||
)
|
||||
private lateinit var viewModel: HelpViewModel
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
|
|
@ -57,9 +57,13 @@ class DebugFragment : GenericMainFragment() {
|
|||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
viewModel = ViewModelProvider(this)[HelpViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
observeToastEvents(viewModel)
|
||||
|
||||
viewModel.canConfigFileBeViewed.postValue(requireActivity() is MainActivity)
|
||||
|
||||
binding.setBackClickListener {
|
||||
goBack()
|
||||
}
|
||||
|
|
@ -91,6 +95,13 @@ class DebugFragment : GenericMainFragment() {
|
|||
|
||||
viewModel.uploadDebugLogsFinishedEvent.observe(viewLifecycleOwner) {
|
||||
it.consume { url ->
|
||||
if (requireActivity() is AssistantActivity) {
|
||||
val clipboard = requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
val label = "Logs upload URL"
|
||||
clipboard.setPrimaryClip(ClipData.newPlainText(label, url))
|
||||
return@consume
|
||||
}
|
||||
|
||||
val appName = requireContext().getString(R.string.app_name)
|
||||
val intent = Intent(Intent.ACTION_SEND)
|
||||
intent.putExtra(
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@ import android.view.View
|
|||
import android.view.ViewGroup
|
||||
import androidx.annotation.UiThread
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.navGraphViewModels
|
||||
import org.linphone.R
|
||||
import org.linphone.core.tools.Log
|
||||
import org.linphone.databinding.HelpFragmentBinding
|
||||
|
|
@ -37,6 +36,7 @@ import org.linphone.ui.main.help.viewmodel.HelpViewModel
|
|||
import org.linphone.utils.ConfirmationDialogModel
|
||||
import org.linphone.utils.DialogUtils
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
|
||||
@UiThread
|
||||
class HelpFragment : GenericMainFragment() {
|
||||
|
|
@ -46,9 +46,7 @@ class HelpFragment : GenericMainFragment() {
|
|||
|
||||
private lateinit var binding: HelpFragmentBinding
|
||||
|
||||
val viewModel: HelpViewModel by navGraphViewModels(
|
||||
R.id.main_nav_graph
|
||||
)
|
||||
private lateinit var viewModel: HelpViewModel
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
|
|
@ -62,6 +60,8 @@ class HelpFragment : GenericMainFragment() {
|
|||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
viewModel = ViewModelProvider(this)[HelpViewModel::class.java]
|
||||
binding.viewModel = viewModel
|
||||
observeToastEvents(viewModel)
|
||||
|
||||
|
|
|
|||
|
|
@ -62,6 +62,8 @@ class HelpViewModel
|
|||
|
||||
val logsUploadInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val canConfigFileBeViewed = MutableLiveData<Boolean>()
|
||||
|
||||
val newVersionAvailableEvent: MutableLiveData<Event<Pair<String, String>>> by lazy {
|
||||
MutableLiveData<Event<Pair<String, String>>>()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@
|
|||
<variable
|
||||
name="backClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="helpClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="forgottenPasswordClickListener"
|
||||
type="View.OnClickListener" />
|
||||
|
|
@ -80,6 +83,23 @@
|
|||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/back"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style"
|
||||
android:id="@+id/help"
|
||||
android:onClick="@{helpClickListener}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:text="@string/help_title"
|
||||
android:textSize="14sp"
|
||||
android:textColor="?attr/color_main2_500"
|
||||
android:drawableStart="@drawable/question"
|
||||
android:drawablePadding="5dp"
|
||||
app:drawableTint="?attr/color_main2_500"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style"
|
||||
android:id="@+id/no_account_yet"
|
||||
|
|
@ -102,15 +122,14 @@
|
|||
android:onClick="@{registerClickListener}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="40dp"
|
||||
android:layout_marginEnd="40dp"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="20dp"
|
||||
android:text="@string/assistant_account_register"
|
||||
android:visibility="@{viewModel.hideCreateAccount ? View.GONE : View.VISIBLE}"
|
||||
app:layout_constraintVertical_bias="1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/title"
|
||||
app:layout_constraintBottom_toBottomOf="@id/title"/>
|
||||
app:layout_constraintTop_toBottomOf="@id/help"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/header_style"
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@
|
|||
<variable
|
||||
name="backClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="helpClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="forgottenPasswordClickListener"
|
||||
type="View.OnClickListener" />
|
||||
|
|
@ -60,6 +63,23 @@
|
|||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style"
|
||||
android:id="@+id/help"
|
||||
android:onClick="@{helpClickListener}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:text="@string/help_title"
|
||||
android:textSize="14sp"
|
||||
android:textColor="?attr/color_main2_500"
|
||||
android:drawableStart="@drawable/question"
|
||||
android:drawablePadding="5dp"
|
||||
app:drawableTint="?attr/color_main2_500"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/title"
|
||||
app:layout_constraintBottom_toBottomOf="@id/title"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/header_style"
|
||||
android:id="@+id/sip_identity_label"
|
||||
|
|
|
|||
|
|
@ -291,6 +291,7 @@
|
|||
android:text="@string/help_troubleshooting_show_config_file"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:visibility="@{viewModel.canConfigFileBeViewed ? View.VISIBLE : View.GONE, default=gone}"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/firebase_project_subtitle"/>
|
||||
|
||||
|
|
|
|||
|
|
@ -144,6 +144,14 @@
|
|||
app:launchSingleTop="true"
|
||||
app:popUpTo="@id/landingFragment"
|
||||
app:popUpToInclusive="true"/>
|
||||
<action
|
||||
android:id="@+id/action_landingFragment_to_helpFragment"
|
||||
app:destination="@id/helpFragment"
|
||||
app:enterAnim="@anim/slide_in_right"
|
||||
app:exitAnim="@anim/slide_out_left"
|
||||
app:popEnterAnim="@anim/slide_in_left"
|
||||
app:popExitAnim="@anim/slide_out_right"
|
||||
app:launchSingleTop="true" />
|
||||
|
||||
</fragment>
|
||||
|
||||
|
|
@ -169,4 +177,25 @@
|
|||
app:enterAnim="@anim/slide_in"
|
||||
app:popExitAnim="@anim/slide_out" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/helpFragment"
|
||||
android:name="org.linphone.ui.main.help.fragment.HelpFragment"
|
||||
android:label="HelpFragment"
|
||||
tools:layout="@layout/help_fragment">
|
||||
<action
|
||||
android:id="@+id/action_helpFragment_to_debugFragment"
|
||||
app:destination="@id/debugFragment"
|
||||
app:enterAnim="@anim/slide_in_right"
|
||||
app:exitAnim="@anim/slide_out_left"
|
||||
app:popEnterAnim="@anim/slide_in_left"
|
||||
app:popExitAnim="@anim/slide_out_right"
|
||||
app:launchSingleTop="true" />
|
||||
</fragment>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/debugFragment"
|
||||
android:name="org.linphone.ui.main.help.fragment.DebugFragment"
|
||||
android:label="DebugFragment"
|
||||
tools:layout="@layout/help_debug_fragment"/>
|
||||
|
||||
</navigation>
|
||||
|
|
@ -236,14 +236,7 @@
|
|||
android:id="@+id/debugFragment"
|
||||
android:name="org.linphone.ui.main.help.fragment.DebugFragment"
|
||||
android:label="DebugFragment"
|
||||
tools:layout="@layout/help_debug_fragment" >
|
||||
<action
|
||||
android:id="@+id/action_debugFragment_to_conversationsListFragment"
|
||||
app:destination="@id/conversationsListFragment"
|
||||
app:launchSingleTop="true"
|
||||
app:popUpTo="@id/helpFragment"
|
||||
app:popUpToInclusive="true"/>
|
||||
</fragment>
|
||||
tools:layout="@layout/help_debug_fragment"/>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/accountSettingsFragment"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue