From ccf7ff82a1d2568f174b0527a2b59f321d22475f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 31 Aug 2023 09:54:58 +0200 Subject: [PATCH] Show SIP address & added international prefix setting in account profile --- .../fragment/AccountProfileFragment.kt | 2 +- .../viewmodel/AccountProfileViewModel.kt | 11 ++- .../res/layout/account_profile_fragment.xml | 73 ++++++++++++++++++- 3 files changed, 82 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt b/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt index 22a5f1630..1c8a3d1fe 100644 --- a/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt @@ -116,7 +116,7 @@ class AccountProfileFragment : GenericFragment() { super.onPause() Log.i("$TAG Leaving account profile, saving changes") - viewModel.saveDisplayNameChanges() + viewModel.saveChangesWhenLeaving() } private fun pickImage() { diff --git a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountProfileViewModel.kt b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountProfileViewModel.kt index 7074b6305..56972246d 100644 --- a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountProfileViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountProfileViewModel.kt @@ -18,8 +18,12 @@ class AccountProfileViewModel @UiThread constructor() : ViewModel() { val picturePath = MutableLiveData() + val sipAddress = MutableLiveData() + val displayName = MutableLiveData() + val internationalPrefix = MutableLiveData() + val accountFoundEvent = MutableLiveData>() private lateinit var account: Account @@ -33,8 +37,10 @@ class AccountProfileViewModel @UiThread constructor() : ViewModel() { if (found != null) { Log.i("$TAG Found matching local friend [$found]") account = found + sipAddress.postValue(account.params.identityAddress?.asStringUriOnly()) displayName.postValue(account.params.identityAddress?.displayName) picturePath.postValue(account.getPicturePath()) + internationalPrefix.postValue(account.params.internationalPrefix) accountFoundEvent.postValue(Event(true)) } else { @@ -44,11 +50,14 @@ class AccountProfileViewModel @UiThread constructor() : ViewModel() { } @UiThread - fun saveDisplayNameChanges() { + fun saveChangesWhenLeaving() { coreContext.postOnCoreThread { if (::account.isInitialized) { val params = account.params val copy = params.clone() + + copy.internationalPrefix = internationalPrefix.value.orEmpty() + val address = params.identityAddress?.clone() if (address != null) { val newValue = displayName.value.orEmpty().trim() diff --git a/app/src/main/res/layout/account_profile_fragment.xml b/app/src/main/res/layout/account_profile_fragment.xml index eeb21efc3..4a33fae8f 100644 --- a/app/src/main/res/layout/account_profile_fragment.xml +++ b/app/src/main/res/layout/account_profile_fragment.xml @@ -87,17 +87,52 @@ + + + + + app:layout_constraintTop_toBottomOf="@id/sip_uri"/> + + + + \ No newline at end of file