Skip to content

Commit e5d0f19

Browse files
sganovAndroid (Google) Code Review
authored andcommitted
Merge "CalendarView title incorrectly updated for different languages." into ics-mr1
2 parents 6e42470 + 1442da6 commit e5d0f19

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

core/java/android/widget/CalendarView.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
package android.widget;
1818

19-
import com.android.internal.R;
20-
2119
import android.annotation.Widget;
2220
import android.app.Service;
2321
import android.content.Context;
@@ -31,7 +29,6 @@
3129
import android.graphics.Rect;
3230
import android.graphics.drawable.Drawable;
3331
import android.text.TextUtils;
34-
import android.text.format.DateFormat;
3532
import android.text.format.DateUtils;
3633
import android.util.AttributeSet;
3734
import android.util.DisplayMetrics;
@@ -44,6 +41,8 @@
4441
import android.view.ViewGroup;
4542
import android.widget.AbsListView.OnScrollListener;
4643

44+
import com.android.internal.R;
45+
4746
import java.text.ParseException;
4847
import java.text.SimpleDateFormat;
4948
import java.util.Calendar;
@@ -120,11 +119,6 @@ public class CalendarView extends FrameLayout {
120119
*/
121120
private static final int SCROLL_CHANGE_DELAY = 40;
122121

123-
/**
124-
* String for formatting the month name in the title text view.
125-
*/
126-
private static final String FORMAT_MONTH_NAME = "MMMM, yyyy";
127-
128122
/**
129123
* String for parsing dates.
130124
*/
@@ -940,11 +934,17 @@ private void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCou
940934
* @param calendar A day in the new focus month.
941935
*/
942936
private void setMonthDisplayed(Calendar calendar) {
943-
mMonthName.setText(DateFormat.format(FORMAT_MONTH_NAME, calendar));
944-
mMonthName.invalidate();
945-
mCurrentMonthDisplayed = calendar.get(Calendar.MONTH);
946-
mAdapter.setFocusMonth(mCurrentMonthDisplayed);
947-
// TODO Send Accessibility Event
937+
final int newMonthDisplayed = calendar.get(Calendar.MONTH);
938+
if (mCurrentMonthDisplayed != newMonthDisplayed) {
939+
mCurrentMonthDisplayed = newMonthDisplayed;
940+
mAdapter.setFocusMonth(mCurrentMonthDisplayed);
941+
final int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_NO_MONTH_DAY
942+
| DateUtils.FORMAT_SHOW_YEAR;
943+
final long millis = calendar.getTimeInMillis();
944+
String newMonthName = DateUtils.formatDateRange(mContext, millis, millis, flags);
945+
mMonthName.setText(newMonthName);
946+
mMonthName.invalidate();
947+
}
948948
}
949949

950950
/**

0 commit comments

Comments
 (0)