diff --git a/app/src/main/java/org/linphone/ui/main/model/AccountModel.kt b/app/src/main/java/org/linphone/ui/main/model/AccountModel.kt index 7630a0d62..32acff5ab 100644 --- a/app/src/main/java/org/linphone/ui/main/model/AccountModel.kt +++ b/app/src/main/java/org/linphone/ui/main/model/AccountModel.kt @@ -55,6 +55,8 @@ class AccountModel @WorkerThread constructor( val inError = MutableLiveData() + val isDisabled = MutableLiveData() + val isDefault = MutableLiveData() val showTrust = MutableLiveData() @@ -141,23 +143,33 @@ class AccountModel @WorkerThread constructor( isDefault.postValue(coreContext.core.defaultAccount == account) val state = when (account.state) { - RegistrationState.None, RegistrationState.Cleared -> AppUtils.getString( - R.string.drawer_menu_account_connection_status_cleared - ) + RegistrationState.None, RegistrationState.Cleared -> { + isDisabled.postValue(true) + AppUtils.getString( + R.string.drawer_menu_account_connection_status_cleared + ) + } RegistrationState.Progress -> AppUtils.getString( R.string.drawer_menu_account_connection_status_progress ) - RegistrationState.Failed -> AppUtils.getString( - R.string.drawer_menu_account_connection_status_failed - ) - RegistrationState.Ok -> AppUtils.getString( - R.string.drawer_menu_account_connection_status_connected - ) + RegistrationState.Failed -> { + inError.postValue(true) + AppUtils.getString( + R.string.drawer_menu_account_connection_status_failed + ) + } + RegistrationState.Ok -> { + isConnected.postValue(true) + AppUtils.getString( + R.string.drawer_menu_account_connection_status_connected + ) + } RegistrationState.Refreshing -> AppUtils.getString( R.string.drawer_menu_account_connection_status_refreshing ) else -> "${account.state}" } + registrationState.postValue(state) val summary = when (account.state) { RegistrationState.None, RegistrationState.Cleared -> AppUtils.getString( @@ -175,10 +187,6 @@ class AccountModel @WorkerThread constructor( else -> "${account.state}" } registrationStateSummary.postValue(summary) - - isConnected.postValue(account.state == RegistrationState.Ok) - inError.postValue(account.state == RegistrationState.Failed) - registrationState.postValue(state) } } diff --git a/app/src/main/res/layout/account_list_cell.xml b/app/src/main/res/layout/account_list_cell.xml index 80a564e9a..f50494c2e 100644 --- a/app/src/main/res/layout/account_list_cell.xml +++ b/app/src/main/res/layout/account_list_cell.xml @@ -85,7 +85,7 @@ android:background="@drawable/shape_squircle_gray_3_background" android:gravity="center" android:text="@{model.registrationState, default=@string/drawer_menu_account_connection_status_connected}" - android:textColor="@{model.isConnected ? @color/green_success_500 : model.inError ? @color/red_danger_500 : @color/gray_main2_500, default=@color/green_success_500}" + android:textColor="@{model.isConnected ? @color/green_success_500 : model.inError ? @color/red_danger_500 : model.isDisabled ? @color/orange_warning_600 : @color/gray_main2_500, default=@color/green_success_500}" android:textSize="12sp" app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="@id/name" diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 71f19db02..46c562e12 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -38,5 +38,7 @@ #4AA8FF + #DBB820 + #FFA645 \ No newline at end of file