home *** CD-ROM | disk | FTP | other *** search
- import com.siemens.mp.io.File;
- import java.util.Vector;
- import javax.microedition.lcdui.Command;
- import javax.microedition.lcdui.CommandListener;
- import javax.microedition.lcdui.Displayable;
- import javax.microedition.lcdui.Form;
- import javax.microedition.lcdui.Gauge;
- import javax.microedition.lcdui.Screen;
- import javax.microedition.lcdui.StringItem;
-
- // $FF: renamed from: d
- class class_0 extends Form implements Runnable, CommandListener {
- // $FF: renamed from: null javax.microedition.lcdui.Gauge
- Gauge field_0 = new Gauge("", false, 30, 0);
- // $FF: renamed from: int javax.microedition.lcdui.StringItem
- StringItem field_1 = new StringItem("", "");
- // $FF: renamed from: char javax.microedition.lcdui.StringItem
- StringItem field_2 = new StringItem("", "");
- // $FF: renamed from: case com.siemens.mp.io.File
- File field_3 = new File();
- // $FF: renamed from: do int
- int field_4 = -1;
- // $FF: renamed from: goto int
- int field_5;
- // $FF: renamed from: for long
- long field_6;
- // $FF: renamed from: long java.lang.String
- String field_7;
- // $FF: renamed from: if java.lang.String
- String field_8;
- // $FF: renamed from: new int
- int field_9;
- // $FF: renamed from: try long
- long field_10;
- // $FF: renamed from: byte boolean
- boolean field_11;
- // $FF: renamed from: a boolean
- boolean field_12;
- // $FF: renamed from: else java.util.Vector
- Vector field_13;
-
- public class_0() {
- super("");
- ((Form)this).append(this.field_1);
- ((Form)this).append(this.field_0);
- ((Form)this).append(this.field_2);
- ((Displayable)this).setCommandListener(this);
- ((Displayable)this).addCommand(new Command("Cancel", 2, 1));
- }
-
- // $FF: renamed from: a (java.lang.String, java.lang.String, int, boolean) void
- public void method_0(String var1, String var2, int var3, boolean var4) {
- ((Screen)this).setTitle("Search " + var1);
- this.field_7 = var1;
- this.field_8 = var2;
- this.field_9 = var3;
- this.field_11 = var4;
- this.field_12 = false;
-
- try {
- this.field_4 = this.field_3.open(this.field_8);
- this.field_5 = this.field_3.length(this.field_4);
- } catch (Exception var6) {
- this.field_12 = true;
- }
-
- this.field_1.setText(" Please wait");
- this.field_2.setText(" ");
- this.field_0.setValue(0);
- (new Thread(this)).start();
- }
-
- public void commandAction(Command var1, Displayable var2) {
- this.field_12 = true;
- }
-
- // $FF: renamed from: a (int) void
- void method_1(int var1) {
- long var2 = System.currentTimeMillis();
- if (var2 - this.field_10 >= 1000L) {
- this.field_10 = var2;
- long var4 = var2 - this.field_6;
- int var6;
- int var7;
- if (this.field_11) {
- var7 = this.field_5 - var1;
- var6 = var1 - this.field_9;
- } else {
- var7 = var1;
- var6 = this.field_9 - var1;
- }
-
- if (var6 == 0) {
- var6 = 1;
- }
-
- long var8 = (long)var7 * var4 / (long)var6;
- long var10 = var8 / 1000L;
- long var12 = var10 / 60L;
- var10 %= 60L;
- String var14;
- if (var10 < 10L) {
- if (var10 < 0L) {
- var10 = 0L;
- }
-
- var14 = " Max time: " + var12 + ":0" + var10;
- } else {
- var14 = " Max time: " + var12 + ":" + var10;
- }
-
- this.field_1.setText(var14);
- this.field_2.setText(" Page " + f.for(var1) + "/" + f.if());
- this.field_0.setValue(var6);
- }
- }
-
- public void run() {
- Book var1 = Book.try();
-
- while(!var1.aD) {
- Thread.currentThread();
- Thread.yield();
- }
-
- this.field_9 = this.method_3(this.field_7, this.field_9);
- if (this.field_4 >= 0) {
- try {
- this.field_3.close(this.field_4);
- } catch (Exception var3) {
- }
-
- this.field_4 = -1;
- }
-
- var1.a(this, this.field_7, this.field_9, this.field_12);
- this.field_13.removeAllElements();
- this.field_13 = null;
- this.field_7 = null;
- }
-
- // $FF: renamed from: a (byte[], byte[], int, int) boolean
- private boolean method_2(byte[] var1, byte[] var2, int var3, int var4) {
- int var5 = var1.length;
-
- for(int var6 = var5 - 1; var6 >= 0; --var6) {
- if (var1[var6] != var2[var6 + var3]) {
- return false;
- }
- }
-
- boolean var7 = true;
- if (this.field_13.size() > 1) {
- String var8 = f.am.do(var3 + var4, 80);
-
- for(int var9 = 1; var7 && var9 < this.field_13.size(); ++var9) {
- String var10 = (String)this.field_13.elementAt(var9);
- if (var8.indexOf(var10) < 0) {
- var7 = false;
- }
- }
-
- Object var11 = null;
- }
-
- return var7;
- }
-
- // $FF: renamed from: a (java.lang.String, int) int
- private int method_3(String var1, int var2) {
- this.field_6 = System.currentTimeMillis();
- this.field_10 = this.field_6;
- byte[] var4 = Book.c();
- int var5 = var4.length;
-
- try {
- int var6 = this.field_5;
- if (var2 > var6) {
- return -1;
- }
-
- this.field_13 = Book.a(var1 + " ", ' ', 0);
- byte[] var8 = f.do((String)this.field_13.elementAt(0));
- int var9 = var8.length;
- byte var10 = var8[0];
- byte var11 = 0;
- if (var9 >= 2) {
- var11 = var8[1];
- }
-
- if (this.field_11) {
- this.field_0.setMaxValue(var6 - var2);
-
- while(var2 + var9 < var6 && !this.field_12) {
- if (Book.char) {
- this.field_3.close(this.field_4);
- this.field_4 = this.field_3.open(this.field_8);
- }
-
- this.field_3.seek(this.field_4, var2);
- int var12 = var5;
- if (var5 > var6 - var2) {
- var12 = var6 - var2;
- }
-
- var12 = this.field_3.read(this.field_4, var4, 0, var12);
- int var13 = var12 - var9 + 1;
- if (var9 >= 2) {
- for(int var21 = 0; var21 < var13; ++var21) {
- if (var10 == var4[var21] && var11 == var4[var21 + 1] && this.method_2(var8, var4, var21, var2)) {
- return var2 + var21;
- }
- }
- } else {
- for(int var14 = 0; var14 < var13; ++var14) {
- if (var10 == var4[var14] && this.method_2(var8, var4, var14, var2)) {
- return var2 + var14;
- }
- }
- }
-
- var2 += var13;
- this.method_1(var2);
- }
- } else {
- this.field_0.setMaxValue(var2);
- var2 -= var5 - var9;
- if (var2 < 0) {
- var5 += var2;
- var2 = 0;
- }
-
- while(var2 >= 0 && !this.field_12) {
- if (Book.char) {
- this.field_3.close(this.field_4);
- this.field_4 = this.field_3.open(this.field_8);
- }
-
- this.field_3.seek(this.field_4, var2);
- int var18 = var5;
- if (var5 > var6 - var2) {
- var18 = var6 - var2;
- }
-
- var18 = this.field_3.read(this.field_4, var4, 0, var18);
-
- for(int var20 = var18 - var9; var20 >= 0; --var20) {
- if (var10 == var4[var20] && this.method_2(var8, var4, var20, var2)) {
- return var2 + var20;
- }
- }
-
- this.method_1(var2);
- if (var2 == 0) {
- break;
- }
-
- var2 -= var5 - var9;
- if (var2 < 0) {
- var5 += var2;
- var2 = 0;
- }
- }
- }
- } catch (Exception var15) {
- }
-
- return -1;
- }
- }
-