X-Git-Url: http://git.rot13.org/?p=zxing.git;a=blobdiff_plain;f=android%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fandroid%2FCaptureActivity.java;h=2154a8871aa131b5b1c4343b4946c2261ea32474;hp=6b583240b2d025c00899dd2e8f2f9bd329804a23;hb=fa9bfee1b50468fdced440e323c6ffe7cb53b12e;hpb=0a8f5e5990a6ea879582eb1ba42ec696ed6f2047 diff --git a/android/src/com/google/zxing/client/android/CaptureActivity.java b/android/src/com/google/zxing/client/android/CaptureActivity.java index 6b583240..2154a887 100755 --- a/android/src/com/google/zxing/client/android/CaptureActivity.java +++ b/android/src/com/google/zxing/client/android/CaptureActivity.java @@ -16,6 +16,8 @@ package com.google.zxing.client.android; +import android.util.TypedValue; +import android.widget.Toast; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; import com.google.zxing.ResultPoint; @@ -49,10 +51,7 @@ import android.os.Message; import android.os.Vibrator; import android.preference.PreferenceManager; import android.text.ClipboardManager; -import android.text.SpannableStringBuilder; -import android.text.style.UnderlineSpan; import android.util.Log; -import android.view.Gravity; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; @@ -117,6 +116,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal ONE_D_FORMATS = new Vector(PRODUCT_FORMATS.size() + 3); ONE_D_FORMATS.addAll(PRODUCT_FORMATS); ONE_D_FORMATS.add(BarcodeFormat.CODE_39); + ONE_D_FORMATS.add(BarcodeFormat.CODE_93); ONE_D_FORMATS.add(BarcodeFormat.CODE_128); ONE_D_FORMATS.add(BarcodeFormat.ITF); QR_CODE_FORMATS = new Vector(1); @@ -136,7 +136,6 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal private CaptureActivityHandler handler; private ViewfinderView viewfinderView; - private View statusView; private View resultView; private MediaPlayer mediaPlayer; private Result lastResult; @@ -182,7 +181,6 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal CameraManager.init(getApplication()); viewfinderView = (ViewfinderView) findViewById(R.id.viewfinder_view); resultView = findViewById(R.id.result_view); - statusView = findViewById(R.id.status_view); handler = null; lastResult = null; hasSurface = false; @@ -190,6 +188,8 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal historyManager.trimHistory(); showHelpOnFirstLaunch(); + + Toast.makeText(this, R.string.msg_default_status, Toast.LENGTH_LONG).show(); } @Override @@ -395,7 +395,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(getString(R.string.title_about) + versionName); builder.setMessage(getString(R.string.msg_about) + "\n\n" + getString(R.string.zxing_url)); - builder.setIcon(R.drawable.zxing_icon); + builder.setIcon(R.drawable.launcher_icon); builder.setPositiveButton(R.string.button_open_browser, aboutListener); builder.setNegativeButton(R.string.button_cancel, null); builder.show(); @@ -492,13 +492,12 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal // Put up our own UI for how to handle the decoded contents. private void handleDecodeInternally(Result rawResult, Bitmap barcode) { - statusView.setVisibility(View.GONE); viewfinderView.setVisibility(View.GONE); resultView.setVisibility(View.VISIBLE); ImageView barcodeImageView = (ImageView) findViewById(R.id.barcode_image_view); if (barcode == null) { - barcodeImageView.setImageResource(R.drawable.zxing_icon); + barcodeImageView.setImageResource(R.drawable.launcher_icon_large); } else { barcodeImageView.setImageBitmap(barcode); } @@ -506,28 +505,25 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal TextView formatTextView = (TextView) findViewById(R.id.format_text_view); formatTextView.setVisibility(View.VISIBLE); - formatTextView.setText(getString(R.string.msg_default_format) + ": " + - rawResult.getBarcodeFormat().toString()); + formatTextView.setText(rawResult.getBarcodeFormat().toString()); ResultHandler resultHandler = ResultHandlerFactory.makeResultHandler(this, rawResult); TextView typeTextView = (TextView) findViewById(R.id.type_text_view); typeTextView.setVisibility(View.VISIBLE); - typeTextView.setText(getString(R.string.msg_default_type) + ": " + - resultHandler.getType().toString()); + typeTextView.setText(resultHandler.getType().toString()); DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); String formattedTime = formatter.format(new Date(rawResult.getTimestamp())); TextView timeTextView = (TextView) findViewById(R.id.time_text_view); timeTextView.setVisibility(View.VISIBLE); - timeTextView.setText(getString(R.string.msg_default_time) + ": " + formattedTime); + timeTextView.setText(formattedTime); TextView contentsTextView = (TextView) findViewById(R.id.contents_text_view); - CharSequence title = getString(resultHandler.getDisplayTitle()); - SpannableStringBuilder styled = new SpannableStringBuilder(title + "\n\n"); - styled.setSpan(new UnderlineSpan(), 0, title.length(), 0); CharSequence displayContents = resultHandler.getDisplayContents(); - styled.append(displayContents); - contentsTextView.setText(styled); + contentsTextView.setText(displayContents); + // Crudely scale betweeen 22 and 48 -- bigger font for shorter text + int scaledSize = Math.max(22, 48 - displayContents.length() / 4); + contentsTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, scaledSize); int buttonCount = resultHandler.getButtonCount(); ViewGroup buttonView = (ViewGroup) findViewById(R.id.result_button_view); @@ -557,12 +553,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal // barcode was found (e.g. contact info) rather than the full contents, which they won't // have time to read. ResultHandler resultHandler = ResultHandlerFactory.makeResultHandler(this, rawResult); - TextView textView = (TextView) findViewById(R.id.status_text_view); - textView.setGravity(Gravity.CENTER); - textView.setTextSize(18.0f); - textView.setText(getString(resultHandler.getDisplayTitle())); - - statusView.setBackgroundColor(getResources().getColor(R.color.transparent)); + Toast.makeText(this, resultHandler.getDisplayTitle(), Toast.LENGTH_SHORT).show(); if (copyToClipboard) { ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); @@ -672,7 +663,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal } catch (RuntimeException e) { // Barcode Scanner has seen crashes in the wild of this variety: // java.?lang.?RuntimeException: Fail to connect to camera service - Log.e(TAG, e.toString()); + Log.w(TAG, "Unexpected error initializating camera", e); displayFrameworkBugMessageAndExit(); return; } @@ -696,14 +687,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal private void resetStatusView() { resultView.setVisibility(View.GONE); - statusView.setVisibility(View.VISIBLE); - statusView.setBackgroundColor(getResources().getColor(R.color.status_view)); viewfinderView.setVisibility(View.VISIBLE); - - TextView textView = (TextView) findViewById(R.id.status_text_view); - textView.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL); - textView.setTextSize(14.0f); - textView.setText(R.string.msg_default_status); lastResult = null; }