... and roll back a bit more to old status view, smaller text again
[zxing.git] / android / src / com / google / zxing / client / android / CaptureActivity.java
index 50f36f3..13323d3 100755 (executable)
@@ -16,6 +16,7 @@
 
 package com.google.zxing.client.android;
 
+import android.util.TypedValue;
 import com.google.zxing.BarcodeFormat;
 import com.google.zxing.Result;
 import com.google.zxing.ResultPoint;
@@ -50,7 +51,6 @@ import android.os.Vibrator;
 import android.preference.PreferenceManager;
 import android.text.ClipboardManager;
 import android.util.Log;
-import android.view.Gravity;
 import android.view.KeyEvent;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -135,7 +135,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal
   private CaptureActivityHandler handler;
 
   private ViewfinderView viewfinderView;
-  private View statusView;
+  private TextView statusView;
   private View resultView;
   private MediaPlayer mediaPlayer;
   private Result lastResult;
@@ -181,7 +181,7 @@ 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);
+    statusView = (TextView) findViewById(R.id.status_view);
     handler = null;
     lastResult = null;
     hasSurface = false;
@@ -394,7 +394,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();
@@ -521,6 +521,9 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal
     TextView contentsTextView = (TextView) findViewById(R.id.contents_text_view);
     CharSequence displayContents = resultHandler.getDisplayContents();
     contentsTextView.setText(displayContents);
+    // Crudely scale betweeen 22 and 36 -- bigger font for shorter text
+    int scaledSize = Math.max(22, 36 - displayContents.length() / 4);
+    contentsTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, scaledSize);
 
     int buttonCount = resultHandler.getButtonCount();
     ViewGroup buttonView = (ViewGroup) findViewById(R.id.result_button_view);
@@ -550,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));
+    statusView.setText(getString(resultHandler.getDisplayTitle()));
 
     if (copyToClipboard) {
       ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
@@ -689,14 +687,9 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal
 
   private void resetStatusView() {
     resultView.setVisibility(View.GONE);
+    statusView.setText(R.string.msg_default_status);
     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;
   }