Month colors update for current month/today

Also bold today's day number

Change-Id: I367036e9b2314d277d98be9668fbeb38edde25b4
diff --git a/res/values/colors.xml b/res/values/colors.xml
index d84c709..5167c2a 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -53,12 +53,12 @@
     <color name="calendar_grid_line_inner_vertical_color">#1a000000</color>
     <color name="calendar_grid_line_highlight_color">#ff707070</color>
 
-    <color name="month_day_number">#4C000000</color>
+    <color name="month_day_number">#FF666666</color>
     <color name="month_mini_day_number">#FF000000</color>
-    <color name="month_day_number_other">#1A000000</color>
+    <color name="month_day_number_other">#FFCCCCCC</color>
     <color name="month_week_num_color">#33000000</color>
     <color name="month_day_names_color">#80333333</color>
-    <color name="month_today_number">#99000000</color>
+    <color name="month_today_number">#FF666666</color>
     <color name="month_event_color">#FF000000</color>
     <color name="month_event_extra_color">#FF999999</color>
     <color name="month_event_other_color">#4C000000</color>
@@ -70,10 +70,10 @@
     <color name="month_other_month_banner">#80595959</color>
     <color name="month_week_banner">#FFDDDDDD</color>
     <color name="month_busybits">#FF6090F0</color>
-    <color name="month_other_bgcolor">#FFDDDDDD</color>
+    <color name="month_other_bgcolor">#FFEEEEEE</color>
     <color name="month_selected_week_bgcolor">#FFD4DFFD</color>
-    <color name="month_today_bgcolor">#FF888888</color>
-    <color name="month_bgcolor">#FFFFFFFF</color>
+    <color name="month_today_bgcolor">#FFFFFFFF</color>
+    <color name="month_bgcolor">#FFDDDDDD</color>
     <color name="month_title_color">#FFC8CAD0</color>
     <color name="month_selection_bar_color">#FF6699FF</color>
     <color name="month_selection_outline_color">#336699FF</color>
diff --git a/src/com/android/calendar/month/MonthWeekEventsView.java b/src/com/android/calendar/month/MonthWeekEventsView.java
index a0ea81c..bfe99f1 100644
--- a/src/com/android/calendar/month/MonthWeekEventsView.java
+++ b/src/com/android/calendar/month/MonthWeekEventsView.java
@@ -119,6 +119,9 @@
     protected int mExtrasHeight;
     protected int mWeekNumHeight;
 
+    protected int mMonthBGColor;
+    protected int mMonthBGOtherColor;
+    protected int mMonthBGTodayColor;
     protected int mMonthNumColor;
     protected int mMonthNumOtherColor;
     protected int mMonthNumTodayColor;
@@ -224,6 +227,9 @@
         mMonthEventExtraColor = res.getColor(R.color.month_event_extra_color);
         mMonthEventOtherColor = res.getColor(R.color.month_event_other_color);
         mMonthEventExtraOtherColor = res.getColor(R.color.month_event_extra_other_color);
+        mMonthBGTodayColor = res.getColor(R.color.month_today_bgcolor);
+        mMonthBGOtherColor = res.getColor(R.color.month_other_bgcolor);
+        mMonthBGColor = res.getColor(R.color.month_bgcolor);
 
         mTodayDrawable = res.getDrawable(R.drawable.today_blue_week_holo_light);
     }
@@ -418,21 +424,38 @@
 
     @Override
     protected void drawBackground(Canvas canvas) {
-        if (mHasToday) {
-            p.setColor(mSelectedWeekBGColor);
-        } else {
-            return;
-        }
-        int wkNumOffset = 0;
-        int effectiveWidth = mWidth - mPadding * 2;
-        wkNumOffset = 1;
-        effectiveWidth -= SPACING_WEEK_NUMBER;
+        int i = 0;
+        int offset = 0;
         r.top = DAY_SEPARATOR_INNER_WIDTH;
         r.bottom = mHeight;
-        r.left = computeDayLeftPosition(mTodayIndex) + 1;
-        r.right = computeDayLeftPosition(mTodayIndex + 1) - 1;
-        mTodayDrawable.setBounds(r);
-        mTodayDrawable.draw(canvas);
+        if (mShowWeekNum) {
+            i++;
+            offset++;
+        }
+        if (mFocusDay[i]) {
+            while (++i < mFocusDay.length && mFocusDay[i])
+                ;
+            r.right = computeDayLeftPosition(i - offset);
+            r.left = 0;
+            p.setColor(mMonthBGColor);
+            canvas.drawRect(r, p);
+            // compute left edge for i, set up r, draw
+        } else if (mFocusDay[(i = mFocusDay.length - 1)]) {
+            while (--i >= offset && mFocusDay[i])
+                ;
+            i++;
+            // compute left edge for i, set up r, draw
+            r.right = mWidth;
+            r.left = computeDayLeftPosition(i - offset);
+            p.setColor(mMonthBGColor);
+            canvas.drawRect(r, p);
+        }
+        if (mHasToday) {
+            p.setColor(mMonthBGTodayColor);
+            r.left = computeDayLeftPosition(mTodayIndex);
+            r.right = computeDayLeftPosition(mTodayIndex + 1);
+            canvas.drawRect(r, p);
+        }
     }
 
     @Override
@@ -463,10 +486,12 @@
         y = (mMonthNumHeight + TOP_PADDING_MONTH_NUMBER);
 
         boolean isFocusMonth = mFocusDay[i];
+        boolean isBold = false;
         mMonthNumPaint.setColor(isFocusMonth ? mMonthNumColor : mMonthNumOtherColor);
         for (; i < numCount; i++) {
             if (mHasToday && todayIndex == i) {
                 mMonthNumPaint.setColor(mMonthNumTodayColor);
+                mMonthNumPaint.setFakeBoldText(isBold = true);
                 if (i + 1 < numCount) {
                     // Make sure the color will be set back on the next
                     // iteration
@@ -478,7 +503,9 @@
             }
             x = computeDayLeftPosition(i - offset) + direction * (SIDE_PADDING_MONTH_NUMBER);
             canvas.drawText(mDayNumbers[i], x, y, mMonthNumPaint);
-
+            if (isBold) {
+                mMonthNumPaint.setFakeBoldText(isBold = false);
+            }
         }
     }