⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a.java

📁 2009-PICA最新j2ME源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// 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 + -