package com.xbcx.im; import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.IBinder; import android.text.TextUtils; import androidx.core.app.NotificationCompat; import asmack.org.jivesoftware.smack.Chat; import asmack.org.jivesoftware.smack.ChatManagerListener; import asmack.org.jivesoftware.smack.ConnectionConfiguration; import asmack.org.jivesoftware.smack.ConnectionListener; import asmack.org.jivesoftware.smack.MessageListener; import asmack.org.jivesoftware.smack.PacketCollector; import asmack.org.jivesoftware.smack.PacketInterceptor; import asmack.org.jivesoftware.smack.PacketListener; import asmack.org.jivesoftware.smack.PrivacyList; import asmack.org.jivesoftware.smack.PrivacyListManager; import asmack.org.jivesoftware.smack.Roster; import asmack.org.jivesoftware.smack.RosterEntry; import asmack.org.jivesoftware.smack.RosterListener; import asmack.org.jivesoftware.smack.SmackConfiguration; import asmack.org.jivesoftware.smack.XMPPConnection; import asmack.org.jivesoftware.smack.XMPPException; import asmack.org.jivesoftware.smack.filter.AndFilter; import asmack.org.jivesoftware.smack.filter.PacketIDFilter; import asmack.org.jivesoftware.smack.filter.PacketTypeFilter; import asmack.org.jivesoftware.smack.packet.DefaultPacketExtension; import asmack.org.jivesoftware.smack.packet.IQ; import asmack.org.jivesoftware.smack.packet.Message; import asmack.org.jivesoftware.smack.packet.MessageEvent; import asmack.org.jivesoftware.smack.packet.Packet; import asmack.org.jivesoftware.smack.packet.PacketExtension; import asmack.org.jivesoftware.smack.packet.Presence; import asmack.org.jivesoftware.smack.packet.Privacy; import asmack.org.jivesoftware.smack.packet.PrivacyItem; import asmack.org.jivesoftware.smack.packet.Registration; import asmack.org.jivesoftware.smack.packet.RosterPacket; import asmack.org.jivesoftware.smack.packet.StreamError; import asmack.org.jivesoftware.smack.packet.XMPPError; import asmack.org.jivesoftware.smack.provider.PrivacyProvider; import asmack.org.jivesoftware.smack.provider.ProviderManager; import asmack.org.jivesoftware.smack.util.AttributeHelper; import asmack.org.jivesoftware.smack.util.StringUtils; import asmack.org.jivesoftware.smackx.ServiceDiscoveryManager; import asmack.org.jivesoftware.smackx.filetransfer.FileTransferNegotiator; import asmack.org.jivesoftware.smackx.muc.MultiUserChat; import asmack.org.jivesoftware.smackx.muc.Occupant; import asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener; import asmack.org.jivesoftware.smackx.muc.UserStatusListener; import asmack.org.jivesoftware.smackx.packet.AdHocCommandData; import asmack.org.jivesoftware.smackx.packet.CapsExtension; import asmack.org.jivesoftware.smackx.packet.ChatStateExtension; import asmack.org.jivesoftware.smackx.packet.DelayInformation; import asmack.org.jivesoftware.smackx.packet.MUCUser; import asmack.org.jivesoftware.smackx.packet.Nick; import asmack.org.jivesoftware.smackx.packet.OfflineMessageInfo; import asmack.org.jivesoftware.smackx.packet.OfflineMessageRequest; import asmack.org.jivesoftware.smackx.provider.DelayInformationProvider; import asmack.org.jivesoftware.smackx.provider.DiscoverInfoProvider; import asmack.org.jivesoftware.smackx.provider.DiscoverItemsProvider; import asmack.org.jivesoftware.smackx.provider.MUCAdminProvider; import asmack.org.jivesoftware.smackx.provider.MUCOwnerProvider; import asmack.org.jivesoftware.smackx.provider.MUCUserProvider; import asmack.org.jivesoftware.smackx.provider.VCardProvider; import asmack.org.jivesoftware.smackx.receipts.DeliveryReceipt; import asmack.org.jivesoftware.smackx.receipts.DeliveryReceiptManager; import asmack.org.jivesoftware.smackx.receipts.DeliveryReceiptRequest; import c.s.b.b; import c.s.b.m; import c.s.e.d; import c.s.e.j; import com.igexin.sdk.PushConsts; import com.umeng.analytics.pro.c; import com.xbcx.core.C0526d; import com.xbcx.core.PicUrlObject; import com.xbcx.core.XApplication; import com.xbcx.core.p; import com.xbcx.im.a.w; import com.xbcx.im.ui.o; import com.xbcx.im.ui.v; import com.xbcx.view.XChatEditView; import com.yht.app.BaseApplication; import com.yht.util.s; import com.yht.util.y; import com.yht.util.z; import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.WeakHashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; public abstract class IMSystem extends Service implements ConnectionListener, ChatManagerListener, RosterListener, UserStatusListener, ParticipantStatusListener { public static final String BODY_TYPE_CLICKABLE_TEXT = "actionText"; public static final String BODY_TYPE_CLICKABLE_TEXT_AND_TEXT = "noticeFetchDrug"; public static final String BODY_TYPE_DIAGNOSIS = "diagnosis"; public static final String BODY_TYPE_FILE = "filelink"; public static final String BODY_TYPE_ICON_NAME = "noticeCard"; public static final String BODY_TYPE_LOCATION = "locationlink"; public static final String BODY_TYPE_MEDAL = "medallink"; public static final String BODY_TYPE_NIM_VIDEO_CHAT = "video_chat"; public static final String BODY_TYPE_NOTICE = "noticelink"; public static final String BODY_TYPE_PAY_NOTICE = "pay_notice"; public static final String BODY_TYPE_PHOTO = "pflink"; public static final String BODY_TYPE_PICTURE_AND_QUESTION = "articalPictureQuestion"; public static final String BODY_TYPE_PRESCRIPTION = "prescription"; public static final String BODY_TYPE_PROMPT_FROM_SERVER = "prompt"; public static final String BODY_TYPE_REMIND = "remindlink"; public static final String BODY_TYPE_REMIND_LINK_V2 = "remindlinkV2"; public static final String BODY_TYPE_REPORT = "report"; public static final String BODY_TYPE_TALK_NOTICE = "talkNotice"; public static final String BODY_TYPE_UNIFIED_REMIND_LINK = "remindlinkV3"; public static final String BODY_TYPE_VIDEO = "videolink"; public static final String BODY_TYPE_VOICE = "vflink"; public static final String BODY_TYPE_WEB = "weblink"; protected static String DISCUSSION_FLAG = "qz"; protected static final String ELEMENT_NAME_VCARD = "x"; protected static String GROUP_FLAG = "qz"; protected static final String NAMESPACE_VCARD = "vcard-temp:x:update"; protected static String NOTICE_FLAG = "@notice"; protected static final int TIMEOUT_IMEVENT = 20000; protected static final String VCARD_FIELD_ADMIN = "ADMIN"; protected static final String VCARD_FILED_AVATARURL = "DESC"; public static HashMap<String, N> mAllReceiptMessagePacketMap = new HashMap<>(); protected AtomicReference<IMChatRoom> mAtomicDisconnectRoom = new AtomicReference<>(); protected AtomicLong mAtomicReceiveRoomMessageMinSendTime = new AtomicLong(); protected BroadcastReceiver mBroadcastReceiverNetworkMonitor = new v(this); protected XMPPConnection mConnection; protected Context mContext; protected boolean mIsConnecting = false; protected boolean mIsConnectionAvailable = false; protected boolean mIsInitiativeDisConnect = false; protected boolean mIsNetworkMonitoring = false; protected boolean mIsReConnect = false; protected IMLoginInfo mLoginInfo; protected Map<String, String> mMapIdBlackList = new ConcurrentHashMap(); protected Map<String, IMContact> mMapIdToContact = new ConcurrentHashMap(); protected Map<String, IMGroup> mMapIdToGroup = new ConcurrentHashMap(); private WeakHashMap<String, String> mMapUserIdToChatThreadId = new WeakHashMap<>(); private MessageListener mMessageListenerSingleChat = new C0545j(this); protected AtomicReference<A> mMultiUserChat = new AtomicReference<>(); protected AtomicBoolean mNeedDelayReceiveRoomMessage = new AtomicBoolean(); private PacketInterceptor mPacketInterceptorMultiPresence = new C0548m(this); private PacketListener mPacketListenerMultiParticipant = new C0547l(this); private PacketListener mPacketListenerMultiUserChat = new C0546k(this); protected int mReConnectCount = 0; protected int mReConnectIntervalMillis = 1000; protected Roster mRoster; protected String mServer; protected String mVerifyType; /* access modifiers changed from: protected */ public static class a implements PacketExtension { /* renamed from: a reason: collision with root package name */ private String f15558a; /* renamed from: b reason: collision with root package name */ private String f15559b; public a(String str, long j) { this.f15558a = str; this.f15559b = Packet.XEP_0082_UTC_FORMAT.format(new Date(j)); } @Override // asmack.org.jivesoftware.smack.packet.PacketExtension public String getElementName() { return null; } @Override // asmack.org.jivesoftware.smack.packet.PacketExtension public String getNamespace() { return null; } @Override // asmack.org.jivesoftware.smack.packet.PacketExtension public String toXML() { StringBuffer stringBuffer = new StringBuffer("<item roomid=\""); stringBuffer.append(this.f15558a); stringBuffer.append("\" "); stringBuffer.append("since=\""); stringBuffer.append(this.f15559b); stringBuffer.append("\"/>"); return stringBuffer.toString(); } } private boolean isSupportVideoChat() { return z.r(); } /* access modifiers changed from: protected */ public void addLogger() { this.mConnection.addPacketListener(new p(this), new q(this)); this.mConnection.addPacketSendingListener(new r(this), new s(this)); } /* access modifiers changed from: protected */ public void addMultiUserChatListener(MultiUserChat multiUserChat) { multiUserChat.addMessageListener(this.mPacketListenerMultiUserChat); multiUserChat.addParticipantListener(this.mPacketListenerMultiParticipant); multiUserChat.addPresenceInterceptor(this.mPacketInterceptorMultiPresence); multiUserChat.addParticipantStatusListener(this); multiUserChat.addUserStatusListener(this); } /* access modifiers changed from: protected */ public String addSuffixDiscussionJid(String str) { return str + "@" + DISCUSSION_FLAG + "." + this.mServer; } /* access modifiers changed from: protected */ public String addSuffixGroupChatJid(String str) { return str + "@" + GROUP_FLAG + "." + this.mServer; } /* access modifiers changed from: protected */ public String addSuffixRoomJid(String str) { return str + "@conference." + this.mServer; } /* access modifiers changed from: protected */ public String addSuffixUserJid(String str) { return str + "@" + this.mServer; } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void adminGranted() { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void adminGranted(String str) { } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void adminRevoked() { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void adminRevoked(String str) { } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void banned(String str, String str2) { doLeave(); } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void banned(String str, String str2, String str3) { } @Override // asmack.org.jivesoftware.smack.ChatManagerListener public void chatCreated(Chat chat, boolean z) { this.mMapUserIdToChatThreadId.put(removeSuffix(chat.getParticipant()), chat.getThreadID()); if (!z) { chat.addMessageListener(this.mMessageListenerSingleChat); } } /* access modifiers changed from: protected */ public void checkResultIQ(IQ iq) throws XMPPException { if (iq == null) { throw new XMPPException("No response from the server."); } else if (iq.getType() == IQ.Type.ERROR) { throw new XMPPException(iq.getError()); } } /* access modifiers changed from: protected */ public void configConnectionFeatures(XMPPConnection xMPPConnection) { ServiceDiscoveryManager.setIdentityName("Android_IM"); ServiceDiscoveryManager.setIdentityType("phone"); ServiceDiscoveryManager.setNonCapsCaching(false); ServiceDiscoveryManager instanceFor = ServiceDiscoveryManager.getInstanceFor(xMPPConnection); if (instanceFor == null) { instanceFor = new ServiceDiscoveryManager(xMPPConnection); } instanceFor.addFeature("http://jabber.org/protocol/disco#info"); instanceFor.addFeature(CapsExtension.XMLNS); instanceFor.addFeature("urn:xmpp:avatar:metadata"); instanceFor.addFeature("urn:xmpp:avatar:metadata+notify"); instanceFor.addFeature("urn:xmpp:avatar:data"); instanceFor.addFeature(Nick.NAMESPACE); instanceFor.addFeature("http://jabber.org/protocol/nick+notify"); instanceFor.addFeature("http://jabber.org/protocol/xhtml-im"); instanceFor.addFeature("http://jabber.org/protocol/muc"); instanceFor.addFeature(AdHocCommandData.SpecificError.namespace); instanceFor.addFeature("http://jabber.org/protocol/si/profile/file-transfer"); instanceFor.addFeature("http://jabber.org/protocol/si"); instanceFor.addFeature(FileTransferNegotiator.BYTE_STREAM); instanceFor.addFeature("http://jabber.org/protocol/ibb"); instanceFor.addFeature("http://jabber.org/protocol/feature-neg"); instanceFor.addFeature("jabber:iq:privacy"); instanceFor.addFeature("vcard-temp"); } @Override // asmack.org.jivesoftware.smack.ConnectionListener public void connectionClosed() { XApplication.getLogger().info("connectionClosed"); if (!this.mIsInitiativeDisConnect) { this.mIsConnectionAvailable = false; onHandleConnectionClosedOnError(); } } @Override // asmack.org.jivesoftware.smack.ConnectionListener public void connectionClosedOnError(Exception exc) { StreamError streamError; exc.printStackTrace(); XApplication.getLogger().info("connectionClosedOnError"); boolean z = false; this.mIsConnectionAvailable = false; if ((exc instanceof XMPPException) && (streamError = ((XMPPException) exc).getStreamError()) != null && "conflict".equals(streamError.getCode())) { z = true; onConflict(); } if (!z) { onHandleConnectionClosedOnError(); } } /* access modifiers changed from: protected */ /* JADX INFO: finally extract failed */ public void doAddBlackList(List<String> list) throws XMPPException { ArrayList arrayList = new ArrayList(); for (String str : list) { PrivacyItem privacyItem = new PrivacyItem("jid", false, 0); privacyItem.setValue(addSuffixUserJid(str)); arrayList.add(privacyItem); } if (arrayList.size() > 0) { G g2 = new G(); g2.setFrom(this.mConnection.getUser()); g2.setType(IQ.Type.SET); g2.b("addblack"); g2.setPrivacyList("default", arrayList); PacketCollector createPacketCollector = this.mConnection.createPacketCollector(new PacketIDFilter(g2.getPacketID())); try { this.mConnection.sendPacket(g2); checkResultIQ((Privacy) createPacketCollector.nextResult((long) SmackConfiguration.getPacketReplyTimeout())); createPacketCollector.cancel(); synchronized (this.mMapIdBlackList) { for (String str2 : list) { this.mMapIdBlackList.put(str2, str2); } } onBlackListChanged(); ArrayList arrayList2 = new ArrayList(); for (String str3 : list) { if (isFriend(str3)) { arrayList2.add(str3); } } if (arrayList2.size() > 0) { entriesDeleted(arrayList2); } } catch (Throwable th) { createPacketCollector.cancel(); throw th; } } } /* access modifiers changed from: protected */ public void doAddFriendOneDirection(String str, String str2) throws XMPPException { String addSuffixUserJid = addSuffixUserJid(str); RosterPacket rosterPacket = new RosterPacket(); rosterPacket.setType(IQ.Type.SET); rosterPacket.addRosterItem(new RosterPacket.Item(addSuffixUserJid, str2)); PacketCollector createPacketCollector = this.mConnection.createPacketCollector(new PacketIDFilter(rosterPacket.getPacketID())); this.mConnection.sendPacket(rosterPacket); createPacketCollector.cancel(); checkResultIQ((IQ) createPacketCollector.nextResult((long) SmackConfiguration.getPacketReplyTimeout())); } /* access modifiers changed from: protected */ /* JADX INFO: finally extract failed */ public void doDeleteBlackList(List<String> list) throws XMPPException { ArrayList arrayList = new ArrayList(); for (String str : list) { PrivacyItem privacyItem = new PrivacyItem("jid", false, 0); privacyItem.setValue(addSuffixUserJid(str)); arrayList.add(privacyItem); } if (arrayList.size() > 0) { G g2 = new G(); g2.setType(IQ.Type.SET); g2.b("delblack"); g2.setPrivacyList("default", arrayList); PacketCollector createPacketCollector = this.mConnection.createPacketCollector(new PacketIDFilter(g2.getPacketID())); try { this.mConnection.sendPacket(g2); checkResultIQ((Privacy) createPacketCollector.nextResult((long) SmackConfiguration.getPacketReplyTimeout())); createPacketCollector.cancel(); synchronized (this.mMapIdBlackList) { for (String str2 : list) { this.mMapIdBlackList.remove(str2); } } onBlackListChanged(); } catch (Throwable th) { createPacketCollector.cancel(); throw th; } } } /* access modifiers changed from: protected */ public void doExQuitGroupChat(String str) throws XMPPException { this.mRoster.quitGroupChat(addSuffixGroupChatJid(str), 20000); C.getInstance().a(str); } /* access modifiers changed from: protected */ public void doJoin(IMChatRoom iMChatRoom) throws XMPPException { String id = iMChatRoom.getId(); doLeave(); A a2 = new A(this.mConnection, addSuffixRoomJid(id), iMChatRoom); this.mMultiUserChat.set(a2); try { addMultiUserChatListener(a2); if (this.mAtomicDisconnectRoom.get() == null) { this.mNeedDelayReceiveRoomMessage.set(true); } a2.join(getLoginNick(), null, null, 20000); } catch (XMPPException e2) { this.mMultiUserChat.set(null); removeMultiUserChatListener(a2); throw e2; } } /* access modifiers changed from: protected */ public void doJoinRandom(IMChatRoom iMChatRoom) throws XMPPException { String id = iMChatRoom.getId(); doLeave(); A a2 = new A(this.mConnection, addSuffixRoomJid(id), iMChatRoom, true); this.mMultiUserChat.set(a2); try { addMultiUserChatListener(a2); this.mNeedDelayReceiveRoomMessage.set(true); a2.joinRandom(getLoginNick(), null, null, 20000); String removeSuffix = removeSuffix(a2.getRoom()); this.mAtomicReceiveRoomMessageMinSendTime.set(getRoomLastMessageSendTime(removeSuffix)); a2.a().setId(removeSuffix); } catch (XMPPException e2) { this.mMultiUserChat.set(null); removeMultiUserChatListener(a2); throw e2; } } /* access modifiers changed from: protected */ public void doLeave() { synchronized (this.mMultiUserChat) { A a2 = this.mMultiUserChat.get(); if (a2 != null) { removeMultiUserChatListener(a2); a2.leave(); this.mMultiUserChat.set(null); } } } /* access modifiers changed from: protected */ public void doLogin() throws Exception { doLogin(false); } /* access modifiers changed from: protected */ public void doLogin(boolean z) throws Exception { if (!this.mIsConnectionAvailable && !this.mIsConnecting) { this.mIsConnecting = true; try { if (this.mLoginInfo == null) { s.b("login info is null"); this.mIsConnecting = false; return; } this.mConnection = new XMPPConnection(new ConnectionConfiguration(this.mLoginInfo.getIP(), this.mLoginInfo.getPort(), this.mLoginInfo.getServer())); addLogger(); PrivacyListManager.getInstanceFor(this.mConnection); this.mConnection.getChatManager().addChatListener(this); this.mConnection.connect(); configConnectionFeatures(this.mConnection); this.mConnection.addConnectionListener(this); DeliveryReceiptManager.getInstanceFor(this.mConnection).enableAutoReceipts(); String user = this.mLoginInfo.getUser(); String pwd = this.mLoginInfo.getPwd(); try { StringBuilder sb = new StringBuilder("android"); String d2 = z.d(getApplicationContext(), "app"); if ("2".equals(d2)) { s.c("通用版应用resource不需要加上appid"); } else { sb.append("_"); sb.append(d2); sb.append("_"); } StringBuilder sb2 = new StringBuilder("qz,ack,medal,report,prescription"); sb2.append(","); sb2.append(BODY_TYPE_DIAGNOSIS); sb2.append(","); sb2.append(BODY_TYPE_PROMPT_FROM_SERVER); sb2.append(","); sb2.append(BODY_TYPE_PAY_NOTICE); sb2.append(","); sb2.append(BODY_TYPE_REMIND); sb2.append(","); sb2.append(BODY_TYPE_REMIND_LINK_V2); sb2.append(","); sb2.append(BODY_TYPE_PICTURE_AND_QUESTION); sb2.append(","); sb2.append(BODY_TYPE_ICON_NAME); sb2.append(","); sb2.append(BODY_TYPE_UNIFIED_REMIND_LINK); sb2.append(","); sb2.append(BODY_TYPE_TALK_NOTICE); sb2.append(","); sb2.append(BODY_TYPE_CLICKABLE_TEXT); sb2.append(","); sb2.append(BODY_TYPE_CLICKABLE_TEXT_AND_TEXT); if (isSupportVideoChat()) { sb2.append(","); sb2.append(BODY_TYPE_NIM_VIDEO_CHAT); } else { s.a("Don't support video calling!"); } this.mConnection.login(user, pwd, sb.toString(), sb2.toString()); s.a("Support feature: " + sb2.toString()); this.mRoster = this.mConnection.getRoster(); this.mRoster.addRosterListener(this); Presence presence = new Presence(Presence.Type.available); onInterceptLoginPresence(presence); this.mConnection.sendPacket(presence); updateContactsByRoster(); onLoginGet(); if (this.mIsInitiativeDisConnect) { this.mConnection.removeConnectionListener(this); this.mConnection.disconnect(); } else { this.mIsConnectionAvailable = true; } this.mIsConnecting = false; } catch (XMPPException e2) { if (z) { try { doRegister(user, pwd); } catch (XMPPException e3) { XMPPError xMPPError = e3.getXMPPError(); if (xMPPError != null && xMPPError.getCode() == 409) { this.mIsReConnect = false; onLoginPwdError(); } throw e3; } } throw e2; } } catch (Exception e4) { e4.printStackTrace(); this.mConnection.removeConnectionListener(this); if (this.mConnection.isAuthenticated()) { this.mConnection.disconnect(); } throw e4; } catch (Throwable th) { this.mIsConnecting = false; throw th; } } } /* access modifiers changed from: protected */ public void doLoginOut() { this.mIsInitiativeDisConnect = true; this.mIsConnectionAvailable = false; this.mIsReConnect = false; this.mConnection.removeConnectionListener(this); this.mConnection.disconnect(); onLoginOut(); } /* JADX INFO: finally extract failed */ /* access modifiers changed from: protected */ public void doRegister(String str, String str2) throws XMPPException { Registration registration = new Registration(); registration.setType(IQ.Type.SET); registration.setTo(this.mConnection.getServiceName()); registration.setUsername(str); registration.setPassword(str2); registration.addAttribute("android", "geolo_createUser_android"); PacketCollector packetCollector = null; try { packetCollector = this.mConnection.createPacketCollector(new AndFilter(new PacketIDFilter(registration.getPacketID()), new PacketTypeFilter(IQ.class))); this.mConnection.sendPacket(registration); IQ iq = (IQ) packetCollector.nextResult((long) SmackConfiguration.getPacketReplyTimeout()); packetCollector.cancel(); checkResultIQ(iq); } catch (Throwable th) { packetCollector.cancel(); throw th; } } /* access modifiers changed from: protected */ public void doSend(N n) throws XMPPException { String str; AttributeHelper attributeHelper; int fromType = n.getFromType(); if (fromType == 4) { A a2 = this.mMultiUserChat.get(); if (a2 != null) { Message createMessage = a2.createMessage(); onSendInit(createMessage, n); a2.sendMessage(createMessage); return; } return; } Chat orCreateChat = getOrCreateChat(n.getOtherSideId(), n.getFromType()); Message message = new Message(); message.setPacketID(n.getId()); onSendInit(message, n); String str2 = Nick.ELEMENT_NAME; if (fromType == 1) { attributeHelper = message.attributes; str = getLoginNick(); } else { message.attributes.addAttribute(str2, n.getGroupName()); attributeHelper = message.getMessageBody(null).attributes; str = getLoginNick(); str2 = "name"; } attributeHelper.addAttribute(str2, str); DeliveryReceiptManager.addDeliveryReceiptRequest(message); mAllReceiptMessagePacketMap.put(message.getPacketID(), n); orCreateChat.sendMessage(message); } @Override // asmack.org.jivesoftware.smack.RosterListener public void entriesAdded(Collection<String> collection) { for (String str : collection) { onAddRosterEntry(this.mRoster.getEntry(str)); } onFriendListChanged(); onGroupChatListChanged(); } @Override // asmack.org.jivesoftware.smack.RosterListener public void entriesDeleted(Collection<String> collection) { Map map; String removeSuffix; synchronized (this.mMapIdToContact) { for (String str : collection) { if (str.contains(GROUP_FLAG)) { map = this.mMapIdToGroup; removeSuffix = removeSuffix(str); } else { map = this.mMapIdToContact; removeSuffix = removeSuffix(str); } map.remove(removeSuffix); } } onFriendListChanged(); onGroupChatListChanged(); } /* JADX DEBUG: Multi-variable search result rejected for r2v4, resolved type: com.xbcx.im.IMGroup */ /* JADX WARN: Multi-variable type inference failed */ @Override // asmack.org.jivesoftware.smack.RosterListener public void entriesUpdated(Collection<String> collection) { Map map; String id; IMContact iMContact; synchronized (this.mMapIdToContact) { for (String str : collection) { RosterEntry entry = this.mRoster.getEntry(str); if (entry.isGroupChat()) { IMGroup iMGroup = new IMGroup(removeSuffix(entry.getUser()), entry.getName()); for (RosterEntry rosterEntry : entry.getChilds()) { String removeSuffix = removeSuffix(rosterEntry.getUser()); iMGroup.addMember(new IMContact(removeSuffix, rosterEntry.getName())); iMGroup.setRole(removeSuffix, rosterEntry.getGroupAdmin()); } map = this.mMapIdToGroup; id = iMGroup.getId(); iMContact = iMGroup; } else { IMContact onCreateContactByRosterEntry = onCreateContactByRosterEntry(entry); if (!TextUtils.isEmpty(entry.getName()) || !this.mMapIdToContact.containsKey(onCreateContactByRosterEntry.getId())) { map = this.mMapIdToContact; id = onCreateContactByRosterEntry.getId(); iMContact = onCreateContactByRosterEntry; } } map.put(id, iMContact == 1 ? 1 : 0); } } onFriendListChanged(); onGroupChatListChanged(); } /* access modifiers changed from: protected */ public abstract List<String> getAllRoomIdInDb(String str); /* access modifiers changed from: protected */ public abstract String getAvatarUrl(); /* access modifiers changed from: protected */ public abstract String getLoginNick(); /* access modifiers changed from: protected */ public Chat getOrCreateChat(String str, int i) { Chat threadChat = this.mConnection.getChatManager().getThreadChat(this.mMapUserIdToChatThreadId.get(str)); return threadChat == null ? this.mConnection.getChatManager().createChat(idToJid(str, i), this.mMessageListenerSingleChat) : threadChat; } /* access modifiers changed from: protected */ public abstract long getRoomLastMessageSendTime(String str); /* access modifiers changed from: protected */ public String getUser() { IMLoginInfo iMLoginInfo = this.mLoginInfo; return iMLoginInfo == null ? "" : iMLoginInfo.getUser(); } /* access modifiers changed from: protected */ public void handleJoinRoomFinished(boolean z) { if (z) { this.mAtomicDisconnectRoom.set(null); return; } IMChatRoom iMChatRoom = this.mAtomicDisconnectRoom.get(); if (iMChatRoom != null) { requestJoinRoom(iMChatRoom); } } /* access modifiers changed from: protected */ public void handleLoginFinished(boolean z) { if (z) { IMChatRoom iMChatRoom = this.mAtomicDisconnectRoom.get(); if (iMChatRoom != null) { requestJoinRoom(iMChatRoom); } } else if (!this.mIsReConnect) { } else { if (j.f(this.mContext)) { requestReconnect(); } else { startNetworkMonitor(); } } } /* access modifiers changed from: protected */ public String idToJid(String str, int i) { if (i == 1) { return addSuffixUserJid(str); } if (i == 2) { return addSuffixGroupChatJid(str); } if (i == 3) { return addSuffixDiscussionJid(str); } if (i == 4) { return addSuffixRoomJid(str); } throw new IllegalArgumentException("unkonw fromType"); } /* access modifiers changed from: protected */ public boolean isFriend(String str) { return this.mMapIdToContact.containsKey(str); } /* access modifiers changed from: protected */ public boolean isInBlackList(String str) { return this.mMapIdBlackList.containsKey(str); } /* access modifiers changed from: protected */ public boolean isJoinedMultiUserChat() { return (this.mMultiUserChat.get() == null && this.mAtomicDisconnectRoom.get() == null) ? false : true; } /* access modifiers changed from: protected */ public boolean isLocalId(String str) { IMLoginInfo iMLoginInfo; return (str == null || (iMLoginInfo = this.mLoginInfo) == null || !str.equals(iMLoginInfo.getUser())) ? false : true; } /* access modifiers changed from: protected */ public boolean isSelfInGroup(String str) { return this.mMapIdToGroup.containsKey(str); } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void joined(String str) { } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void kicked(String str, String str2) { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void kicked(String str, String str2, String str3) { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void left(String str) { } /* access modifiers changed from: protected */ public void loadBlackList() throws Exception { PrivacyListManager instanceFor = PrivacyListManager.getInstanceFor(this.mConnection); if (instanceFor != null) { Privacy privacy = new Privacy(); privacy.setPrivacyList("default", new ArrayList()); Privacy request = instanceFor.getRequest(privacy); PrivacyList privacyList = new PrivacyList(false, true, "default", request.getPrivacyList("default")); for (String str : request.getPrivacyListAttributeNames("default")) { privacyList.mAttributeHelper.addAttribute(str, request.getPrivacyListAttributeValue("default", str)); } synchronized (this.mMapIdBlackList) { this.mMapIdBlackList.clear(); for (PrivacyItem privacyItem : privacyList.getItems()) { if (PrivacyItem.Type.jid.equals(privacyItem.getType())) { String removeSuffix = removeSuffix(privacyItem.getValue()); this.mMapIdBlackList.put(removeSuffix, removeSuffix); } } } onBlackListChanged(); this.mVerifyType = privacyList.mAttributeHelper.getAttributeValue("type"); } } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void membershipGranted() { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void membershipGranted(String str) { } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void membershipRevoked() { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void membershipRevoked(String str) { } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void moderatorGranted() { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void moderatorGranted(String str) { } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void moderatorRevoked() { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void moderatorRevoked(String str) { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void nicknameChanged(String str, String str2) { } /* access modifiers changed from: protected */ public void onAddRosterEntry(RosterEntry rosterEntry) { if (rosterEntry.isGroupChat()) { IMGroup iMGroup = new IMGroup(removeSuffix(rosterEntry.getUser()), rosterEntry.getName()); for (RosterEntry rosterEntry2 : rosterEntry.getChilds()) { String removeSuffix = removeSuffix(rosterEntry2.getUser()); iMGroup.addMember(new IMContact(removeSuffix, rosterEntry2.getName())); iMGroup.setRole(removeSuffix, rosterEntry2.getGroupAdmin()); } this.mMapIdToGroup.put(iMGroup.getId(), iMGroup); } else if (!isLocalId(removeSuffix(rosterEntry.getUser()))) { IMContact onCreateContactByRosterEntry = onCreateContactByRosterEntry(rosterEntry); this.mMapIdToContact.put(onCreateContactByRosterEntry.getId(), onCreateContactByRosterEntry); } } public IBinder onBind(Intent intent) { return null; } /* access modifiers changed from: protected */ public void onBlackListChanged() { } /* access modifiers changed from: protected */ public void onConflict() { stopSelf(); } public void onCreate() { super.onCreate(); this.mContext = this; onInitProviderManager(ProviderManager.getInstance()); } /* access modifiers changed from: protected */ public abstract IMContact onCreateContactByRosterEntry(RosterEntry rosterEntry); /* access modifiers changed from: protected */ public String onCreateReceiveXMessageId(Message message) { return y.a(message.getPacketID()) ? N.buildMessageId() : message.getPacketID(); } /* access modifiers changed from: protected */ public IMRoomMember onCreateRoomMember(Presence presence) { MUCUser.Item item = ((MUCUser) presence.getExtension("x", "http://jabber.org/protocol/muc#user")).getItem(); return new IMRoomMember(removeSuffix(item.getJid()), StringUtils.parseResource(presence.getFrom()), item.getRole()); } /* access modifiers changed from: protected */ public abstract N onCreateXMessage(String str, int i); public void onDestroy() { Thread oVar; super.onDestroy(); stopNetworkMonitor(); if (this.mIsConnectionAvailable) { oVar = new C0549n(this); } else if (this.mConnection != null) { oVar = new C0550o(this); } else { return; } oVar.start(); } /* access modifiers changed from: protected */ public void onFriendListChanged() { } /* access modifiers changed from: protected */ public void onGroupChatListChanged() { } /* access modifiers changed from: protected */ public void onGroupPromptMessageBuildEnd(N n, String str, Chat chat, Message message, MessageEvent messageEvent) { } /* access modifiers changed from: protected */ public void onHandleConnectionClosedOnError() { requestLogin(); synchronized (this.mMultiUserChat) { A a2 = this.mMultiUserChat.get(); if (a2 != null) { this.mAtomicDisconnectRoom.set(a2.a()); this.mMultiUserChat.set(null); } } } /* access modifiers changed from: protected */ public void onInitProviderManager(ProviderManager providerManager) { providerManager.addIQProvider("query", "http://jabber.org/protocol/disco#items", new DiscoverItemsProvider()); providerManager.addIQProvider("query", "http://jabber.org/protocol/disco#info", new DiscoverInfoProvider()); providerManager.addIQProvider(asmack.org.jivesoftware.smackx.packet.MessageEvent.OFFLINE, "http://jabber.org/protocol/offline", new OfflineMessageRequest.Provider()); providerManager.addIQProvider("vCard", "vcard-temp", new VCardProvider()); providerManager.addIQProvider("query", "http://jabber.org/protocol/muc#admin", new MUCAdminProvider()); providerManager.addIQProvider("query", "http://jabber.org/protocol/muc#owner", new MUCOwnerProvider()); providerManager.addIQProvider("query", "jabber:iq:privacy", new PrivacyProvider()); providerManager.addExtensionProvider(NotificationCompat.CATEGORY_EVENT, "jabber:client", new o()); providerManager.addExtensionProvider(asmack.org.jivesoftware.smackx.packet.MessageEvent.OFFLINE, "http://jabber.org/protocol/offline", new OfflineMessageInfo.Provider()); providerManager.addExtensionProvider("x", "jabber:x:delay", new DelayInformationProvider()); providerManager.addExtensionProvider("detail", "jabber:client", new x()); providerManager.addExtensionProvider("detail", "", new x()); ChatStateExtension.Provider provider = new ChatStateExtension.Provider(); providerManager.addExtensionProvider("active", "http://jabber.org/protocol/chatstates", provider); providerManager.addExtensionProvider(asmack.org.jivesoftware.smackx.packet.MessageEvent.COMPOSING, "http://jabber.org/protocol/chatstates", provider); providerManager.addExtensionProvider("paused", "http://jabber.org/protocol/chatstates", provider); providerManager.addExtensionProvider("inactive", "http://jabber.org/protocol/chatstates", provider); providerManager.addExtensionProvider("gone", "http://jabber.org/protocol/chatstates", provider); providerManager.addExtensionProvider("x", "http://jabber.org/protocol/muc#user", new MUCUserProvider()); providerManager.addExtensionProvider(DeliveryReceipt.ELEMENT, DeliveryReceipt.NAMESPACE, new DeliveryReceipt.Provider()); providerManager.addExtensionProvider(DeliveryReceiptRequest.ELEMENT, DeliveryReceipt.NAMESPACE, new DeliveryReceiptRequest.Provider()); } /* access modifiers changed from: protected */ public void onInterceptJoinRoomPresence(Presence presence) { onInterceptJoinRoomPresenceMessageTime(presence); DefaultPacketExtension defaultPacketExtension = new DefaultPacketExtension("x", NAMESPACE_VCARD); onInterceptJoinRoomPresenceVCardExtension(defaultPacketExtension); presence.addExtension(defaultPacketExtension); } /* access modifiers changed from: protected */ public void onInterceptJoinRoomPresenceMessageTime(Presence presence) { String removeSuffix = removeSuffix(StringUtils.parseBareAddress(presence.getTo())); if ("group".equals(presence.attr.getAttributeValue("by"))) { List<String> allRoomIdInDb = getAllRoomIdInDb(removeSuffix); if (allRoomIdInDb != null) { for (String str : allRoomIdInDb) { long roomLastMessageSendTime = getRoomLastMessageSendTime(str); if (roomLastMessageSendTime != 0) { presence.addExtension(new a(str, roomLastMessageSendTime)); } } return; } return; } long roomLastMessageSendTime2 = getRoomLastMessageSendTime(removeSuffix); this.mAtomicReceiveRoomMessageMinSendTime.set(roomLastMessageSendTime2); if (roomLastMessageSendTime2 != 0) { presence.addExtension(new a(removeSuffix, roomLastMessageSendTime2)); } } /* access modifiers changed from: protected */ public void onInterceptJoinRoomPresenceVCardExtension(DefaultPacketExtension defaultPacketExtension) { String avatarUrl = getAvatarUrl(); if (avatarUrl == null) { avatarUrl = ""; } defaultPacketExtension.setValue(VCARD_FILED_AVATARURL, avatarUrl); } /* access modifiers changed from: protected */ public void onInterceptLoginPresence(Presence presence) { presence.addExtension(new t(this)); presence.addExtension(new u(this)); } /* access modifiers changed from: protected */ public void onLoginFailure() { } /* access modifiers changed from: protected */ public void onLoginGet() throws Exception { } /* access modifiers changed from: protected */ public void onLoginOut() { } /* access modifiers changed from: protected */ public void onLoginPwdError() { } /* access modifiers changed from: protected */ public void onProcessAddFriendConfirmKindMessage(Chat chat, Message message, MessageEvent messageEvent) { String removeSuffix = removeSuffix(chat.getParticipant()); String attributeValue = message.attributes.getAttributeValue(Nick.ELEMENT_NAME); if (TextUtils.isEmpty(attributeValue)) { attributeValue = H.getInstance().getCacheName(removeSuffix); } if (!isFriend(removeSuffix)) { try { doAddFriendOneDirection(removeSuffix, attributeValue); } catch (Exception e2) { e2.printStackTrace(); } } N onCreateXMessage = onCreateXMessage(N.buildMessageId(), 10); onCreateXMessage.setUserId(removeSuffix); onCreateXMessage.setUserName(attributeValue); onCreateXMessage.setFromType(1); onCreateXMessage.setSendTime(parseMessageSendTime(message)); onCreateXMessage.setContent(getString(d.e(this, "add_friend_confirm"), new Object[]{onCreateXMessage.getUserName()})); onReceiveMessage(onCreateXMessage); } /* access modifiers changed from: protected */ public void onProcessAddFriendKindMessage(Chat chat, Message message, MessageEvent messageEvent) { String removeSuffix = removeSuffix(chat.getParticipant()); if (!isFriend(removeSuffix)) { this.mRoster.reload(); } N onCreateXMessage = onCreateXMessage(N.buildMessageId(), 10); onCreateXMessage.setUserId(removeSuffix); String attributeValue = message.attributes.getAttributeValue(Nick.ELEMENT_NAME); if (TextUtils.isEmpty(attributeValue)) { attributeValue = H.getInstance().getCacheName(removeSuffix); } onCreateXMessage.setUserName(attributeValue); onCreateXMessage.setFromType(1); onCreateXMessage.setSendTime(parseMessageSendTime(message)); onCreateXMessage.setContent(getString(d.e(this, "add_you_friend"), new Object[]{onCreateXMessage.getUserName()})); onReceiveMessage(onCreateXMessage); } /* access modifiers changed from: protected */ public N onProcessCreateGroupMessage(Chat chat, Message message, MessageEvent messageEvent) { String attributeValue = messageEvent.mAttris.getAttributeValue("sponsor"); String parseName = StringUtils.parseName(attributeValue); StringBuffer stringBuffer = new StringBuffer(); boolean z = false; if (isLocalId(parseName)) { stringBuffer.append(getString(d.e(this, "group_prompt_you_invite"))); boolean z2 = true; for (MessageEvent.Member member : messageEvent.getMembers()) { if (!isLocalId(removeSuffix(member.mAttris.getAttributeValue("jid")))) { if (z2) { stringBuffer.append(member.mAttris.getAttributeValue("name")); z2 = false; } else { stringBuffer.append("、"); stringBuffer.append(member.mAttris.getAttributeValue("name")); } } } z = true; } else { for (MessageEvent.Member member2 : messageEvent.getMembers()) { String attributeValue2 = member2.mAttris.getAttributeValue("jid"); if (attributeValue.equals(attributeValue2)) { stringBuffer.insert(0, member2.mAttris.getAttributeValue("name") + com.netease.yunxin.base.utils.StringUtils.SPACE + getString(d.e(this, "group_prompt_invite_you"))); } else if (!isLocalId(removeSuffix(attributeValue2))) { stringBuffer.append("、"); stringBuffer.append(member2.mAttris.getAttributeValue("name")); } } } stringBuffer.append(com.netease.yunxin.base.utils.StringUtils.SPACE + getString(d.e(this, "group_prompt_added_group"))); N onCreateXMessage = onCreateXMessage(N.buildMessageId(), 10); onCreateXMessage.setContent(stringBuffer.toString()); if (z) { onCreateXMessage.setReaded(true); } try { BaseApplication.getInstance().updateGroupMemberCount(removeSuffix(chat.getParticipant()), messageEvent.getMembers().size()); } catch (Exception unused) { } return onCreateXMessage; } /* access modifiers changed from: protected */ public void onProcessMultiChatMessage(Message message) { long j; if (!message.getType().equals(Message.Type.error)) { if (this.mNeedDelayReceiveRoomMessage.getAndSet(false)) { synchronized (this.mNeedDelayReceiveRoomMessage) { try { this.mNeedDelayReceiveRoomMessage.wait(3000); } catch (Exception e2) { e2.printStackTrace(); } } } String str = null; Message.Body messageBody = message.getMessageBody(null); if (messageBody != null) { String from = message.getFrom(); Occupant occupant = this.mMultiUserChat.get().getOccupant(from); if (occupant != null) { str = removeSuffix(occupant.getJid()); if (isLocalId(str)) { return; } } String parseResource = StringUtils.parseResource(from); if (!TextUtils.isEmpty(parseResource) && str == null) { PacketExtension extension = message.getExtension("x", "jabber:x:delay"); if (extension instanceof DelayInformation) { str = removeSuffix(((DelayInformation) extension).getFrom()); if (isLocalId(str)) { return; } } } try { j = Packet.XEP_0082_UTC_FORMAT.parse(message.attributes.getAttributeValue("stamp")).getTime(); } catch (Exception unused) { j = 0; } if (j == 0) { j = parseMessageSendTime(message); } if (j >= this.mAtomicReceiveRoomMessageMinSendTime.get()) { N onCreateXMessage = onCreateXMessage(onCreateReceiveXMessageId(message), parseMessageType(messageBody)); onCreateXMessage.setFromType(4); onCreateXMessage.setGroupId(removeSuffix(from)); onSetMessageCommonValue(onCreateXMessage, message); onCreateXMessage.setSendTime(j); if (str != null) { onCreateXMessage.setUserId(str); onCreateXMessage.setUserName(parseResource); } onReceiveMessage(onCreateXMessage); } } } } /* access modifiers changed from: protected */ public N onProcessQuitGroupMessage(Chat chat, Message message, MessageEvent messageEvent) { String attributeValue = messageEvent.mAttris.getAttributeValue("name"); N onCreateXMessage = onCreateXMessage(N.buildMessageId(), 10); onCreateXMessage.setContent(getString(d.e(this, "group_prompt_quited_group"), new Object[]{attributeValue})); onCreateXMessage.setReaded(true); return onCreateXMessage; } /* access modifiers changed from: protected */ public void onProcessRoomPresence(Presence presence) { A a2 = this.mMultiUserChat.get(); if (a2 != null) { if (presence.getType() == Presence.Type.available) { IMRoomMember onCreateRoomMember = onCreateRoomMember(presence); if (onCreateRoomMember != null) { a2.f15531b.put(onCreateRoomMember.getId(), onCreateRoomMember); } } else if (presence.getType() == Presence.Type.unavailable) { a2.f15531b.remove(removeSuffix(((MUCUser) presence.getExtension("x", "http://jabber.org/protocol/muc#user")).getItem().getJid())); } onRoomMemberChanged(); } } /* access modifiers changed from: protected */ public void onProcessSingleChatBody(Chat chat, Message message, Message.Body body) { N n; String str; String str2; int parseMessageType = parseMessageType(body); if (404 == parseMessageType) { n = onCreateXMessage(onCreateReceiveXMessageId(message), 1); body.setMessage(XApplication.getApplication().getString(d.e(C0541f.d().b(), "not_support_msg_type"))); } else { n = onCreateXMessage(onCreateReceiveXMessageId(message), parseMessageType); } boolean z = false; if (chat.getParticipant().contains(GROUP_FLAG)) { n.setFromType(2); String removeSuffix = removeSuffix(chat.getParticipant()); n.setGroupId(removeSuffix); n.setGroupName(message.attributes.getAttributeValue(Nick.ELEMENT_NAME)); n.setUserId(removeSuffix(TextUtils.isEmpty(body.attributes.getAttributeValue("sponsor")) ? message.getFrom() : body.attributes.getAttributeValue("sponsor"))); n.setUserName(body.attributes.getAttributeValue("name")); if (n.getType() == 1) { String attributeValue = body.attributes.getAttributeValue("atlist"); if (!y.a(attributeValue)) { String[] split = attributeValue.split(","); int length = split.length; int i = 0; while (true) { if (i >= length) { break; } if (XApplication.getCurrentUserXBId().equals(split[i])) { BaseApplication.getInstance().getAllAtMeGroup().add(removeSuffix); v.f15875b = true; de.greenrobot.event.d.b().b(new b()); break; } i++; } } else { s.b("have no at list"); } } } else { if (chat.getParticipant().contains(DISCUSSION_FLAG)) { n.setFromType(2); n.setGroupId(removeSuffix(chat.getParticipant())); n.setGroupName(message.attributes.getAttributeValue(Nick.ELEMENT_NAME)); n.setUserId(removeSuffix(body.attributes.getAttributeValue("sponsor"))); str = body.attributes.getAttributeValue("name"); } else { if (chat.getParticipant().contains(NOTICE_FLAG)) { str2 = removeSuffix(chat.getParticipant()); n.setFromType(5); } else if (chat.getParticipant().contains(XApplication.getApplication().getSEVER())) { str2 = removeSuffix(chat.getParticipant()); n.setFromType(1); if (XApplication.getCurrentUserXBId().equals(str2)) { n.setUserId(removeSuffix(message.getTo())); z = true; } } else { s.b("IMSystem", "New IM message type, just ignore"); } n.setUserId(str2); str = message.attributes.getAttributeValue(Nick.ELEMENT_NAME); } n.setUserName(str); } if (z) { onSetMessageCommonValueFromSelf(n, message, true); } else { onSetMessageCommonValue(n, message); } onReceiveMessage(n); } /* access modifiers changed from: protected */ /* JADX WARNING: Removed duplicated region for block: B:118:0x0482 */ /* JADX WARNING: Removed duplicated region for block: B:144:? A[RETURN, SYNTHETIC] */ public void onProcessSingleChatEvent(Chat chat, Message message, MessageEvent messageEvent) { N n; N onProcessUnHandleKindGroupMessage; boolean z; int i; String str; String attributeValue = messageEvent.mAttris.getAttributeValue("kind"); if ("addfriendask".equals(attributeValue)) { String removeSuffix = removeSuffix(chat.getParticipant()); N onCreateXMessage = onCreateXMessage(N.buildMessageId(), 1); onCreateXMessage.setFromType(2); onCreateXMessage.setGroupId("friendverify"); onCreateXMessage.setUserId(removeSuffix); onCreateXMessage.setUserName(message.attributes.getAttributeValue(Nick.ELEMENT_NAME)); onCreateXMessage.setFromSelf(false); onCreateXMessage.setContent(messageEvent.getContent()); onCreateXMessage.setSendTime(parseMessageSendTime(message)); onReceiveMessage(onCreateXMessage); } else if ("addfriendconfirm".equals(attributeValue)) { onProcessAddFriendConfirmKindMessage(chat, message, messageEvent); } else if ("addfriend".equals(attributeValue)) { onProcessAddFriendKindMessage(chat, message, messageEvent); } else if ("changeavatar".equals(attributeValue)) { String from = message.getFrom(); if (!TextUtils.isEmpty(from)) { int indexOf = from.indexOf("@"); if (indexOf > 0) { from = from.substring(0, indexOf); } B b2 = C.getInstance().b(from); if (b2 != null) { String attributeValue2 = message.attributes.getAttributeValue(Nick.ELEMENT_NAME); String attributeValue3 = messageEvent.mAttris.getAttributeValue("avatar"); b2.b(attributeValue2); C0526d.c().c(p.DB_SaveRecentChat, b2); PicUrlObject picUrlObject = new PicUrlObject(b2.e()); picUrlObject.setName(b2.e()); picUrlObject.setPicUrl(attributeValue3); w.a().a(picUrlObject, false); de.greenrobot.event.d.b().b(new m(b2)); } } } else { if ("creategroup".equals(attributeValue)) { onProcessUnHandleKindGroupMessage = onProcessCreateGroupMessage(chat, message, messageEvent); } else { if ("removegroup".equals(attributeValue)) { String attributeValue4 = messageEvent.mAttris.getAttributeValue("name"); N onCreateXMessage2 = onCreateXMessage(N.buildMessageId(), 10); onCreateXMessage2.setContent(getString(d.e(this, "group_prompt_removed_group"), new Object[]{attributeValue4})); n = onCreateXMessage2; } else if ("quitgroup".equals(attributeValue)) { onProcessUnHandleKindGroupMessage = onProcessQuitGroupMessage(chat, message, messageEvent); } else if ("rename".equals(attributeValue)) { String parseName = StringUtils.parseName(messageEvent.mAttris.getAttributeValue("sponsor")); n = onCreateXMessage(N.buildMessageId(), 10); n.setContent(isLocalId(parseName) ? getString(d.e(this, "group_prompt_you_changed_group_name")) : messageEvent.mAttris.getAttributeValue("name") + getString(d.e(this, "group_prompt_changed_group_name"))); n.setReaded(true); } else { if ("addmember".equals(attributeValue)) { String attributeValue5 = messageEvent.mAttris.getAttributeValue("sponsor"); String parseName2 = StringUtils.parseName(attributeValue5); StringBuffer stringBuffer = new StringBuffer(); if (isLocalId(parseName2)) { stringBuffer.append(getString(d.e(this, "group_prompt_you_invite"))); i = 0; boolean z2 = true; for (Iterator<MessageEvent.Member> it2 = messageEvent.getMembers().iterator(); it2.hasNext(); it2 = it2) { MessageEvent.Member next = it2.next(); String attributeValue6 = next.mAttris.getAttributeValue("jid"); if ("1".equals(next.mAttris.getAttributeValue("new"))) { i++; if (!isLocalId(StringUtils.parseName(attributeValue6))) { if (z2) { stringBuffer.append(next.mAttris.getAttributeValue("name")); z2 = false; } else { stringBuffer.append("、"); stringBuffer.append(next.mAttris.getAttributeValue("name")); } } } } z = false; } else { boolean z3 = true; i = 0; boolean z4 = false; int i2 = 0; z = false; for (Iterator<MessageEvent.Member> it3 = messageEvent.getMembers().iterator(); it3.hasNext(); it3 = it3) { MessageEvent.Member next2 = it3.next(); String attributeValue7 = next2.mAttris.getAttributeValue("jid"); if (attributeValue5.equals(attributeValue7)) { String attributeValue8 = next2.mAttris.getAttributeValue("name"); if (attributeValue8 == null && (attributeValue8 = message.attributes.getAttributeValue(Nick.ELEMENT_NAME)) == null) { attributeValue8 = ""; } stringBuffer.insert(0, attributeValue8 + com.netease.yunxin.base.utils.StringUtils.SPACE + getString(d.e(this, "invite"))); str = attributeValue5; i2 = stringBuffer.length(); z4 = true; } else { str = attributeValue5; if ("1".equals(next2.mAttris.getAttributeValue("new"))) { i++; if (isLocalId(StringUtils.parseName(attributeValue7))) { int i3 = z4 ? i2 : 0; if (z3) { stringBuffer.insert(i3, getString(d.e(this, "you"))); z3 = false; } else { stringBuffer.insert(i3, getString(d.e(this, "you")) + "、"); } z = true; } else if (z3) { stringBuffer.append(next2.mAttris.getAttributeValue("name")); z3 = false; } else { stringBuffer.append("、"); stringBuffer.append(next2.mAttris.getAttributeValue("name")); } } } attributeValue5 = str; } } try { String removeSuffix2 = removeSuffix(chat.getParticipant()); int gRoupMemberCount = BaseApplication.getInstance().getGRoupMemberCount(removeSuffix2); BaseApplication.getInstance().updateGroupMemberCount(removeSuffix2, (gRoupMemberCount < 0 ? 0 : gRoupMemberCount) + i); } catch (Exception unused) { } stringBuffer.append(com.netease.yunxin.base.utils.StringUtils.SPACE + getString(d.e(this, "group_prompt_added_group"))); onProcessUnHandleKindGroupMessage = onCreateXMessage(N.buildMessageId(), 10); onProcessUnHandleKindGroupMessage.setContent(stringBuffer.toString()); onProcessUnHandleKindGroupMessage.setReaded(z ^ true); } else if ("kicked".equals(attributeValue)) { String attributeValue9 = messageEvent.mAttris.getAttributeValue("name"); N onCreateXMessage3 = onCreateXMessage(N.buildMessageId(), 10); onCreateXMessage3.setContent(getString(d.e(this, "group_prompt_you_been_removed"), new Object[]{attributeValue9})); n = onCreateXMessage3; } else if ("removemember".equals(attributeValue)) { String attributeValue10 = messageEvent.mAttris.getAttributeValue("sponsor"); StringBuffer stringBuffer2 = new StringBuffer(); if (isLocalId(attributeValue10)) { stringBuffer2.append(getString(d.e(this, "group_prompt_you_had"))); boolean z5 = true; for (MessageEvent.Member member : messageEvent.getMembers()) { if (z5) { stringBuffer2.append(member.mAttris.getAttributeValue("name")); z5 = false; } else { stringBuffer2.append("、"); stringBuffer2.append(member.mAttris.getAttributeValue("name")); } } } else { stringBuffer2.append(messageEvent.mAttris.getAttributeValue("name")); stringBuffer2.append(com.netease.yunxin.base.utils.StringUtils.SPACE + getString(d.e(this, "group_prompt_had"))); boolean z6 = true; for (MessageEvent.Member member2 : messageEvent.getMembers()) { if (z6) { stringBuffer2.append(member2.mAttris.getAttributeValue("name")); z6 = false; } else { stringBuffer2.append("、"); stringBuffer2.append(member2.mAttris.getAttributeValue("name")); } } } stringBuffer2.append(com.netease.yunxin.base.utils.StringUtils.SPACE + getString(d.e(this, "group_prompt_removed_member"))); onProcessUnHandleKindGroupMessage = onCreateXMessage(N.buildMessageId(), 10); onProcessUnHandleKindGroupMessage.setContent(stringBuffer2.toString()); onProcessUnHandleKindGroupMessage.setReaded(true); try { String removeSuffix3 = removeSuffix(chat.getParticipant()); int gRoupMemberCount2 = BaseApplication.getInstance().getGRoupMemberCount(removeSuffix3) - messageEvent.getMembers().size(); if (gRoupMemberCount2 < 0) { gRoupMemberCount2 = 0; } BaseApplication.getInstance().updateGroupMemberCount(removeSuffix3, gRoupMemberCount2); } catch (Exception unused2) { } } else { onProcessUnHandleKindGroupMessage = onProcessUnHandleKindGroupMessage(attributeValue, chat, message, messageEvent); } n = onProcessUnHandleKindGroupMessage; } if (n == null) { n.setFromType(2); n.setGroupId(removeSuffix(chat.getParticipant())); n.setGroupName(message.attributes.getAttributeValue(Nick.ELEMENT_NAME)); n.setSendTime(parseMessageSendTime(message)); onGroupPromptMessageBuildEnd(n, attributeValue, chat, message, messageEvent); onReceiveMessage(n); return; } return; } n = onProcessUnHandleKindGroupMessage; if (n == null) { } } } /* access modifiers changed from: protected */ public void onProcessSingleChatMessage(Chat chat, Message message) { if (message.getType().equals(Message.Type.error)) { onReceiveErrorMessageReceipt(message.getPacketID()); return; } Message.Body messageBody = message.getMessageBody(null); if (messageBody != null) { onProcessSingleChatBody(chat, message, messageBody); } PacketExtension extension = message.getExtension(NotificationCompat.CATEGORY_EVENT, "jabber:client"); if (extension != null && (extension instanceof MessageEvent)) { onProcessSingleChatEvent(chat, message, (MessageEvent) extension); } PacketExtension extension2 = message.getExtension(DeliveryReceipt.ELEMENT, DeliveryReceipt.NAMESPACE); if (extension2 != null && (extension2 instanceof DeliveryReceipt)) { onProgressMessageReceipt(((DeliveryReceipt) extension2).getId()); } } /* access modifiers changed from: protected */ public N onProcessUnHandleKindGroupMessage(String str, Chat chat, Message message, MessageEvent messageEvent) { return null; } /* access modifiers changed from: protected */ public void onProgressMessageReceipt(String str) { de.greenrobot.event.d.b().b(new c.s.b.a(str, true)); } /* access modifiers changed from: protected */ public void onReceiveErrorMessageReceipt(String str) { de.greenrobot.event.d.b().b(new c.s.b.a(str, false)); } /* access modifiers changed from: protected */ public void onReceiveMessage(N n) { } /* access modifiers changed from: protected */ public void onRoomMemberChanged() { } /* access modifiers changed from: protected */ public void onSendInit(Message message, N n) { String str; AttributeHelper attributeHelper; String str2; AttributeHelper attributeHelper2; String str3; Message.Body addBody; int type = n.getType(); if (type == 2) { Message.Body addBody2 = message.addBody(null, n.getVoiceDownloadUrl()); addBody2.attributes.addAttribute("type", BODY_TYPE_VOICE); addBody2.attributes.addAttribute("size", String.valueOf(n.getVoiceFrameCount())); } else if (type == 3) { Message.Body addBody3 = message.addBody(null, n.getThumbPhotoDownloadUrl()); addBody3.attributes.addAttribute("type", BODY_TYPE_PHOTO); addBody3.attributes.addAttribute("displayname", n.getDisplayName()); message.addExtension(new w(new File(n.getPhotoFilePath()).length(), n.getPhotoDownloadUrl())); } else { if (type == 4) { addBody = message.addBody(null, n.getVideoDownloadUrl()); addBody.attributes.addAttribute("type", BODY_TYPE_VIDEO); addBody.attributes.addAttribute("size", String.valueOf(n.getVideoSeconds())); addBody.attributes.addAttribute("thumb", n.getVideoThumbDownloadUrl()); } else if (type == 5) { addBody = message.addBody(null, n.getOfflineFileDownloadUrl()); addBody.attributes.addAttribute("type", BODY_TYPE_FILE); addBody.attributes.addAttribute("size", String.valueOf(n.getFileSize())); } else { if (type == 6) { Message.Body addBody4 = message.addBody(null, n.getContent()); addBody4.attributes.addAttribute("type", BODY_TYPE_LOCATION); String[] location = n.getLocation(); if (location != null && location.length > 1) { addBody4.attributes.addAttribute(c.C, location[0]); attributeHelper = addBody4.attributes; str = location[1]; str2 = c.D; } else { return; } } else if (type == 11) { Message.Body addBody5 = message.addBody(null, n.getContent()); addBody5.attributes.addAttribute("type", BODY_TYPE_MEDAL); attributeHelper = addBody5.attributes; str = n.getUrl(); str2 = "imageUrl"; } else if (type == 12) { Message.Body addBody6 = message.addBody(null, n.getContent()); addBody6.attributes.addAttribute("type", BODY_TYPE_REPORT); attributeHelper = addBody6.attributes; str = n.getUrl(); str2 = "reportUrl"; } else { if (n.isRemindLinkTypeV1()) { attributeHelper2 = message.addBody(null, n.getContent()).attributes; str3 = BODY_TYPE_REMIND; } else if (n.isRemindLinkTypeV2()) { attributeHelper2 = message.addBody(null, n.getContent()).attributes; str3 = BODY_TYPE_REMIND_LINK_V2; } else if (n.isUnifiedRemindLinkType()) { attributeHelper2 = message.addBody(null, n.getContent()).attributes; str3 = BODY_TYPE_UNIFIED_REMIND_LINK; } else if (type == 14) { attributeHelper2 = message.addBody(null, n.getContent()).attributes; str3 = BODY_TYPE_WEB; } else if (type == 15) { attributeHelper2 = message.addBody(null, n.getContent()).attributes; str3 = BODY_TYPE_NOTICE; } else if (type == 1) { Message.Body addBody7 = message.addBody(null, n.getContent()); str = XChatEditView.getAllAtIds(); if (!y.a(str)) { attributeHelper = addBody7.attributes; str2 = "atlist"; } else { return; } } else { message.setBody(n.getContent()); return; } attributeHelper2.addAttribute("type", str3); return; } attributeHelper.addAttribute(str2, str); return; } addBody.attributes.addAttribute("displayname", n.getDisplayName()); } } /* access modifiers changed from: protected */ public void onSetMessageCommonValue(N n, Message message) { onSetMessageCommonValueFromSelf(n, message, false); } /* access modifiers changed from: protected */ public void onSetMessageCommonValueFromSelf(N n, Message message, boolean z) { Message.Body messageBody = message.getMessageBody(null); n.setFromSelf(z); n.setContent(messageBody.getMessage()); n.setSendTime(parseMessageSendTime(message)); onSetXMessageUrl(n, message, messageBody); String attributeValue = messageBody.attributes.getAttributeValue("displayname"); if (!TextUtils.isEmpty(attributeValue)) { n.setDisplayName(attributeValue); } } /* access modifiers changed from: protected */ public void onSetXMessageUrl(N n, Message message, Message.Body body) { AttributeHelper attributeHelper; String str; int type = n.getType(); if (type == 2) { n.setVoiceFrameCount(Integer.parseInt(body.attributes.getAttributeValue("size"))); } else if (type == 3) { n.setPhotoDownloadUrl(((w) message.getExtension("detail", "jabber:client")).a()); } else if (type == 4) { n.setVideoThumbDownloadUrl(body.attributes.getAttributeValue("thumb")); n.setVideoDownloadUrl(body.getMessage()); n.setVideoSeconds(Integer.parseInt(body.attributes.getAttributeValue("size"))); } else if (type == 5) { n.setOfflineFileDownloadUrl(body.getMessage()); n.setFileSize(Long.parseLong(body.attributes.getAttributeValue("size"))); } else if (type == 6) { n.setLocation(Double.parseDouble(body.attributes.getAttributeValue(c.C)), Double.parseDouble(body.attributes.getAttributeValue(c.D))); } else { if (type == 11) { attributeHelper = body.attributes; str = "imageUrl"; } else if (type == 12) { attributeHelper = body.attributes; str = "reportUrl"; } else { return; } n.setUrl(attributeHelper.getAttributeValue(str)); } } public int onStartCommand(Intent intent, int i, int i2) { if (intent != null) { try { if (intent.hasExtra("imlogininfo")) { IMLoginInfo iMLoginInfo = (IMLoginInfo) intent.getSerializableExtra("imlogininfo"); if (this.mLoginInfo != null && !this.mLoginInfo.equals(iMLoginInfo) && this.mIsConnectionAvailable) { doLoginOut(); } this.mLoginInfo = iMLoginInfo; this.mServer = this.mLoginInfo.getServer(); } if (intent.hasExtra("reconnect")) { this.mIsReConnect = intent.getBooleanExtra("reconnect", false); } if (intent.getBooleanExtra("login", false)) { requestLogin(); } } catch (Exception unused) { } } return super.onStartCommand(intent, 1, i2); } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void ownershipGranted() { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void ownershipGranted(String str) { } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void ownershipRevoked() { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void ownershipRevoked(String str) { } /* access modifiers changed from: protected */ public long parseMessageSendTime(Message message) { PacketExtension extension = message.getExtension("x", "jabber:x:delay"); return ((extension == null || !(extension instanceof DelayInformation)) ? new Date() : ((DelayInformation) extension).getStamp()).getTime(); } /* access modifiers changed from: protected */ public int parseMessageType(Message.Body body) { AttributeHelper attributeHelper = body.attributes; if (attributeHelper != null) { String attributeValue = attributeHelper.getAttributeValue("type"); if (TextUtils.isEmpty(attributeValue)) { return 1; } if (BODY_TYPE_VOICE.equals(attributeValue)) { return 2; } if (BODY_TYPE_PHOTO.equals(attributeValue)) { return 3; } if (BODY_TYPE_VIDEO.equals(attributeValue)) { return 4; } if (BODY_TYPE_FILE.equals(attributeValue)) { return 5; } if (BODY_TYPE_LOCATION.equals(attributeValue)) { return 6; } if (BODY_TYPE_MEDAL.equals(attributeValue)) { return 11; } if (BODY_TYPE_REPORT.equals(attributeValue)) { return 12; } if (BODY_TYPE_REMIND.equals(attributeValue)) { return 13; } if (BODY_TYPE_REMIND_LINK_V2.equals(attributeValue)) { return 22; } if (BODY_TYPE_UNIFIED_REMIND_LINK.equals(attributeValue)) { return 23; } if (BODY_TYPE_CLICKABLE_TEXT.equals(attributeValue)) { return 24; } if (BODY_TYPE_WEB.equals(attributeValue)) { return 14; } if (BODY_TYPE_NOTICE.equals(attributeValue)) { return 15; } if (BODY_TYPE_PRESCRIPTION.equals(attributeValue)) { return 16; } if (BODY_TYPE_DIAGNOSIS.equals(attributeValue)) { return 17; } if (BODY_TYPE_PROMPT_FROM_SERVER.equals(attributeValue)) { return 18; } if (BODY_TYPE_PAY_NOTICE.equals(attributeValue)) { return 19; } if (BODY_TYPE_TALK_NOTICE.equals(attributeValue)) { return 20; } if (BODY_TYPE_PICTURE_AND_QUESTION.equals(attributeValue)) { return 21; } if (BODY_TYPE_ICON_NAME.equals(attributeValue)) { return 25; } if (BODY_TYPE_CLICKABLE_TEXT_AND_TEXT.equals(attributeValue)) { return 26; } } return 404; } @Override // asmack.org.jivesoftware.smack.RosterListener public void presenceChanged(Presence presence) { } @Override // asmack.org.jivesoftware.smack.ConnectionListener public void reconnectingIn(int i) { } @Override // asmack.org.jivesoftware.smack.ConnectionListener public void reconnectionFailed(Exception exc) { } @Override // asmack.org.jivesoftware.smack.ConnectionListener public void reconnectionSuccessful() { } /* access modifiers changed from: protected */ public void removeMultiUserChatListener(MultiUserChat multiUserChat) { multiUserChat.removeMessageListener(this.mPacketListenerMultiUserChat); multiUserChat.removeParticipantListener(this.mPacketListenerMultiParticipant); multiUserChat.removePresenceInterceptor(this.mPacketInterceptorMultiPresence); multiUserChat.removeUserStatusListener(this); multiUserChat.removeParticipantStatusListener(this); } /* access modifiers changed from: protected */ public String removeSuffix(String str) { int lastIndexOf = str.lastIndexOf("@"); return lastIndexOf != -1 ? str.substring(0, lastIndexOf) : str; } /* access modifiers changed from: protected */ public abstract void requestJoinRoom(IMChatRoom iMChatRoom); /* access modifiers changed from: protected */ public abstract void requestLogin(); /* access modifiers changed from: protected */ public abstract void requestReconnect(); /* access modifiers changed from: protected */ public void startNetworkMonitor() { if (!this.mIsNetworkMonitoring) { this.mIsNetworkMonitoring = true; this.mContext.registerReceiver(this.mBroadcastReceiverNetworkMonitor, new IntentFilter(PushConsts.ACTION_BROADCAST_NETWORK_CHANGE)); } } /* access modifiers changed from: protected */ public void stopNetworkMonitor() { if (this.mIsNetworkMonitoring) { this.mContext.unregisterReceiver(this.mBroadcastReceiverNetworkMonitor); this.mIsNetworkMonitoring = false; } } /* access modifiers changed from: protected */ public void syncVCard(String str) { } /* access modifiers changed from: protected */ public void updateContactsByRoster() { Collection<RosterEntry> entries = this.mRoster.getEntries(); synchronized (this.mMapIdToContact) { this.mMapIdToContact.clear(); this.mMapIdToGroup.clear(); for (RosterEntry rosterEntry : entries) { onAddRosterEntry(rosterEntry); } } onFriendListChanged(); onGroupChatListChanged(); } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void voiceGranted() { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void voiceGranted(String str) { } @Override // asmack.org.jivesoftware.smackx.muc.UserStatusListener public void voiceRevoked() { } @Override // asmack.org.jivesoftware.smackx.muc.ParticipantStatusListener public void voiceRevoked(String str) { } }