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;
}
}
var callConnectedUserList = <String>[];
for (var value1 in callList) {
callConnectedUserList.add(value1.userJid?.value ?? '');
}
if (await AppUtils.isNetConnected() || Constants.enableContactSync) {
callback(FlyResponse response) async {
if (response.isSuccess && response.hasData) {
var data = response.data;
mirrorFlyLog("userlist", data);
var item = userListFromJson(data);
var items = getFilteredList(callConnectedUserList, item.data);
var list = <ProfileDetails>[];
if (groupJid.value.checkNull().isNotEmpty) {
await Future.forEach(items, (it) async {
await Mirrorfly.isMemberOfGroup(
groupJid: groupJid.value.checkNull(),
userJid: 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 (!Constants.enableContactSync) {
usersList(list);
// if(usersList.length==20) 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 (!Constants.enableContactSync) {
usersList.addAll(list);
// if(usersList.length==20) pageNum += 1;
scrollable.value = list.length == 20;
} else {
usersList(list);
scrollable(false);
}
}
isPageLoading.value = false;
usersList.refresh();
} else {
list.addAll(items);
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.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 (!Constants.enableContactSync) {
usersList.addAll(list);
// if(usersList.length==20) pageNum += 1;
scrollable.value = 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, flyCallback: callback)
: Mirrorfly.getRegisteredUsers(
fetchFromServer: false, flyCallback: callback);
/*future.then((data) async {
//Mirrorfly.getUserList(pageNum, _searchText).then((data) async {
mirrorFlyLog("userlist", data);
var item = userListFromJson(data);
var items = getFilteredList(callConnectedUserList,item.data);
var list = <ProfileDetails>[];
if (groupJid.value.checkNull().isNotEmpty) {
await Future.forEach(items, (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 (!Constants.enableContactSync) {
usersList(list);
// if(usersList.length==20) 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 (!Constants.enableContactSync) {
usersList.addAll(list);
// if(usersList.length==20) pageNum += 1;
scrollable.value = list.length == 20;
} else {
usersList(list);
scrollable(false);
}
}
isPageLoading.value = false;
usersList.refresh();
} else {
list.addAll(items);
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.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 (!Constants.enableContactSync) {
usersList.addAll(list);
// if(usersList.length==20) 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(Constants.noInternetConnection);
}
}