Add timestamp to result screen
authorsrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Fri, 26 Mar 2010 22:40:09 +0000 (22:40 +0000)
committersrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Fri, 26 Mar 2010 22:40:09 +0000 (22:40 +0000)
git-svn-id: http://zxing.googlecode.com/svn/trunk@1261 59b500cc-1b3d-0410-9834-0bbf25fbcc57

18 files changed:
android/res/layout-ldpi/capture.xml
android/res/layout/capture.xml
android/res/values-cs/strings.xml
android/res/values-de/strings.xml
android/res/values-es/strings.xml
android/res/values-fi/strings.xml
android/res/values-fr/strings.xml
android/res/values-it/strings.xml
android/res/values-ja-rJP/strings.xml
android/res/values-nl/strings.xml
android/res/values-ru/strings.xml
android/res/values-sv/strings.xml
android/res/values-zh-rCN/strings.xml
android/res/values-zh-rTW/strings.xml
android/res/values/strings.xml
android/src/com/google/zxing/client/android/CaptureActivity.java
android/src/com/google/zxing/client/android/history/HistoryManager.java
core/src/com/google/zxing/Result.java

index affc4ef..af16571 100755 (executable)
                   android:textColor="@color/result_minor_text"
                   android:textSize="14sp"/>
 
+        <TextView android:id="@+id/time_text_view"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:layout_gravity="left"
+                  android:text="@string/msg_default_time"
+                  android:textColor="@color/result_minor_text"
+                  android:textSize="14sp"/>
+
       </LinearLayout>
 
       <ScrollView
index 866a0c4..42e8a13 100755 (executable)
                   android:textColor="@color/result_minor_text"
                   android:textSize="12sp"/>
 
+        <TextView android:id="@+id/time_text_view"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:layout_gravity="left"
+                  android:text="@string/msg_default_time"
+                  android:textColor="@color/result_minor_text"
+                  android:textSize="12sp"/>
+
       </LinearLayout>
 
       <ScrollView
index e73a771..9fd80a1 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Ahoj</string>\r
   <string name="msg_default_status">Strefte se čtverečkem na čárový kód</string>\r
   <string name="msg_default_type">Typ</string>\r
+  <string name="msg_default_time">Čas</string>  \r
   <string name="msg_encode_barcode_failed">Nepodařilo se vytvořit požadovaný čárový kód.</string>\r
   <string name="msg_encode_contents_failed">Nepodařilo se rozkódovat čárový kód z poskytnutých údajů.</string>\r
   <string name="msg_encode_in_progress">Generování kódu\u2026</string>\r
index 3555c54..21e217f 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Hi</string>\r
   <string name="msg_default_status">Positionieren Sie den Barcode innerhalb des Rechteckes.</string>\r
   <string name="msg_default_type">Typ</string>\r
+  <string name="msg_default_time">Zeit</string>  \r
   <string name="msg_encode_barcode_failed">Der gewünschte Barcode kann nicht erzeugt werden.</string>\r
   <string name="msg_encode_contents_failed">Aus den Daten kann kein Barcode erzeugt werden.</string>\r
   <string name="msg_encode_in_progress">Erzeuge Barcode\u2026</string>\r
index d1ab05f..2af8684 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Hola</string>
   <string name="msg_default_status">Coloque un código de barras en el interior del rectángulo de el visor para escanear.</string>
   <string name="msg_default_type">Tipo</string>
+  <string name="msg_default_time">Tiempo</string>  
   <string name="msg_encode_barcode_failed">No se pudo generar el código de barras solicitado.</string>
   <string name="msg_encode_contents_failed">No puede codificar un código de barras con estos datos.</string>
   <string name="msg_encode_in_progress">Generando un código de barras\u2026</string>
index 57cbba1..7921e5c 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Hei</string>
   <string name="msg_default_status">Aseta viivakoodi neliön sisälle.</string>
   <string name="msg_default_type">Tyypi</string>
+  <string name="msg_default_time">Aika</string>  
   <string name="msg_encode_barcode_failed">Ei voinut generoida pyydettyä viivakoodia.</string>
   <string name="msg_encode_contents_failed">Ei voinut purkaa viivakoodin sisältöä.</string>
   <string name="msg_encode_in_progress">Generoidaan viivakoodia\u2026</string>
index a3e38b9..3a4d55c 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Salut</string>
   <string name="msg_default_status">Mettre un code barre à l\'intérieur du rectangle pour le scanner.</string>
   <string name="msg_default_type">Type</string>
+  <string name="msg_default_time">Temps</string>  
   <string name="msg_encode_barcode_failed">Impossible de générer le code barre demandé.</string>
   <string name="msg_encode_contents_failed">Impossible de créer le code barre à partir des données fournies.</string>
   <string name="msg_encode_in_progress">Génération du code barre\u2026</string>
index aea9e61..30da38e 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Ciao</string>
   <string name="msg_default_status">Posiziona un codice a barre dentro il mirino rettangolare per la scansione.</string>
   <string name="msg_default_type">Tipo</string>
+  <string name="msg_default_time">Tempo</string>
   <string name="msg_encode_barcode_failed">Impossibile generare il codice a barre richiesto.</string>
   <string name="msg_encode_contents_failed">Impossibile codificare un codice a barre dai dati forniti.</string>
   <string name="msg_encode_in_progress">Generazione codice a barre\u2026</string>
index 7266e28..7e09ee9 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">こんにちは!</string>
   <string name="msg_default_status">バーコードをカメラ画面の読み取り範囲内に写してスキャンしてください。</string>
   <string name="msg_default_type">タイプ</string>
+  <string name="msg_default_time">時間</string>
   <string name="msg_encode_barcode_failed">バーコードを作成できませんでした。</string>
   <string name="msg_encode_contents_failed">このデータからバーコードを作成できませんでした。</string>
   <string name="msg_encode_in_progress">バーコード作成中\u2026</string>
index cac7791..de6ba7e 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Hallo</string>\r
   <string name="msg_default_status">Plaats een barcode binnen de rechthoek om hem te scannen.</string>\r
   <string name="msg_default_type">Type</string>\r
+  <string name="msg_default_time">Tijd</string>\r
   <string name="msg_encode_barcode_failed">Kan de gevraagde barcode niet genereren.</string>\r
   <string name="msg_encode_contents_failed">Kan geen barcode van de gegeven data maken.</string>\r
   <string name="msg_encode_in_progress">Barcode aan het genereren\u2026</string>\r
index 20f4204..474429f 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Привет</string>
   <string name="msg_default_status">Чтобы сканировать штрих-код, поместите его в прямоугольник видоискателя.</string>
   <string name="msg_default_type">Тип</string>
+  <string name="msg_default_time">Время</string>
   <string name="msg_encode_barcode_failed">Не получилось сгенерировать запрошенный штрих-код.</string>
   <string name="msg_encode_contents_failed">Не могу закодировать штрих-код от источник данных.</string>
   <string name="msg_encode_in_progress">Генерация штрих-кода\u2026</string>
index 98c5eb6..109160e 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Hej</string>
   <string name="msg_default_status">Placera steckkoden inom sökarens rektangel för att läsa den.</string>
   <string name="msg_default_type">Typ</string>
+  <string name="msg_default_time">Tid</string>
   <string name="msg_encode_barcode_failed">Misslyckades med att skapa den önskade streckkoden.</string>
   <string name="msg_encode_contents_failed">Kunde inte skape en streckkod från de givna uppgifterna.</string>
   <string name="msg_encode_in_progress">Genererar en streckkod\u2026</string>
index 07832b8..0ddf4aa 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Hi</string>\r
   <string name="msg_default_status">将条码放置于镜头范围内进行扫描。  </string>\r
   <string name="msg_default_type">类型</string>\r
+  <string name="msg_default_time">时间</string>\r
   <string name="msg_encode_barcode_failed">找不到条码。</string>\r
   <string name="msg_encode_contents_failed">不能从已有数据中读取条码。   </string>\r
   <string name="msg_encode_in_progress">正在生成条码\u2026</string>\r
index e6588c1..94fe9dc 100644 (file)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Hi</string>\r
   <string name="msg_default_status">將條碼放置于鏡頭范圍內進行掃描。  </string>\r
   <string name="msg_default_type">類型</string>\r
+  <string name="msg_default_time">時間</string>\r
   <string name="msg_encode_barcode_failed">找不到條碼。</string>\r
   <string name="msg_encode_contents_failed">不能從已有數據中讀取條碼。   </string>\r
   <string name="msg_encode_in_progress">正在生成條碼\u2026</string>\r
index d628357..156b69a 100755 (executable)
@@ -64,6 +64,7 @@
   <string name="msg_default_mms_subject">Hi</string>
   <string name="msg_default_status">Place a barcode inside the viewfinder rectangle to scan it.</string>
   <string name="msg_default_type">Type</string>
+  <string name="msg_default_time">Time</string>  
   <string name="msg_encode_barcode_failed">Could not generate the requested barcode.</string>
   <string name="msg_encode_contents_failed">Could not encode a barcode from the data provided.</string>
   <string name="msg_encode_in_progress">Generating a barcode\u2026</string>
index 536ff71..91b7ad0 100755 (executable)
@@ -66,6 +66,8 @@ import android.widget.ImageView;
 import android.widget.TextView;
 
 import java.io.IOException;
+import java.text.DateFormat;
+import java.util.Date;
 import java.util.Vector;
 import java.util.regex.Pattern;
 
@@ -474,9 +476,16 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal
 
     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());
 
+    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);
+
     TextView contentsTextView = (TextView) findViewById(R.id.contents_text_view);
     CharSequence title = getString(resultHandler.getDisplayTitle());
     SpannableStringBuilder styled = new SpannableStringBuilder(title + "\n\n");
index e8c448a..e544bf7 100644 (file)
@@ -47,7 +47,11 @@ public final class HistoryManager {
 
   private static final int MAX_ITEMS = 50;
   private static final String[] TEXT_COL_PROJECTION = { DBHelper.TEXT_COL };
-  private static final String[] TEXT_FORMAT_COL_PROJECTION = { DBHelper.TEXT_COL, DBHelper.FORMAT_COL };
+  private static final String[] GET_ITEM_COL_PROJECTION = {
+      DBHelper.TEXT_COL,
+      DBHelper.FORMAT_COL,
+      DBHelper.TIMESTAMP_COL,
+  };
   private static final String[] EXPORT_COL_PROJECTION = {
       DBHelper.TEXT_COL,
       DBHelper.DISPLAY_COL,
@@ -70,11 +74,15 @@ public final class HistoryManager {
     Cursor cursor = null;
     try {
       cursor = db.query(DBHelper.TABLE_NAME,
-                        TEXT_FORMAT_COL_PROJECTION,
+                        GET_ITEM_COL_PROJECTION,
                         null, null, null, null,
                         DBHelper.TIMESTAMP_COL + " DESC");
       while (cursor.moveToNext()) {
-        Result result = new Result(cursor.getString(0), null, null, BarcodeFormat.valueOf(cursor.getString(1)));
+        Result result = new Result(cursor.getString(0),
+                                   null,
+                                   null,
+                                   BarcodeFormat.valueOf(cursor.getString(1)),
+                                   cursor.getLong(2));
         items.add(result);
       }
     } finally {
index 056d3d9..ca2edd3 100644 (file)
@@ -30,11 +30,20 @@ public final class Result {
   private final ResultPoint[] resultPoints;
   private final BarcodeFormat format;
   private Hashtable resultMetadata;
+  private final long timestamp;
 
   public Result(String text,
                 byte[] rawBytes,
                 ResultPoint[] resultPoints,
                 BarcodeFormat format) {
+    this(text, rawBytes, resultPoints, format, System.currentTimeMillis());
+  }
+
+  public Result(String text,
+                byte[] rawBytes,
+                ResultPoint[] resultPoints,
+                BarcodeFormat format,
+                long timestamp) {
     if (text == null && rawBytes == null) {
       throw new IllegalArgumentException("Text and bytes are null");
     }
@@ -43,6 +52,7 @@ public final class Result {
     this.resultPoints = resultPoints;
     this.format = format;
     this.resultMetadata = null;
+    this.timestamp = timestamp;
   }
 
   /**
@@ -91,12 +101,16 @@ public final class Result {
     resultMetadata.put(type, value);
   }
 
+  public long getTimestamp() {
+    return timestamp;
+  }
+
   public String toString() {
     if (text == null) {
       return "[" + rawBytes.length + " bytes]";
     } else {
       return text;
-  }
+    }
   }
 
 }