fetchUsers method
dynamic
fetchUsers(
- bool fromSearch, {
- bool server = false,
})
Implementation
fetchUsers(bool fromSearch, {bool server = false}) async {
if (Constants.enableContactSync) {
var granted = await Permission.contacts.isGranted;
if (!granted) {
isPageLoading(false);
return;
}
}
if (await AppUtils.isNetConnected() || Constants.enableContactSync) {
callback(FlyResponse response) async {
if (response.isSuccess && response.hasData) {
var data = response.data;
LogMessage.d("userlist", data);
var item = userListFromJson(data);
var list = <ProfileDetails>[];
if (arguments.groupJid.isNotEmpty) {
await Future.forEach(item.data!, (it) async {
await Mirrorfly.isMemberOfGroup(
groupJid: arguments.groupJid, userJid: it.jid.checkNull())
.then((value) {
LogMessage.d("item", value.toString());
if (value == null || !value) {
list.add(it);
}
});
});
if (_first) {
_first = false;
mainUsersList(list);
}
if (fromSearch) {
if (!Constants.enableContactSync) {
usersList(list);
// if(usersList.length==20) pageNum += 1;
scrollable(list.length == 20);
} else {
var userlist = mainUsersList.where((p0) => getName(p0)
.toString()
.toLowerCase()
.contains(_searchText.trim().toLowerCase()));
usersList(userlist.toList());
scrollable(false);
/*for (var userDetail in mainUsersList) {
if (userDetail.name.toString().toLowerCase().contains(_searchText.trim().toLowerCase())) {
usersList.add(userDetail);
}
}*/
}
} else {
if (!Constants.enableContactSync) {
usersList.addAll(list);
// if(usersList.length==20) pageNum += 1;
scrollable(list.length == 20);
} else {
usersList(list);
scrollable(false);
}
}
isPageLoading.value = false;
isSearchingNew.value = false;
usersList.refresh();
} else {
list.addAll(item.data!);
if (Constants.enableContactSync && fromSearch) {
var userlist = mainUsersList.where((p0) => getName(p0)
.toString()
.toLowerCase()
.contains(_searchText.trim().toLowerCase()));
usersList(userlist.toList());
/*for (var userDetail in mainUsersList) {
if (userDetail.name.toString().toLowerCase().contains(_searchText.trim().toLowerCase())) {
usersList.add(userDetail);
}
}*/
}
if (_first) {
_first = false;
mainUsersList(list);
}
if (fromSearch) {
if (!Constants.enableContactSync) {
usersList(list);
// if(usersList.length==20) pageNum += 1;
scrollable(list.length == 20);
} else {
var userlist = mainUsersList.where((p0) => getName(p0)
.toString()
.toLowerCase()
.contains(_searchText.trim().toLowerCase()));
usersList(userlist.toList());
scrollable(false);
/*for (var userDetail in mainUsersList) {
if (userDetail.name.toString().toLowerCase().contains(_searchText.trim().toLowerCase())) {
usersList.add(userDetail);
}
}*/
}
} else {
if (!Constants.enableContactSync) {
usersList.addAll(list);
// if(usersList.length==20) pageNum += 1;
scrollable(list.length == 20);
} else {
usersList(list);
scrollable(false);
}
}
isPageLoading.value = false;
usersList.refresh();
}
} else {
toToast(response.exception!.message.toString());
}
}
(!Constants.enableContactSync)
? Mirrorfly.getUserList(
page: pageNum,
search: _searchText,
metaDataUserList: Constants.metaDataUserList, //#metaData
flyCallback: callback)
: Mirrorfly.getRegisteredUsers(
fetchFromServer: false, flyCallback: callback);
} else {
toToast(getTranslated("noInternetConnection"));
}
}