home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / microreader / MicroReader.jar / d.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-06-10  |  5.4 KB  |  271 lines

  1. import com.siemens.mp.io.File;
  2. import java.util.Vector;
  3. import javax.microedition.lcdui.Command;
  4. import javax.microedition.lcdui.CommandListener;
  5. import javax.microedition.lcdui.Displayable;
  6. import javax.microedition.lcdui.Form;
  7. import javax.microedition.lcdui.Gauge;
  8. import javax.microedition.lcdui.Screen;
  9. import javax.microedition.lcdui.StringItem;
  10.  
  11. // $FF: renamed from: d
  12. class class_0 extends Form implements Runnable, CommandListener {
  13.    // $FF: renamed from: null javax.microedition.lcdui.Gauge
  14.    Gauge field_0 = new Gauge("", false, 30, 0);
  15.    // $FF: renamed from: int javax.microedition.lcdui.StringItem
  16.    StringItem field_1 = new StringItem("", "");
  17.    // $FF: renamed from: char javax.microedition.lcdui.StringItem
  18.    StringItem field_2 = new StringItem("", "");
  19.    // $FF: renamed from: case com.siemens.mp.io.File
  20.    File field_3 = new File();
  21.    // $FF: renamed from: do int
  22.    int field_4 = -1;
  23.    // $FF: renamed from: goto int
  24.    int field_5;
  25.    // $FF: renamed from: for long
  26.    long field_6;
  27.    // $FF: renamed from: long java.lang.String
  28.    String field_7;
  29.    // $FF: renamed from: if java.lang.String
  30.    String field_8;
  31.    // $FF: renamed from: new int
  32.    int field_9;
  33.    // $FF: renamed from: try long
  34.    long field_10;
  35.    // $FF: renamed from: byte boolean
  36.    boolean field_11;
  37.    // $FF: renamed from: a boolean
  38.    boolean field_12;
  39.    // $FF: renamed from: else java.util.Vector
  40.    Vector field_13;
  41.  
  42.    public class_0() {
  43.       super("");
  44.       ((Form)this).append(this.field_1);
  45.       ((Form)this).append(this.field_0);
  46.       ((Form)this).append(this.field_2);
  47.       ((Displayable)this).setCommandListener(this);
  48.       ((Displayable)this).addCommand(new Command("Cancel", 2, 1));
  49.    }
  50.  
  51.    // $FF: renamed from: a (java.lang.String, java.lang.String, int, boolean) void
  52.    public void method_0(String var1, String var2, int var3, boolean var4) {
  53.       ((Screen)this).setTitle("Search " + var1);
  54.       this.field_7 = var1;
  55.       this.field_8 = var2;
  56.       this.field_9 = var3;
  57.       this.field_11 = var4;
  58.       this.field_12 = false;
  59.  
  60.       try {
  61.          this.field_4 = this.field_3.open(this.field_8);
  62.          this.field_5 = this.field_3.length(this.field_4);
  63.       } catch (Exception var6) {
  64.          this.field_12 = true;
  65.       }
  66.  
  67.       this.field_1.setText("  Please wait");
  68.       this.field_2.setText(" ");
  69.       this.field_0.setValue(0);
  70.       (new Thread(this)).start();
  71.    }
  72.  
  73.    public void commandAction(Command var1, Displayable var2) {
  74.       this.field_12 = true;
  75.    }
  76.  
  77.    // $FF: renamed from: a (int) void
  78.    void method_1(int var1) {
  79.       long var2 = System.currentTimeMillis();
  80.       if (var2 - this.field_10 >= 1000L) {
  81.          this.field_10 = var2;
  82.          long var4 = var2 - this.field_6;
  83.          int var6;
  84.          int var7;
  85.          if (this.field_11) {
  86.             var7 = this.field_5 - var1;
  87.             var6 = var1 - this.field_9;
  88.          } else {
  89.             var7 = var1;
  90.             var6 = this.field_9 - var1;
  91.          }
  92.  
  93.          if (var6 == 0) {
  94.             var6 = 1;
  95.          }
  96.  
  97.          long var8 = (long)var7 * var4 / (long)var6;
  98.          long var10 = var8 / 1000L;
  99.          long var12 = var10 / 60L;
  100.          var10 %= 60L;
  101.          String var14;
  102.          if (var10 < 10L) {
  103.             if (var10 < 0L) {
  104.                var10 = 0L;
  105.             }
  106.  
  107.             var14 = " Max time: " + var12 + ":0" + var10;
  108.          } else {
  109.             var14 = " Max time: " + var12 + ":" + var10;
  110.          }
  111.  
  112.          this.field_1.setText(var14);
  113.          this.field_2.setText(" Page " + f.for(var1) + "/" + f.if());
  114.          this.field_0.setValue(var6);
  115.       }
  116.    }
  117.  
  118.    public void run() {
  119.       Book var1 = Book.try();
  120.  
  121.       while(!var1.aD) {
  122.          Thread.currentThread();
  123.          Thread.yield();
  124.       }
  125.  
  126.       this.field_9 = this.method_3(this.field_7, this.field_9);
  127.       if (this.field_4 >= 0) {
  128.          try {
  129.             this.field_3.close(this.field_4);
  130.          } catch (Exception var3) {
  131.          }
  132.  
  133.          this.field_4 = -1;
  134.       }
  135.  
  136.       var1.a(this, this.field_7, this.field_9, this.field_12);
  137.       this.field_13.removeAllElements();
  138.       this.field_13 = null;
  139.       this.field_7 = null;
  140.    }
  141.  
  142.    // $FF: renamed from: a (byte[], byte[], int, int) boolean
  143.    private boolean method_2(byte[] var1, byte[] var2, int var3, int var4) {
  144.       int var5 = var1.length;
  145.  
  146.       for(int var6 = var5 - 1; var6 >= 0; --var6) {
  147.          if (var1[var6] != var2[var6 + var3]) {
  148.             return false;
  149.          }
  150.       }
  151.  
  152.       boolean var7 = true;
  153.       if (this.field_13.size() > 1) {
  154.          String var8 = f.am.do(var3 + var4, 80);
  155.  
  156.          for(int var9 = 1; var7 && var9 < this.field_13.size(); ++var9) {
  157.             String var10 = (String)this.field_13.elementAt(var9);
  158.             if (var8.indexOf(var10) < 0) {
  159.                var7 = false;
  160.             }
  161.          }
  162.  
  163.          Object var11 = null;
  164.       }
  165.  
  166.       return var7;
  167.    }
  168.  
  169.    // $FF: renamed from: a (java.lang.String, int) int
  170.    private int method_3(String var1, int var2) {
  171.       this.field_6 = System.currentTimeMillis();
  172.       this.field_10 = this.field_6;
  173.       byte[] var4 = Book.c();
  174.       int var5 = var4.length;
  175.  
  176.       try {
  177.          int var6 = this.field_5;
  178.          if (var2 > var6) {
  179.             return -1;
  180.          }
  181.  
  182.          this.field_13 = Book.a(var1 + " ", ' ', 0);
  183.          byte[] var8 = f.do((String)this.field_13.elementAt(0));
  184.          int var9 = var8.length;
  185.          byte var10 = var8[0];
  186.          byte var11 = 0;
  187.          if (var9 >= 2) {
  188.             var11 = var8[1];
  189.          }
  190.  
  191.          if (this.field_11) {
  192.             this.field_0.setMaxValue(var6 - var2);
  193.  
  194.             while(var2 + var9 < var6 && !this.field_12) {
  195.                if (Book.char) {
  196.                   this.field_3.close(this.field_4);
  197.                   this.field_4 = this.field_3.open(this.field_8);
  198.                }
  199.  
  200.                this.field_3.seek(this.field_4, var2);
  201.                int var12 = var5;
  202.                if (var5 > var6 - var2) {
  203.                   var12 = var6 - var2;
  204.                }
  205.  
  206.                var12 = this.field_3.read(this.field_4, var4, 0, var12);
  207.                int var13 = var12 - var9 + 1;
  208.                if (var9 >= 2) {
  209.                   for(int var21 = 0; var21 < var13; ++var21) {
  210.                      if (var10 == var4[var21] && var11 == var4[var21 + 1] && this.method_2(var8, var4, var21, var2)) {
  211.                         return var2 + var21;
  212.                      }
  213.                   }
  214.                } else {
  215.                   for(int var14 = 0; var14 < var13; ++var14) {
  216.                      if (var10 == var4[var14] && this.method_2(var8, var4, var14, var2)) {
  217.                         return var2 + var14;
  218.                      }
  219.                   }
  220.                }
  221.  
  222.                var2 += var13;
  223.                this.method_1(var2);
  224.             }
  225.          } else {
  226.             this.field_0.setMaxValue(var2);
  227.             var2 -= var5 - var9;
  228.             if (var2 < 0) {
  229.                var5 += var2;
  230.                var2 = 0;
  231.             }
  232.  
  233.             while(var2 >= 0 && !this.field_12) {
  234.                if (Book.char) {
  235.                   this.field_3.close(this.field_4);
  236.                   this.field_4 = this.field_3.open(this.field_8);
  237.                }
  238.  
  239.                this.field_3.seek(this.field_4, var2);
  240.                int var18 = var5;
  241.                if (var5 > var6 - var2) {
  242.                   var18 = var6 - var2;
  243.                }
  244.  
  245.                var18 = this.field_3.read(this.field_4, var4, 0, var18);
  246.  
  247.                for(int var20 = var18 - var9; var20 >= 0; --var20) {
  248.                   if (var10 == var4[var20] && this.method_2(var8, var4, var20, var2)) {
  249.                      return var2 + var20;
  250.                   }
  251.                }
  252.  
  253.                this.method_1(var2);
  254.                if (var2 == 0) {
  255.                   break;
  256.                }
  257.  
  258.                var2 -= var5 - var9;
  259.                if (var2 < 0) {
  260.                   var5 += var2;
  261.                   var2 = 0;
  262.                }
  263.             }
  264.          }
  265.       } catch (Exception var15) {
  266.       }
  267.  
  268.       return -1;
  269.    }
  270. }
  271.