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.databinding.ContactFragmentBinding
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.TrustCallDialogModel
import org.linphone.ui.main.contacts.viewmodel.ContactViewModel
import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.ui.main.history.model.ConfirmationDialogModel
import org.linphone.utils.DialogUtils
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
binding.contactsNavContainer.findNavController().popBackStack()
val action = ContactsFragmentDirections.actionContactsFragmentToCallsFragment()
val action = ContactsFragmentDirections.actionContactsFragmentToHistoryFragment()
findNavController().navigate(action)
}
}

View file

@ -41,10 +41,10 @@ import org.linphone.R
import org.linphone.core.tools.Log
import org.linphone.databinding.ContactNewOrEditFragmentBinding
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.viewmodel.ContactNewOrEditViewModel
import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.ui.main.history.model.ConfirmationDialogModel
import org.linphone.utils.DialogUtils
import org.linphone.utils.FileUtils

View file

@ -40,10 +40,10 @@ import org.linphone.R
import org.linphone.core.tools.Log
import org.linphone.databinding.ContactNewOrEditFragmentBinding
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.viewmodel.ContactNewOrEditViewModel
import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.ui.main.history.model.ConfirmationDialogModel
import org.linphone.utils.DialogUtils
import org.linphone.utils.Event
import org.linphone.utils.FileUtils

View file

@ -77,7 +77,7 @@ class BottomNavBarFragment : Fragment() {
}
binding.setOnCallsClicked {
if (sharedViewModel.currentlyDisplayedFragment.value != R.id.callsFragment) {
if (sharedViewModel.currentlyDisplayedFragment.value != R.id.historyFragment) {
sharedViewModel.navigateToCallsEvent.value = Event(true)
}
}
@ -92,7 +92,7 @@ class BottomNavBarFragment : Fragment() {
sharedViewModel.currentlyDisplayedFragment.observe(viewLifecycleOwner) {
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) {

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* 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.ViewGroup
@ -28,16 +28,16 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import org.linphone.R
import org.linphone.databinding.CallHistoryListCellBinding
import org.linphone.ui.main.calls.model.CallLogHistoryModel
import org.linphone.databinding.HistoryContactListCellBinding
import org.linphone.ui.main.history.model.CallLogHistoryModel
class CallHistoryListAdapter(
class ContactHistoryListAdapter(
private val viewLifecycleOwner: LifecycleOwner
) : ListAdapter<CallLogHistoryModel, RecyclerView.ViewHolder>(CallHistoryDiffCallback()) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
val binding: CallHistoryListCellBinding = DataBindingUtil.inflate(
val binding: HistoryContactListCellBinding = DataBindingUtil.inflate(
LayoutInflater.from(parent.context),
R.layout.call_history_list_cell,
R.layout.history_contact_list_cell,
parent,
false
)
@ -45,11 +45,11 @@ class CallHistoryListAdapter(
}
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(
val binding: CallHistoryListCellBinding
val binding: HistoryContactListCellBinding
) : RecyclerView.ViewHolder(binding.root) {
@UiThread
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.view.LayoutInflater
@ -12,10 +12,10 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import org.linphone.R
import org.linphone.databinding.CallSuggestionListCellBinding
import org.linphone.databinding.CallSuggestionListDecorationBinding
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.Event
import org.linphone.utils.HeaderAdapter
@ -50,7 +50,7 @@ class ContactsAndSuggestionsListAdapter(
}
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) {
AppUtils.getString(R.string.call_start_contacts_list_title)
} else {
@ -76,9 +76,9 @@ class ContactsAndSuggestionsListAdapter(
ContactViewHolder(binding)
}
else -> {
val binding: CallSuggestionListCellBinding = DataBindingUtil.inflate(
val binding: StartCallSuggestionListCellBinding = DataBindingUtil.inflate(
LayoutInflater.from(parent.context),
R.layout.call_suggestion_list_cell,
R.layout.start_call_suggestion_list_cell,
parent,
false
)
@ -116,7 +116,7 @@ class ContactsAndSuggestionsListAdapter(
}
inner class SuggestionViewHolder(
val binding: CallSuggestionListCellBinding
val binding: StartCallSuggestionListCellBinding
) : RecyclerView.ViewHolder(binding.root) {
@UiThread
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.ViewGroup
@ -10,11 +10,11 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import org.linphone.R
import org.linphone.databinding.CallListCellBinding
import org.linphone.ui.main.calls.model.CallLogModel
import org.linphone.databinding.HistoryListCellBinding
import org.linphone.ui.main.history.model.CallLogModel
import org.linphone.utils.Event
class CallsListAdapter(
class HistoryListAdapter(
private val viewLifecycleOwner: LifecycleOwner
) : ListAdapter<CallLogModel, RecyclerView.ViewHolder>(CallLogDiffCallback()) {
var selectedAdapterPosition = -1
@ -32,9 +32,9 @@ class CallsListAdapter(
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
val binding: CallListCellBinding = DataBindingUtil.inflate(
val binding: HistoryListCellBinding = DataBindingUtil.inflate(
LayoutInflater.from(parent.context),
R.layout.call_list_cell,
R.layout.history_list_cell,
parent,
false
)
@ -51,7 +51,7 @@ class CallsListAdapter(
}
inner class ViewHolder(
val binding: CallListCellBinding
val binding: HistoryListCellBinding
) : RecyclerView.ViewHolder(binding.root) {
@UiThread
fun bind(callLogModel: CallLogModel) {

View file

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

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* 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.view.LayoutInflater
@ -32,24 +32,24 @@ import androidx.navigation.fragment.findNavController
import androidx.slidingpanelayout.widget.SlidingPaneLayout
import org.linphone.R
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.utils.SlidingPaneBackPressedCallback
@UiThread
class CallsFragment : GenericFragment() {
class HistoryFragment : GenericFragment() {
companion object {
private const val TAG = "[Calls Fragment]"
}
private lateinit var binding: CallsFragmentBinding
private lateinit var binding: HistoryFragmentBinding
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding = CallsFragmentBinding.inflate(layoutInflater)
binding = HistoryFragmentBinding.inflate(layoutInflater)
return binding.root
}
@ -116,8 +116,8 @@ class CallsFragment : GenericFragment() {
) {
it.consume { callId ->
Log.i("$TAG Displaying call log with call ID [$callId]")
val navController = binding.callsNavContainer.findNavController()
val action = CallFragmentDirections.actionGlobalCallFragment(
val navController = binding.historyNavContainer.findNavController()
val action = HistoryContactFragmentDirections.actionGlobalHistoryContactFragment(
callId
)
navController.navigate(action)
@ -126,11 +126,11 @@ class CallsFragment : GenericFragment() {
sharedViewModel.navigateToContactsEvent.observe(viewLifecycleOwner) {
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
binding.callsNavContainer.findNavController().popBackStack()
binding.historyNavContainer.findNavController().popBackStack()
val action = CallsFragmentDirections.actionCallsFragmentToContactsFragment()
val action = HistoryFragmentDirections.actionHistoryFragmentToContactsFragment()
findNavController().navigate(action)
}
}
@ -139,6 +139,6 @@ class CallsFragment : GenericFragment() {
override fun 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
* 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.ClipboardManager
@ -36,36 +36,36 @@ import androidx.recyclerview.widget.LinearLayoutManager
import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.R
import org.linphone.core.tools.Log
import org.linphone.databinding.CallsListFragmentBinding
import org.linphone.databinding.CallsListPopupMenuBinding
import org.linphone.databinding.HistoryListFragmentBinding
import org.linphone.databinding.HistoryListPopupMenuBinding
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.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.Event
import org.linphone.utils.hideKeyboard
import org.linphone.utils.showKeyboard
@UiThread
class CallsListFragment : AbstractTopBarFragment() {
class HistoryListFragment : AbstractTopBarFragment() {
companion object {
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(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding = CallsListFragmentBinding.inflate(layoutInflater)
binding = HistoryListFragmentBinding.inflate(layoutInflater)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@ -73,19 +73,19 @@ class CallsListFragment : AbstractTopBarFragment() {
postponeEnterTransition()
listViewModel = requireActivity().run {
ViewModelProvider(this)[CallsListViewModel::class.java]
ViewModelProvider(this)[HistoryListViewModel::class.java]
}
binding.lifecycleOwner = viewLifecycleOwner
binding.viewModel = listViewModel
adapter = CallsListAdapter(viewLifecycleOwner)
binding.callsList.setHasFixedSize(true)
binding.callsList.adapter = adapter
adapter = HistoryListAdapter(viewLifecycleOwner)
binding.historyList.setHasFixedSize(true)
binding.historyList.adapter = adapter
adapter.callLogLongClickedEvent.observe(viewLifecycleOwner) {
it.consume { model ->
val modalBottomSheet = CallsListMenuDialogFragment(
val modalBottomSheet = HistoryMenuDialogFragment(
model.friendExists,
{ // onDismiss
adapter.resetSelection()
@ -124,7 +124,7 @@ class CallsListFragment : AbstractTopBarFragment() {
listViewModel.applyFilter()
}
)
modalBottomSheet.show(parentFragmentManager, CallsListMenuDialogFragment.TAG)
modalBottomSheet.show(parentFragmentManager, HistoryMenuDialogFragment.TAG)
}
}
@ -145,7 +145,7 @@ class CallsListFragment : AbstractTopBarFragment() {
}
val layoutManager = LinearLayoutManager(requireContext())
binding.callsList.layoutManager = layoutManager
binding.historyList.layoutManager = layoutManager
listViewModel.callLogs.observe(viewLifecycleOwner) {
val currentCount = adapter.itemCount
@ -158,7 +158,7 @@ class CallsListFragment : AbstractTopBarFragment() {
sharedViewModel.callsListReadyToBeDisplayedEvent.value = Event(true)
}
} else if (currentCount < it.size) {
binding.callsList.scrollToPosition(0)
binding.historyList.scrollToPosition(0)
}
}
@ -235,9 +235,9 @@ class CallsListFragment : AbstractTopBarFragment() {
}
private fun showPopupMenu() {
val popupView: CallsListPopupMenuBinding = DataBindingUtil.inflate(
val popupView: HistoryListPopupMenuBinding = DataBindingUtil.inflate(
LayoutInflater.from(requireContext()),
R.layout.calls_list_popup_menu,
R.layout.history_list_popup_menu,
null,
false
)

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* 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.os.Bundle
@ -26,10 +26,10 @@ import android.view.View
import android.view.ViewGroup
import androidx.annotation.UiThread
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import org.linphone.databinding.CallsListLongPressMenuBinding
import org.linphone.databinding.HistoryListLongPressMenuBinding
@UiThread
class CallsListMenuDialogFragment(
class HistoryMenuDialogFragment(
private val contactExists: Boolean,
private val onDismiss: (() -> Unit)? = null,
private val onAddToContact: (() -> Unit)? = null,
@ -56,7 +56,7 @@ class CallsListMenuDialogFragment(
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val view = CallsListLongPressMenuBinding.inflate(layoutInflater)
val view = HistoryListLongPressMenuBinding.inflate(layoutInflater)
view.contactExists = contactExists
view.setCopyNumberClickListener {

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* 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.os.Bundle
@ -33,14 +33,14 @@ import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.R
import org.linphone.contacts.getListOfSipAddressesAndPhoneNumbers
import org.linphone.core.tools.Log
import org.linphone.databinding.CallStartFragmentBinding
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.databinding.StartCallFragmentBinding
import org.linphone.ui.main.contacts.model.ContactNumberOrAddressClickListener
import org.linphone.ui.main.contacts.model.ContactNumberOrAddressModel
import org.linphone.ui.main.contacts.model.NumberOrAddressPickerDialogModel
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.utils.DialogUtils
import org.linphone.utils.RecyclerViewHeaderDecoration
@ -54,7 +54,7 @@ class StartCallFragment : GenericFragment() {
private const val TAG = "[Start Call Fragment]"
}
private lateinit var binding: CallStartFragmentBinding
private lateinit var binding: StartCallFragmentBinding
private val viewModel: StartCallViewModel by navGraphViewModels(
R.id.main_nav_graph
@ -85,7 +85,7 @@ class StartCallFragment : GenericFragment() {
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding = CallStartFragmentBinding.inflate(layoutInflater)
binding = StartCallFragmentBinding.inflate(layoutInflater)
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.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.UiThread

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* 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.lifecycle.MutableLiveData

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* 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.WorkerThread

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* 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 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.lifecycle.MutableLiveData
@ -7,12 +7,12 @@ import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.LinphoneApplication.Companion.corePreferences
import org.linphone.core.Address
import org.linphone.core.Call
import org.linphone.ui.main.calls.model.CallLogHistoryModel
import org.linphone.ui.main.calls.model.CallLogModel
import org.linphone.ui.main.history.model.CallLogHistoryModel
import org.linphone.ui.main.history.model.CallLogModel
import org.linphone.utils.Event
import org.linphone.utils.LinphoneUtils
class CallLogViewModel @UiThread constructor() : ViewModel() {
class ContactHistoryViewModel @UiThread constructor() : ViewModel() {
val showBackButton = MutableLiveData<Boolean>()
val callLogModel = MutableLiveData<CallLogModel>()

View file

@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* 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.WorkerThread
@ -28,12 +28,12 @@ import org.linphone.core.CallLog
import org.linphone.core.Core
import org.linphone.core.CoreListenerStub
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.utils.Event
import org.linphone.utils.LinphoneUtils
class CallsListViewModel @UiThread constructor() : AbstractTopBarViewModel() {
class HistoryListViewModel @UiThread constructor() : AbstractTopBarViewModel() {
companion object {
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
* 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.WorkerThread
@ -34,9 +34,9 @@ import org.linphone.core.MagicSearch
import org.linphone.core.MagicSearchListenerStub
import org.linphone.core.SearchResult
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.history.model.ContactOrSuggestionModel
import org.linphone.ui.main.history.model.NumpadModel
import org.linphone.ui.main.model.isInSecureMode
import org.linphone.utils.Event

View file

@ -16,8 +16,8 @@ import kotlinx.coroutines.launch
import org.linphone.R
import org.linphone.core.tools.Log
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.history.model.ConfirmationDialogModel
import org.linphone.ui.main.settings.viewmodel.AccountProfileViewModel
import org.linphone.utils.DialogUtils
import org.linphone.utils.Event

View file

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

View file

@ -46,9 +46,9 @@ import org.linphone.databinding.DialogRemoveAllCallLogsBinding
import org.linphone.databinding.DialogRemoveCallLogsBinding
import org.linphone.ui.assistant.model.AcceptConditionsAndPolicyDialogModel
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.TrustCallDialogModel
import org.linphone.ui.main.history.model.ConfirmationDialogModel
import org.linphone.ui.voip.model.ZrtpSasConfirmationDialogModel
class DialogUtils {

View file

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

View file

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

View file

@ -68,7 +68,7 @@
app:tint="@color/white" />
<ImageView
android:id="@+id/calls_list"
android:id="@+id/history_list"
android:onClick="@{callsListClickListener}"
android:layout_width="0dp"
android:layout_height="@dimen/voip_button_size"
@ -172,7 +172,7 @@
android:text="@string/voip_action_go_to_calls_list"
app:layout_constraintEnd_toStartOf="@id/dialer_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
style="@style/in_call_extra_action_label_style"

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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