From 037a09d9c9dee9e16c8ed21270469570d23efa37 Mon Sep 17 00:00:00 2001 From: srowen Date: Tue, 22 Jan 2008 18:59:47 +0000 Subject: [PATCH] Slightly friendlier, more generic error message when no barcode is found git-svn-id: http://zxing.googlecode.com/svn/trunk@149 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- javame/src/com/google/zxing/client/j2me/SnapshotThread.java | 4 ++++ javame/src/com/google/zxing/client/j2me/ZXingMIDlet.java | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/javame/src/com/google/zxing/client/j2me/SnapshotThread.java b/javame/src/com/google/zxing/client/j2me/SnapshotThread.java index 57668b6c..a4aa526b 100644 --- a/javame/src/com/google/zxing/client/j2me/SnapshotThread.java +++ b/javame/src/com/google/zxing/client/j2me/SnapshotThread.java @@ -19,6 +19,7 @@ package com.google.zxing.client.j2me; import com.google.zxing.MonochromeBitmapSource; import com.google.zxing.MultiFormatReader; import com.google.zxing.Reader; +import com.google.zxing.ReaderException; import com.google.zxing.Result; import javax.microedition.lcdui.Image; @@ -56,6 +57,9 @@ final class SnapshotThread extends Thread { Reader reader = new MultiFormatReader(); Result result = reader.decode(source); zXingMIDlet.handleDecodedText(result.getText()); + } catch (ReaderException re) { + // Show a friendlier message on a mere failure to read the barcode + zXingMIDlet.showError("No barcode was detected in this image. Try again."); } catch (Throwable t) { zXingMIDlet.showError(t); } finally { diff --git a/javame/src/com/google/zxing/client/j2me/ZXingMIDlet.java b/javame/src/com/google/zxing/client/j2me/ZXingMIDlet.java index b840cfce..a3bfc24f 100644 --- a/javame/src/com/google/zxing/client/j2me/ZXingMIDlet.java +++ b/javame/src/com/google/zxing/client/j2me/ZXingMIDlet.java @@ -143,9 +143,13 @@ public final class ZXingMIDlet extends MIDlet { } void showError(Throwable t) { - showAlert(new Alert("Error", t.getMessage(), null, AlertType.ERROR)); + showError(t.getMessage()); } + void showError(String message) { + showAlert(new Alert("Error", message, null, AlertType.ERROR)); + } + private void showAlert(Alert alert) { Display display = Display.getDisplay(this); display.setCurrent(alert, canvas); -- 2.20.1