Renamed history related code & layout

This commit is contained in:
Sylvain Berfini 2023-09-22 15:58:25 +02:00
parent 8011bd997c
commit 856e3542e8
49 changed files with 163 additions and 163 deletions

View file

@ -41,11 +41,11 @@ import org.linphone.R
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
import org.linphone.databinding.ContactFragmentBinding import org.linphone.databinding.ContactFragmentBinding
import org.linphone.ui.main.MainActivity import org.linphone.ui.main.MainActivity
import org.linphone.ui.main.calls.model.ConfirmationDialogModel
import org.linphone.ui.main.contacts.model.NumberOrAddressPickerDialogModel import org.linphone.ui.main.contacts.model.NumberOrAddressPickerDialogModel
import org.linphone.ui.main.contacts.model.TrustCallDialogModel import org.linphone.ui.main.contacts.model.TrustCallDialogModel
import org.linphone.ui.main.contacts.viewmodel.ContactViewModel import org.linphone.ui.main.contacts.viewmodel.ContactViewModel
import org.linphone.ui.main.fragment.GenericFragment import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.ui.main.history.model.ConfirmationDialogModel
import org.linphone.utils.DialogUtils import org.linphone.utils.DialogUtils
import org.linphone.utils.Event import org.linphone.utils.Event

View file

@ -140,7 +140,7 @@ class ContactsFragment : GenericFragment() {
// To prevent any previously seen contact to show up when navigating back to here later // To prevent any previously seen contact to show up when navigating back to here later
binding.contactsNavContainer.findNavController().popBackStack() binding.contactsNavContainer.findNavController().popBackStack()
val action = ContactsFragmentDirections.actionContactsFragmentToCallsFragment() val action = ContactsFragmentDirections.actionContactsFragmentToHistoryFragment()
findNavController().navigate(action) findNavController().navigate(action)
} }
} }

View file

@ -41,10 +41,10 @@ import org.linphone.R
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
import org.linphone.databinding.ContactNewOrEditFragmentBinding import org.linphone.databinding.ContactNewOrEditFragmentBinding
import org.linphone.ui.main.MainActivity import org.linphone.ui.main.MainActivity
import org.linphone.ui.main.calls.model.ConfirmationDialogModel
import org.linphone.ui.main.contacts.model.NewOrEditNumberOrAddressModel import org.linphone.ui.main.contacts.model.NewOrEditNumberOrAddressModel
import org.linphone.ui.main.contacts.viewmodel.ContactNewOrEditViewModel import org.linphone.ui.main.contacts.viewmodel.ContactNewOrEditViewModel
import org.linphone.ui.main.fragment.GenericFragment import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.ui.main.history.model.ConfirmationDialogModel
import org.linphone.utils.DialogUtils import org.linphone.utils.DialogUtils
import org.linphone.utils.FileUtils import org.linphone.utils.FileUtils

View file

@ -40,10 +40,10 @@ import org.linphone.R
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
import org.linphone.databinding.ContactNewOrEditFragmentBinding import org.linphone.databinding.ContactNewOrEditFragmentBinding
import org.linphone.ui.main.MainActivity import org.linphone.ui.main.MainActivity
import org.linphone.ui.main.calls.model.ConfirmationDialogModel
import org.linphone.ui.main.contacts.model.NewOrEditNumberOrAddressModel import org.linphone.ui.main.contacts.model.NewOrEditNumberOrAddressModel
import org.linphone.ui.main.contacts.viewmodel.ContactNewOrEditViewModel import org.linphone.ui.main.contacts.viewmodel.ContactNewOrEditViewModel
import org.linphone.ui.main.fragment.GenericFragment import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.ui.main.history.model.ConfirmationDialogModel
import org.linphone.utils.DialogUtils import org.linphone.utils.DialogUtils
import org.linphone.utils.Event import org.linphone.utils.Event
import org.linphone.utils.FileUtils import org.linphone.utils.FileUtils

View file

@ -77,7 +77,7 @@ class BottomNavBarFragment : Fragment() {
} }
binding.setOnCallsClicked { binding.setOnCallsClicked {
if (sharedViewModel.currentlyDisplayedFragment.value != R.id.callsFragment) { if (sharedViewModel.currentlyDisplayedFragment.value != R.id.historyFragment) {
sharedViewModel.navigateToCallsEvent.value = Event(true) sharedViewModel.navigateToCallsEvent.value = Event(true)
} }
} }
@ -92,7 +92,7 @@ class BottomNavBarFragment : Fragment() {
sharedViewModel.currentlyDisplayedFragment.observe(viewLifecycleOwner) { sharedViewModel.currentlyDisplayedFragment.observe(viewLifecycleOwner) {
viewModel.contactsSelected.value = it == R.id.contactsFragment viewModel.contactsSelected.value = it == R.id.contactsFragment
viewModel.callsSelected.value = it == R.id.callsFragment viewModel.callsSelected.value = it == R.id.historyFragment
} }
sharedViewModel.resetMissedCallsCountEvent.observe(viewLifecycleOwner) { sharedViewModel.resetMissedCallsCountEvent.observe(viewLifecycleOwner) {

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.linphone.ui.main.calls.adapter package org.linphone.ui.main.history.adapter
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
@ -28,16 +28,16 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import org.linphone.R import org.linphone.R
import org.linphone.databinding.CallHistoryListCellBinding import org.linphone.databinding.HistoryContactListCellBinding
import org.linphone.ui.main.calls.model.CallLogHistoryModel import org.linphone.ui.main.history.model.CallLogHistoryModel
class CallHistoryListAdapter( class ContactHistoryListAdapter(
private val viewLifecycleOwner: LifecycleOwner private val viewLifecycleOwner: LifecycleOwner
) : ListAdapter<CallLogHistoryModel, RecyclerView.ViewHolder>(CallHistoryDiffCallback()) { ) : ListAdapter<CallLogHistoryModel, RecyclerView.ViewHolder>(CallHistoryDiffCallback()) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
val binding: CallHistoryListCellBinding = DataBindingUtil.inflate( val binding: HistoryContactListCellBinding = DataBindingUtil.inflate(
LayoutInflater.from(parent.context), LayoutInflater.from(parent.context),
R.layout.call_history_list_cell, R.layout.history_contact_list_cell,
parent, parent,
false false
) )
@ -45,11 +45,11 @@ class CallHistoryListAdapter(
} }
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
(holder as CallHistoryListAdapter.ViewHolder).bind(getItem(position)) (holder as ContactHistoryListAdapter.ViewHolder).bind(getItem(position))
} }
inner class ViewHolder( inner class ViewHolder(
val binding: CallHistoryListCellBinding val binding: HistoryContactListCellBinding
) : RecyclerView.ViewHolder(binding.root) { ) : RecyclerView.ViewHolder(binding.root) {
@UiThread @UiThread
fun bind(callLogHistoryModel: CallLogHistoryModel) { fun bind(callLogHistoryModel: CallLogHistoryModel) {

View file

@ -1,4 +1,4 @@
package org.linphone.ui.main.calls.adapter package org.linphone.ui.main.history.adapter
import android.content.Context import android.content.Context
import android.view.LayoutInflater import android.view.LayoutInflater
@ -12,10 +12,10 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import org.linphone.R import org.linphone.R
import org.linphone.databinding.CallSuggestionListCellBinding
import org.linphone.databinding.CallSuggestionListDecorationBinding
import org.linphone.databinding.ContactListCellBinding import org.linphone.databinding.ContactListCellBinding
import org.linphone.ui.main.calls.model.ContactOrSuggestionModel import org.linphone.databinding.StartCallSuggestionListCellBinding
import org.linphone.databinding.StartCallSuggestionListDecorationBinding
import org.linphone.ui.main.history.model.ContactOrSuggestionModel
import org.linphone.utils.AppUtils import org.linphone.utils.AppUtils
import org.linphone.utils.Event import org.linphone.utils.Event
import org.linphone.utils.HeaderAdapter import org.linphone.utils.HeaderAdapter
@ -50,7 +50,7 @@ class ContactsAndSuggestionsListAdapter(
} }
override fun getHeaderViewForPosition(context: Context, position: Int): View { override fun getHeaderViewForPosition(context: Context, position: Int): View {
val binding = CallSuggestionListDecorationBinding.inflate(LayoutInflater.from(context)) val binding = StartCallSuggestionListDecorationBinding.inflate(LayoutInflater.from(context))
binding.header.text = if (position == 0) { binding.header.text = if (position == 0) {
AppUtils.getString(R.string.call_start_contacts_list_title) AppUtils.getString(R.string.call_start_contacts_list_title)
} else { } else {
@ -76,9 +76,9 @@ class ContactsAndSuggestionsListAdapter(
ContactViewHolder(binding) ContactViewHolder(binding)
} }
else -> { else -> {
val binding: CallSuggestionListCellBinding = DataBindingUtil.inflate( val binding: StartCallSuggestionListCellBinding = DataBindingUtil.inflate(
LayoutInflater.from(parent.context), LayoutInflater.from(parent.context),
R.layout.call_suggestion_list_cell, R.layout.start_call_suggestion_list_cell,
parent, parent,
false false
) )
@ -116,7 +116,7 @@ class ContactsAndSuggestionsListAdapter(
} }
inner class SuggestionViewHolder( inner class SuggestionViewHolder(
val binding: CallSuggestionListCellBinding val binding: StartCallSuggestionListCellBinding
) : RecyclerView.ViewHolder(binding.root) { ) : RecyclerView.ViewHolder(binding.root) {
@UiThread @UiThread
fun bind(contactOrSuggestionModel: ContactOrSuggestionModel) { fun bind(contactOrSuggestionModel: ContactOrSuggestionModel) {

View file

@ -1,4 +1,4 @@
package org.linphone.ui.main.calls.adapter package org.linphone.ui.main.history.adapter
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
@ -10,11 +10,11 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import org.linphone.R import org.linphone.R
import org.linphone.databinding.CallListCellBinding import org.linphone.databinding.HistoryListCellBinding
import org.linphone.ui.main.calls.model.CallLogModel import org.linphone.ui.main.history.model.CallLogModel
import org.linphone.utils.Event import org.linphone.utils.Event
class CallsListAdapter( class HistoryListAdapter(
private val viewLifecycleOwner: LifecycleOwner private val viewLifecycleOwner: LifecycleOwner
) : ListAdapter<CallLogModel, RecyclerView.ViewHolder>(CallLogDiffCallback()) { ) : ListAdapter<CallLogModel, RecyclerView.ViewHolder>(CallLogDiffCallback()) {
var selectedAdapterPosition = -1 var selectedAdapterPosition = -1
@ -32,9 +32,9 @@ class CallsListAdapter(
} }
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
val binding: CallListCellBinding = DataBindingUtil.inflate( val binding: HistoryListCellBinding = DataBindingUtil.inflate(
LayoutInflater.from(parent.context), LayoutInflater.from(parent.context),
R.layout.call_list_cell, R.layout.history_list_cell,
parent, parent,
false false
) )
@ -51,7 +51,7 @@ class CallsListAdapter(
} }
inner class ViewHolder( inner class ViewHolder(
val binding: CallListCellBinding val binding: HistoryListCellBinding
) : RecyclerView.ViewHolder(binding.root) { ) : RecyclerView.ViewHolder(binding.root) {
@UiThread @UiThread
fun bind(callLogModel: CallLogModel) { fun bind(callLogModel: CallLogModel) {

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.linphone.ui.main.calls.fragment package org.linphone.ui.main.history.fragment
import android.content.ClipData import android.content.ClipData
import android.content.ClipboardManager import android.content.ClipboardManager
@ -37,34 +37,34 @@ import androidx.navigation.fragment.navArgs
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import org.linphone.R import org.linphone.R
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
import org.linphone.databinding.CallFragmentBinding import org.linphone.databinding.HistoryContactFragmentBinding
import org.linphone.databinding.CallPopupMenuBinding import org.linphone.databinding.HistoryContactPopupMenuBinding
import org.linphone.ui.main.MainActivity import org.linphone.ui.main.MainActivity
import org.linphone.ui.main.calls.adapter.CallHistoryListAdapter
import org.linphone.ui.main.calls.model.ConfirmationDialogModel
import org.linphone.ui.main.calls.viewmodel.CallLogViewModel
import org.linphone.ui.main.fragment.GenericFragment import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.ui.main.history.adapter.ContactHistoryListAdapter
import org.linphone.ui.main.history.model.ConfirmationDialogModel
import org.linphone.ui.main.history.viewmodel.ContactHistoryViewModel
import org.linphone.utils.DialogUtils import org.linphone.utils.DialogUtils
import org.linphone.utils.Event import org.linphone.utils.Event
@UiThread @UiThread
class CallFragment : GenericFragment() { class HistoryContactFragment : GenericFragment() {
companion object { companion object {
private const val TAG = "[Call Fragment]" private const val TAG = "[Call Fragment]"
} }
private lateinit var binding: CallFragmentBinding private lateinit var binding: HistoryContactFragmentBinding
private lateinit var viewModel: CallLogViewModel private lateinit var viewModel: ContactHistoryViewModel
private lateinit var adapter: CallHistoryListAdapter private lateinit var adapter: ContactHistoryListAdapter
private val args: CallFragmentArgs by navArgs() private val args: HistoryContactFragmentArgs by navArgs()
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
binding = CallFragmentBinding.inflate(layoutInflater) binding = HistoryContactFragmentBinding.inflate(layoutInflater)
return binding.root return binding.root
} }
@ -80,14 +80,14 @@ class CallFragment : GenericFragment() {
binding.lifecycleOwner = viewLifecycleOwner binding.lifecycleOwner = viewLifecycleOwner
viewModel = ViewModelProvider(this)[CallLogViewModel::class.java] viewModel = ViewModelProvider(this)[ContactHistoryViewModel::class.java]
binding.viewModel = viewModel binding.viewModel = viewModel
val callId = args.callId val callId = args.callId
Log.i("$TAG Looking up for call log with call id [$callId]") Log.i("$TAG Looking up for call log with call id [$callId]")
viewModel.findCallLogByCallId(callId) viewModel.findCallLogByCallId(callId)
adapter = CallHistoryListAdapter(viewLifecycleOwner) adapter = ContactHistoryListAdapter(viewLifecycleOwner)
binding.callHistory.setHasFixedSize(true) binding.callHistory.setHasFixedSize(true)
binding.callHistory.adapter = adapter binding.callHistory.adapter = adapter
@ -144,9 +144,9 @@ class CallFragment : GenericFragment() {
} }
private fun showPopupMenu() { private fun showPopupMenu() {
val popupView: CallPopupMenuBinding = DataBindingUtil.inflate( val popupView: HistoryContactPopupMenuBinding = DataBindingUtil.inflate(
LayoutInflater.from(requireContext()), LayoutInflater.from(requireContext()),
R.layout.call_popup_menu, R.layout.history_contact_popup_menu,
null, null,
false false
) )

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.linphone.ui.main.calls.fragment package org.linphone.ui.main.history.fragment
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
@ -32,24 +32,24 @@ import androidx.navigation.fragment.findNavController
import androidx.slidingpanelayout.widget.SlidingPaneLayout import androidx.slidingpanelayout.widget.SlidingPaneLayout
import org.linphone.R import org.linphone.R
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
import org.linphone.databinding.CallsFragmentBinding import org.linphone.databinding.HistoryFragmentBinding
import org.linphone.ui.main.fragment.GenericFragment import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.utils.SlidingPaneBackPressedCallback import org.linphone.utils.SlidingPaneBackPressedCallback
@UiThread @UiThread
class CallsFragment : GenericFragment() { class HistoryFragment : GenericFragment() {
companion object { companion object {
private const val TAG = "[Calls Fragment]" private const val TAG = "[Calls Fragment]"
} }
private lateinit var binding: CallsFragmentBinding private lateinit var binding: HistoryFragmentBinding
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
binding = CallsFragmentBinding.inflate(layoutInflater) binding = HistoryFragmentBinding.inflate(layoutInflater)
return binding.root return binding.root
} }
@ -116,8 +116,8 @@ class CallsFragment : GenericFragment() {
) { ) {
it.consume { callId -> it.consume { callId ->
Log.i("$TAG Displaying call log with call ID [$callId]") Log.i("$TAG Displaying call log with call ID [$callId]")
val navController = binding.callsNavContainer.findNavController() val navController = binding.historyNavContainer.findNavController()
val action = CallFragmentDirections.actionGlobalCallFragment( val action = HistoryContactFragmentDirections.actionGlobalHistoryContactFragment(
callId callId
) )
navController.navigate(action) navController.navigate(action)
@ -126,11 +126,11 @@ class CallsFragment : GenericFragment() {
sharedViewModel.navigateToContactsEvent.observe(viewLifecycleOwner) { sharedViewModel.navigateToContactsEvent.observe(viewLifecycleOwner) {
it.consume { it.consume {
if (findNavController().currentDestination?.id == R.id.callsFragment) { if (findNavController().currentDestination?.id == R.id.historyFragment) {
// To prevent any previously seen contact to show up when navigating back to here later // To prevent any previously seen contact to show up when navigating back to here later
binding.callsNavContainer.findNavController().popBackStack() binding.historyNavContainer.findNavController().popBackStack()
val action = CallsFragmentDirections.actionCallsFragmentToContactsFragment() val action = HistoryFragmentDirections.actionHistoryFragmentToContactsFragment()
findNavController().navigate(action) findNavController().navigate(action)
} }
} }
@ -139,6 +139,6 @@ class CallsFragment : GenericFragment() {
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
sharedViewModel.currentlyDisplayedFragment.value = R.id.callsFragment sharedViewModel.currentlyDisplayedFragment.value = R.id.historyFragment
} }
} }

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.linphone.ui.main.calls.fragment package org.linphone.ui.main.history.fragment
import android.content.ClipData import android.content.ClipData
import android.content.ClipboardManager import android.content.ClipboardManager
@ -36,36 +36,36 @@ import androidx.recyclerview.widget.LinearLayoutManager
import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.R import org.linphone.R
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
import org.linphone.databinding.CallsListFragmentBinding import org.linphone.databinding.HistoryListFragmentBinding
import org.linphone.databinding.CallsListPopupMenuBinding import org.linphone.databinding.HistoryListPopupMenuBinding
import org.linphone.ui.main.MainActivity import org.linphone.ui.main.MainActivity
import org.linphone.ui.main.calls.adapter.CallsListAdapter
import org.linphone.ui.main.calls.model.ConfirmationDialogModel
import org.linphone.ui.main.calls.viewmodel.CallsListViewModel
import org.linphone.ui.main.fragment.AbstractTopBarFragment import org.linphone.ui.main.fragment.AbstractTopBarFragment
import org.linphone.ui.main.history.adapter.HistoryListAdapter
import org.linphone.ui.main.history.model.ConfirmationDialogModel
import org.linphone.ui.main.history.viewmodel.HistoryListViewModel
import org.linphone.utils.DialogUtils import org.linphone.utils.DialogUtils
import org.linphone.utils.Event import org.linphone.utils.Event
import org.linphone.utils.hideKeyboard import org.linphone.utils.hideKeyboard
import org.linphone.utils.showKeyboard import org.linphone.utils.showKeyboard
@UiThread @UiThread
class CallsListFragment : AbstractTopBarFragment() { class HistoryListFragment : AbstractTopBarFragment() {
companion object { companion object {
private const val TAG = "[Calls List Fragment]" private const val TAG = "[Calls List Fragment]"
} }
private lateinit var binding: CallsListFragmentBinding private lateinit var binding: HistoryListFragmentBinding
private lateinit var listViewModel: CallsListViewModel private lateinit var listViewModel: HistoryListViewModel
private lateinit var adapter: CallsListAdapter private lateinit var adapter: HistoryListAdapter
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
binding = CallsListFragmentBinding.inflate(layoutInflater) binding = HistoryListFragmentBinding.inflate(layoutInflater)
return binding.root return binding.root
} }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@ -73,19 +73,19 @@ class CallsListFragment : AbstractTopBarFragment() {
postponeEnterTransition() postponeEnterTransition()
listViewModel = requireActivity().run { listViewModel = requireActivity().run {
ViewModelProvider(this)[CallsListViewModel::class.java] ViewModelProvider(this)[HistoryListViewModel::class.java]
} }
binding.lifecycleOwner = viewLifecycleOwner binding.lifecycleOwner = viewLifecycleOwner
binding.viewModel = listViewModel binding.viewModel = listViewModel
adapter = CallsListAdapter(viewLifecycleOwner) adapter = HistoryListAdapter(viewLifecycleOwner)
binding.callsList.setHasFixedSize(true) binding.historyList.setHasFixedSize(true)
binding.callsList.adapter = adapter binding.historyList.adapter = adapter
adapter.callLogLongClickedEvent.observe(viewLifecycleOwner) { adapter.callLogLongClickedEvent.observe(viewLifecycleOwner) {
it.consume { model -> it.consume { model ->
val modalBottomSheet = CallsListMenuDialogFragment( val modalBottomSheet = HistoryMenuDialogFragment(
model.friendExists, model.friendExists,
{ // onDismiss { // onDismiss
adapter.resetSelection() adapter.resetSelection()
@ -124,7 +124,7 @@ class CallsListFragment : AbstractTopBarFragment() {
listViewModel.applyFilter() listViewModel.applyFilter()
} }
) )
modalBottomSheet.show(parentFragmentManager, CallsListMenuDialogFragment.TAG) modalBottomSheet.show(parentFragmentManager, HistoryMenuDialogFragment.TAG)
} }
} }
@ -145,7 +145,7 @@ class CallsListFragment : AbstractTopBarFragment() {
} }
val layoutManager = LinearLayoutManager(requireContext()) val layoutManager = LinearLayoutManager(requireContext())
binding.callsList.layoutManager = layoutManager binding.historyList.layoutManager = layoutManager
listViewModel.callLogs.observe(viewLifecycleOwner) { listViewModel.callLogs.observe(viewLifecycleOwner) {
val currentCount = adapter.itemCount val currentCount = adapter.itemCount
@ -158,7 +158,7 @@ class CallsListFragment : AbstractTopBarFragment() {
sharedViewModel.callsListReadyToBeDisplayedEvent.value = Event(true) sharedViewModel.callsListReadyToBeDisplayedEvent.value = Event(true)
} }
} else if (currentCount < it.size) { } else if (currentCount < it.size) {
binding.callsList.scrollToPosition(0) binding.historyList.scrollToPosition(0)
} }
} }
@ -235,9 +235,9 @@ class CallsListFragment : AbstractTopBarFragment() {
} }
private fun showPopupMenu() { private fun showPopupMenu() {
val popupView: CallsListPopupMenuBinding = DataBindingUtil.inflate( val popupView: HistoryListPopupMenuBinding = DataBindingUtil.inflate(
LayoutInflater.from(requireContext()), LayoutInflater.from(requireContext()),
R.layout.calls_list_popup_menu, R.layout.history_list_popup_menu,
null, null,
false false
) )

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.linphone.ui.main.calls.fragment package org.linphone.ui.main.history.fragment
import android.content.DialogInterface import android.content.DialogInterface
import android.os.Bundle import android.os.Bundle
@ -26,10 +26,10 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.annotation.UiThread import androidx.annotation.UiThread
import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import org.linphone.databinding.CallsListLongPressMenuBinding import org.linphone.databinding.HistoryListLongPressMenuBinding
@UiThread @UiThread
class CallsListMenuDialogFragment( class HistoryMenuDialogFragment(
private val contactExists: Boolean, private val contactExists: Boolean,
private val onDismiss: (() -> Unit)? = null, private val onDismiss: (() -> Unit)? = null,
private val onAddToContact: (() -> Unit)? = null, private val onAddToContact: (() -> Unit)? = null,
@ -56,7 +56,7 @@ class CallsListMenuDialogFragment(
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
val view = CallsListLongPressMenuBinding.inflate(layoutInflater) val view = HistoryListLongPressMenuBinding.inflate(layoutInflater)
view.contactExists = contactExists view.contactExists = contactExists
view.setCopyNumberClickListener { view.setCopyNumberClickListener {

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.linphone.ui.main.calls.fragment package org.linphone.ui.main.history.fragment
import android.app.Dialog import android.app.Dialog
import android.os.Bundle import android.os.Bundle
@ -33,14 +33,14 @@ import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.R import org.linphone.R
import org.linphone.contacts.getListOfSipAddressesAndPhoneNumbers import org.linphone.contacts.getListOfSipAddressesAndPhoneNumbers
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
import org.linphone.databinding.CallStartFragmentBinding import org.linphone.databinding.StartCallFragmentBinding
import org.linphone.ui.main.calls.adapter.ContactsAndSuggestionsListAdapter
import org.linphone.ui.main.calls.model.ContactOrSuggestionModel
import org.linphone.ui.main.calls.viewmodel.StartCallViewModel
import org.linphone.ui.main.contacts.model.ContactNumberOrAddressClickListener import org.linphone.ui.main.contacts.model.ContactNumberOrAddressClickListener
import org.linphone.ui.main.contacts.model.ContactNumberOrAddressModel import org.linphone.ui.main.contacts.model.ContactNumberOrAddressModel
import org.linphone.ui.main.contacts.model.NumberOrAddressPickerDialogModel import org.linphone.ui.main.contacts.model.NumberOrAddressPickerDialogModel
import org.linphone.ui.main.fragment.GenericFragment import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.ui.main.history.adapter.ContactsAndSuggestionsListAdapter
import org.linphone.ui.main.history.model.ContactOrSuggestionModel
import org.linphone.ui.main.history.viewmodel.StartCallViewModel
import org.linphone.ui.main.model.isInSecureMode import org.linphone.ui.main.model.isInSecureMode
import org.linphone.utils.DialogUtils import org.linphone.utils.DialogUtils
import org.linphone.utils.RecyclerViewHeaderDecoration import org.linphone.utils.RecyclerViewHeaderDecoration
@ -54,7 +54,7 @@ class StartCallFragment : GenericFragment() {
private const val TAG = "[Start Call Fragment]" private const val TAG = "[Start Call Fragment]"
} }
private lateinit var binding: CallStartFragmentBinding private lateinit var binding: StartCallFragmentBinding
private val viewModel: StartCallViewModel by navGraphViewModels( private val viewModel: StartCallViewModel by navGraphViewModels(
R.id.main_nav_graph R.id.main_nav_graph
@ -85,7 +85,7 @@ class StartCallFragment : GenericFragment() {
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
binding = CallStartFragmentBinding.inflate(layoutInflater) binding = StartCallFragmentBinding.inflate(layoutInflater)
return binding.root return binding.root
} }

View file

@ -1,4 +1,4 @@
package org.linphone.ui.main.calls.model package org.linphone.ui.main.history.model
import androidx.annotation.IntegerRes import androidx.annotation.IntegerRes
import androidx.annotation.WorkerThread import androidx.annotation.WorkerThread

View file

@ -1,4 +1,4 @@
package org.linphone.ui.main.calls.model package org.linphone.ui.main.history.model
import androidx.annotation.IntegerRes import androidx.annotation.IntegerRes
import androidx.annotation.UiThread import androidx.annotation.UiThread

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.linphone.ui.main.calls.model package org.linphone.ui.main.history.model
import androidx.annotation.UiThread import androidx.annotation.UiThread
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.linphone.ui.main.calls.model package org.linphone.ui.main.history.model
import androidx.annotation.UiThread import androidx.annotation.UiThread
import androidx.annotation.WorkerThread import androidx.annotation.WorkerThread

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.linphone.ui.main.calls.model package org.linphone.ui.main.history.model
import androidx.annotation.UiThread import androidx.annotation.UiThread
import org.linphone.core.tools.Log import org.linphone.core.tools.Log

View file

@ -1,4 +1,4 @@
package org.linphone.ui.main.calls.viewmodel package org.linphone.ui.main.history.viewmodel
import androidx.annotation.UiThread import androidx.annotation.UiThread
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
@ -7,12 +7,12 @@ import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.LinphoneApplication.Companion.corePreferences
import org.linphone.core.Address import org.linphone.core.Address
import org.linphone.core.Call import org.linphone.core.Call
import org.linphone.ui.main.calls.model.CallLogHistoryModel import org.linphone.ui.main.history.model.CallLogHistoryModel
import org.linphone.ui.main.calls.model.CallLogModel import org.linphone.ui.main.history.model.CallLogModel
import org.linphone.utils.Event import org.linphone.utils.Event
import org.linphone.utils.LinphoneUtils import org.linphone.utils.LinphoneUtils
class CallLogViewModel @UiThread constructor() : ViewModel() { class ContactHistoryViewModel @UiThread constructor() : ViewModel() {
val showBackButton = MutableLiveData<Boolean>() val showBackButton = MutableLiveData<Boolean>()
val callLogModel = MutableLiveData<CallLogModel>() val callLogModel = MutableLiveData<CallLogModel>()

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.linphone.ui.main.calls.viewmodel package org.linphone.ui.main.history.viewmodel
import androidx.annotation.UiThread import androidx.annotation.UiThread
import androidx.annotation.WorkerThread import androidx.annotation.WorkerThread
@ -28,12 +28,12 @@ import org.linphone.core.CallLog
import org.linphone.core.Core import org.linphone.core.Core
import org.linphone.core.CoreListenerStub import org.linphone.core.CoreListenerStub
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
import org.linphone.ui.main.calls.model.CallLogModel import org.linphone.ui.main.history.model.CallLogModel
import org.linphone.ui.main.viewmodel.AbstractTopBarViewModel import org.linphone.ui.main.viewmodel.AbstractTopBarViewModel
import org.linphone.utils.Event import org.linphone.utils.Event
import org.linphone.utils.LinphoneUtils import org.linphone.utils.LinphoneUtils
class CallsListViewModel @UiThread constructor() : AbstractTopBarViewModel() { class HistoryListViewModel @UiThread constructor() : AbstractTopBarViewModel() {
companion object { companion object {
private const val TAG = "[Calls List ViewModel]" private const val TAG = "[Calls List ViewModel]"
} }

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.linphone.ui.main.calls.viewmodel package org.linphone.ui.main.history.viewmodel
import androidx.annotation.UiThread import androidx.annotation.UiThread
import androidx.annotation.WorkerThread import androidx.annotation.WorkerThread
@ -34,9 +34,9 @@ import org.linphone.core.MagicSearch
import org.linphone.core.MagicSearchListenerStub import org.linphone.core.MagicSearchListenerStub
import org.linphone.core.SearchResult import org.linphone.core.SearchResult
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
import org.linphone.ui.main.calls.model.ContactOrSuggestionModel
import org.linphone.ui.main.calls.model.NumpadModel
import org.linphone.ui.main.contacts.model.ContactAvatarModel import org.linphone.ui.main.contacts.model.ContactAvatarModel
import org.linphone.ui.main.history.model.ContactOrSuggestionModel
import org.linphone.ui.main.history.model.NumpadModel
import org.linphone.ui.main.model.isInSecureMode import org.linphone.ui.main.model.isInSecureMode
import org.linphone.utils.Event import org.linphone.utils.Event

View file

@ -16,8 +16,8 @@ import kotlinx.coroutines.launch
import org.linphone.R import org.linphone.R
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
import org.linphone.databinding.AccountProfileFragmentBinding import org.linphone.databinding.AccountProfileFragmentBinding
import org.linphone.ui.main.calls.model.ConfirmationDialogModel
import org.linphone.ui.main.fragment.GenericFragment import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.ui.main.history.model.ConfirmationDialogModel
import org.linphone.ui.main.settings.viewmodel.AccountProfileViewModel import org.linphone.ui.main.settings.viewmodel.AccountProfileViewModel
import org.linphone.utils.DialogUtils import org.linphone.utils.DialogUtils
import org.linphone.utils.Event import org.linphone.utils.Event

View file

@ -34,14 +34,14 @@ import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.R import org.linphone.R
import org.linphone.contacts.getListOfSipAddressesAndPhoneNumbers import org.linphone.contacts.getListOfSipAddressesAndPhoneNumbers
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
import org.linphone.databinding.CallStartFragmentBinding import org.linphone.databinding.StartCallFragmentBinding
import org.linphone.ui.main.calls.adapter.ContactsAndSuggestionsListAdapter
import org.linphone.ui.main.calls.model.ContactOrSuggestionModel
import org.linphone.ui.main.calls.viewmodel.StartCallViewModel
import org.linphone.ui.main.contacts.model.ContactNumberOrAddressClickListener import org.linphone.ui.main.contacts.model.ContactNumberOrAddressClickListener
import org.linphone.ui.main.contacts.model.ContactNumberOrAddressModel import org.linphone.ui.main.contacts.model.ContactNumberOrAddressModel
import org.linphone.ui.main.contacts.model.NumberOrAddressPickerDialogModel import org.linphone.ui.main.contacts.model.NumberOrAddressPickerDialogModel
import org.linphone.ui.main.fragment.GenericFragment import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.ui.main.history.adapter.ContactsAndSuggestionsListAdapter
import org.linphone.ui.main.history.model.ContactOrSuggestionModel
import org.linphone.ui.main.history.viewmodel.StartCallViewModel
import org.linphone.ui.main.model.isInSecureMode import org.linphone.ui.main.model.isInSecureMode
import org.linphone.utils.DialogUtils import org.linphone.utils.DialogUtils
import org.linphone.utils.RecyclerViewHeaderDecoration import org.linphone.utils.RecyclerViewHeaderDecoration
@ -55,7 +55,7 @@ class NewCallFragment : GenericFragment() {
private const val TAG = "[New Call Fragment]" private const val TAG = "[New Call Fragment]"
} }
private lateinit var binding: CallStartFragmentBinding private lateinit var binding: StartCallFragmentBinding
private val viewModel: StartCallViewModel by navGraphViewModels( private val viewModel: StartCallViewModel by navGraphViewModels(
R.id.voip_nav_graph R.id.voip_nav_graph
@ -87,7 +87,7 @@ class NewCallFragment : GenericFragment() {
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
binding = CallStartFragmentBinding.inflate(layoutInflater) binding = StartCallFragmentBinding.inflate(layoutInflater)
return binding.root return binding.root
} }

View file

@ -46,9 +46,9 @@ import org.linphone.databinding.DialogRemoveAllCallLogsBinding
import org.linphone.databinding.DialogRemoveCallLogsBinding import org.linphone.databinding.DialogRemoveCallLogsBinding
import org.linphone.ui.assistant.model.AcceptConditionsAndPolicyDialogModel import org.linphone.ui.assistant.model.AcceptConditionsAndPolicyDialogModel
import org.linphone.ui.assistant.model.ConfirmPhoneNumberDialogModel import org.linphone.ui.assistant.model.ConfirmPhoneNumberDialogModel
import org.linphone.ui.main.calls.model.ConfirmationDialogModel
import org.linphone.ui.main.contacts.model.NumberOrAddressPickerDialogModel import org.linphone.ui.main.contacts.model.NumberOrAddressPickerDialogModel
import org.linphone.ui.main.contacts.model.TrustCallDialogModel import org.linphone.ui.main.contacts.model.TrustCallDialogModel
import org.linphone.ui.main.history.model.ConfirmationDialogModel
import org.linphone.ui.voip.model.ZrtpSasConfirmationDialogModel import org.linphone.ui.voip.model.ZrtpSasConfirmationDialogModel
class DialogUtils { class DialogUtils {

View file

@ -20,20 +20,20 @@
app:layout_constraintEnd_toEndOf="parent"> app:layout_constraintEnd_toEndOf="parent">
<androidx.fragment.app.FragmentContainerView <androidx.fragment.app.FragmentContainerView
android:id="@+id/calls_list" android:id="@+id/history_list"
android:name="org.linphone.ui.main.calls.fragment.CallsListFragment" android:name="org.linphone.ui.main.history.fragment.HistoryListFragment"
android:layout_width="@dimen/sliding_pane_left_fragment_with_nav_width" android:layout_width="@dimen/sliding_pane_left_fragment_with_nav_width"
android:layout_height="match_parent" android:layout_height="match_parent"
app:layout="@layout/calls_list_fragment"/> app:layout="@layout/history_list_fragment"/>
<androidx.fragment.app.FragmentContainerView <androidx.fragment.app.FragmentContainerView
android:id="@+id/calls_nav_container" android:id="@+id/history_nav_container"
android:name="androidx.navigation.fragment.NavHostFragment" android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
app:defaultNavHost="false" app:defaultNavHost="false"
app:navGraph="@navigation/calls_nav_graph"/> app:navGraph="@navigation/history_nav_graph"/>
</androidx.slidingpanelayout.widget.SlidingPaneLayout> </androidx.slidingpanelayout.widget.SlidingPaneLayout>

View file

@ -19,7 +19,7 @@
type="View.OnClickListener" /> type="View.OnClickListener" />
<variable <variable
name="viewModel" name="viewModel"
type="org.linphone.ui.main.calls.viewmodel.CallsListViewModel" /> type="org.linphone.ui.main.history.viewmodel.HistoryListViewModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
@ -103,7 +103,7 @@
app:layout_constraintTop_toBottomOf="@id/no_calls_image" /> app:layout_constraintTop_toBottomOf="@id/no_calls_image" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/calls_list" android:id="@+id/history_list"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"

View file

@ -68,7 +68,7 @@
app:tint="@color/white" /> app:tint="@color/white" />
<ImageView <ImageView
android:id="@+id/calls_list" android:id="@+id/history_list"
android:onClick="@{callsListClickListener}" android:onClick="@{callsListClickListener}"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/voip_button_size" android:layout_height="@dimen/voip_button_size"
@ -172,7 +172,7 @@
android:text="@string/voip_action_go_to_calls_list" android:text="@string/voip_action_go_to_calls_list"
app:layout_constraintEnd_toStartOf="@id/dialer_label" app:layout_constraintEnd_toStartOf="@id/dialer_label"
app:layout_constraintStart_toEndOf="@id/new_call_label" app:layout_constraintStart_toEndOf="@id/new_call_label"
app:layout_constraintTop_toBottomOf="@id/calls_list"/> app:layout_constraintTop_toBottomOf="@id/history_list"/>
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/in_call_extra_action_label_style" style="@style/in_call_extra_action_label_style"

View file

@ -8,7 +8,7 @@
<import type="android.graphics.Typeface" /> <import type="android.graphics.Typeface" />
<variable <variable
name="viewModel" name="viewModel"
type="org.linphone.ui.main.calls.model.ConfirmationDialogModel" /> type="org.linphone.ui.main.history.model.ConfirmationDialogModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

View file

@ -8,7 +8,7 @@
<import type="android.graphics.Typeface" /> <import type="android.graphics.Typeface" />
<variable <variable
name="viewModel" name="viewModel"
type="org.linphone.ui.main.calls.model.ConfirmationDialogModel" /> type="org.linphone.ui.main.history.model.ConfirmationDialogModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

View file

@ -8,7 +8,7 @@
<import type="android.graphics.Typeface" /> <import type="android.graphics.Typeface" />
<variable <variable
name="viewModel" name="viewModel"
type="org.linphone.ui.main.calls.model.ConfirmationDialogModel" /> type="org.linphone.ui.main.history.model.ConfirmationDialogModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

View file

@ -8,7 +8,7 @@
<import type="android.graphics.Typeface" /> <import type="android.graphics.Typeface" />
<variable <variable
name="viewModel" name="viewModel"
type="org.linphone.ui.main.calls.model.ConfirmationDialogModel" /> type="org.linphone.ui.main.history.model.ConfirmationDialogModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

View file

@ -8,7 +8,7 @@
<import type="android.graphics.Typeface" /> <import type="android.graphics.Typeface" />
<variable <variable
name="viewModel" name="viewModel"
type="org.linphone.ui.main.calls.model.ConfirmationDialogModel" /> type="org.linphone.ui.main.history.model.ConfirmationDialogModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

View file

@ -13,7 +13,7 @@
type="View.OnClickListener" /> type="View.OnClickListener" />
<variable <variable
name="viewModel" name="viewModel"
type="org.linphone.ui.main.calls.viewmodel.CallLogViewModel" /> type="org.linphone.ui.main.history.viewmodel.ContactHistoryViewModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

View file

@ -8,7 +8,7 @@
<import type="android.graphics.Typeface" /> <import type="android.graphics.Typeface" />
<variable <variable
name="model" name="model"
type="org.linphone.ui.main.calls.model.CallLogHistoryModel" /> type="org.linphone.ui.main.history.model.CallLogHistoryModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

View file

@ -12,20 +12,20 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<androidx.fragment.app.FragmentContainerView <androidx.fragment.app.FragmentContainerView
android:id="@+id/calls_list" android:id="@+id/history_list"
android:name="org.linphone.ui.main.calls.fragment.CallsListFragment" android:name="org.linphone.ui.main.history.fragment.HistoryListFragment"
android:layout_width="@dimen/sliding_pane_left_fragment_width" android:layout_width="@dimen/sliding_pane_left_fragment_width"
android:layout_height="match_parent" android:layout_height="match_parent"
app:layout="@layout/calls_list_fragment" /> app:layout="@layout/history_list_fragment" />
<androidx.fragment.app.FragmentContainerView <androidx.fragment.app.FragmentContainerView
android:id="@+id/calls_nav_container" android:id="@+id/history_nav_container"
android:name="androidx.navigation.fragment.NavHostFragment" android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="@dimen/sliding_pane_right_fragment_width" android:layout_width="@dimen/sliding_pane_right_fragment_width"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
app:defaultNavHost="false" app:defaultNavHost="false"
app:navGraph="@navigation/calls_nav_graph"/> app:navGraph="@navigation/history_nav_graph"/>
</androidx.slidingpanelayout.widget.SlidingPaneLayout> </androidx.slidingpanelayout.widget.SlidingPaneLayout>

View file

@ -9,7 +9,7 @@
<import type="org.linphone.core.ConsolidatedPresence" /> <import type="org.linphone.core.ConsolidatedPresence" />
<variable <variable
name="model" name="model"
type="org.linphone.ui.main.calls.model.CallLogModel" /> type="org.linphone.ui.main.history.model.CallLogModel" />
<variable <variable
name="onClickListener" name="onClickListener"
type="View.OnClickListener" /> type="View.OnClickListener" />

View file

@ -19,7 +19,7 @@
type="View.OnClickListener" /> type="View.OnClickListener" />
<variable <variable
name="viewModel" name="viewModel"
type="org.linphone.ui.main.calls.viewmodel.CallsListViewModel" /> type="org.linphone.ui.main.history.viewmodel.HistoryListViewModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
@ -103,7 +103,7 @@
app:layout_constraintTop_toBottomOf="@id/no_calls_image" /> app:layout_constraintTop_toBottomOf="@id/no_calls_image" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/calls_list" android:id="@+id/history_list"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"

View file

@ -16,7 +16,7 @@
type="Boolean" /> type="Boolean" />
<variable <variable
name="viewModel" name="viewModel"
type="org.linphone.ui.main.calls.viewmodel.StartCallViewModel" /> type="org.linphone.ui.main.history.viewmodel.StartCallViewModel" />
</data> </data>
<androidx.coordinatorlayout.widget.CoordinatorLayout <androidx.coordinatorlayout.widget.CoordinatorLayout
@ -209,7 +209,7 @@
android:id="@+id/numpad_layout" android:id="@+id/numpad_layout"
bind:handleClickedListener="@{hideNumpadClickListener}" bind:handleClickedListener="@{hideNumpadClickListener}"
bind:model="@{viewModel.numpadModel}" bind:model="@{viewModel.numpadModel}"
layout="@layout/call_start_numpad" /> layout="@layout/start_call_numpad" />
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -9,7 +9,7 @@
type="View.OnClickListener" /> type="View.OnClickListener" />
<variable <variable
name="model" name="model"
type="org.linphone.ui.main.calls.model.NumpadModel" /> type="org.linphone.ui.main.history.model.NumpadModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

View file

@ -10,7 +10,7 @@
type="View.OnClickListener" /> type="View.OnClickListener" />
<variable <variable
name="model" name="model"
type="org.linphone.ui.main.calls.model.ContactOrSuggestionModel" /> type="org.linphone.ui.main.history.model.ContactOrSuggestionModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

View file

@ -68,7 +68,7 @@
app:layout_constraintTop_toBottomOf="@id/main_actions" /> app:layout_constraintTop_toBottomOf="@id/main_actions" />
<ImageView <ImageView
android:id="@+id/calls_list" android:id="@+id/history_list"
android:onClick="@{callsListClickListener}" android:onClick="@{callsListClickListener}"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/voip_button_size" android:layout_height="@dimen/voip_button_size"
@ -135,8 +135,8 @@
app:tint="@color/white" app:tint="@color/white"
app:layout_constraintDimensionRatio="1:1" app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/calls_list_label" app:layout_constraintTop_toBottomOf="@id/calls_list_label"
app:layout_constraintStart_toStartOf="@id/calls_list" app:layout_constraintStart_toStartOf="@id/history_list"
app:layout_constraintEnd_toEndOf="@id/calls_list" /> app:layout_constraintEnd_toEndOf="@id/history_list" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/in_call_extra_action_label_style" style="@style/in_call_extra_action_label_style"
@ -167,7 +167,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/voip_action_go_to_calls_list" android:text="@string/voip_action_go_to_calls_list"
app:layout_constraintTop_toBottomOf="@id/calls_list" app:layout_constraintTop_toBottomOf="@id/history_list"
app:layout_constraintStart_toEndOf="@id/new_call_label" app:layout_constraintStart_toEndOf="@id/new_call_label"
app:layout_constraintEnd_toStartOf="@id/dialer_label" /> app:layout_constraintEnd_toStartOf="@id/dialer_label" />

View file

@ -44,7 +44,7 @@
app:layout_constraintTop_toTopOf="parent"/> app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout <LinearLayout
android:id="@+id/calls_list" android:id="@+id/history_list"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:orientation="vertical" android:orientation="vertical"

View file

@ -3,7 +3,7 @@
<navigation xmlns:android="http://schemas.android.com/apk/res/android" <navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/calls_nav_graph" android:id="@+id/history_nav_graph"
app:startDestination="@id/emptyFragment"> app:startDestination="@id/emptyFragment">
<fragment <fragment
@ -13,18 +13,18 @@
tools:layout="@layout/empty_fragment"/> tools:layout="@layout/empty_fragment"/>
<fragment <fragment
android:id="@+id/callFragment" android:id="@+id/historyContactFragment"
android:name="org.linphone.ui.main.calls.fragment.CallFragment" android:name="org.linphone.ui.main.history.fragment.HistoryContactFragment"
android:label="CallFragment" android:label="HistoryContactFragment"
tools:layout="@layout/call_fragment"> tools:layout="@layout/history_contact_fragment">
<argument <argument
android:name="callId" android:name="callId"
app:argType="string" /> app:argType="string" />
</fragment> </fragment>
<action <action
android:id="@+id/action_global_callFragment" android:id="@+id/action_global_historyContactFragment"
app:destination="@id/callFragment" app:destination="@id/historyContactFragment"
app:launchSingleTop="true" /> app:launchSingleTop="true" />
</navigation> </navigation>

View file

@ -4,7 +4,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_nav_graph" android:id="@+id/main_nav_graph"
app:startDestination="@id/callsFragment"> app:startDestination="@id/historyFragment">
<fragment <fragment
android:id="@+id/contactsFragment" android:id="@+id/contactsFragment"
@ -12,23 +12,23 @@
android:label="ContactsFragment" android:label="ContactsFragment"
tools:layout="@layout/contacts_fragment"> tools:layout="@layout/contacts_fragment">
<action <action
android:id="@+id/action_contactsFragment_to_callsFragment" android:id="@+id/action_contactsFragment_to_historyFragment"
app:destination="@id/callsFragment" app:destination="@id/historyFragment"
app:launchSingleTop="true" app:launchSingleTop="true"
app:popUpTo="@id/contactsFragment" app:popUpTo="@id/contactsFragment"
app:popUpToInclusive="true" /> app:popUpToInclusive="true" />
</fragment> </fragment>
<fragment <fragment
android:id="@+id/callsFragment" android:id="@+id/historyFragment"
android:name="org.linphone.ui.main.calls.fragment.CallsFragment" android:name="org.linphone.ui.main.history.fragment.HistoryFragment"
android:label="CallsFragment" android:label="HistoryFragment"
tools:layout="@layout/calls_fragment"> tools:layout="@layout/history_fragment">
<action <action
android:id="@+id/action_callsFragment_to_contactsFragment" android:id="@+id/action_historyFragment_to_contactsFragment"
app:destination="@id/contactsFragment" app:destination="@id/contactsFragment"
app:launchSingleTop="true" app:launchSingleTop="true"
app:popUpTo="@id/callsFragment" app:popUpTo="@id/historyFragment"
app:popUpToInclusive="true" /> app:popUpToInclusive="true" />
</fragment> </fragment>
@ -100,9 +100,9 @@
<fragment <fragment
android:id="@+id/startCallFragment" android:id="@+id/startCallFragment"
android:name="org.linphone.ui.main.calls.fragment.StartCallFragment" android:name="org.linphone.ui.main.history.fragment.StartCallFragment"
android:label="StartCallFragment" android:label="StartCallFragment"
tools:layout="@layout/call_start_fragment" /> tools:layout="@layout/start_call_fragment" />
<action <action
android:id="@+id/action_global_startCallFragment" android:id="@+id/action_global_startCallFragment"

View file

@ -72,7 +72,7 @@
android:id="@+id/newCallFragment" android:id="@+id/newCallFragment"
android:name="org.linphone.ui.voip.fragment.NewCallFragment" android:name="org.linphone.ui.voip.fragment.NewCallFragment"
android:label="NewCallFragment" android:label="NewCallFragment"
tools:layout="@layout/call_start_fragment" /> tools:layout="@layout/start_call_fragment" />
<fragment <fragment
android:id="@+id/callsListFragment" android:id="@+id/callsListFragment"