CarrotChat v2.8.60.240131版本的 MD5 值为:2baf8b9f31830b86b5c5a85ae6b47e05
以下内容为反编译后的 s4.java 源代码,内容仅作参考
package ak.smack;
import ak.im.module.User;
import ak.im.sdk.manager.nf;
import ak.im.sdk.manager.ye;
import ak.im.utils.Log;
import android.text.TextUtils;
import com.asim.protobuf.Akeychat;
import com.huawei.hms.support.hianalytics.HiAnalyticsConstant;
import java.util.ArrayList;
import java.util.List;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.provider.IQProvider;
import org.xmlpull.v1.XmlPullParser;
public class s4 extends IQ {
private Akeychat.UsersBasicInfoQueryResponse a;
private String f4662b;
private List<User> f4663c;
private boolean f4664d;
private List<String> f4665e;
public static class b extends IQProvider {
@Override
public IQ parse(XmlPullParser xmlPullParser, int i) throws Exception {
s4 s4Var = new s4();
boolean z = false;
while (!z) {
int next = xmlPullParser.next();
if (next == 4) {
s4Var.parseResults(xmlPullParser);
} else if (next == 3 && xmlPullParser.getName().equals("usersbasicinfoquery")) {
z = true;
}
}
return s4Var;
}
}
private User a(Akeychat.StrangerInfo strangerInfo) {
if (strangerInfo == null) {
Log.w("QueryStrangerUser", "info is null");
return null;
}
return nf.getInstance().generateAStranger(strangerInfo, getTo().getDomain().toString());
}
@Override
protected IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder iQChildElementXmlStringBuilder) {
iQChildElementXmlStringBuilder.append(">");
if (this.f4664d) {
Akeychat.UsersBasicInfoQueryRequest.b newBuilder = Akeychat.UsersBasicInfoQueryRequest.newBuilder();
newBuilder.addAllUsernameList(this.f4665e);
iQChildElementXmlStringBuilder.optElement(HiAnalyticsConstant.Direction.REQUEST, ak.comm.d.encodeBytes(newBuilder.build().toByteArray()));
} else {
String str = this.f4662b;
if (str != null) {
iQChildElementXmlStringBuilder.optElement("result", str);
}
}
return iQChildElementXmlStringBuilder;
}
public List<User> getPublicUsers() {
if (!getFrom().getDomain().toString().equals(getTo().getDomain().toString()) && this.f4663c != null) {
String part = getFrom().getDomain().toString();
for (User user : this.f4663c) {
user.setJID(user.getName() + "@" + part);
user.setName(user.getName() + "#" + ye.getInstance().getServerIdByDomain(part));
}
}
return this.f4663c;
}
protected void parseResults(XmlPullParser xmlPullParser) throws Exception {
try {
String text = xmlPullParser.getText();
this.f4662b = text;
Akeychat.UsersBasicInfoQueryResponse parseFrom = Akeychat.UsersBasicInfoQueryResponse.parseFrom(ak.comm.d.decode(text));
this.a = parseFrom;
for (Akeychat.StrangerInfo strangerInfo : parseFrom.getUserBasicInfoListList()) {
if (strangerInfo != null) {
User a2 = a(strangerInfo);
if (a2 != null) {
this.f4663c.add(a2);
} else {
Log.w("QueryStrangerUser", "user is null:" + strangerInfo.toString());
}
}
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
public s4(List<String> list) {
super("usersbasicinfoquery", "http://akey.im/protocol/xmpp/iq/usersbasicinfoquery");
this.f4663c = new ArrayList();
setType(IQ.Type.get);
setTo(ye.getInstance().getServer().getXmppDomain());
setFrom(nf.getInstance().getUserMe().getJID());
boolean z = true;
this.f4664d = true;
if (list != null && list.size() > 0) {
String jidByNameForOtherServer = ye.getInstance().getJidByNameForOtherServer(list.get(0));
if (!TextUtils.isEmpty(jidByNameForOtherServer)) {
setTo(jidByNameForOtherServer.split("@")[1]);
if (!z) {
this.f4665e = new ArrayList();
for (String str : list) {
if (str.contains("#")) {
str = str.split("#")[0];
}
this.f4665e.add(str);
}
return;
}
this.f4665e = list;
return;
}
}
z = false;
if (!z) {
}
}
private s4() {
super("usersbasicinfoquery", "http://akey.im/protocol/xmpp/iq/usersbasicinfoquery");
this.f4663c = new ArrayList();
setType(IQ.Type.get);
setTo(ye.getInstance().getServer().getXmppDomain());
setFrom(nf.getInstance().getUserMe().getJID());
this.f4664d = false;
}
}