diff options
| author | Fabrice Di Meglio <fdimeglio@google.com> | 2013-08-27 17:43:53 -0700 |
|---|---|---|
| committer | Fabrice Di Meglio <fdimeglio@google.com> | 2013-08-27 17:43:53 -0700 |
| commit | b08e5788a79127df2e2e452f5fb1adab417cb503 (patch) | |
| tree | f89fb6cda21ac96f897fcbac86b11f308b30a264 /core/java/android/widget/CalendarView.java | |
| parent | 138de8e16db9c7cf0164eac3677a1d4a9696e3fe (diff) | |
Fix bug #10515013 CalendarView is always forcing first day of the week to Sunday and not taking into account CLDR data
- remove the "force to Sunday"
- code cleaning and remove dependency on deprecated API
Change-Id: I992e893a904c45c8e0ce1d9dedb59b352e3a449f
Diffstat (limited to 'core/java/android/widget/CalendarView.java')
| -rw-r--r-- | core/java/android/widget/CalendarView.java | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/core/java/android/widget/CalendarView.java b/core/java/android/widget/CalendarView.java index 6970cdeab534..de2be75ca5e1 100644 --- a/core/java/android/widget/CalendarView.java +++ b/core/java/android/widget/CalendarView.java @@ -1028,26 +1028,29 @@ public class CalendarView extends FrameLayout { * Sets up the strings to be used by the header. */ private void setUpHeader() { + final String[] tinyWeekdayNames = LocaleData.get(Locale.getDefault()).tinyWeekdayNames; mDayLabels = new String[mDaysPerWeek]; - for (int i = mFirstDayOfWeek, count = mFirstDayOfWeek + mDaysPerWeek; i < count; i++) { - int calendarDay = (i > Calendar.SATURDAY) ? i - Calendar.SATURDAY : i; - mDayLabels[i - mFirstDayOfWeek] = DateUtils.getDayOfWeekString(calendarDay, - DateUtils.LENGTH_SHORTEST); + for (int i = 0; i < mDaysPerWeek; i++) { + final int j = i + mFirstDayOfWeek; + final int calendarDay = (j > Calendar.SATURDAY) ? j - Calendar.SATURDAY : j; + mDayLabels[i] = tinyWeekdayNames[calendarDay]; } - + // Deal with week number TextView label = (TextView) mDayNamesHeader.getChildAt(0); if (mShowWeekNumber) { label.setVisibility(View.VISIBLE); } else { label.setVisibility(View.GONE); } - for (int i = 1, count = mDayNamesHeader.getChildCount(); i < count; i++) { - label = (TextView) mDayNamesHeader.getChildAt(i); + // Deal with day labels + final int count = mDayNamesHeader.getChildCount(); + for (int i = 0; i < count - 1; i++) { + label = (TextView) mDayNamesHeader.getChildAt(i + 1); if (mWeekDayTextAppearanceResId > -1) { label.setTextAppearance(mContext, mWeekDayTextAppearanceResId); } - if (i < mDaysPerWeek + 1) { - label.setText(mDayLabels[i - 1]); + if (i < mDaysPerWeek) { + label.setText(mDayLabels[i]); label.setVisibility(View.VISIBLE); } else { label.setVisibility(View.GONE); |
