mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Improved empty SIP contacts list
This commit is contained in:
parent
a5f0e07ca6
commit
c75d4688db
6 changed files with 57 additions and 10 deletions
|
|
@ -296,7 +296,7 @@ class ContactsListFragment : AbstractMainFragment() {
|
|||
null,
|
||||
false
|
||||
)
|
||||
popupView.seeAllSelected = listViewModel.areAllContactsDisplayed()
|
||||
popupView.seeAllSelected = listViewModel.areAllContactsDisplayed.value == true
|
||||
popupView.showLinphoneFilter = listViewModel.isDefaultAccountLinphone.value == true
|
||||
|
||||
val popupWindow = PopupWindow(
|
||||
|
|
@ -307,7 +307,7 @@ class ContactsListFragment : AbstractMainFragment() {
|
|||
)
|
||||
|
||||
popupView.setNoFilterClickListener {
|
||||
if (!listViewModel.areAllContactsDisplayed()) {
|
||||
if (listViewModel.areAllContactsDisplayed.value != true) {
|
||||
listViewModel.changeContactsFilter(
|
||||
onlyLinphoneContacts = false,
|
||||
onlySipContacts = false
|
||||
|
|
@ -317,7 +317,7 @@ class ContactsListFragment : AbstractMainFragment() {
|
|||
}
|
||||
|
||||
popupView.setLinphoneOnlyClickListener {
|
||||
if (listViewModel.areAllContactsDisplayed()) {
|
||||
if (listViewModel.areAllContactsDisplayed.value == true) {
|
||||
listViewModel.changeContactsFilter(
|
||||
onlyLinphoneContacts = true,
|
||||
onlySipContacts = false
|
||||
|
|
@ -327,7 +327,7 @@ class ContactsListFragment : AbstractMainFragment() {
|
|||
}
|
||||
|
||||
popupView.setSipOnlyClickListener {
|
||||
if (listViewModel.areAllContactsDisplayed()) {
|
||||
if (listViewModel.areAllContactsDisplayed.value == true) {
|
||||
listViewModel.changeContactsFilter(
|
||||
onlyLinphoneContacts = false,
|
||||
onlySipContacts = true
|
||||
|
|
|
|||
|
|
@ -61,6 +61,8 @@ class ContactsListViewModel
|
|||
|
||||
val isListFiltered = MutableLiveData<Boolean>()
|
||||
|
||||
val areAllContactsDisplayed = MutableLiveData<Boolean>()
|
||||
|
||||
val searchInProgress = MutableLiveData<Boolean>()
|
||||
|
||||
val isDefaultAccountLinphone = MutableLiveData<Boolean>()
|
||||
|
|
@ -107,6 +109,7 @@ class ContactsListViewModel
|
|||
|
||||
coreContext.postOnCoreThread { core ->
|
||||
domainFilter = corePreferences.contactsFilter
|
||||
areAllContactsDisplayed.postValue(domainFilter.isEmpty())
|
||||
checkIfDefaultAccountOnDefaultDomain()
|
||||
|
||||
coreContext.contactsManager.addListener(contactsListener)
|
||||
|
|
@ -145,6 +148,7 @@ class ContactsListViewModel
|
|||
fun applyCurrentDefaultAccountFilter() {
|
||||
coreContext.postOnCoreThread {
|
||||
domainFilter = corePreferences.contactsFilter
|
||||
areAllContactsDisplayed.postValue(domainFilter.isEmpty())
|
||||
checkIfDefaultAccountOnDefaultDomain()
|
||||
|
||||
coreContext.postOnMainThread {
|
||||
|
|
@ -163,6 +167,7 @@ class ContactsListViewModel
|
|||
} else {
|
||||
""
|
||||
}
|
||||
areAllContactsDisplayed.postValue(domainFilter.isEmpty())
|
||||
corePreferences.contactsFilter = domainFilter
|
||||
Log.i("$TAG Newly set filter is [${corePreferences.contactsFilter}]")
|
||||
|
||||
|
|
@ -172,10 +177,6 @@ class ContactsListViewModel
|
|||
}
|
||||
}
|
||||
|
||||
fun areAllContactsDisplayed(): Boolean {
|
||||
return domainFilter.isEmpty()
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleFavouritesVisibility() {
|
||||
val show = showFavourites.value == false
|
||||
|
|
|
|||
|
|
@ -130,12 +130,33 @@
|
|||
android:id="@+id/no_contacts_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{viewModel.isFilterEmpty ? @string/contacts_list_empty : @string/list_filter_no_result_found, default=@string/contacts_list_empty}"
|
||||
android:text="@{viewModel.isFilterEmpty ? (viewModel.areAllContactsDisplayed ? @string/contacts_list_empty : @string/contacts_list_sip_empty) : @string/list_filter_no_result_found, default=@string/contacts_list_sip_empty}"
|
||||
app:layout_constraintBottom_toTopOf="@id/lists"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/bottom_nav_bar"
|
||||
app:layout_constraintTop_toBottomOf="@id/no_contacts_image" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_600"
|
||||
android:id="@+id/show_contacts_filter"
|
||||
android:onClick="@{filterClickListener}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:paddingTop="6dp"
|
||||
android:paddingBottom="6dp"
|
||||
android:paddingStart="12dp"
|
||||
android:paddingEnd="12dp"
|
||||
android:text="@string/contacts_change_filter_label"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/secondary_button_label_color"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/secondary_button_background"
|
||||
android:visibility="@{viewModel.contactsList.empty && !viewModel.areAllContactsDisplayed ? View.VISIBLE : View.GONE}"
|
||||
app:layout_constraintTop_toBottomOf="@id/no_contacts_label"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/bottom_nav_bar"/>
|
||||
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
android:id="@+id/fetch_in_progress"
|
||||
android:layout_width="wrap_content"
|
||||
|
|
|
|||
|
|
@ -131,12 +131,33 @@
|
|||
android:id="@+id/no_contacts_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{viewModel.isFilterEmpty ? @string/contacts_list_empty : @string/list_filter_no_result_found, default=@string/contacts_list_empty}"
|
||||
android:text="@{viewModel.isFilterEmpty ? (viewModel.areAllContactsDisplayed ? @string/contacts_list_empty : @string/contacts_list_sip_empty) : @string/list_filter_no_result_found, default=@string/contacts_list_sip_empty}"
|
||||
app:layout_constraintBottom_toTopOf="@id/lists"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/no_contacts_image" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_600"
|
||||
android:id="@+id/show_contacts_filter"
|
||||
android:onClick="@{filterClickListener}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:paddingTop="6dp"
|
||||
android:paddingBottom="6dp"
|
||||
android:paddingStart="12dp"
|
||||
android:paddingEnd="12dp"
|
||||
android:text="@string/contacts_change_filter_label"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/secondary_button_label_color"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/secondary_button_background"
|
||||
android:visibility="@{viewModel.contactsList.empty && !viewModel.areAllContactsDisplayed ? View.VISIBLE : View.GONE}"
|
||||
app:layout_constraintTop_toBottomOf="@id/no_contacts_label"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
android:id="@+id/fetch_in_progress"
|
||||
android:layout_width="wrap_content"
|
||||
|
|
|
|||
|
|
@ -379,6 +379,8 @@
|
|||
|
||||
<!-- Contacts -->
|
||||
<string name="contacts_list_empty">Aucun contact pour le moment…</string>
|
||||
<string name="contacts_list_sip_empty">Aucun contact SIP pour le moment…</string>
|
||||
<string name="contacts_change_filter_label">Changer le filtre</string>
|
||||
<string name="contacts_list_favourites_title">Favoris</string>
|
||||
<string name="contacts_list_all_contacts_title">Tous les contacts</string>
|
||||
<string name="contacts_list_filter_popup_see_all">Tous les contacts</string>
|
||||
|
|
|
|||
|
|
@ -420,6 +420,8 @@
|
|||
|
||||
<!-- Contacts -->
|
||||
<string name="contacts_list_empty">No contact for the moment…</string>
|
||||
<string name="contacts_list_sip_empty">No SIP contact for the moment…</string>
|
||||
<string name="contacts_change_filter_label">Change filter</string>
|
||||
<string name="contacts_list_favourites_title">Favourites</string>
|
||||
<string name="contacts_list_all_contacts_title">All contacts</string>
|
||||
<string name="contacts_list_filter_popup_see_all">See all</string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue