filterUserList method
Implementation
Future<void> filterUserList() async {
if (await AppUtils.isNetConnected()) {
_userList.clear();
searching = true;
searchLoading(true);
callback(FlyResponse response) {
if (response.isSuccess) {
if (response.hasData) {
var list = userListFromJson(response.data);
if (list.data != null) {
list.data?.forEach((user) {
// add only when user not available in recent chat list
if (_recentChats
.indexWhere((element) => element.jid == user.jid)
.isNegative) {
if (!Constants.enableContactSync) {
_userList.add(user);
} else {
var filter = user.nickName
.checkNull()
.toLowerCase()
.contains(
searchQuery.text.trim().toString().toLowerCase());
if (filter) {
_userList.add(user);
}
}
}
});
scrollable(
(_userList.length == 20 && !Constants.enableContactSync));
} else {
scrollable(false);
}
}
searching = false;
searchLoading(false);
} else {
searching = false;
searchLoading(false);
}
}
(!Constants.enableContactSync)
? Mirrorfly.getUserList(
page: pageNum,
search: searchQuery.text.trim().toString(),
flyCallback: callback)
: Mirrorfly.getRegisteredUsers(
fetchFromServer: false, flyCallback: callback);
} else {
toToast(Constants.noInternetConnection);
}
}