getList method
Implementation
Future<List<CubePrivacyListItem>> getList(String listName) {
return xmpp.PrivacyListsManager.getInstance(connection)
.getListByName(listName)
.then((listItems) {
var usersList = <int, CubePrivacyListItem>{};
for (var item in listItems) {
if (item.type == xmpp.PrivacyType.JID) {
var userId = item.value!.startsWith('muc.')
? getUserIdFromNickWithMucDomain(item.value!)
: getUserIdFromJidString(item.value!);
var action = item.action.toString().toLowerCase().split('.').last;
var isMutual = !item.controlStanzas!
.contains(xmpp.PrivacyControlStanza.MESSAGE) &&
!item.controlStanzas!
.contains(xmpp.PrivacyControlStanza.PRESENCE_IN) &&
!item.controlStanzas!
.contains(xmpp.PrivacyControlStanza.PRESENCE_OUT) &&
!item.controlStanzas!.contains(xmpp.PrivacyControlStanza.IQ);
usersList[userId] =
CubePrivacyListItem(userId, action, isMutual: isMutual);
}
}
return List.from(usersList.values);
});
}