Class GroupMemberSelectionViewModel
-
- All Implemented Interfaces:
-
ai.nexconn.chatui.base.interfaces.OnPagedDataLoader
public class GroupMemberSelectionViewModel extends BaseViewModel implements OnPagedDataLoader
ViewModel for group member selection.
- Since:
5.12.2
-
-
Field Summary
Fields Modifier and Type Field Description public final MutableLiveData<List<ContactModel>>filteredContactsLiveDataprotected final GroupMembersPagedHandlergroupMembersPagedHandlerprotected final GroupMembersSearchPagedHandlergroupMembersSearchPagedHandlerprotected final GroupOperationsHandlergroupOperationsHandlerprotected final MutableLiveData<ErrorEvent<NCError>>errorEventLiveData
-
Constructor Summary
Constructors Constructor Description GroupMemberSelectionViewModel(Bundle arguments)
-
Method Summary
Modifier and Type Method Description MutableLiveData<List<ContactModel>>getFilteredContactsLiveData()LiveData<List<ContactModel>>getSelectedContactsLiveData()voidupdateContact(ContactModel updatedContact)Update contact selection state. voidqueryContacts(String query)Query contacts. voidaddGroupManagers(@NonNull() OnDataChangeListener<Boolean> onDataChangeListener)Add group managers. voidaddGroupFollows(@NonNull() OnDataChangeListener<Boolean> onDataChangeListener)Add group follows. voidloadNext(OnDataChangeListener<Boolean> listener)Loads the next page of data. booleanhasNext()Returns whether there is a next page. voidonCleared()-
Methods inherited from class ai.nexconn.chatui.base.BaseViewModel
getArguments, getErrorEventLiveData, postErrorEvent -
Methods inherited from class ai.nexconn.chatui.base.interfaces.OnPagedDataLoader
hasPrevious, loadPrevious -
Methods inherited from class androidx.lifecycle.ViewModel
addCloseable -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
getFilteredContactsLiveData
MutableLiveData<List<ContactModel>> getFilteredContactsLiveData()
-
getSelectedContactsLiveData
LiveData<List<ContactModel>> getSelectedContactsLiveData()
-
updateContact
void updateContact(ContactModel updatedContact)
Update contact selection state.
- Parameters:
updatedContact- the updated contact
-
queryContacts
void queryContacts(String query)
Query contacts.
- Parameters:
query- search keyword
-
addGroupManagers
void addGroupManagers(@NonNull() OnDataChangeListener<Boolean> onDataChangeListener)
Add group managers.
- Parameters:
onDataChangeListener- data change listener
-
addGroupFollows
void addGroupFollows(@NonNull() OnDataChangeListener<Boolean> onDataChangeListener)
Add group follows.
- Parameters:
onDataChangeListener- data change listener
-
loadNext
void loadNext(OnDataChangeListener<Boolean> listener)
Loads the next page of data.
- Parameters:
listener- the load completion listener
-
hasNext
boolean hasNext()
Returns whether there is a next page.
- Returns:
true if more data is available
-
onCleared
void onCleared()
-
-
-
-