output.writeMessage(103, getAttr());
.computeMessageSize(103, getAttr());
void onInfoChangedNotify(Messages.ConvCommand convCommand) { final AVIMConversationEventHandler handler = AVIMMessageManagerHelper.getConversationEventHandler(); if (null != handler) { AVIMClient client = AVIMClient.getInstance(session.getSelfPeerId()); final AVIMConversation conversation = parseConversation(client, convCommand); final String operator = convCommand.getInitBy(); Messages.JsonObjectMessage attrMsg = convCommand.getAttr(); JSONObject operand = null; if (null == attrMsg || null == attrMsg.getData() || attrMsg.getData().trim().length() < 1) { // attached data is empty conversation.setMustFetch(); } else { // diff data is pushed, but deleted attr is ignored. operand = JSON.parseObject(attrMsg.getData()); AVIMConversation.mergeConversationFromJsonObject(conversation, operand); } // Notice: SDK doesn't refresh conversation data automatically. handler.processEvent(Conversation.STATUS_ON_INFO_CHANGED, operator, operand, conversation); } } void onKickedFromConversation(final String invitedBy) {
mergeAttr(other.getAttr());
hash = (53 * hash) + getAttr().hashCode();
if (!getAttr().isInitialized()) { memoizedIsInitialized = 0; return false;