Small style stuff
[zxing.git] / android / src / com / google / zxing / client / android / result / URIResultHandler.java
index cd4e11e..1f14425 100644 (file)
@@ -28,10 +28,12 @@ import android.app.Activity;
  * @author dswitkin@google.com (Daniel Switkin)
  */
 public final class URIResultHandler extends ResultHandler {
+
   private static final int[] buttons = {
       R.string.button_open_browser,
       R.string.button_share_by_email,
-      R.string.button_share_by_sms
+      R.string.button_share_by_sms,
+      R.string.button_search_book_contents,
   };
 
   public URIResultHandler(Activity activity, ParsedResult result) {
@@ -40,7 +42,7 @@ public final class URIResultHandler extends ResultHandler {
 
   @Override
   public int getButtonCount() {
-    return buttons.length;
+    return isGoogleBooksURI() ? buttons.length : buttons.length - 1;
   }
 
   @Override
@@ -50,16 +52,20 @@ public final class URIResultHandler extends ResultHandler {
 
   @Override
   public void handleButtonPress(int index) {
-    URIParsedResult uriResult = (URIParsedResult) result;
+    URIParsedResult uriResult = (URIParsedResult) getResult();
+    String uri = uriResult.getURI();
     switch (index) {
       case 0:
-        openURL(uriResult.getURI());
+        openURL(uri);
         break;
       case 1:
-        shareByEmail(uriResult.getURI());
+        shareByEmail(uri);
         break;
       case 2:
-        shareBySMS(uriResult.getURI());
+        shareBySMS(uri);
+        break;
+      case 3:
+        searchBookContents(uri);
         break;
     }
   }
@@ -68,4 +74,9 @@ public final class URIResultHandler extends ResultHandler {
   public int getDisplayTitle() {
     return R.string.result_uri;
   }
+
+  private boolean isGoogleBooksURI() {
+    return ((URIParsedResult) getResult()).getURI().startsWith("http://google.com/books?id=");
+  }
+
 }