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

📄 k.java

📁 牛人写的java版的中国移动飞信的源代码
💻 JAVA
字号:
import java.io.UnsupportedEncodingException;
import java.util.Vector;

public final class k
{

    public static int a = 0;
    public static int b = 0;
    public static k c = new k();
    public q d;
    private byte f;
    private boolean g;
    private static String h = "0";
    static int e = 0;

    private k()
    {
        f = 5;
        g = true;
        d = new q(this);
    }

    static void a(r r1)
    {
        MMIDlet.A.a(r1);
    }

    public final void b(r r1)
    {
        byte byte0;
        switch(byte0 = r1.a)
        {
        case -1: 
        case 0: // '\0'
        case 18: // '\022'
        case 19: // '\023'
        default:
            return;

        case 6: // '\006'
            if(g)
            {
                r1.c = 3;
                g = false;
            } else
            {
                r1.c = 0;
            }
            d.a(r1);
            return;

        case 3: // '\003'
            o(r1.a());
            return;

        case -2: 
            n(r1.a());
            return;

        case 2: // '\002'
            l(r1.a());
            return;

        case 4: // '\004'
            MMIDlet.A.f();
            return;

        case 5: // '\005'
            g = true;
            k(r1.a());
            return;

        case 8: // '\b'
        case 10: // '\n'
            j(r1.a());
            return;

        case 9: // '\t'
            i(r1.a());
            return;

        case 11: // '\013'
            h(r1.a());
            return;

        case 7: // '\007'
            MMIDlet.A.j();
            return;

        case 12: // '\f'
            g(r1.a());
            return;

        case 13: // '\r'
            MMIDlet.A.k();
            return;

        case 14: // '\016'
            f(r1.a());
            return;

        case 15: // '\017'
            e(r1.a());
            return;

        case 16: // '\020'
            d(r1.a());
            return;

        case 17: // '\021'
            c(r1.a());
            return;

        case 20: // '\024'
            b(r1.a());
            return;

        case 1: // '\001'
            a(r1.a());
            return;
        }
    }

    private static void a(byte abyte0[])
    {
        MMIDlet.A.a(abyte0);
    }

    private void b(byte abyte0[])
    {
        MMIDlet.h(m(abyte0));
    }

    private void c(byte abyte0[])
    {
        String s;
        Vector vector = b.a(s = m(abyte0), '\002');
        MMIDlet.A.e(vector);
    }

    private void d(byte abyte0[])
    {
        MMIDlet.A.a(Integer.parseInt(m(abyte0)));
    }

    private void e(byte abyte0[])
    {
        String s;
        Vector vector = b.a(s = m(abyte0), '\002');
        MMIDlet.A.d(vector);
    }

    private void f(byte abyte0[])
    {
        String s;
        int i1 = (s = m(abyte0)).indexOf('\002');
        MMIDlet.b(s.substring(0, i1), s.substring(i1 + 1));
    }

    public final r a()
    {
        StringBuffer stringbuffer;
        (stringbuffer = new StringBuffer()).append(h);
        stringbuffer.append(MMIDlet.A.l());
        r r1;
        (r1 = a((byte)0, stringbuffer.toString())).c = f;
        return r1;
    }

    private void g(byte abyte0[])
    {
        Vector vector;
        Vector vector1 = b.a(String.valueOf((vector = b.a(m(abyte0), '\001')).elementAt(0)), '\002');
        Vector vector2 = b.a(String.valueOf(vector.elementAt(1)), '\002');
        h = vector.lastElement().toString();
        MMIDlet.A.a(vector1, vector2);
    }

    private void h(byte abyte0[])
    {
        b.a(m(abyte0), '\002');
    }

    private void i(byte abyte0[])
    {
        Vector vector;
        int i1 = (vector = b.a(m(abyte0), '\001')).size();
        try
        {
            for(int j1 = i1 - 1; j1 >= 0; j1--)
            {
                d(vector.elementAt(j1).toString());
            }

            return;
        }
        catch(Exception _ex)
        {
            return;
        }
    }

    private void d(String s)
    {
        Vector vector;
        int i1 = (vector = b.a(s, '\002')).size() - 2;
        String s1 = String.valueOf(vector.elementAt(0));
        Vector vector1 = b.a(vector.elementAt(1).toString(), '\003');
        Vector vector2 = new Vector(i1);
        Vector vector3;
        j j2;
        if(i1 == 1)
        {
            if((vector3 = b.a(vector.elementAt(2).toString(), '\003')) != null && (j2 = a(vector3)) != null)
            {
                vector2.addElement(j2);
            }
        } else
        {
            for(int j1 = 0; j1 < i1; j1++)
            {
                j j3;
                if((j3 = a(b.a(vector.elementAt(2 + j1).toString(), '\003'))) != null)
                {
                    vector2.addElement(j3);
                }
            }

        }
        if(s1 == null || s1.trim().length() == 0)
        {
            s1 = null;
        }
        if(vector1 == null)
        {
            vector1 = new Vector(1);
            if(vector2.size() != 0)
            {
                vector1.addElement(((j)vector2.elementAt(0)).a);
            }
        }
        MMIDlet.A.a(s1, vector1, vector2.size() == 0 ? null : vector2);
    }

    private void j(byte abyte0[])
    {
        d(m(abyte0));
    }

    private static j a(Vector vector)
    {
        byte byte0;
        j j1;
        switch(byte0 = Byte.parseByte(vector.elementAt(3).toString().trim()))
        {
        case 1: // '\001'
        case 7: // '\007'
        case 9: // '\t'
        case 10: // '\n'
            return null;

        case 2: // '\002'
        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
        case 6: // '\006'
        case 8: // '\b'
        default:
            return j1 = new j(vector.elementAt(0).toString(), vector.elementAt(2).toString(), byte0, vector.elementAt(4).toString());
        }
    }

    private void k(byte abyte0[])
    {
        Vector vector = b.a(m(abyte0), '\001');
        h = "0";
        try
        {
            MMIDlet.A.c(vector);
            e = 0;
            return;
        }
        catch(Exception _ex)
        {
            e++;
        }
        if(e == 6)
        {
            MMIDlet.A.d("1000");
            return;
        } else
        {
            d.b();
            return;
        }
    }

    private void l(byte abyte0[])
    {
        Vector vector = b.a(m(abyte0), '\001');
        MMIDlet.A.b(vector);
    }

    private static String m(byte abyte0[])
    {
        return new String(abyte0, "UTF-8");
        JVM INSTR pop ;
        return "";
    }

    private static r a(byte byte0, String s)
    {
        byte abyte1[];
        byte abyte0[];
        int i1;
        (abyte1 = new byte[i1 = (abyte0 = s.getBytes("UTF-8")).length + 4])[0] = (byte)(i1 >> 16);
        abyte1[1] = (byte)(i1 >> 8);
        abyte1[2] = (byte)i1;
        abyte1[3] = byte0;
        System.arraycopy(abyte0, 0, abyte1, 4, abyte0.length);
        return new r(abyte1);
        JVM INSTR pop ;
        return null;
    }

    private void n(byte abyte0[])
    {
        MMIDlet.A.d(m(abyte0));
    }

    private void o(byte abyte0[])
    {
        MMIDlet.A.c(m(abyte0));
    }

    public final void b()
    {
        r r1 = new r(new byte[] {
            0, 0, 4, 3
        });
        d.a(r1);
    }

    public final void a(d d1)
    {
        StringBuffer stringbuffer;
        (stringbuffer = new StringBuffer(20)).append(d1.j).append('\002').append(d1.b(true)).append('\002').append(d1.q);
        d.a(a((byte)4, stringbuffer.toString()));
    }

    public final void b(d d1)
    {
        StringBuffer stringbuffer;
        (stringbuffer = new StringBuffer(20)).append(d1.r).append('\003').append(d1.s).append('\003').append(d1.i);
        d.a(a((byte)5, stringbuffer.toString()));
    }

    public final void a(String s, c c1)
    {
        if(c1 == null)
        {
            return;
        }
        String s1 = c1.d();
        String s2 = c1.f.elementAt(0).toString();
        StringBuffer stringbuffer = new StringBuffer(30);
        if(s1 == null || s1.length() == 0)
        {
            stringbuffer.append(s).append('\002').append('\002').append(s2);
        } else
        if(c1.f.size() == 1)
        {
            stringbuffer.append(s).append('\002').append(s1).append('\002').append(s2);
        } else
        {
            stringbuffer.append(s).append('\002').append(s1).append('\002');
        }
        d.a(a((byte)8, stringbuffer.toString()));
    }

    public final void a(String as[])
    {
        StringBuffer stringbuffer = new StringBuffer();
        for(int i1 = as.length - 1; i1 >= 0; i1--)
        {
            stringbuffer.append(as[i1]);
            stringbuffer.append('\002');
        }

        stringbuffer.deleteCharAt(stringbuffer.length() - 1);
        d.a(a((byte)11, stringbuffer.toString()));
    }

    public final void c()
    {
        d.a(new r(new byte[] {
            0, 0, 4, 7
        }));
    }

    public final void a(boolean flag)
    {
        d.a(flag);
    }

    public final void d()
    {
        d.a(new r(new byte[] {
            0, 0, 4, 13
        }));
    }

    public final void a(c c1, String as[])
    {
        StringBuffer stringbuffer;
        (stringbuffer = new StringBuffer(c1.d())).append('\002');
        for(int i1 = as.length - 1; i1 >= 0; i1--)
        {
            stringbuffer.append(as[i1]);
            stringbuffer.append('\002');
        }

        stringbuffer.deleteCharAt(stringbuffer.length() - 1);
        d.a(a((byte)10, stringbuffer.toString()));
    }

    public final void a(String s, String s1)
    {
        d.a(a((byte)14, s + '\002' + s1));
    }

    public final void a(String s)
    {
        d.a(a((byte)15, "U\002" + s));
    }

    public final void b(String s)
    {
        d.a(a((byte)16, s));
    }

    public final void c(String s)
    {
        d.a(a((byte)20, s));
    }

    public final void e()
    {
        d.a(a((byte)1, MMIDlet.e.toString()));
    }

    public final void f()
    {
        d.a();
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -