OSDN Git Service

Fix hardcoded date/time formats in 3D Gallery.
authorEric Fischer <enf@google.com>
Tue, 1 Dec 2009 01:11:41 +0000 (17:11 -0800)
committerEric Fischer <enf@google.com>
Tue, 1 Dec 2009 18:34:26 +0000 (10:34 -0800)
Also fix the ellipsis and dot characters to use \u escapes instead of
whatever 8-bit encoding it was using before that would cause it to
display the "missing glyph" symbol instead of what it wanted.

http://b/issue?id=2290125

src/com/cooliris/media/DetailMode.java
src/com/cooliris/media/MediaSet.java
src/com/cooliris/media/PathBarLayer.java
src/com/cooliris/media/TimeBar.java

index 5bbd4dd..82703ac 100644 (file)
@@ -1,10 +1,11 @@
 package com.cooliris.media;
 
+import java.text.DateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 
 import android.content.Context;
 import android.content.res.Resources;
-import android.text.format.DateFormat;
 
 public final class DetailMode {
     public static CharSequence[] populateDetailModeStrings(Context context, ArrayList<MediaBucket> buckets) {
@@ -64,6 +65,10 @@ public final class DetailMode {
             strings[1] = Integer.toString(numItems) + " " + resources.getString(R.string.items_selected);
         }
 
+        DateFormat dateTimeFormat =
+            DateFormat.getDateTimeInstance(DateFormat.MEDIUM,
+                                           DateFormat.SHORT);
+
         // Start and end times of the selected items.
         if (selectedItemsSet.areTimestampsAvailable()) {
             long minTimestamp = selectedItemsSet.mMinTimestamp;
@@ -72,8 +77,8 @@ public final class DetailMode {
                 minTimestamp -= Gallery.CURRENT_TIME_ZONE.getOffset(minTimestamp);
                 maxTimestamp -= Gallery.CURRENT_TIME_ZONE.getOffset(maxTimestamp);
             }
-            strings[2] = resources.getString(R.string.start) + ": " + DateFormat.format("h:mmaa MMM dd yyyy", minTimestamp);
-            strings[3] = resources.getString(R.string.end) + ": " + DateFormat.format("h:mmaa MMM dd yyyy", maxTimestamp);
+            strings[2] = resources.getString(R.string.start) + ": " + dateTimeFormat.format(new Date(minTimestamp));
+            strings[3] = resources.getString(R.string.end) + ": " + dateTimeFormat.format(new Date(maxTimestamp));
         } else if (selectedItemsSet.areAddedTimestampsAvailable()) {
             long minTimestamp = selectedItemsSet.mMinAddedTimestamp;
             long maxTimestamp = selectedItemsSet.mMaxAddedTimestamp;
@@ -81,8 +86,8 @@ public final class DetailMode {
                 minTimestamp -= Gallery.CURRENT_TIME_ZONE.getOffset(minTimestamp);
                 maxTimestamp -= Gallery.CURRENT_TIME_ZONE.getOffset(maxTimestamp);
             }
-            strings[2] = resources.getString(R.string.start) + ": " + DateFormat.format("h:mmaa MMM dd yyyy", minTimestamp);
-            strings[3] = resources.getString(R.string.end) + ": " + DateFormat.format("h:mmaa MMM dd yyyy", maxTimestamp);            
+            strings[2] = resources.getString(R.string.start) + ": " + dateTimeFormat.format(new Date(minTimestamp));
+            strings[3] = resources.getString(R.string.end) + ": " + dateTimeFormat.format(new Date(maxTimestamp));
         } else {
             strings[2] = resources.getString(R.string.start) + ": " + resources.getString(R.string.date_unknown);
             strings[3] = resources.getString(R.string.end) + ": " + resources.getString(R.string.date_unknown);
@@ -113,20 +118,25 @@ public final class DetailMode {
         CharSequence[] strings = new CharSequence[5];
         strings[0] = resources.getString(R.string.title) + ": " + item.mCaption;
         strings[1] = resources.getString(R.string.type) + ": " + item.getDisplayMimeType();
+
+        DateFormat dateTimeFormat =
+            DateFormat.getDateTimeInstance(DateFormat.MEDIUM,
+                                           DateFormat.SHORT);
+
         if (item.isDateTakenValid()) {
             long dateTaken = item.mDateTakenInMs;
             if (item.isPicassaItem()) {
                 dateTaken -= Gallery.CURRENT_TIME_ZONE.getOffset(dateTaken);
             }
-            strings[2] = resources.getString(R.string.taken_on) + ": " + DateFormat.format("h:mmaa MMM dd yyyy", dateTaken);
+            strings[2] = resources.getString(R.string.taken_on) + ": " + dateTimeFormat.format(new Date(dateTaken));
         } else if (item.isDateAddedValid()) {
             long dateAdded = item.mDateAddedInSec * 1000;
             if (item.isPicassaItem()) {
                 dateAdded -= Gallery.CURRENT_TIME_ZONE.getOffset(dateAdded);
             }
             // TODO: Make this added_on as soon as translations are ready.
-            //strings[2] = resources.getString(R.string.added_on) + ": " + DateFormat.format("h:mmaa MMM dd yyyy", dateAdded);
-            strings[2] = resources.getString(R.string.taken_on) + ": " + DateFormat.format("h:mmaa MMM dd yyyy", dateAdded);
+            //strings[2] = resources.getString(R.string.added_on) + ": " + dateTimeFormat.format(new Date(dateAdded));
+            strings[2] = resources.getString(R.string.taken_on) + ": " + dateTimeFormat.format(new Date(dateAdded));
         } else {
             strings[2] = resources.getString(R.string.taken_on) + ": " + resources.getString(R.string.date_unknown);
         }
@@ -144,4 +154,4 @@ public final class DetailMode {
         strings[4] = resources.getString(R.string.location) + ": " + locationString;
         return strings;
     }
-}
\ No newline at end of file
+}
index a40a8fc..4812ef9 100644 (file)
@@ -131,7 +131,7 @@ public class MediaSet {
         mTitleString = mName + size;
         if (truncateTitle) {
             int length = mName.length();
-            mTruncTitleString = (length > 16) ? mName.substring(0, 12) + "É" + mName.substring(length - 4, length) + size : mName + size;
+            mTruncTitleString = (length > 16) ? mName.substring(0, 12) + "\u2026" + mName.substring(length - 4, length) + size : mName + size;
             mNoCountTitleString = mName;
         } else {
             mTruncTitleString = mTitleString;
index 6a6c4fc..3b2198f 100644 (file)
@@ -97,7 +97,7 @@ public final class PathBarLayer extends Layer {
             if (origString != null) {
                 label = origString.substring(0, StringTexture.lengthToFit(sPathFormat.fontSize, widthLeft, typeface, origString));
                 if (label.length() != origString.length()) {
-                    label += "É";
+                    label += "\u2026";
                 }
             }
             this.texture = new StringTexture(label, sPathFormat);
index 3672b8b..c85be4c 100644 (file)
@@ -47,7 +47,7 @@ public final class TimeBar extends Layer implements MediaFeed.Listener {
     private final StringTexture[] mMonthLabels = new StringTexture[12];
     private final StringTexture[] mDayLabels = new StringTexture[32];
     private final StringTexture[] mOpaqueDayLabels = new StringTexture[32];
-    private final StringTexture mDot = new StringTexture("¥");
+    private final StringTexture mDot = new StringTexture("\u2022");
     private final HashMap<MediaItem, Marker> mTracker = new HashMap<MediaItem, Marker>(1024);
     private int mState;
     private float mTextAlpha = 0.0f;