本文整理汇总了Java中eu.siacs.conversations.entities.MucOptions.User方法的典型用法代码示例。如果您正苦于以下问题:Java MucOptions.User方法的具体用法?Java MucOptions.User怎么用?Java MucOptions.User使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eu.siacs.conversations.entities.MucOptions
的用法示例。
在下文中一共展示了MucOptions.User方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parseConferencePresence
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
public void parseConferencePresence(PresencePacket packet, Account account) {
final Conversation conversation = packet.getFrom() == null ? null : mXmppConnectionService.find(account, packet.getFrom().toBareJid());
if (conversation != null) {
final MucOptions mucOptions = conversation.getMucOptions();
boolean before = mucOptions.online();
int count = mucOptions.getUserCount();
final List<MucOptions.User> tileUserBefore = mucOptions.getUsers(5);
processConferencePresence(packet, mucOptions);
final List<MucOptions.User> tileUserAfter = mucOptions.getUsers(5);
if (!tileUserAfter.equals(tileUserBefore)) {
mXmppConnectionService.getAvatarService().clear(mucOptions);
}
if (before != mucOptions.online() || (mucOptions.online() && count != mucOptions.getUserCount())) {
mXmppConnectionService.updateConversationUi();
} else if (mucOptions.online()) {
mXmppConnectionService.updateMucRosterUi();
}
}
}
示例2: getImpl
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
private Bitmap getImpl(final MucOptions.User user, final int size, boolean cachedOnly) {
final String KEY = key(user, size);
Bitmap avatar = this.mXmppConnectionService.getBitmapCache().get(KEY);
if (avatar != null || cachedOnly) {
return avatar;
}
if (user.getAvatar() != null) {
avatar = mXmppConnectionService.getFileBackend().getAvatar(user.getAvatar(), size);
}
if (avatar == null) {
Contact contact = user.getContact();
if (contact != null) {
avatar = get(contact, size, cachedOnly);
} else {
avatar = get(user.getName(), size, cachedOnly);
}
}
this.mXmppConnectionService.getBitmapCache().put(KEY, avatar);
return avatar;
}
示例3: get
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
public Bitmap get(Message message, int size, boolean cachedOnly) {
final Conversation conversation = message.getConversation();
if (message.getStatus() == Message.STATUS_RECEIVED) {
Contact c = message.getContact();
if (c != null && (c.getProfilePhoto() != null || c.getAvatar() != null)) {
return get(c, size, cachedOnly);
} else if (message.getConversation().getMode() == Conversation.MODE_MULTI){
MucOptions.User user = conversation.getMucOptions().findUser(message.getCounterpart().getResourcepart());
if (user != null) {
return getImpl(user,size,cachedOnly);
}
}
return get(UIHelper.getMessageDisplayName(message), size, cachedOnly);
} else {
return get(conversation.getAccount(), size, cachedOnly);
}
}
示例4: inviteToConversation
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
protected void inviteToConversation(Conversation conversation) {
Intent intent = new Intent(getApplicationContext(),
ChooseContactActivity.class);
List<String> contacts = new ArrayList<>();
if (conversation.getMode() == Conversation.MODE_MULTI) {
for (MucOptions.User user : conversation.getMucOptions().getUsers()) {
Jid jid = user.getJid();
if (jid != null) {
contacts.add(jid.toBareJid().toString());
}
}
} else {
contacts.add(conversation.getJid().toBareJid().toString());
}
intent.putExtra("filter_contacts", contacts.toArray(new String[contacts.size()]));
intent.putExtra("conversation", conversation.getUuid());
intent.putExtra("multiple", true);
intent.putExtra("show_enter_jid", true);
intent.putExtra("account", conversation.getAccount().getJid().toBareJid().toString());
startActivityForResult(intent, REQUEST_INVITE_TO_CONVERSATION);
}
示例5: parseItem
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
public static MucOptions.User parseItem(Conversation conference, Element item, Jid fullJid) {
final String local = conference.getJid().getLocalpart();
final String domain = conference.getJid().getDomainpart();
String affiliation = item.getAttribute("affiliation");
String role = item.getAttribute("role");
String nick = item.getAttribute("nick");
if (nick != null && fullJid == null) {
try {
fullJid = Jid.fromParts(local, domain, nick);
} catch (InvalidJidException e) {
fullJid = null;
}
}
Jid realJid = item.getAttributeAsJid("jid");
MucOptions.User user = new MucOptions.User(conference.getMucOptions(), fullJid);
user.setRealJid(realJid);
user.setAffiliation(affiliation);
user.setRole(role);
return user;
}
示例6: drawTile
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
private void drawTile(Canvas canvas, MucOptions.User user, int left,
int top, int right, int bottom) {
Contact contact = user.getContact();
if (contact != null) {
Uri uri = null;
if (contact.getProfilePhoto() != null) {
uri = Uri.parse(contact.getProfilePhoto());
} else if (contact.getAvatar() != null) {
uri = mXmppConnectionService.getFileBackend().getAvatarUri(
contact.getAvatar());
}
if (uri != null) {
Bitmap bitmap = mXmppConnectionService.getFileBackend()
.cropCenter(uri, bottom - top, right - left);
if (bitmap != null) {
drawTile(canvas, bitmap, left, top, right, bottom);
return;
}
}
}
String name = contact != null ? contact.getDisplayName() : user.getName();
final String letter = name.isEmpty() ? "X" : name.substring(0,1);
final int color = UIHelper.getColorForName(name);
drawTile(canvas, letter, color, left, top, right, bottom);
}
示例7: getDisplayName
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
public static String getDisplayName(MucOptions.User user) {
Contact contact = user.getContact();
if (contact != null) {
return contact.getDisplayName();
} else {
final String name = user.getName();
if (name != null) {
return name;
}
final Jid realJid = user.getRealJid();
if (realJid != null) {
return JidHelper.localPartOrFallback(realJid);
}
return null;
}
}
示例8: getImpl
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
private Bitmap getImpl(final MucOptions.User user, final int size, boolean cachedOnly) {
final String KEY = key(user, size);
Bitmap avatar = this.mXmppConnectionService.getBitmapCache().get(KEY);
if (avatar != null || cachedOnly) {
return avatar;
}
if (user.getAvatar() != null) {
avatar = mXmppConnectionService.getFileBackend().getAvatar(user.getAvatar(), size);
}
if (avatar == null) {
Contact contact = user.getContact();
if (contact != null) {
avatar = get(contact, size, cachedOnly);
} else {
String seed = user.getRealJid() != null ? user.getRealJid().toBareJid().toString() : null;
avatar = get(user.getName(), seed, size, cachedOnly);
}
}
this.mXmppConnectionService.getBitmapCache().put(KEY, avatar);
return avatar;
}
示例9: get
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
private Bitmap get(MucOptions mucOptions, int size, boolean cachedOnly) {
final String KEY = key(mucOptions, size);
Bitmap bitmap = this.mXmppConnectionService.getBitmapCache().get(KEY);
if (bitmap != null || cachedOnly) {
return bitmap;
}
final List<MucOptions.User> users = mucOptions.getUsersRelevantForNameAndAvatar();
if (users.size() == 0) {
Conversation c = mucOptions.getConversation();
bitmap = getImpl(c.getName(),c.getJid().toBareJid().toString(),size);
} else {
bitmap = getImpl(users,size);
}
this.mXmppConnectionService.getBitmapCache().put(KEY, bitmap);
return bitmap;
}
示例10: inviteToConversation
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
protected void inviteToConversation(Conversation conversation) {
Intent intent = new Intent(getApplicationContext(),
ChooseContactActivity.class);
List<String> contacts = new ArrayList<>();
if (conversation.getMode() == Conversation.MODE_MULTI) {
for (MucOptions.User user : conversation.getMucOptions().getUsers(false)) {
Jid jid = user.getRealJid();
if (jid != null) {
contacts.add(jid.toBareJid().toString());
}
}
} else {
contacts.add(conversation.getJid().toBareJid().toString());
}
intent.putExtra("filter_contacts", contacts.toArray(new String[contacts.size()]));
intent.putExtra("conversation", conversation.getUuid());
intent.putExtra("multiple", true);
intent.putExtra("show_enter_jid", true);
intent.putExtra(EXTRA_ACCOUNT, conversation.getAccount().getJid().toBareJid().toString());
startActivityForResult(intent, REQUEST_INVITE_TO_CONVERSATION);
}
示例11: pushSubjectToConference
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
public void pushSubjectToConference(final Conversation conference, final String subject) {
MessagePacket packet = this.getMessageGenerator().conferenceSubject(conference, subject);
this.sendMessagePacket(conference.getAccount(), packet);
final MucOptions mucOptions = conference.getMucOptions();
final MucOptions.User self = mucOptions.getSelf();
if (!mucOptions.persistent() && self.getAffiliation().ranks(MucOptions.Affiliation.OWNER)) {
Bundle options = new Bundle();
options.putString("muc#roomconfig_persistentroom", "1");
this.pushConferenceConfiguration(conference, options, null);
}
}
示例12: changeAffiliationsInConference
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
public void changeAffiliationsInConference(final Conversation conference, MucOptions.Affiliation before, MucOptions.Affiliation after) {
List<Jid> jids = new ArrayList<>();
for (MucOptions.User user : conference.getMucOptions().getUsers()) {
if (user.getAffiliation() == before && user.getJid() != null) {
jids.add(user.getJid());
}
}
IqPacket request = this.mIqGenerator.changeAffiliation(conference, jids, after.toString());
sendIqPacket(conference.getAccount(), request, mDefaultIqHandler);
}
示例13: key
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
private String key(MucOptions.User user, int size) {
synchronized (this.sizes) {
if (!this.sizes.contains(size)) {
this.sizes.add(size);
}
}
return PREFIX_CONTACT + "_" + user.getAccount().getJid().toBareJid() + "_"
+ user.getFullJid() + "_" + String.valueOf(size);
}
示例14: clear
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
public void clear(MucOptions.User user) {
synchronized (this.sizes) {
for (Integer size : sizes) {
this.mXmppConnectionService.getBitmapCache().remove(key(user, size));
}
}
}
示例15: onTabPressed
import eu.siacs.conversations.entities.MucOptions; //导入方法依赖的package包/类
@Override
public boolean onTabPressed(boolean repeated) {
if (conversation == null || conversation.getMode() == Conversation.MODE_SINGLE) {
return false;
}
if (repeated) {
completionIndex++;
} else {
lastCompletionLength = 0;
completionIndex = 0;
final String content = mEditMessage.getText().toString();
lastCompletionCursor = mEditMessage.getSelectionEnd();
int start = lastCompletionCursor > 0 ? content.lastIndexOf(" ",lastCompletionCursor-1) + 1 : 0;
firstWord = start == 0;
incomplete = content.substring(start,lastCompletionCursor);
}
List<String> completions = new ArrayList<>();
for(MucOptions.User user : conversation.getMucOptions().getUsers()) {
if (user.getName().startsWith(incomplete)) {
completions.add(user.getName()+(firstWord ? ": " : " "));
}
}
Collections.sort(completions);
if (completions.size() > completionIndex) {
String completion = completions.get(completionIndex).substring(incomplete.length());
mEditMessage.getEditableText().delete(lastCompletionCursor,lastCompletionCursor + lastCompletionLength);
mEditMessage.getEditableText().insert(lastCompletionCursor, completion);
lastCompletionLength = completion.length();
} else {
completionIndex = -1;
mEditMessage.getEditableText().delete(lastCompletionCursor,lastCompletionCursor + lastCompletionLength);
lastCompletionLength = 0;
}
return true;
}