📄 a.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
package pica.core;
import java.io.PrintStream;
import java.util.*;
// Referenced classes of package pica.core:
// b, c, d, f,
// g
final class a
{
private g a;
a(g g1)
{
a = g1;
}
public final void a(c c1, String s1)
throws Exception
{
if (s1.equals("cache"))
a.a(true);
if (s1.equals("logout"))
a.a.a(39, null);
do
{
if (c1.a() != 2)
break;
String s2;
if ((s2 = c1.b()) == null)
return;
if (s2.equals("jabber"))
b(c1, s1);
} while (true);
}
private void b(c c1, String s1)
throws Exception
{
while (c1.a() == 2)
{
String s2;
if ((s2 = c1.b()) == null)
return;
if (s2.equals("sid"))
{
if (!a.b())
a.a(b(c1));
else
a(c1);
} else
{
if (s2.equals("jerror"))
{
String s3 = c1.a("code");
String s4 = b(c1);
a.a.a(18, new String[] {
s3, s4
});
a.a(null);
a.b(s4);
throw new Exception(s4);
}
if (s2.equals("message"))
{
if (s1.equals("cache"))
a.a(false);
c(c1);
} else
if (s2.equals("presence"))
{
if (s1.equals("cache"))
a.a(false);
p(c1);
} else
if (s2.equals("iq"))
{
if (s1.equals("cache"))
a.a(false);
j(c1);
} else
{
a(c1);
}
}
}
}
private void a(c c1)
throws Exception
{
do
{
int i1;
if ((i1 = c1.a()) == 3)
break;
if (i1 == 2)
a(c1);
} while (true);
}
private static String b(c c1)
throws Exception
{
String s1 = c1.b();
StringBuffer stringbuffer = new StringBuffer("");
for (int i1 = c1.a(); !s1.equals(c1.b()); i1 = c1.a())
if (i1 == 4)
stringbuffer.append(c1.c());
return stringbuffer.toString();
}
private static Date a(String s1)
{
Date date = null;
try
{
Calendar calendar;
(calendar = Calendar.getInstance()).set(1, Integer.parseInt(s1.substring(0, 4)));
calendar.set(2, Integer.parseInt(s1.substring(4, 6)) - 1);
calendar.set(5, Integer.parseInt(s1.substring(6, 8)));
calendar.set(11, Integer.parseInt(s1.substring(9, 11)));
calendar.set(12, Integer.parseInt(s1.substring(12, 14)));
calendar.set(13, Integer.parseInt(s1.substring(15, 16)));
calendar.set(14, 0);
date = calendar.getTime();
}
catch (Exception e)
{
date = new Date();
}
return date;
}
private void c(c c1)
throws Exception
{
String s1 = c1.a("from");
String s2 = c1.a("name");
String s3 = c1.a("list");
String s4 = c1.a("type");
String s5 = null;
String s6 = null;
String s7 = null;
String s8 = null;
String s9 = null;
String s10 = null;
String s11 = null;
Vector vector = new Vector();
Date date = null;
String as[][] = (String[][])null;
boolean flag = true;
label0:
do
{
if (c1.a() != 2)
break;
if (s4 == null || !s4.equals("error"))
{
String s12;
if ((s12 = c1.b()).equals("body"))
{
s7 = b(c1);
continue;
}
if (s12.equals("ext"))
{
do
{
label1:
do
do
{
do
{
if (c1.a() != 2)
continue label0;
if (!c1.b().equals("source"))
break;
s9 = c1.a("from");
s10 = c1.a("name");
s11 = c1.a("value");
} while (true);
if (!c1.b().equals("addbuddy"))
continue label1;
s9 = c1.a("from");
while (c1.a() == 2)
if (c1.b().equals("a"))
{
String s13 = c1.a("name");
String s16 = c1.a("zwpurl");
String s18 = c1.a("weburl");
vector.addElement(new String[] {
s13, s16, s18
});
}
} while (true);
while (!c1.b().equals("notify"));
while (c1.a() == 2)
if (c1.b().equals("a"))
{
String s14 = c1.a("name");
String s17 = c1.a("zwpurl");
String s19 = c1.a("weburl");
vector.addElement(new String[] {
s14, s17, s19
});
}
} while (true);
} else
{
String s15;
if (s12.equals("thread"))
s5 = b(c1);
else
if (s12.equals("subject"))
s6 = b(c1);
else
if (s12.equals("x"))
{
if ((s15 = c1.a("xmlns")).equals("pica:form"))
as = d(c1);
else
if (s15 == null)
a(c1);
else
if (s15.equals("jabber:x:roster"))
flag = false;
else
if (s15.equals("jabber:x:oob"))
while (c1.a() == 2)
if (c1.b().equals("url"))
s8 = b(c1);
else
a(c1);
else
if (s15.equals("jabber:x:delay"))
{
date = a(c1.a("stamp"));
a(c1);
} else
{
a(c1);
}
} else
{
a(c1);
}
continue;
}
}
a(c1);
} while (true);
if (flag && (s4 == null || !s4.equals("error")))
{
if (s8 == null || s8.indexOf("sequence_id=0") == -1)
{
System.out.println("extName = " + s10 + ", extFrom = " + s9 + ", extValue = " + s11);
if (s10 != null)
s2 = s10;
a.b.a(s1, s3, s4, s6, s7, s8, date, as, s5, s2, s9, s11, vector);
}
a.a.a(5, null);
}
}
private static String[][] d(c c1)
throws Exception
{
Vector vector = new Vector();
for (; c1.a() == 2 && c1.b().equals("option"); c1.a())
{
String s1 = null;
String s2 = null;
s1 = c1.a("name");
s2 = c1.a("value");
vector.addElement(new String[] {
s1, s2
});
}
String as[][] = new String[vector.size()][2];
vector.copyInto(as);
return as;
}
private void e(c c1)
throws Exception
{
String s1 = "";
while (c1.a() == 2)
if (c1.b().equals("CATEGORY"))
s1 = b(c1);
else
a(c1);
Vector vector = new Vector();
int i1;
for (; s1.indexOf(";") != -1; s1 = s1.substring(i1 + 1))
{
i1 = s1.indexOf(";");
vector.addElement(s1.substring(0, i1));
}
vector.addElement(s1);
String as[] = new String[vector.size()];
vector.copyInto(as);
a.a.a(25, as);
}
private void f(c c1)
throws Exception
{
while (c1.a() == 2)
if (c1.b().equals("item"))
{
String s1 = c1.a("jid");
String s2 = c1.a("name");
String s3 = c1.a("online");
String s4 = "";
while (c1.a() == 2)
if (c1.b().equals("group"))
s4 = b(c1);
else
a(c1);
a.b.a(s1, s2, s4, s3);
} else
{
a(c1);
}
a.a.a(24, null);
}
private void g(c c1)
throws Exception
{
Object obj = null;
Object obj1 = null;
Object obj2 = null;
Object obj3 = null;
String s5 = "";
while (c1.a() == 2)
if (c1.b().equals("item"))
{
String s1 = c1.a("jid");
String s2 = c1.a("name");
String s3 = c1.a("online");
String s4 = c1.a("subscription");
while (c1.a() == 2)
if (c1.b().equals("group"))
s5 = b(c1);
else
a(c1);
a.b.a(s1, s2, s5, s3, s4);
a.i(s1, "online");
} else
{
a(c1);
}
a.a.a(26, null);
}
private void c(c c1, String s1)
throws Exception
{
for (int i1 = c1.a(); i1 == 2; i1 = c1.a())
if (c1.b().equals("item"))
{
c1.a("type");
String s2 = c1.a("jid");
String s3 = c1.a("name");
String s4 = c1.a("subscription");
String s5 = c1.a("ask");
String s6 = c1.a("cast");
String s7 = "";
s2 = s2.indexOf('/') != -1 ? s2.substring(0, s2.indexOf('/')) : s2;
while (c1.a() == 2)
if (c1.b().equals("group"))
s7 = b(c1);
else
a(c1);
if (s4 != null && s4.equals("remove"))
{
a.b.e(s2);
continue;
}
if ((s5 == null || !s5.equals("subscribe")) && s4 != null && (s4.equals("from") || s4.equals("none")) || s5 != null && s5.equals("unsubscribe"))
continue;
byte byte0 = 4;
if (s5 != null && s5.equals("subscribe"))
byte0 = 3;
byte byte1 = 4;
if (s7.equals("我的好友") || s7.equals(""))
byte1 = 1;
a.b.a(s2, byte0, s3, 0, s6, s7, byte1);
} else
{
a(c1);
}
a.a.a(8, null);
}
private void h(c c1)
throws Exception
{
String s1 = "";
while (c1.a() == 2)
if (c1.b().equals("username"))
b(c1);
else
if (c1.b().equals("password"))
s1 = b(c1);
else
a(c1);
a.b.b = s1;
a.a.o();
a.a.a(17, s1);
}
private void i(c c1)
throws Exception
{
Object obj = null;
Object obj1 = null;
String s3 = null;
Object obj2 = null;
String s5 = null;
String s6 = null;
Object obj3 = null;
do
{
if (c1.a() != 2)
break;
if (c1.b().equals("item"))
{
String s1 = c1.a("jid");
String s2 = c1.a("name");
String s7 = c1.a("buddyview");
String s4 = c1.a("type");
s1 = s1.indexOf('/') != -1 ? s1.substring(0, s1.indexOf('/')) : s1;
Vector vector = new Vector();
label0:
do
{
if (c1.a() != 2)
break;
if (c1.b().equals("group"))
{
s3 = b(c1);
continue;
}
if (c1.b().equals("x"))
{
s6 = c1.a("type");
s5 = c1.a("ztype");
do
{
do
if (c1.a() != 2)
continue label0;
while (!c1.b().equals("option"));
String s8 = c1.a("name");
String s9 = c1.a("value");
String s10 = c1.a("to");
c1.a();
vector.addElement(new String[] {
s6, s8, s9, s10
});
} while (true);
}
a(c1);
} while (true);
String as[][] = new String[vector.size()][4];
vector.copyInto(as);
if (s3.equals("PICA空间"))
a.b.b(s1, s2, s3, as, s4, s6, s5);
if (s7 != null)
{
if (!s7.equals("1"))
a.b.a(s1, s2, s3, as, s4, s6, s5);
if (s7.equals("1") || s7.equals("2"))
a.b.b(s1, s2, s3, as, s4, s6, s5);
} else
{
a.b.a(s1, s2, s3, as, s4, s6, s5);
}
} else
{
a(c1);
}
} while (true);
a.a.a(19, null);
}
private String j(c c1)
throws Exception
{
String s1 = c1.a("type");
String s2 = c1.a("id");
String s3 = c1.a("from");
String s4 = c1.a("to");
if (s1.equals("error"))
while (c1.a() == 2)
if (c1.b().equals("error"))
{
String s5 = c1.a("code");
String s7 = b(c1);
a.a.a(18, new String[] {
s5, s7
});
} else
{
a(c1);
}
else
if (s1.equals("result") && s2 != null && s2.equals("auth"))
a(c1);
else
do
{
if (c1.a() != 2)
break;
String s6;
if (c1.b().equals("query"))
{
if ((s6 = c1.a("xmlns")) == null || s6.length() == 0)
a(c1);
else
if (s6.equals("jabber:iq:roster"))
c(c1, s1);
else
if (s6.equals("jabber:iq:version"))
while (c1.a() == 2)
a(c1);
else
if (s6.equals("vcard-temp"))
{
if (s1.equals("set"))
a(c1, s4, s3, true);
else
a(c1, s4, s3, false);
} else
if (s6.equals("jabber:iq:newsearch"))
n(c1);
else
if (s6.equals("jabber:iq:blacklist"))
o(c1);
else
if (s6.equals("jabber:iq:picazone"))
i(c1);
else
if (s6.equals("jabber:iq:register") && s1.equals("set"))
h(c1);
else
if (s6.equals("jabber:iq:newgroup"))
m(c1);
else
if (s6.equals("pica:cast:casturl"))
l(c1);
else
if (s6.equals("pica:cluster:roomlist") || s6.equals("pica:game:roomlist"))
f(c1);
else
if (s6.equals("pica:cluster:clusterlist"))
g(c1);
else
if (s6.equals("pica:cluster:role") || s6.equals("pica:game:role"))
q(c1);
else
if (s6.equals("pica:cluster:category"))
e(c1);
else
if (s6.equals("pica:cluster:join"))
s(c1);
else
if (s6.equals("pica:cluster:bulletin"))
r(c1);
else
if (s6.equals("jabber:cluster:roster"))
t(c1);
else
a(c1);
} else
if (c1.b().equals("vcard"))
a(c1, s4, s3, false);
else
if (c1.b().equals("item"))
{
if ((s6 = c1.a("xmlns")) == null || s6.length() == 0)
a(c1);
else
if (s6.equals("jabber:iq:browse"))
f(c1);
} else
if (c1.b().equals("x"))
{
if ((s6 = c1.a("xmlns")).equals("jabber:x:config"))
k(c1);
} else
{
a(c1);
}
} while (true);
return s2;
}
private void k(c c1)
throws Exception
{
while (c1.a() == 2)
if (c1.b().equals("http"))
b(c1);
else
a(c1);
}
private void l(c c1)
throws Exception
{
while (c1.a() == 2)
if (c1.b().equals("item"))
{
String s1 = c1.a("casturl");
a.a.a(20, s1 + "username=" + a.b.a + "&password=" + a.b.b);
} else
{
a(c1);
}
}
private void m(c c1)
throws Exception
{
String s1 = "";
String s2 = "";
while (c1.a() == 2)
if (c1.b().equals("item"))
{
s1 = c1.a("oldgroup");
s2 = c1.a("newgroup");
} else
{
a(c1);
}
Object aobj[];
(aobj = a.b.w().a(s1, (byte)4))[1] = s2;
a.a.a(8, null);
}
private void n(c c1)
throws Exception
{
byte byte0 = 0;
for (int i1 = c1.a(); i1 == 2; i1 = c1.a())
if (c1.b().equals("item"))
{
String s1 = c1.a("jid");
String s2 = "";
String s3 = "";
String s4 = "";
String s5 = "";
String s6 = "";
String s7 = "";
String s8 = "";
String s9 = "";
String s10 = "";
String s11 = "";
label0:
for (i1 = c1.a(); i1 == 2; i1 = c1.a())
{
if (c1.b().equals("NICKNAME"))
{
s5 = b(c1);
continue;
}
if (c1.b().equals("ADR"))
do
{
if (c1.a() != 2)
continue label0;
if (c1.b().equals("PCODE"))
s2 = b(c1);
else
if (c1.b().equals("REGION"))
s4 = b(c1);
else
a(c1);
} while (true);
if (c1.b().equals("ROLE"))
{
s3 = b(c1);
continue;
}
if (c1.b().equals("ICON"))
{
s6 = b(c1);
continue;
}
if (c1.b().equals("DESC"))
{
s8 = b(c1);
continue;
}
if (c1.b().equals("ONLINE"))
{
s7 = b(c1);
continue;
}
if (c1.b().equals("CATEGORY"))
{
s9 = b(c1);
continue;
}
if (c1.b().equals("OWNER"))
{
s10 = b(c1);
continue;
}
if (c1.b().equals("AUTH"))
s11 = b(c1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -