|
16 | 16 |
|
17 | 17 | package android.widget; |
18 | 18 |
|
19 | | -import com.android.internal.R; |
20 | | - |
21 | 19 | import android.annotation.Widget; |
22 | 20 | import android.app.Service; |
23 | 21 | import android.content.Context; |
|
31 | 29 | import android.graphics.Rect; |
32 | 30 | import android.graphics.drawable.Drawable; |
33 | 31 | import android.text.TextUtils; |
34 | | -import android.text.format.DateFormat; |
35 | 32 | import android.text.format.DateUtils; |
36 | 33 | import android.util.AttributeSet; |
37 | 34 | import android.util.DisplayMetrics; |
|
44 | 41 | import android.view.ViewGroup; |
45 | 42 | import android.widget.AbsListView.OnScrollListener; |
46 | 43 |
|
| 44 | +import com.android.internal.R; |
| 45 | + |
47 | 46 | import java.text.ParseException; |
48 | 47 | import java.text.SimpleDateFormat; |
49 | 48 | import java.util.Calendar; |
@@ -120,11 +119,6 @@ public class CalendarView extends FrameLayout { |
120 | 119 | */ |
121 | 120 | private static final int SCROLL_CHANGE_DELAY = 40; |
122 | 121 |
|
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 | | - |
128 | 122 | /** |
129 | 123 | * String for parsing dates. |
130 | 124 | */ |
@@ -940,11 +934,17 @@ private void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCou |
940 | 934 | * @param calendar A day in the new focus month. |
941 | 935 | */ |
942 | 936 | 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 | + } |
948 | 948 | } |
949 | 949 |
|
950 | 950 | /** |
|
0 commit comments