fetchUsers method
dynamic
fetchUsers(
- bool fromSearch, {
- bool server = false,
})
Implementation
fetchUsers(bool fromSearch,{bool server=false}) async {
if(!MirrorflyUikit.instance.isTrialLicenceKey){
var granted = await Permission.contacts.isGranted;
if(!granted){
isPageLoading(false);
return;
}
}
if (await AppUtils.isNetConnected() || !MirrorflyUikit.instance.isTrialLicenceKey) {
var future = (MirrorflyUikit.instance.isTrialLicenceKey)
? Mirrorfly.getUserList(pageNum, _searchText)
: Mirrorfly.getRegisteredUsers(false);
future.then((data) async {
//Mirrorfly.getUserList(pageNum, _searchText).then((data) async {
mirrorFlyLog("userlist", data);
var item = userListFromJson(data);
var list = <Profile>[];
if (groupJid.value.checkNull().isNotEmpty) {
await Future.forEach(item.data!, (it) async {
await Mirrorfly.isMemberOfGroup(
groupJid.value.checkNull(), it.jid.checkNull())
.then((value) {
mirrorFlyLog("item", value.toString());
if (value == null || !value) {
list.add(it);
}
});
});
if (_first) {
_first = false;
mainUsersList(list);
}
if (fromSearch) {
if (MirrorflyUikit.instance.isTrialLicenceKey) {
usersList(list);
pageNum = pageNum + 1;
scrollable.value = 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 (MirrorflyUikit.instance.isTrialLicenceKey) {
usersList.addAll(list);
pageNum = pageNum + 1;
scrollable.value = list.length == 20;
} else {
usersList(list);
scrollable(false);
}
}
isPageLoading.value = false;
usersList.refresh();
} else {
list.addAll(item.data!);
if (!MirrorflyUikit.instance.isTrialLicenceKey && 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 (MirrorflyUikit.instance.isTrialLicenceKey) {
usersList(list);
pageNum = pageNum + 1;
scrollable.value = 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 (MirrorflyUikit.instance.isTrialLicenceKey) {
usersList.addAll(list);
pageNum = pageNum + 1;
scrollable.value = list.length == 20;
} else {
usersList(list);
scrollable(false);
}
}
isPageLoading.value = false;
usersList.refresh();
}
}).catchError((error) {
debugPrint("Get User list error--> $error");
toToast(error.toString());
});
} else {
toToast(AppConstants.noInternetConnection);
}
}