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

📄 mmidlet.java

📁 牛人写的java版的中国移动飞信的源代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
import java.io.*;
import java.util.*;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.*;
import javax.microedition.media.Manager;
import javax.microedition.media.Player;
import javax.microedition.media.control.ToneControl;
import javax.microedition.media.control.VolumeControl;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.rms.RecordStore;

public class MMIDlet extends MIDlet
    implements CommandListener, ItemStateListener
{

    public static String a;
    public static String b;
    public static String c;
    public static String d;
    public static String e = "";
    public static String f;
    static boolean g = false;
    static boolean h = false;
    static boolean i = false;
    public static String j;
    public static d k = new d();
    public static Hashtable l = new Hashtable();
    public static Vector m;
    public static Vector n;
    public static Hashtable o = new Hashtable();
    public static Hashtable p = new Hashtable();
    public static String q;
    public static int r = 0;
    public static Font s = Font.getDefaultFont();
    public static a t;
    public static a u;
    public static a v;
    public static a w;
    public static h x;
    public static boolean y = false;
    public static g z;
    public static MMIDlet A;
    public static Display B;
    public Command C;
    public Command D;
    public Command E;
    public Command F;
    public Command G;
    public Command H;
    public Command I;
    Form J;
    Form K;
    Form L;
    ChoiceGroup M;
    ChoiceGroup N;
    TextField O;
    ChoiceGroup P;
    DateField Q;
    private List ah;
    private List ai;
    private List aj;
    TextBox R;
    private boolean ak;
    private boolean al;
    boolean S[];
    private String am[];
    private String an[];
    private boolean ao;
    n T;
    c U;
    Hashtable V;
    private Stack ap;
    private boolean aq;
    private int ar;
    private int as;
    private Vector at;
    private m au;
    private String av;
    private boolean aw;
    private Player ax;
    private boolean ay;
    public static int W = 200;
    private Vector az;
    public int X;
    String Y;
    static boolean Z = false;
    static boolean aa = false;
    boolean ab;
    private boolean aA;
    private boolean aB;
    String ac;
    int ad;
    ChoiceGroup ae;
    ChoiceGroup af;
    static int ag = 3;

    public final void a(String s1, c c1)
    {
        if(V.size() >= 10)
        {
            h h1 = u.i();
            V.remove(h1.e.i);
            h1.e.c();
        }
        V.put(s1, c1);
        u.a(new h(c1));
    }

    public final void a(Object obj)
    {
        Object obj1;
        if((obj1 = V.remove(obj)) == null)
        {
            return;
        } else
        {
            c c1 = (c)obj1;
            u.c(c1.j);
            c1.c();
            U = null;
            System.gc();
            return;
        }
    }

    public static Vector a(Vector vector)
    {
        Vector vector1 = new Vector();
        n n1;
        for(int i1 = 0; i1 < t.j() && (n1 = (n)((h)t.d.elementAt(i1)).a()).g(); i1++)
        {
            if(!vector.contains(n1.i))
            {
                vector1.addElement(n1);
            }
        }

        return vector1;
    }

    public final void a(Vector vector, String s1, int i1)
    {
        int j1;
        if((j1 = vector.size()) == 0)
        {
            return;
        }
        az = new Vector(j1);
        List list = new List(s1, i1);
        for(int k1 = 0; k1 < j1; k1++)
        {
            n n1 = (n)vector.elementAt(k1);
            list.append(n1.j, null);
            az.addElement(n1);
        }

        list.addCommand(e.e);
        list.addCommand(e.a);
        list.setCommandListener(this);
        B.setCurrent(list);
    }

    public static boolean a(String s1)
    {
        return p.containsKey(s1);
    }

    public final void a(Displayable displayable)
    {
        if(displayable == null)
        {
            return;
        }
        if(ap == null)
        {
            ap = new Stack();
        }
        if(ap.empty() || !displayable.equals(ap.peek()))
        {
            if(displayable == z)
            {
                ap.removeAllElements();
            }
            ap.push(displayable);
        }
    }

    public MMIDlet()
    {
        I = new Command("\u786E\u5B9A", 4, 1);
        ak = false;
        al = false;
        S = (new boolean[] {
            true, true, false
        });
        am = (new String[] {
            "\u4F60\u597D\u3002", "\u6709\u65F6\u95F4\u4E48\uFF1F\u53EF\u4EE5\u548C\u4F60\u804A\u804A\u5417\uFF1F", "\u4F60\u597D\uFF0C\u5F88\u9AD8\u5174\u53EF\u4EE5\u548C\u4F60\u6210\u4E3A\u670B\u53CB" +
"\u3002"
, "\u4F60\u591A\u5927\u4E86\uFF1F\u662F\u7537\u751F\u8FD8\u662F\u5973\u751F\uFF1F", "\u4F60\u662F\u7528\u624B\u673A\u804A\u5417\uFF1F", "\u4E3A\u4EC0\u4E48\u4E0D\u8BF4\u8BDD\uFF1F", "\u4F60\u7684\u540D\u5B57\u597D\u7279\u522B\uFF0C\u662F\u4EC0\u4E48\u610F\u601D\u5462" +
"\uFF1F"
, "\u53EF\u4EE5\u7ED9\u6211\u4F60\u7684\u7535\u8BDD\u53F7\u7801\u5417\uFF1F", "\u56DE\u5934\u518D\u804A\uFF0C\u6211\u6B63\u5F00\u8F66\u5462\u3002", "\u8FD9\u4E48\u665A\u4E86\uFF0C\u8FD8\u4E0D\u7761\uFF1F"
        });
        an = null;
        ao = false;
        V = new Hashtable();
        Calendar.getInstance();
        aq = false;
        at = new Vector(2);
        av = null;
        aw = true;
        ay = false;
        X = 0;
        ab = false;
        aA = false;
        aB = false;
        ad = 0;
        ae = null;
        af = null;
        B = Display.getDisplay(this);
        A = this;
        j = getAppProperty("MIDlet-Version");
        f = getAppProperty("header");
        if(f == null)
        {
            f = "x-up-calling-line-id";
        }
        if(j == null)
        {
            j = "1.0.17";
        }
        if(getAppProperty("clientVersion") != null) goto _L2; else goto _L1
_L1:
        new StringBuffer();
        "Amigo_J2ME_C11M20_N_7260/";
          goto _L3
_L2:
        (new StringBuffer()).append(getAppProperty("clientVersion"));
        "/";
_L3:
        append();
        j;
        append();
        toString();
        e;
        if(-1 != e.indexOf("MOTO"))
        {
            g = true;
        } else
        if(-1 != e.indexOf("SE"))
        {
            h = true;
        } else
        if(-1 != e.indexOf("SAM"))
        {
            i = true;
        }
        try
        {
            ax = Manager.createPlayer("device://tone");
            ax.realize();
            ax.prefetch();
            ax.close();
            ax = null;
        }
        catch(Exception _ex) { }
        z = new g(this);
        B.setCurrent(z);
        (new i(this)).start();
        return;
    }

    public final void a()
    {
        C();
        X = 1;
        z.a(1);
        if(!m())
        {
            ay = true;
            a("\u8BF7\u786E\u8BA4\u60A8\u5F00\u901A\u4E86gprs\uFF0C\u5E76\u4E14\u5728\u624B\u673A" +
"\u4E0A\u6B63\u786E\u8BBE\u7F6E\u4E86\u4E0A\u7F51\u65B9\u5F0F\uFF1B\u4E0D\u540C\u610F" +
"\u8FDB\u884C\u7F51\u7EDC\u8FDE\u63A5\u4E5F\u662F\u65E0\u6CD5\u4F7F\u7528\u8BE5\u7A0B" +
"\u5E8F\u7684\uFF1B\u60A8\u53EF\u4EE5\u62E8\u625310086\u5BFB\u6C42\u5E2E\u52A9\u3002"
 + b("ffff"), ((Displayable) (null)), new Command[] {
                e.f
            });
            return;
        } else
        {
            a(y, c);
            X = 6;
            k.c.e();
            return;
        }
    }

    static String b(String s1)
    {
        StringBuffer stringbuffer;
        (stringbuffer = new StringBuffer(6)).append("\n\u9519\u8BEF\u7801\uFF1A").append(s1).append('&');
        if(Z)
        {
            stringbuffer.append("000");
        } else
        if(aa)
        {
            stringbuffer.append(W);
        }
        return stringbuffer.toString();
    }

    public static byte[] a(InputStream inputstream, int i1, byte byte0)
        throws IOException
    {
        byte abyte0[];
        switch(byte0)
        {
        case 0: // '\0'
            if(i1 <= 0)
            {
                return null;
            }
            abyte0 = new byte[i1];
            inputstream.read(abyte0);
            break;

        case 1: // '\001'
            byte abyte1[] = new byte[3];
            inputstream.read(abyte1, 0, 3);
            int j1;
            abyte0 = new byte[j1 = (abyte1[0] & 0xff) << 16 | (abyte1[1] & 0xff) << 8 | abyte1[2] & 0xff];
            System.arraycopy(abyte1, 0, abyte0, 0, 3);
            inputstream.read(abyte0, 3, j1 - 3);
            break;

        case 2: // '\002'
        default:
            byte abyte2[] = new byte[1024];
            boolean flag = false;
            int l1 = 0;
            do
            {
                int k1;
                if((k1 = inputstream.read(abyte2, l1, abyte2.length - l1)) == -1)
                {
                    break;
                }
                if((l1 += k1) >= abyte2.length)
                {
                    byte abyte3[] = new byte[abyte2.length + 1024];
                    System.arraycopy(abyte2, 0, abyte3, 0, abyte2.length);
                    abyte2 = abyte3;
                }
            } while(true);
            abyte0 = new byte[l1];
            System.arraycopy(abyte2, 0, abyte0, 0, l1);
            break;
        }
        return abyte0;
    }

    private boolean m()
    {
        HttpConnection httpconnection;
        DataInputStream datainputstream;
        DataOutputStream dataoutputstream;
        byte abyte0[];
        String s1;
        int i1;
        httpconnection = null;
        datainputstream = null;
        dataoutputstream = null;
        abyte0 = (new byte[] {
            0
        });
        if((s1 = getAppProperty("serverIP")) == null)
        {
            s1 = "http://nav.m161.com.cn/getadapteruri.aspx";
        }
        c = s1;
        String s2 = getAppProperty("is172");
        if("1".equals(s2))
        {
            a(true, s1);
        }
        i1 = 3;
_L3:
        if(i1 <= 0) goto _L2; else goto _L1
_L1:
        Z = false;
        aa = false;
        httpconnection = (HttpConnection)Connector.open(c);
        if(y)
        {
            httpconnection.setRequestProperty("X-Online-Host", d);
        }
        httpconnection.setRequestMethod("POST");
        httpconnection.setRequestProperty("Content-Length", "1");
        (dataoutputstream = httpconnection.openDataOutputStream()).write(abyte0);
        X = 2;
        "# request URL:" + httpconnection.getURL();
        datainputstream = httpconnection.openDataInputStream();
        int j1 = (int)httpconnection.getLength();
        W = httpconnection.getResponseCode();
        if(W >= 200 && W < 300)
        {
            b(a(datainputstream, j1, (byte)2));
        } else
        {
            aa = true;
        }
        if(datainputstream != null)
        {
            try
            {
                datainputstream.close();
            }
            catch(IOException _ex) { }
        }
        if(dataoutputstream != null)
        {
            try
            {
                dataoutputstream.close();
            }
            catch(IOException _ex) { }
        }
        if(httpconnection != null)
        {
            try
            {
                httpconnection.close();
            }
            catch(IOException _ex) { }
        }
        break MISSING_BLOCK_LABEL_364;
        JVM INSTR pop ;
        Z = true;
        if(datainputstream != null)
        {
            try
            {
                datainputstream.close();
            }
            catch(IOException _ex) { }
        }
        if(dataoutputstream != null)
        {
            try
            {
                dataoutputstream.close();
            }

⌨️ 快捷键说明

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