Refactorings to allow raw bytes to be passed back with reader result, where applicable
[zxing.git] / javame / src / com / google / zxing / client / j2me / ZXingMIDlet.java
index 2f86245..fffe2ab 100644 (file)
@@ -16,6 +16,7 @@
 
 package com.google.zxing.client.j2me;
 
+import com.google.zxing.Result;
 import com.google.zxing.client.result.BookmarkDoCoMoResult;
 import com.google.zxing.client.result.EmailAddressResult;
 import com.google.zxing.client.result.EmailDoCoMoResult;
@@ -23,6 +24,7 @@ import com.google.zxing.client.result.ParsedReaderResult;
 import com.google.zxing.client.result.ParsedReaderResultType;
 import com.google.zxing.client.result.UPCParsedResult;
 import com.google.zxing.client.result.URIParsedResult;
+import com.google.zxing.client.result.URLTOResult;
 
 import javax.microedition.io.ConnectionNotFoundException;
 import javax.microedition.lcdui.Alert;
@@ -51,6 +53,10 @@ public final class ZXingMIDlet extends MIDlet {
   private Player player;
   private VideoControl videoControl;
 
+  Canvas getCanvas() {
+    return canvas;
+  }
+
   Player getPlayer() {
     return player;
   }
@@ -151,7 +157,7 @@ public final class ZXingMIDlet extends MIDlet {
           }
         } else {
           // cancel
-          Display.getDisplay(ZXingMIDlet.this).setCurrent(canvas);
+          Display.getDisplay(ZXingMIDlet.this).setCurrent(getCanvas());
         }
       }
     };
@@ -183,14 +189,17 @@ public final class ZXingMIDlet extends MIDlet {
     display.setCurrent(alert, canvas);
   }
 
-  void handleDecodedText(String text) {
-    ParsedReaderResult result = ParsedReaderResult.parseReaderResult(text);
+  void handleDecodedText(Result theResult) {
+    ParsedReaderResult result = ParsedReaderResult.parseReaderResult(theResult);
     ParsedReaderResultType type = result.getType();
     if (type.equals(ParsedReaderResultType.URI)) {
       String uri = ((URIParsedResult) result).getURI();
       showOpenURL("Open Web Page?", uri, uri);
     } else if (type.equals(ParsedReaderResultType.BOOKMARK)) {
       String uri = ((BookmarkDoCoMoResult) result).getURI();
+      showOpenURL("Open Web Page?", uri, uri);      
+    } else if (type.equals(ParsedReaderResultType.URLTO)) {
+      String uri = ((URLTOResult) result).getURI();
       showOpenURL("Open Web Page?", uri, uri);
     } else if (type.equals(ParsedReaderResultType.EMAIL)) {
       String email = ((EmailDoCoMoResult) result).getTo();