home *** CD-ROM | disk | FTP | other *** search
- import javax.microedition.lcdui.Canvas;
- import javax.microedition.lcdui.Command;
- import javax.microedition.lcdui.CommandListener;
- import javax.microedition.lcdui.Displayable;
- import javax.microedition.lcdui.Font;
- import javax.microedition.lcdui.Form;
- import javax.microedition.lcdui.Graphics;
- import javax.microedition.lcdui.Image;
-
- final class LoaderForm extends Canvas implements Runnable, CommandListener {
- Font font = Font.getFont(32, 0, 16);
- boolean suspend = true;
- Image Splash;
- Image Intro;
- final String[] ImN = new String[]{"/splash.png", "/twist.png", "/fall.png", "/stand.png", "/board.png", "/flame.png", "/background.png", "/intro.png"};
- int res = 0;
- int index = 0;
-
- public LoaderForm() {
- Thread var1 = new Thread(this);
- var1.setPriority(1);
- var1.start();
- }
-
- public void run() {
- int var1 = 0;
- int var2 = 0;
- Image[] var3 = BlazingBoards.AllImage;
- ((Displayable)this).addCommand(BlazingBoards.allCommand[7]);
- ((Displayable)this).setCommandListener(this);
- int var4 = 10;
- BlazingBoards.d.setCurrent(this);
-
- while(this.res == 0) {
- try {
- if (BlazingBoards.app == null) {
- return;
- }
-
- if (this.suspend) {
- Thread.sleep(300L);
- } else {
- if (this.index <= 9) {
- System.out.println("Load Thread index " + this.index);
- if (this.index == 9) {
- BlazingBoards.engine = new Engine();
- } else if (this.index == 8) {
- BlazingBoards.app.LoadForm();
- } else {
- Image var5 = com.siemens.mp.ui.Image.createImageWithoutScaling(this.ImN[var1]);
- ++var1;
- if (var1 == this.ImN.length) {
- this.Intro = var5;
- } else if (var1 == 1) {
- this.Splash = var5;
- } else {
- System.out.println("Set to Masiv " + var2);
- var3[var2++] = var5;
- }
- }
-
- System.gc();
- System.out.println("free Memory" + Runtime.getRuntime().freeMemory());
- ((Canvas)this).repaint();
- } else if (this.index == 10) {
- System.gc();
- ((Displayable)this).removeCommand(BlazingBoards.allCommand[7]);
- ((Displayable)this).addCommand(BlazingBoards.allCommand[3]);
- ((Canvas)this).repaint();
- } else if (this.index < 23) {
- Thread.sleep(300L);
- } else {
- this.res = 1;
- }
-
- ++this.index;
- }
- } catch (Exception var7) {
- System.gc();
- System.out.println("Loader Exception " + var7);
- --var4;
- if (var4 == 0) {
- Form var6 = new Form("Error");
- var6.append("Cannot open resource!");
- ((Displayable)var6).addCommand(BlazingBoards.allCommand[7]);
- ((Displayable)var6).setCommandListener(BlazingBoards.app);
- BlazingBoards.d.setCurrent(var6);
- return;
- }
- }
- }
-
- if (this.res == 1) {
- BlazingBoards.d.setCurrent(BlazingBoards.engine);
- } else if (this.res == 2) {
- BlazingBoards.app.destroyApp(false);
- }
-
- }
-
- public void showNotify() {
- System.out.println("loader show " + ((Displayable)this).isShown());
- this.suspend = false;
- }
-
- public void hideNotify() {
- System.out.println("loader hide " + ((Displayable)this).isShown());
- this.suspend = true;
- }
-
- public void commandAction(Command var1, Displayable var2) {
- if (var1 == BlazingBoards.allCommand[7]) {
- this.res = 2;
- } else if (var1 == BlazingBoards.allCommand[3]) {
- this.res = 1;
- }
-
- }
-
- public void paint(Graphics var1) {
- if (this.index > 9) {
- var1.setColor(16777215);
- var1.fillRect(0, 0, 101, 80);
- var1.drawImage(this.Intro, 51, 40, 3);
- } else {
- var1.setColor(16777215);
- var1.fillRect(0, 0, 101, 80);
- var1.setFont(this.font);
- if (this.Splash != null) {
- var1.drawImage(this.Splash, 51, 3, 17);
- }
-
- var1.setColor(0);
- var1.drawString("Loading ...", 51, 39, 17);
- var1.drawRect(0, 59, 100, 20);
- int var8 = 99 * this.index / 9;
- if (var8 <= 0) {
- var8 = 1;
- }
-
- String var9 = 99 * this.index / 9 + " %";
- int var10 = (101 - this.font.stringWidth(var9)) / 2 + 3;
- var1.setGrayScale(0);
- var1.fillRect(1, 60, var8, 19);
- var1.setGrayScale(0);
-
- for(int var11 = 0; var11 < 2; ++var11) {
- var1.drawString(var9, var10, 61, 20);
- if (var11 == 0) {
- var1.setGrayScale(255);
- var1.setClip(1, 60, var8, 18);
- }
- }
- }
-
- }
- }
-