home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 64 / CDPRO64.iso / UTILIDADES / java / emsn / eMSN.jar / o.class (.txt) < prev    next >
Encoding:
Java Class File  |  2005-09-24  |  15.4 KB  |  848 lines

  1. import java.io.ByteArrayOutputStream;
  2. import java.io.DataInputStream;
  3. import java.io.DataOutputStream;
  4. import java.io.IOException;
  5. import java.io.OutputStream;
  6. import java.util.Vector;
  7. import javax.microedition.io.Connector;
  8. import javax.microedition.io.HttpConnection;
  9. import javax.microedition.lcdui.Displayable;
  10. import javax.microedition.lcdui.Image;
  11.  
  12. // $FF: renamed from: o
  13. public class class_0 implements Runnable {
  14.    // $FF: renamed from: e int
  15.    private int field_0 = 0;
  16.    // $FF: renamed from: t java.lang.String
  17.    private String field_1;
  18.    // $FF: renamed from: d int
  19.    private int field_2;
  20.    // $FF: renamed from: a java.lang.Object
  21.    private Object field_3;
  22.    // $FF: renamed from: g javax.microedition.lcdui.Image
  23.    private Image field_4;
  24.    // $FF: renamed from: i java.util.Vector
  25.    private Vector field_5;
  26.    // $FF: renamed from: p boolean
  27.    private boolean field_6;
  28.    // $FF: renamed from: c boolean
  29.    private boolean field_7;
  30.    // $FF: renamed from: v boolean
  31.    private volatile boolean field_8;
  32.    // $FF: renamed from: s boolean
  33.    private boolean field_9;
  34.    // $FF: renamed from: z boolean
  35.    private boolean field_10;
  36.    // $FF: renamed from: y int
  37.    private volatile int field_11;
  38.    // $FF: renamed from: l int
  39.    private volatile int field_12;
  40.    // $FF: renamed from: b int
  41.    private int field_13;
  42.    // $FF: renamed from: r int
  43.    private volatile int field_14;
  44.    // $FF: renamed from: u java.lang.String
  45.    public volatile String field_15;
  46.    // $FF: renamed from: n boolean
  47.    private volatile boolean field_16;
  48.    // $FF: renamed from: h y
  49.    private y field_17;
  50.    // $FF: renamed from: q ab
  51.    private ab field_18;
  52.    // $FF: renamed from: j java.lang.Object
  53.    private Object field_19;
  54.    // $FF: renamed from: w java.lang.String
  55.    public volatile String field_20;
  56.    // $FF: renamed from: o int
  57.    private volatile int field_21;
  58.    // $FF: renamed from: f java.lang.StringBuffer
  59.    private StringBuffer field_22;
  60.    // $FF: renamed from: m int
  61.    private int field_23;
  62.    // $FF: renamed from: k int
  63.    private int field_24;
  64.    // $FF: renamed from: x int
  65.    public volatile int field_25;
  66.  
  67.    public class_0() {
  68.       this.field_1 = ad.m[this.field_0];
  69.       this.field_2 = 0;
  70.       this.field_3 = new Object();
  71.       this.field_5 = new Vector();
  72.       this.field_6 = true;
  73.       this.field_8 = false;
  74.       this.field_9 = false;
  75.       this.field_10 = false;
  76.       this.field_11 = 10000;
  77.       this.field_12 = ad.b();
  78.       this.field_13 = 0;
  79.       this.field_14 = 0;
  80.       this.field_15 = null;
  81.       this.field_16 = false;
  82.       this.field_17 = null;
  83.       this.field_18 = new ab(this, (String)null, (String)null);
  84.       this.field_19 = new Object();
  85.       this.field_20 = null;
  86.       this.field_21 = ad.b();
  87.       this.field_22 = new StringBuffer();
  88.       this.field_23 = 0;
  89.       this.field_24 = 0;
  90.       this.field_25 = 1;
  91.    }
  92.  
  93.    // $FF: renamed from: a (java.lang.String, byte[], boolean, java.lang.String) java.lang.String
  94.    private synchronized String method_0(String var1, byte[] var2, boolean var3, String var4) {
  95.       synchronized(this.field_3) {
  96.          this.field_25 = 4;
  97.          String var6 = "connection-problem write";
  98.  
  99.          try {
  100.             HttpConnection var7 = null;
  101.             DataInputStream var8 = null;
  102.             OutputStream var9 = null;
  103.  
  104.             try {
  105.                String var10;
  106.                if (var4 != null) {
  107.                   var10 = var4;
  108.                } else {
  109.                   var10 = new String("http://" + this.field_1 + "/frc_bridge/frc_bridge?" + var1);
  110.                }
  111.  
  112.                System.out.println("url0=" + var10);
  113.                var7 = (HttpConnection)Connector.open(var10);
  114.                var7.setRequestProperty("Cache-Control", "no-cache");
  115.                var7.setRequestProperty("Cache-Control", "max-age=0");
  116.                var7.setRequestProperty("Pragma", "no-cache");
  117.                var7.setRequestProperty("Content-type", "application/x-emsn");
  118.                if (var2 == null) {
  119.                   var7.setRequestMethod("GET");
  120.                } else {
  121.                   var7.setRequestMethod("POST");
  122.                }
  123.             } catch (Exception var18) {
  124.                if (var7 != null) {
  125.                   var7.close();
  126.                }
  127.  
  128.                Object var23 = null;
  129.                return var6;
  130.             }
  131.  
  132.             if (var2 != null) {
  133.                try {
  134.                   var9 = var7.openOutputStream();
  135.                   var9.write(var2);
  136.                } catch (Exception var17) {
  137.                   if (var9 != null) {
  138.                      var9.close();
  139.                   }
  140.  
  141.                   if (var7 != null) {
  142.                      var7.close();
  143.                   }
  144.  
  145.                   return "connection-problem postwrite";
  146.                }
  147.             }
  148.  
  149.             try {
  150.                Thread.sleep(100L);
  151.                int var27 = var7.getResponseCode();
  152.                int var11 = (int)var7.getLength();
  153.                var8 = var7.openDataInputStream();
  154.                ByteArrayOutputStream var12 = new ByteArrayOutputStream();
  155.                if (var3) {
  156.                   var6 = "error reading photo";
  157.                   byte[] var13;
  158.                   if (var11 > 0) {
  159.                      var13 = new byte[var11];
  160.                      var8.readFully(var13);
  161.                   } else {
  162.                      int var14;
  163.                      while((var14 = var8.read()) != -1) {
  164.                         var12.write((byte)var14);
  165.                      }
  166.  
  167.                      var12.flush();
  168.                      var13 = var12.toByteArray();
  169.                      var12.close();
  170.                   }
  171.  
  172.                   try {
  173.                      this.field_4 = Image.createImage(var13, 0, var13.length);
  174.                   } catch (Exception var16) {
  175.                      new String(var13);
  176.                      throw var16;
  177.                   }
  178.  
  179.                   var6 = "ok ";
  180.                } else if (var11 <= 0) {
  181.                   StringBuffer var28 = new StringBuffer();
  182.  
  183.                   int var15;
  184.                   while((var15 = var8.read()) != -1) {
  185.                      var28.append((char)var15);
  186.                   }
  187.  
  188.                   var6 = new String(var28);
  189.                } else {
  190.                   byte[] var29 = new byte[var11];
  191.                   var8.readFully(var29);
  192.                   var6 = new String(var29);
  193.                }
  194.             } catch (Exception var19) {
  195.             }
  196.  
  197.             if (var6 == null) {
  198.                var6 = "connection-problem read";
  199.             }
  200.  
  201.             if (var9 != null) {
  202.                var9.close();
  203.             }
  204.  
  205.             if (var8 != null) {
  206.                var8.close();
  207.             }
  208.  
  209.             if (var7 != null) {
  210.                var7.close();
  211.             }
  212.  
  213.             Object var26 = null;
  214.             Object var25 = null;
  215.             return ad.g(var6);
  216.          } catch (IOException var20) {
  217.             return "connection-problem read";
  218.          }
  219.       }
  220.    }
  221.  
  222.    // $FF: renamed from: b (java.lang.String, java.lang.String) void
  223.    public void method_1(String var1, String var2) throws Exception {
  224.       this.field_0 = 0;
  225.       this.field_1 = ad.m[this.field_0];
  226.       boolean var3 = true;
  227.       String var4 = null;
  228.  
  229.       while(var3) {
  230.          boolean var6 = false;
  231.  
  232.          while(!var6) {
  233.             var4 = this.method_0("cmd=login&version=519&email=" + var1 + "&password=" + var2, (byte[])null, false, (String)null);
  234.             String[] var7 = ad.h(var4);
  235.             if (var7[0].startsWith("connection-problem")) {
  236.                if (this.field_0 < ad.m.length - 1) {
  237.                   ++this.field_0;
  238.                   this.field_1 = ad.m[this.field_0];
  239.                } else {
  240.                   var6 = true;
  241.                }
  242.             } else {
  243.                var6 = true;
  244.             }
  245.          }
  246.  
  247.          if (!var4.startsWith("ok ") && !var4.startsWith("redirect ")) {
  248.             var3 = false;
  249.             throw new Exception(ad.d(var4));
  250.          }
  251.  
  252.          String var5 = ad.b.d(var4);
  253.          if (var5 == null) {
  254.             var3 = false;
  255.          } else {
  256.             this.field_1 = var5;
  257.          }
  258.       }
  259.  
  260.       this.method_9();
  261.    }
  262.  
  263.    // $FF: renamed from: h () void
  264.    public void method_2() {
  265.       this.field_10 = true;
  266.  
  267.       try {
  268.          this.method_0("cmd=logout&index=" + ad.b.a + "&checksum=" + ad.b.f, (byte[])null, false, (String)null);
  269.       } catch (Exception var2) {
  270.          var2.printStackTrace();
  271.       }
  272.  
  273.    }
  274.  
  275.    // $FF: renamed from: a (m) void
  276.    public void method_3(m var1) {
  277.       this.method_23("rem├╛" + var1.f() + '├╛' + ad.f(var1.a()));
  278.       ad.b.a(var1);
  279.    }
  280.  
  281.    // $FF: renamed from: l () void
  282.    public void method_4() {
  283.       if (ad.a.a() == 3) {
  284.          if (!this.field_6) {
  285.             this.method_23("state├╛busy");
  286.             this.field_6 = true;
  287.          }
  288.       } else if (this.field_6) {
  289.          this.method_24("state├╛online");
  290.          this.field_6 = false;
  291.       }
  292.  
  293.    }
  294.  
  295.    // $FF: renamed from: d (java.lang.String) void
  296.    public void method_5(String var1) {
  297.       this.method_24("add├╛" + var1);
  298.    }
  299.  
  300.    // $FF: renamed from: i () boolean
  301.    public boolean method_6() throws Exception {
  302.       this.field_8 = false;
  303.       int var1 = 0;
  304.       this.field_7 = true;
  305.       this.method_23("rns");
  306.       this.field_2 = ad.b();
  307.       e var2 = new e("Waiting for new chat-session", 3000);
  308.  
  309.       while(this.field_7 && var1 == 0) {
  310.          var1 = var2.a();
  311.          Thread.sleep(300L);
  312.       }
  313.  
  314.       if (var1 > 0) {
  315.          this.field_8 = true;
  316.          this.field_20 = "dummy";
  317.          this.method_17();
  318.       }
  319.  
  320.       var2.b();
  321.       return this.field_20 != null;
  322.    }
  323.  
  324.    // $FF: renamed from: b (m) boolean
  325.    public boolean method_7(m var1) throws Exception {
  326.       int var2 = 0;
  327.       this.field_9 = true;
  328.       this.method_23("ic├╛" + var1.f());
  329.       this.field_2 = ad.b();
  330.       e var3 = new e("Waiting for invitation", 0);
  331.  
  332.       while(this.field_9 && var2 == 0) {
  333.          var2 = var3.a();
  334.          Thread.sleep(300L);
  335.       }
  336.  
  337.       var3.b();
  338.       return var2 == 0;
  339.    }
  340.  
  341.    // $FF: renamed from: d () void
  342.    public void method_8() {
  343.       this.field_12 = ad.b();
  344.       if (this.field_11 > 3000) {
  345.          synchronized(this) {
  346.             this.notify();
  347.          }
  348.       }
  349.  
  350.    }
  351.  
  352.    // $FF: renamed from: j () void
  353.    private void method_9() {
  354.       Thread var1 = new Thread(this);
  355.       var1.start();
  356.    }
  357.  
  358.    // $FF: renamed from: e () void
  359.    private void method_10() {
  360.       int var1 = ad.b() - this.field_12;
  361.       if (this.field_20 == null) {
  362.          this.field_11 = 10000;
  363.       } else if (var1 < 20000) {
  364.          this.field_11 = 3000;
  365.       } else {
  366.          this.field_11 = 10000;
  367.       }
  368.  
  369.    }
  370.  
  371.    // $FF: renamed from: b (java.lang.String, int) f
  372.    private f method_11(String var1, int var2) {
  373.       f var3 = new f(this);
  374.       var3.b = null;
  375.       var3.a = var1.indexOf(32, var2);
  376.       if (var3.a != -1) {
  377.          var3.b = var1.substring(var2, var3.a);
  378.          boolean var4 = true;
  379.  
  380.          while(var3.a < var1.length() - 1 && var4) {
  381.             if (var1.charAt(var3.a + 1) != ' ') {
  382.                var4 = false;
  383.             } else {
  384.                ++var3.a;
  385.             }
  386.          }
  387.  
  388.          ++var3.a;
  389.       }
  390.  
  391.       return var3;
  392.    }
  393.  
  394.    // $FF: renamed from: a (java.lang.String, int) int
  395.    public int method_12(String var1, int var2) throws Exception {
  396.       f var3 = this.method_11(var1, var2);
  397.       if (var3.a == -1) {
  398.          return -1;
  399.       } else {
  400.          int var4 = Integer.parseInt(var3.b);
  401.          String[] var5 = new String[var4];
  402.  
  403.          for(int var6 = 0; var6 < var4; ++var6) {
  404.             var3 = this.method_11(var1, var3.a);
  405.             var5[var6] = var3.b;
  406.          }
  407.  
  408.          if (var5[0].compareTo("ILN") == 0) {
  409.             this.method_18(var5);
  410.          } else if (var5[0].compareTo("FLN") == 0) {
  411.             this.method_19(var5);
  412.          } else if (var5[0].compareTo("NLN") == 0) {
  413.             this.method_20(var5);
  414.          } else if (var5[0].compareTo("eRNG") == 0) {
  415.             this.method_15(var5);
  416.          } else if (var5[0].compareTo("ice") == 0) {
  417.             ad.b("Invitation failed");
  418.             this.field_9 = false;
  419.          } else if (var5[0].compareTo("ico") == 0) {
  420.             this.field_9 = false;
  421.          } else if (var5[0].compareTo("ss") == 0) {
  422.             this.field_16 = true;
  423.          } else if (var5[0].compareTo("BYE") == 0) {
  424.             if (var5.length >= 1) {
  425.                m var12 = ad.b.e(var5[1]);
  426.                if (var12 != null) {
  427.                   this.field_17.a(var12.d() + " has left.");
  428.                }
  429.             }
  430.          } else if (var5[0].compareTo("JOI") == 0) {
  431.             if (var5.length >= 2) {
  432.                this.field_17.a(ad.c(ad.d(var5[2])) + " joins");
  433.             }
  434.          } else if (var5[0].compareTo("eADD") == 0) {
  435.             this.method_13(var5);
  436.          } else if (var5[0].compareTo("rnso") == 0) {
  437.             if (!this.field_8) {
  438.                this.field_20 = "dummy";
  439.             }
  440.  
  441.             this.field_7 = false;
  442.          } else if (var5[0].compareTo("rnse") == 0) {
  443.             this.field_20 = null;
  444.             this.field_7 = false;
  445.          } else if (var5[0].compareTo("am") == 0) {
  446.             ad.k.a(ad.c(ad.d(var5[1])));
  447.          } else if (var5[0].compareTo("file_send_cancelled") == 0) {
  448.             this.field_17.a("Sending photo cancelled");
  449.          } else if (var5[0].compareTo("eMSG") == 0) {
  450.             this.field_2 = ad.b();
  451.             this.method_8();
  452.             String var13 = var5[1];
  453.             int var7 = Integer.parseInt(var5[2]);
  454.             int var8 = var3.a + 1;
  455.             var3.a += var7 + 2;
  456.             String var9 = var1.substring(var8, var8 + var7);
  457.             String var10 = ad.c(ad.d(var13));
  458.             if (!this.method_29(var9, var10)) {
  459.                String var11 = ">>" + var10 + ": " + '\uffff' + ad.c(var9) + '\ufffe';
  460.                this.field_17.a(var11);
  461.             }
  462.          }
  463.  
  464.          return var3.a;
  465.       }
  466.    }
  467.  
  468.    // $FF: renamed from: b (java.lang.String[]) void
  469.    private void method_13(String[] var1) {
  470.       if (var1[1].compareTo("none") == 0) {
  471.          ad.b("Adding new contact failed");
  472.       } else {
  473.          String var2 = ad.c(ad.d(var1[2]));
  474.          ad.b("Adding new contact: " + var2);
  475.          ad.b.a(var1[1], var2, 0);
  476.          ad.b.e = true;
  477.       }
  478.  
  479.    }
  480.  
  481.    // $FF: renamed from: a (y) void
  482.    public void method_14(y var1) {
  483.       this.field_17 = var1;
  484.    }
  485.  
  486.    // $FF: renamed from: d (java.lang.String[]) void
  487.    private void method_15(String[] var1) {
  488.       String var2 = ad.c(ad.d(var1[2]));
  489.       synchronized(this.field_19) {
  490.          this.field_18 = new ab(this, new String(var1[1]), new String(var2));
  491.       }
  492.    }
  493.  
  494.    // $FF: renamed from: f () boolean
  495.    public boolean method_16() throws Exception {
  496.       this.field_25 = 41;
  497.       if (this.field_16) {
  498.          this.field_20 = null;
  499.          this.field_16 = false;
  500.       }
  501.  
  502.       this.field_25 = 42;
  503.       ab var1;
  504.       synchronized(this.field_19) {
  505.          var1 = new ab(this, this.field_18);
  506.       }
  507.  
  508.       this.field_25 = 43;
  509.       boolean var2 = false;
  510.       if (var1.c != null) {
  511.          this.field_25 = 44;
  512.          if (this.field_20 == null) {
  513.             this.field_25 = 45;
  514.             if (ad.a(var1.a + " invites you for a chat. Start chat-session?")) {
  515.                e var3 = new e("Starting new session", 3000);
  516.                var3.b();
  517.                this.method_8();
  518.                this.field_20 = var1.c;
  519.                this.method_24("ns├╛" + this.field_20);
  520.                this.field_2 = ad.b();
  521.                var2 = true;
  522.             } else {
  523.                this.method_8();
  524.                this.method_24("is├╛" + var1.c);
  525.             }
  526.          } else if (ad.a(var1.a + " invites you for a chat. If you start this chat, I will close the current chat session. Start a new chat-session?")) {
  527.             e var6 = new e("Starting new session", 3000);
  528.             var6.b();
  529.             this.method_8();
  530.             this.method_23("cs├╛" + this.field_20);
  531.             this.field_20 = var1.c;
  532.             this.method_24("ns├╛" + this.field_20);
  533.             this.field_2 = ad.b();
  534.             var2 = true;
  535.          } else {
  536.             this.method_8();
  537.             this.method_24("is├╛" + var1.c);
  538.          }
  539.  
  540.          synchronized(this.field_19) {
  541.             this.field_18.c = null;
  542.          }
  543.       }
  544.  
  545.       return var2;
  546.    }
  547.  
  548.    // $FF: renamed from: a () void
  549.    public void method_17() {
  550.       if (this.field_20 != null) {
  551.          this.method_8();
  552.          this.method_24("cs├╛" + this.field_20);
  553.          this.field_20 = null;
  554.       }
  555.  
  556.    }
  557.  
  558.    // $FF: renamed from: e (java.lang.String[]) void
  559.    private void method_18(String[] var1) throws Exception {
  560.       k.a(var1.length >= 6, "Incorrect ILN message");
  561.       m var2 = ad.b.e(var1[3]);
  562.       if (var2 != null) {
  563.          var2.a(x.b(var1[2]));
  564.          var2.a(ad.c(ad.d(var1[4])));
  565.       }
  566.  
  567.       ad.b.b = true;
  568.    }
  569.  
  570.    // $FF: renamed from: c (java.lang.String[]) void
  571.    private void method_19(String[] var1) throws Exception {
  572.       k.a(var1.length >= 2, "Incorrect FLN message");
  573.       m var2 = ad.b.e(var1[1]);
  574.       if (var2 != null) {
  575.          var2.a(2);
  576.       }
  577.  
  578.       ad.b.b = true;
  579.    }
  580.  
  581.    // $FF: renamed from: a (java.lang.String[]) void
  582.    private void method_20(String[] var1) throws Exception {
  583.       k.a(var1.length >= 5, "Incorrect NLN message");
  584.       m var2 = ad.b.e(var1[2]);
  585.       if (var2 != null) {
  586.          var2.a(x.b(var1[1]));
  587.          var2.a(ad.c(ad.d(var1[3])));
  588.       }
  589.  
  590.       ad.b.b = true;
  591.    }
  592.  
  593.    // $FF: renamed from: c (java.lang.String) boolean
  594.    private boolean method_21(String var1) throws Exception {
  595.       try {
  596.          f var2 = this.method_11(var1, 0);
  597.          if (var2.b.compareTo("error") == 0) {
  598.             this.method_11(var1, var2.a);
  599.             return false;
  600.          } else if (var2.b.compareTo("ok") != 0) {
  601.             return false;
  602.          } else {
  603.             var2 = this.method_11(var1, var2.a);
  604.             this.field_13 = Integer.parseInt(var2.b);
  605.             var2 = this.method_11(var1, var2.a);
  606.  
  607.             for(int var3 = var2.a; var3 != -1; var3 = this.method_12(var1, var3)) {
  608.             }
  609.  
  610.             return true;
  611.          }
  612.       } catch (Exception var4) {
  613.          var4.printStackTrace();
  614.          return false;
  615.       }
  616.    }
  617.  
  618.    // $FF: renamed from: k () void
  619.    public void method_22() throws Exception {
  620.       k.a(this.field_14 <= 6, "Connection with server lost. Try again later");
  621.       if (this.field_20 != null && ad.b() - this.field_2 > 180000) {
  622.          this.method_17();
  623.       }
  624.  
  625.    }
  626.  
  627.    // $FF: renamed from: a (java.lang.String) void
  628.    private void method_23(String var1) {
  629.       if (var1 != null) {
  630.          var1 = "" + this.field_24 + '├╛' + var1;
  631.          String var2 = "├╛" + var1.length() + '├╛' + ad.e(var1);
  632.          synchronized(this.field_22) {
  633.             this.field_22.append(var2);
  634.             ++this.field_23;
  635.          }
  636.  
  637.          ++this.field_24;
  638.       }
  639.  
  640.    }
  641.  
  642.    // $FF: renamed from: b (java.lang.String) void
  643.    public void method_24(String var1) {
  644.       this.method_8();
  645.       this.method_23(var1);
  646.       synchronized(this) {
  647.          this.notify();
  648.       }
  649.    }
  650.  
  651.    // $FF: renamed from: e (java.lang.String) void
  652.    public void method_25(String var1) {
  653.       this.field_2 = ad.b();
  654.       String var2 = "msgu├╛" + ad.f(var1);
  655.       this.method_24(var2);
  656.    }
  657.  
  658.    // $FF: renamed from: c () java.lang.String
  659.    private String method_26() {
  660.       synchronized(this.field_22) {
  661.          return "sb=" + this.field_23 + this.field_22;
  662.       }
  663.    }
  664.  
  665.    // $FF: renamed from: a (java.lang.String, java.lang.String, java.lang.String, byte[]) void
  666.    public void method_27(String var1, String var2, String var3, byte[] var4) throws Exception {
  667.       e var5 = new e("Sending email", 3000);
  668.       ByteArrayOutputStream var6 = new ByteArrayOutputStream();
  669.       DataOutputStream var7 = new DataOutputStream(var6);
  670.       var7.writeBoolean(var4 != null);
  671.       var7.writeUTF(var2);
  672.       var7.writeUTF(var3);
  673.       if (var4 != null) {
  674.          for(int var8 = 0; var8 < var4.length; ++var8) {
  675.             var7.writeByte(var4[var8]);
  676.          }
  677.       }
  678.  
  679.       var7.flush();
  680.       var6.flush();
  681.       String var9 = this.method_0("cmd=postemail&index=" + ad.b.a + "&checksum=" + ad.b.f + "&to=" + var1, var6.toByteArray(), false, (String)null);
  682.       System.out.println("sendEmail ret=" + var9);
  683.       if (!var9.startsWith("ok")) {
  684.          ad.b(var9);
  685.       }
  686.  
  687.       var5.b();
  688.    }
  689.  
  690.    // $FF: renamed from: a (byte[]) java.lang.String
  691.    public String method_28(byte[] var1) {
  692.       e var2 = new e("Sending photo", 3000);
  693.       String var3 = this.method_0("cmd=postphoto&index=" + ad.b.a + "&checksum=" + ad.b.f, var1, false, (String)null);
  694.       var2.b();
  695.       f var4 = this.method_11(var3, 0);
  696.       if (var4.b.compareTo("ok") == 0) {
  697.          var4 = this.method_11(var3, var4.a);
  698.          String var5 = var4.b;
  699.          var4 = this.method_11(var3, var4.a);
  700.          String var6 = var4.b;
  701.          String var7 = var5 + "&frc=" + var6;
  702.          this.method_25("I have sent you a photo. You can view it at http://www.funrungames.com/emsnphoto.php?id=" + var7);
  703.          return null;
  704.       } else {
  705.          return this.method_11(var3, var4.a).b;
  706.       }
  707.    }
  708.  
  709.    // $FF: renamed from: a (java.lang.String, java.lang.String) boolean
  710.    private boolean method_29(String var1, String var2) throws Exception {
  711.       if (var1.startsWith("I have sent you a photo. You can view it at http://www.funrungames.com/emsnphoto.php?id=")) {
  712.          String var3 = var1 + "&from=" + var2;
  713.          synchronized(this.field_5) {
  714.             this.field_5.addElement(var3);
  715.             return true;
  716.          }
  717.       } else {
  718.          return false;
  719.       }
  720.    }
  721.  
  722.    // $FF: renamed from: g () boolean
  723.    public boolean method_30() throws Exception {
  724.       String var1 = null;
  725.       synchronized(this.field_5) {
  726.          if (this.field_5.size() > 0) {
  727.             var1 = (String)this.field_5.firstElement();
  728.             this.field_5.removeElementAt(0);
  729.          }
  730.       }
  731.  
  732.       if (var1 == null) {
  733.          return true;
  734.       } else {
  735.          String var2 = method_31("from", var1);
  736.          String var3 = method_31("frc", var1);
  737.          String var4;
  738.          if (var3 == null) {
  739.             var4 = "http://localhost";
  740.          } else {
  741.             var4 = "http://" + var3 + ".funrungames.com";
  742.          }
  743.  
  744.          String var5 = method_31("id", var1);
  745.          boolean var6 = ad.a(var2 + " has sent you a photo, pick it up?");
  746.          boolean var7;
  747.          if (var6) {
  748.             e var8 = new e("Receiving photo", 3000);
  749.             String var9 = this.method_0((String)null, (byte[])null, true, var4 + "/frc_bridge/frc_bridge?cmd=getphoto&id=" + var5 + "&width=" + ad.g + "&height=" + ad.l);
  750.             var8.b();
  751.             this.method_23("getadd");
  752.             if (!var9.startsWith("ok ")) {
  753.                ad.b(var9);
  754.                var7 = true;
  755.             } else {
  756.                Displayable var10 = ad.e.getCurrent();
  757.                v var11 = new v(this.field_4, (byte[])null, 0);
  758.                if (var11.b() == 0) {
  759.                   var7 = false;
  760.                } else {
  761.                   var7 = true;
  762.                }
  763.  
  764.                ad.a(var10);
  765.             }
  766.          } else {
  767.             var7 = true;
  768.          }
  769.  
  770.          return var7;
  771.       }
  772.    }
  773.  
  774.    // $FF: renamed from: c (java.lang.String, java.lang.String) java.lang.String
  775.    public static String method_31(String var0, String var1) {
  776.       String var2 = var1 + "&";
  777.       int var3 = var2.indexOf(var0 + "=");
  778.       if (var3 == -1) {
  779.          return null;
  780.       } else {
  781.          int var4 = var2.indexOf(38, var3);
  782.          return var2.substring(var3 + var0.length() + 1, var4);
  783.       }
  784.    }
  785.  
  786.    // $FF: renamed from: b () void
  787.    private void method_32() {
  788.       this.field_25 = 2;
  789.       String var2;
  790.       String var3;
  791.       int var4;
  792.       synchronized(this.field_22) {
  793.          var3 = new String(this.field_22);
  794.          var2 = new String(this.method_26());
  795.          this.field_22.setLength(0);
  796.          var4 = this.field_23;
  797.          this.field_23 = 0;
  798.       }
  799.  
  800.       this.field_25 = 3;
  801.       String var1 = this.method_0("cmd=get&index=" + ad.b.a + "&checksum=" + ad.b.f + "&f_nr=" + this.field_13 + "&" + var2, (byte[])null, false, (String)null);
  802.       if (var1.startsWith("connection-problem ")) {
  803.          synchronized(this.field_22) {
  804.             this.field_23 += var4;
  805.             this.field_22.insert(0, var3);
  806.          }
  807.  
  808.          ++this.field_14;
  809.       } else {
  810.          try {
  811.             this.field_25 = 33;
  812.             if (this.method_21(var1)) {
  813.                this.field_14 = 0;
  814.             } else {
  815.                ++this.field_14;
  816.             }
  817.  
  818.             this.field_25 = 34;
  819.          } catch (Exception var6) {
  820.             var6.printStackTrace();
  821.          }
  822.       }
  823.  
  824.    }
  825.  
  826.    public void run() {
  827.       while(!this.field_10) {
  828.          try {
  829.             this.field_25 = 1;
  830.             this.method_32();
  831.             this.field_25 = 100;
  832.             this.method_10();
  833.             this.field_25 = 101;
  834.             synchronized(this) {
  835.                try {
  836.                   this.wait((long)this.field_11);
  837.                } catch (Exception var3) {
  838.                }
  839.             }
  840.  
  841.             this.field_25 = 102;
  842.          } catch (Error var5) {
  843.          }
  844.       }
  845.  
  846.    }
  847. }
  848.