Loading src/com/android/calendar/DayView.java +7 −0 Original line number Diff line number Diff line Loading @@ -2800,6 +2800,13 @@ public class DayView extends View implements View.OnCreateContextMenuListener, break; } if (event.status == Events.STATUS_CANCELED) { // Strike event title if its status is `canceled` paint.setStrikeThruText(true); } else { paint.setStrikeThruText(false); } // Leave a one pixel boundary on the left and right of the rectangle for the event layout = new StaticLayout(bob, 0, bob.length(), new TextPaint(paint), r.width(), Alignment.ALIGN_NORMAL, 1.0f, 0.0f, true, null, r.width()); Loading src/com/android/calendar/EventInfoFragment.java +28 −19 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.database.Cursor; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.net.Uri; Loading Loading @@ -228,16 +229,17 @@ public class EventInfoFragment extends DialogFragment implements OnCheckedChange Calendars.CALENDAR_ACCESS_LEVEL, // 10 Events.CALENDAR_COLOR, // 11 Events.EVENT_COLOR, // 12 Events.HAS_ATTENDEE_DATA, // 13 Events.ORGANIZER, // 14 Events.HAS_ALARM, // 15 Calendars.MAX_REMINDERS, // 16 Calendars.ALLOWED_REMINDERS, // 17 Events.CUSTOM_APP_PACKAGE, // 18 Events.CUSTOM_APP_URI, // 19 Events.DTEND, // 20 Events.DURATION, // 21 Events.ORIGINAL_SYNC_ID // 22 do not remove; used in DeleteEventHelper Events.STATUS, // 13 Events.HAS_ATTENDEE_DATA, // 14 Events.ORGANIZER, // 15 Events.HAS_ALARM, // 16 Calendars.MAX_REMINDERS, // 17 Calendars.ALLOWED_REMINDERS, // 18 Events.CUSTOM_APP_PACKAGE, // 19 Events.CUSTOM_APP_URI, // 20 Events.DTEND, // 21 Events.DURATION, // 22 Events.ORIGINAL_SYNC_ID // 23 do not remove; used in DeleteEventHelper }; private static final int EVENT_INDEX_ID = 0; private static final int EVENT_INDEX_TITLE = 1; Loading @@ -252,15 +254,16 @@ public class EventInfoFragment extends DialogFragment implements OnCheckedChange private static final int EVENT_INDEX_ACCESS_LEVEL = 10; private static final int EVENT_INDEX_CALENDAR_COLOR = 11; private static final int EVENT_INDEX_EVENT_COLOR = 12; private static final int EVENT_INDEX_HAS_ATTENDEE_DATA = 13; private static final int EVENT_INDEX_ORGANIZER = 14; private static final int EVENT_INDEX_HAS_ALARM = 15; private static final int EVENT_INDEX_MAX_REMINDERS = 16; private static final int EVENT_INDEX_ALLOWED_REMINDERS = 17; private static final int EVENT_INDEX_CUSTOM_APP_PACKAGE = 18; private static final int EVENT_INDEX_CUSTOM_APP_URI = 19; private static final int EVENT_INDEX_DTEND = 20; private static final int EVENT_INDEX_DURATION = 21; private static final int EVENT_INDEX_STATUS = 13; private static final int EVENT_INDEX_HAS_ATTENDEE_DATA = 14; private static final int EVENT_INDEX_ORGANIZER = 15; private static final int EVENT_INDEX_HAS_ALARM = 16; private static final int EVENT_INDEX_MAX_REMINDERS = 17; private static final int EVENT_INDEX_ALLOWED_REMINDERS = 18; private static final int EVENT_INDEX_CUSTOM_APP_PACKAGE = 19; private static final int EVENT_INDEX_CUSTOM_APP_URI = 20; private static final int EVENT_INDEX_DTEND = 21; private static final int EVENT_INDEX_DURATION = 22; private static final String[] ATTENDEES_PROJECTION = new String[] { Attendees._ID, // 0 Attendees.ATTENDEE_NAME, // 1 Loading Loading @@ -1475,6 +1478,12 @@ public class EventInfoFragment extends DialogFragment implements OnCheckedChange setTextCommon(view, R.id.title, eventName); } Integer status = mEventCursor.getInt(EVENT_INDEX_STATUS); if (status == Events.STATUS_CANCELED) { TextView textView = (TextView) view.findViewById(R.id.title); textView.setPaintFlags(textView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); } // When // Set the date and repeats (if any) String localTimezone = Utils.getTimeZone(mActivity, mTZUpdater); Loading src/com/android/calendar/agenda/AgendaAdapter.java +7 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ package com.android.calendar.agenda; import android.content.Context; import android.content.res.Resources; import android.database.Cursor; import android.graphics.Paint; import android.provider.CalendarContract.Events; import android.provider.CalendarContract.Attendees; import android.text.TextUtils; import android.text.format.DateFormat; Loading Loading @@ -151,6 +153,11 @@ public class AgendaAdapter extends ResourceCursorAdapter { } } int status = cursor.getInt(AgendaWindowAdapter.INDEX_STATUS); if (status == Events.STATUS_CANCELED) { holder.title.setPaintFlags(holder.title.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); } TextView title = holder.title; TextView when = holder.when; TextView where = holder.where; Loading src/com/android/calendar/agenda/AgendaWindowAdapter.java +12 −10 Original line number Diff line number Diff line Loading @@ -89,11 +89,12 @@ public class AgendaWindowAdapter extends BaseAdapter public static final int INDEX_EVENT_ID = 9; public static final int INDEX_START_DAY = 10; public static final int INDEX_END_DAY = 11; public static final int INDEX_SELF_ATTENDEE_STATUS = 12; public static final int INDEX_ORGANIZER = 13; public static final int INDEX_OWNER_ACCOUNT = 14; public static final int INDEX_CAN_ORGANIZER_RESPOND= 15; public static final int INDEX_TIME_ZONE = 16; public static final int INDEX_STATUS = 12; public static final int INDEX_SELF_ATTENDEE_STATUS = 13; public static final int INDEX_ORGANIZER = 14; public static final int INDEX_OWNER_ACCOUNT = 15; public static final int INDEX_CAN_ORGANIZER_RESPOND= 16; public static final int INDEX_TIME_ZONE = 17; static final boolean BASICLOG = false; static final boolean DEBUGLOG = false; private static final String TAG = "AgendaWindowAdapter"; Loading @@ -114,11 +115,12 @@ public class AgendaWindowAdapter extends BaseAdapter Instances.EVENT_ID, // 9 Instances.START_DAY, // 10 Julian start day Instances.END_DAY, // 11 Julian end day Instances.SELF_ATTENDEE_STATUS, // 12 Instances.ORGANIZER, // 13 Instances.OWNER_ACCOUNT, // 14 Instances.CAN_ORGANIZER_RESPOND, // 15 Instances.EVENT_TIMEZONE, // 16 Instances.STATUS, // 12 Instances.SELF_ATTENDEE_STATUS, // 13 Instances.ORGANIZER, // 14 Instances.OWNER_ACCOUNT, // 15 Instances.CAN_ORGANIZER_RESPOND, // 16 Instances.EVENT_TIMEZONE, // 17 }; // Listview may have a bug where the index/position is not consistent when there's a header. // position == positionInListView - OFF_BY_ONE_BUG Loading src/com/android/calendar/month/MonthWeekEventsView.java +26 −5 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.graphics.Paint.Style; import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.provider.CalendarContract.Attendees; import android.provider.CalendarContract.Events; import android.text.DynamicLayout; import android.text.Layout; import android.text.TextPaint; Loading Loading @@ -1500,6 +1501,10 @@ public class MonthWeekEventsView extends SimpleWeekView { mEvent = event; } protected boolean isCanceled() { return mEvent.status == Events.STATUS_CANCELED; } protected boolean isDeclined() { return mEvent.selfAttendeeStatus == Attendees.ATTENDEE_STATUS_DECLINED; } Loading Loading @@ -1573,19 +1578,35 @@ public class MonthWeekEventsView extends SimpleWeekView { } protected Paint getTextPaint() { TextPaint paint; if (!isAttendeeStatusInvited() && mEvent.drawAsAllday()){ // Text color needs to contrast with solid background. return mSolidBackgroundEventPaint; paint = mSolidBackgroundEventPaint; } else if (isDeclined()) { // Use "declined event" color. return mDeclinedEventPaint; paint = mDeclinedEventPaint; } else if (mEvent.drawAsAllday()) { // Text inside frame is same color as frame. mFramedEventPaint.setColor(getRectangleColor()); return mFramedEventPaint; } paint = mFramedEventPaint; } else { // Use generic event text color. return mEventPaint; paint = mEventPaint; } if (isCanceled()) { // Strike event title if its status is `canceled` // (copy current Paint to conserve other formatting) TextPaint canceledPaint; canceledPaint = new TextPaint(); canceledPaint.set(paint); canceledPaint.setStrikeThruText(true); paint = canceledPaint; } return paint; } protected void drawText(Canvas canvas, ViewDetailsPreferences.Preferences preferences, int day) { Loading Loading
src/com/android/calendar/DayView.java +7 −0 Original line number Diff line number Diff line Loading @@ -2800,6 +2800,13 @@ public class DayView extends View implements View.OnCreateContextMenuListener, break; } if (event.status == Events.STATUS_CANCELED) { // Strike event title if its status is `canceled` paint.setStrikeThruText(true); } else { paint.setStrikeThruText(false); } // Leave a one pixel boundary on the left and right of the rectangle for the event layout = new StaticLayout(bob, 0, bob.length(), new TextPaint(paint), r.width(), Alignment.ALIGN_NORMAL, 1.0f, 0.0f, true, null, r.width()); Loading
src/com/android/calendar/EventInfoFragment.java +28 −19 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.database.Cursor; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.net.Uri; Loading Loading @@ -228,16 +229,17 @@ public class EventInfoFragment extends DialogFragment implements OnCheckedChange Calendars.CALENDAR_ACCESS_LEVEL, // 10 Events.CALENDAR_COLOR, // 11 Events.EVENT_COLOR, // 12 Events.HAS_ATTENDEE_DATA, // 13 Events.ORGANIZER, // 14 Events.HAS_ALARM, // 15 Calendars.MAX_REMINDERS, // 16 Calendars.ALLOWED_REMINDERS, // 17 Events.CUSTOM_APP_PACKAGE, // 18 Events.CUSTOM_APP_URI, // 19 Events.DTEND, // 20 Events.DURATION, // 21 Events.ORIGINAL_SYNC_ID // 22 do not remove; used in DeleteEventHelper Events.STATUS, // 13 Events.HAS_ATTENDEE_DATA, // 14 Events.ORGANIZER, // 15 Events.HAS_ALARM, // 16 Calendars.MAX_REMINDERS, // 17 Calendars.ALLOWED_REMINDERS, // 18 Events.CUSTOM_APP_PACKAGE, // 19 Events.CUSTOM_APP_URI, // 20 Events.DTEND, // 21 Events.DURATION, // 22 Events.ORIGINAL_SYNC_ID // 23 do not remove; used in DeleteEventHelper }; private static final int EVENT_INDEX_ID = 0; private static final int EVENT_INDEX_TITLE = 1; Loading @@ -252,15 +254,16 @@ public class EventInfoFragment extends DialogFragment implements OnCheckedChange private static final int EVENT_INDEX_ACCESS_LEVEL = 10; private static final int EVENT_INDEX_CALENDAR_COLOR = 11; private static final int EVENT_INDEX_EVENT_COLOR = 12; private static final int EVENT_INDEX_HAS_ATTENDEE_DATA = 13; private static final int EVENT_INDEX_ORGANIZER = 14; private static final int EVENT_INDEX_HAS_ALARM = 15; private static final int EVENT_INDEX_MAX_REMINDERS = 16; private static final int EVENT_INDEX_ALLOWED_REMINDERS = 17; private static final int EVENT_INDEX_CUSTOM_APP_PACKAGE = 18; private static final int EVENT_INDEX_CUSTOM_APP_URI = 19; private static final int EVENT_INDEX_DTEND = 20; private static final int EVENT_INDEX_DURATION = 21; private static final int EVENT_INDEX_STATUS = 13; private static final int EVENT_INDEX_HAS_ATTENDEE_DATA = 14; private static final int EVENT_INDEX_ORGANIZER = 15; private static final int EVENT_INDEX_HAS_ALARM = 16; private static final int EVENT_INDEX_MAX_REMINDERS = 17; private static final int EVENT_INDEX_ALLOWED_REMINDERS = 18; private static final int EVENT_INDEX_CUSTOM_APP_PACKAGE = 19; private static final int EVENT_INDEX_CUSTOM_APP_URI = 20; private static final int EVENT_INDEX_DTEND = 21; private static final int EVENT_INDEX_DURATION = 22; private static final String[] ATTENDEES_PROJECTION = new String[] { Attendees._ID, // 0 Attendees.ATTENDEE_NAME, // 1 Loading Loading @@ -1475,6 +1478,12 @@ public class EventInfoFragment extends DialogFragment implements OnCheckedChange setTextCommon(view, R.id.title, eventName); } Integer status = mEventCursor.getInt(EVENT_INDEX_STATUS); if (status == Events.STATUS_CANCELED) { TextView textView = (TextView) view.findViewById(R.id.title); textView.setPaintFlags(textView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); } // When // Set the date and repeats (if any) String localTimezone = Utils.getTimeZone(mActivity, mTZUpdater); Loading
src/com/android/calendar/agenda/AgendaAdapter.java +7 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ package com.android.calendar.agenda; import android.content.Context; import android.content.res.Resources; import android.database.Cursor; import android.graphics.Paint; import android.provider.CalendarContract.Events; import android.provider.CalendarContract.Attendees; import android.text.TextUtils; import android.text.format.DateFormat; Loading Loading @@ -151,6 +153,11 @@ public class AgendaAdapter extends ResourceCursorAdapter { } } int status = cursor.getInt(AgendaWindowAdapter.INDEX_STATUS); if (status == Events.STATUS_CANCELED) { holder.title.setPaintFlags(holder.title.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); } TextView title = holder.title; TextView when = holder.when; TextView where = holder.where; Loading
src/com/android/calendar/agenda/AgendaWindowAdapter.java +12 −10 Original line number Diff line number Diff line Loading @@ -89,11 +89,12 @@ public class AgendaWindowAdapter extends BaseAdapter public static final int INDEX_EVENT_ID = 9; public static final int INDEX_START_DAY = 10; public static final int INDEX_END_DAY = 11; public static final int INDEX_SELF_ATTENDEE_STATUS = 12; public static final int INDEX_ORGANIZER = 13; public static final int INDEX_OWNER_ACCOUNT = 14; public static final int INDEX_CAN_ORGANIZER_RESPOND= 15; public static final int INDEX_TIME_ZONE = 16; public static final int INDEX_STATUS = 12; public static final int INDEX_SELF_ATTENDEE_STATUS = 13; public static final int INDEX_ORGANIZER = 14; public static final int INDEX_OWNER_ACCOUNT = 15; public static final int INDEX_CAN_ORGANIZER_RESPOND= 16; public static final int INDEX_TIME_ZONE = 17; static final boolean BASICLOG = false; static final boolean DEBUGLOG = false; private static final String TAG = "AgendaWindowAdapter"; Loading @@ -114,11 +115,12 @@ public class AgendaWindowAdapter extends BaseAdapter Instances.EVENT_ID, // 9 Instances.START_DAY, // 10 Julian start day Instances.END_DAY, // 11 Julian end day Instances.SELF_ATTENDEE_STATUS, // 12 Instances.ORGANIZER, // 13 Instances.OWNER_ACCOUNT, // 14 Instances.CAN_ORGANIZER_RESPOND, // 15 Instances.EVENT_TIMEZONE, // 16 Instances.STATUS, // 12 Instances.SELF_ATTENDEE_STATUS, // 13 Instances.ORGANIZER, // 14 Instances.OWNER_ACCOUNT, // 15 Instances.CAN_ORGANIZER_RESPOND, // 16 Instances.EVENT_TIMEZONE, // 17 }; // Listview may have a bug where the index/position is not consistent when there's a header. // position == positionInListView - OFF_BY_ONE_BUG Loading
src/com/android/calendar/month/MonthWeekEventsView.java +26 −5 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.graphics.Paint.Style; import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.provider.CalendarContract.Attendees; import android.provider.CalendarContract.Events; import android.text.DynamicLayout; import android.text.Layout; import android.text.TextPaint; Loading Loading @@ -1500,6 +1501,10 @@ public class MonthWeekEventsView extends SimpleWeekView { mEvent = event; } protected boolean isCanceled() { return mEvent.status == Events.STATUS_CANCELED; } protected boolean isDeclined() { return mEvent.selfAttendeeStatus == Attendees.ATTENDEE_STATUS_DECLINED; } Loading Loading @@ -1573,19 +1578,35 @@ public class MonthWeekEventsView extends SimpleWeekView { } protected Paint getTextPaint() { TextPaint paint; if (!isAttendeeStatusInvited() && mEvent.drawAsAllday()){ // Text color needs to contrast with solid background. return mSolidBackgroundEventPaint; paint = mSolidBackgroundEventPaint; } else if (isDeclined()) { // Use "declined event" color. return mDeclinedEventPaint; paint = mDeclinedEventPaint; } else if (mEvent.drawAsAllday()) { // Text inside frame is same color as frame. mFramedEventPaint.setColor(getRectangleColor()); return mFramedEventPaint; } paint = mFramedEventPaint; } else { // Use generic event text color. return mEventPaint; paint = mEventPaint; } if (isCanceled()) { // Strike event title if its status is `canceled` // (copy current Paint to conserve other formatting) TextPaint canceledPaint; canceledPaint = new TextPaint(); canceledPaint.set(paint); canceledPaint.setStrikeThruText(true); paint = canceledPaint; } return paint; } protected void drawText(Canvas canvas, ViewDetailsPreferences.Preferences preferences, int day) { Loading