Show SIP address & added international prefix setting in account profile

This commit is contained in:
Sylvain Berfini 2023-08-31 09:54:58 +02:00
parent 8342259054
commit ccf7ff82a1
3 changed files with 82 additions and 4 deletions

View file

@ -116,7 +116,7 @@ class AccountProfileFragment : GenericFragment() {
super.onPause()
Log.i("$TAG Leaving account profile, saving changes")
viewModel.saveDisplayNameChanges()
viewModel.saveChangesWhenLeaving()
}
private fun pickImage() {

View file

@ -18,8 +18,12 @@ class AccountProfileViewModel @UiThread constructor() : ViewModel() {
val picturePath = MutableLiveData<String>()
val sipAddress = MutableLiveData<String>()
val displayName = MutableLiveData<String>()
val internationalPrefix = MutableLiveData<String>()
val accountFoundEvent = MutableLiveData<Event<Boolean>>()
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()

View file

@ -87,17 +87,52 @@
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_700"
android:id="@+id/first_name_label"
android:id="@+id/sip_uri_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:text="SIP address"
android:textSize="13sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/add_picture_label"/>
<androidx.appcompat.widget.AppCompatEditText
style="@style/default_text_style"
android:id="@+id/sip_uri"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="5dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:enabled="false"
android:text="@={viewModel.sipAddress, default=`sip:johndoe@sip.example.org`}"
android:textSize="14sp"
android:textColor="@color/gray_9"
android:maxLines="1"
android:background="@drawable/edit_text_background"
android:inputType="text|textPersonName"
app:layout_constraintTop_toBottomOf="@id/sip_uri_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_700"
android:id="@+id/first_name_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:text="Display Name"
android:textSize="13sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/add_picture_label"/>
app:layout_constraintTop_toBottomOf="@id/sip_uri"/>
<androidx.appcompat.widget.AppCompatEditText
style="@style/default_text_style"
@ -119,6 +154,40 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_700"
android:id="@+id/international_prefix_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:text="International Prefix"
android:textSize="13sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/first_name"/>
<androidx.appcompat.widget.AppCompatEditText
style="@style/default_text_style"
android:id="@+id/international_prefix"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="5dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="@={viewModel.internationalPrefix, default=`+1`}"
android:textSize="14sp"
android:textColor="@color/gray_9"
android:maxLines="1"
android:background="@drawable/edit_text_background"
android:inputType="number|phone"
app:layout_constraintTop_toBottomOf="@id/international_prefix_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>