home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / JTask / JTask.jar / JTask.class (.txt)
Encoding:
Java Class File  |  2002-01-06  |  5.9 KB  |  226 lines

  1. import java.io.ByteArrayInputStream;
  2. import java.io.ByteArrayOutputStream;
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import javax.microedition.lcdui.Alert;
  6. import javax.microedition.lcdui.AlertType;
  7. import javax.microedition.lcdui.Command;
  8. import javax.microedition.lcdui.CommandListener;
  9. import javax.microedition.lcdui.Display;
  10. import javax.microedition.lcdui.Displayable;
  11. import javax.microedition.lcdui.Form;
  12. import javax.microedition.lcdui.Image;
  13. import javax.microedition.lcdui.List;
  14. import javax.microedition.lcdui.Screen;
  15. import javax.microedition.lcdui.StringItem;
  16. import javax.microedition.lcdui.TextField;
  17. import javax.microedition.midlet.MIDlet;
  18. import javax.microedition.midlet.MIDletStateChangeException;
  19. import javax.microedition.rms.RecordComparator;
  20. import javax.microedition.rms.RecordEnumeration;
  21. import javax.microedition.rms.RecordFilter;
  22. import javax.microedition.rms.RecordStore;
  23.  
  24. public class JTask extends MIDlet implements CommandListener {
  25.    private Display display = Display.getDisplay(this);
  26.    private Command cmdEXIT = new Command("Exit", 7, 1);
  27.    private Command cmdADD = new Command("Add", 1, 1);
  28.    private Command cmdDEL = new Command("Del", 1, 1);
  29.    private Command cmdABT = new Command("About", 1, 1);
  30.    private Command cmdOK = new Command("OK", 4, 1);
  31.    private Command cmdBACK = new Command("Back", 2, 1);
  32.    private Form mainScr = null;
  33.    private TextField taskEntry;
  34.    private Form taskForm;
  35.    private Displayable prev;
  36.    private List taskList = null;
  37.    private int[] recID;
  38.    private int maxEntry;
  39.    private String taskString;
  40.    // $FF: renamed from: rs javax.microedition.rms.RecordStore
  41.    private RecordStore field_0;
  42.  
  43.    public JTask() {
  44.       try {
  45.          this.field_0 = RecordStore.openRecordStore("JTaskList", true);
  46.       } catch (Exception var2) {
  47.          this.field_0 = null;
  48.       }
  49.  
  50.    }
  51.  
  52.    protected void startApp() throws MIDletStateChangeException {
  53.       if (this.field_0 != null) {
  54.          this.genScr();
  55.       }
  56.  
  57.    }
  58.  
  59.    protected void pauseApp() {
  60.    }
  61.  
  62.    protected void destroyApp(boolean var1) {
  63.    }
  64.  
  65.    public void commandAction(Command var1, Displayable var2) {
  66.       if (var1 == this.cmdEXIT) {
  67.          this.exitMIDlet();
  68.       } else if (var1 == this.cmdADD) {
  69.          this.getTask();
  70.       } else if (var1 == this.cmdOK && var2 == this.taskForm) {
  71.          if (this.taskEntry.size() > 0) {
  72.             this.addTask();
  73.          }
  74.       } else if (var1 == this.cmdBACK && var2 == this.taskForm) {
  75.          this.display.setCurrent(this.prev);
  76.       } else if (var1 == this.cmdDEL && var2 == this.taskList) {
  77.          this.delTask();
  78.       } else if (var1 == this.cmdABT && var2 == this.taskList) {
  79.          this.showAbout();
  80.       }
  81.  
  82.    }
  83.  
  84.    protected Screen genMainScr() {
  85.       this.mainScr = new Form("JTask");
  86.       this.mainScr.addCommand(this.cmdEXIT);
  87.       this.mainScr.addCommand(this.cmdADD);
  88.       this.mainScr.setCommandListener(this);
  89.       StringItem var1 = new StringItem("", "Empty Task List");
  90.       this.mainScr.append(var1);
  91.       return this.mainScr;
  92.    }
  93.  
  94.    protected Screen genListScr() {
  95.       int var1 = 0;
  96.  
  97.       try {
  98.          this.maxEntry = this.field_0.getNumRecords();
  99.          this.recID = new int[this.maxEntry + 20];
  100.          RecordEnumeration var2 = this.field_0.enumerateRecords((RecordFilter)null, (RecordComparator)null, true);
  101.          this.taskList = new List("JTasks", 2);
  102.  
  103.          while(var2.hasNextElement()) {
  104.             byte[] var3 = var2.nextRecord();
  105.             this.taskString = this.fromBytes(var3);
  106.             this.taskList.append(this.taskString, (Image)null);
  107.          }
  108.  
  109.          this.taskList.addCommand(this.cmdEXIT);
  110.          this.taskList.addCommand(this.cmdADD);
  111.          this.taskList.addCommand(this.cmdDEL);
  112.          this.taskList.addCommand(this.cmdABT);
  113.          this.taskList.setCommandListener(this);
  114.  
  115.          for(var2 = this.field_0.enumerateRecords((RecordFilter)null, (RecordComparator)null, true); var2.hasNextElement(); this.recID[var1++] = var2.nextRecordId()) {
  116.          }
  117.  
  118.          var2.destroy();
  119.       } catch (Exception var4) {
  120.       }
  121.  
  122.       return this.taskList;
  123.    }
  124.  
  125.    protected Screen genScr() {
  126.       Screen var1 = null;
  127.  
  128.       try {
  129.          if (this.field_0.getNumRecords() == 0) {
  130.             var1 = this.genMainScr();
  131.          } else {
  132.             var1 = this.genListScr();
  133.          }
  134.       } catch (Exception var3) {
  135.       }
  136.  
  137.       this.display.setCurrent(var1);
  138.       return var1;
  139.    }
  140.  
  141.    protected void exitMIDlet() {
  142.       try {
  143.          this.field_0.closeRecordStore();
  144.       } catch (Exception var2) {
  145.       }
  146.  
  147.       this.destroyApp(true);
  148.       ((MIDlet)this).notifyDestroyed();
  149.    }
  150.  
  151.    protected void getTask() {
  152.       this.taskForm = new Form("Enter Task");
  153.       this.taskEntry = new TextField("New Task", "", 30, 0);
  154.       this.taskForm.append(this.taskEntry);
  155.       this.taskForm.addCommand(this.cmdOK);
  156.       this.taskForm.addCommand(this.cmdBACK);
  157.       this.taskForm.setCommandListener(this);
  158.       this.prev = this.display.getCurrent();
  159.       this.display.setCurrent(this.taskForm);
  160.    }
  161.  
  162.    protected void addTask() {
  163.       try {
  164.          String var1 = this.taskEntry.getString();
  165.          byte[] var2 = this.toBytes(var1);
  166.          this.field_0.addRecord(var2, 0, var2.length);
  167.       } catch (Exception var3) {
  168.       }
  169.  
  170.       this.genScr();
  171.    }
  172.  
  173.    protected void delTask() {
  174.       boolean[] var1 = new boolean[this.maxEntry];
  175.       this.taskList.getSelectedFlags(var1);
  176.  
  177.       for(int var2 = 0; var2 < this.maxEntry; ++var2) {
  178.          if (var1[var2]) {
  179.             try {
  180.                this.field_0.deleteRecord(this.recID[var2]);
  181.             } catch (Exception var4) {
  182.             }
  183.          }
  184.       }
  185.  
  186.       this.genScr();
  187.    }
  188.  
  189.    protected void showAbout() {
  190.       Alert var1 = new Alert("About");
  191.       var1.setString("   JTask v. 1.0a\n   ===========\nManage a simple list of tasks.\n\nAuthor:\nRommel P. Feria\nrpf@desknow.com\n\nGawang Pinoy! Mabuhay!\nCopyright(c)2002.");
  192.       var1.setTimeout(-2);
  193.       var1.setType(AlertType.INFO);
  194.       this.display.setCurrent(var1, this.taskList);
  195.    }
  196.  
  197.    protected String fromBytes(byte[] var1) {
  198.       String var2 = null;
  199.  
  200.       try {
  201.          DataInputStream var3 = new DataInputStream(new ByteArrayInputStream(var1));
  202.          var2 = var3.readUTF();
  203.          var3.close();
  204.       } catch (Exception var4) {
  205.       }
  206.  
  207.       return var2;
  208.    }
  209.  
  210.    protected byte[] toBytes(String var1) {
  211.       byte[] var2 = null;
  212.  
  213.       try {
  214.          ByteArrayOutputStream var3 = new ByteArrayOutputStream();
  215.          DataOutputStream var4 = new DataOutputStream(var3);
  216.          var4.writeUTF(var1);
  217.          var2 = var3.toByteArray();
  218.          var3.close();
  219.          var4.close();
  220.       } catch (Exception var5) {
  221.       }
  222.  
  223.       return var2;
  224.    }
  225. }
  226.