diff options
author | Sam Blitzstein <sblitz@google.com> | 2013-04-18 20:42:17 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-04-18 20:42:17 -0700 |
commit | e21d071895adeee425ed8f320df5f9e63b428a6d (patch) | |
tree | 51e32ede9e0159b184164c248620fd9aa8a27341 | |
parent | 90b97b56beea1cf4eebe1193eb9720feb310bf2d (diff) | |
parent | 0ec264dcb889e185812dced36becf327bed0a876 (diff) | |
download | android_frameworks_opt_datetimepicker-e21d071895adeee425ed8f320df5f9e63b428a6d.tar.gz android_frameworks_opt_datetimepicker-e21d071895adeee425ed8f320df5f9e63b428a6d.tar.bz2 android_frameworks_opt_datetimepicker-e21d071895adeee425ed8f320df5f9e63b428a6d.zip |
am 0ec264dc: Fix "MONTH YYYY" labels to work correctly for i18l.
* commit '0ec264dcb889e185812dced36becf327bed0a876':
Fix "MONTH YYYY" labels to work correctly for i18l.
-rw-r--r-- | src/com/android/datetimepicker/date/SimpleMonthView.java | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/com/android/datetimepicker/date/SimpleMonthView.java b/src/com/android/datetimepicker/date/SimpleMonthView.java index 32cffef..bcb592f 100644 --- a/src/com/android/datetimepicker/date/SimpleMonthView.java +++ b/src/com/android/datetimepicker/date/SimpleMonthView.java @@ -27,6 +27,7 @@ import android.graphics.Typeface; import android.os.Bundle; import android.support.v4.view.ViewCompat; import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; +import android.text.format.DateUtils; import android.text.format.Time; import android.util.SparseArray; import android.view.MotionEvent; @@ -41,6 +42,7 @@ import com.googlecode.eyesfree.utils.TouchExplorationHelper; import java.security.InvalidParameterException; import java.util.Calendar; +import java.util.Formatter; import java.util.HashMap; import java.util.List; import java.util.Locale; @@ -129,6 +131,9 @@ public class SimpleMonthView extends View { protected Paint mSelectedCirclePaint; protected Paint mMonthDayLabelPaint; + private final Formatter mFormatter; + private final StringBuilder mStringBuilder; + // The Julian day of the first day displayed by this item protected int mFirstJulianDay = -1; // The month of the first day in this week @@ -192,6 +197,9 @@ public class SimpleMonthView extends View { mMonthTitleColor = res.getColor(R.color.white); mMonthTitleBGColor = res.getColor(R.color.circle_background); + mStringBuilder = new StringBuilder(50); + mFormatter = new Formatter(mStringBuilder, Locale.getDefault()); + MINI_DAY_NUMBER_TEXT_SIZE = res.getDimensionPixelSize(R.dimen.day_number_size); MONTH_LABEL_TEXT_SIZE = res.getDimensionPixelSize(R.dimen.month_label_size); MONTH_DAY_LABEL_TEXT_SIZE = res.getDimensionPixelSize(R.dimen.month_day_label_text_size); @@ -399,12 +407,14 @@ public class SimpleMonthView extends View { private void drawMonthTitle(Canvas canvas) { int x = (mWidth + 2 * mPadding) / 2; int y = (MONTH_HEADER_SIZE - MONTH_DAY_LABEL_TEXT_SIZE) / 2 + (MONTH_LABEL_TEXT_SIZE / 3); - StringBuffer sbuf = new StringBuffer(); - sbuf.append(mCalendar.getDisplayName(Calendar.MONTH, Calendar.LONG, - Locale.getDefault())); - sbuf.append(" "); - sbuf.append(String.format("%d", mYear)); - canvas.drawText(sbuf.toString(), x, y, mMonthTitlePaint); + int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR + | DateUtils.FORMAT_NO_MONTH_DAY; + + mStringBuilder.setLength(0); + long millis = mCalendar.getTimeInMillis(); + String title = DateUtils.formatDateRange(getContext(), mFormatter, millis, millis, flags, + Time.getCurrentTimezone()).toString(); + canvas.drawText(title, x, y, mMonthTitlePaint); } private void drawMonthDayLabels(Canvas canvas) { |