Fix corner case - pure barcode, 1 pixel module
[zxing.git] / android / src / com / google / zxing / client / android / encode / EncodeActivity.java
index 4e90134..13fbe6f 100755 (executable)
@@ -18,6 +18,7 @@ package com.google.zxing.client.android.encode;
 
 import com.google.zxing.BarcodeFormat;
 import com.google.zxing.WriterException;
+import com.google.zxing.client.android.FinishListener;
 import com.google.zxing.client.android.Intents;
 import com.google.zxing.client.android.R;
 
@@ -83,7 +84,7 @@ public final class EncodeActivity extends Activity {
           setTitle(getString(R.string.app_name) + " - " + qrCodeEncoder.getTitle());
           qrCodeEncoder.requestBarcode(handler, smallerDimension);
           progressDialog = ProgressDialog.show(EncodeActivity.this, null,
-              getString(R.string.msg_encode_in_progress), true, true, cancelListener);
+              getString(R.string.msg_encode_in_progress), true, true, new FinishListener(EncodeActivity.this));
         } catch (IllegalArgumentException e) {
           showErrorMessage(R.string.msg_encode_contents_failed);
         }
@@ -114,18 +115,6 @@ public final class EncodeActivity extends Activity {
     }
   };
 
-  private final OnClickListener clickListener = new OnClickListener() {
-    public void onClick(DialogInterface dialog, int which) {
-      finish();
-    }
-  };
-
-  private final OnCancelListener cancelListener = new OnCancelListener() {
-    public void onCancel(DialogInterface dialog) {
-      finish();
-    }
-  };
-
   @Override
   public void onCreate(Bundle icicle) {
     super.onCreate(icicle);
@@ -161,14 +150,14 @@ public final class EncodeActivity extends Activity {
       bitmap = QRCodeEncoder.encodeAsBitmap(contents, BarcodeFormat.QR_CODE,
           SHARE_BARCODE_DIMENSION, SHARE_BARCODE_DIMENSION);
     } catch (WriterException we) {
-      Log.w(TAG, we.toString());
+      Log.w(TAG, we);
       return true;
     }
 
     File bsRoot = new File(Environment.getExternalStorageDirectory(), "BarcodeScanner");
     File barcodesRoot = new File(bsRoot, "Barcodes");
     if (!barcodesRoot.exists() && !barcodesRoot.mkdirs()) {
-      Log.v(TAG, "Couldn't make dir " + barcodesRoot);
+      Log.w(TAG, "Couldn't make dir " + barcodesRoot);
       showErrorMessage(R.string.msg_unmount_usb);
       return true;
     }
@@ -179,7 +168,7 @@ public final class EncodeActivity extends Activity {
       fos = new FileOutputStream(barcodeFile);
       bitmap.compress(Bitmap.CompressFormat.PNG, 0, fos);
     } catch (FileNotFoundException fnfe) {
-      Log.v(TAG, "Couldn't access file " + barcodeFile + " due to " + fnfe);
+      Log.w(TAG, "Couldn't access file " + barcodeFile + " due to " + fnfe);
       showErrorMessage(R.string.msg_unmount_usb);
       return true;
     } finally {
@@ -233,7 +222,8 @@ public final class EncodeActivity extends Activity {
     }
     AlertDialog.Builder builder = new AlertDialog.Builder(this);
     builder.setMessage(message);
-    builder.setPositiveButton(R.string.button_ok, clickListener);
+    builder.setPositiveButton(R.string.button_ok, new FinishListener(this));
+    builder.setOnCancelListener(new FinishListener(this));
     builder.show();
   }
 }