From fe235363a7436236c4b1de123864043d8fd485e7 Mon Sep 17 00:00:00 2001 From: Nishith Khanna Date: Tue, 27 Aug 2024 16:34:42 +0530 Subject: [PATCH 01/13] Change package name --- app/build.gradle.kts | 2 +- app/src/main/AndroidManifest.xml | 2 +- app/src/main/java/com/android/calendar/icalendar/VCalendar.java | 2 +- app/src/main/java/com/android/calendar/icalendar/VEvent.java | 2 +- app/src/main/res/xml-v25/shortcuts.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 39bf80f75..a6c48ea71 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -20,7 +20,7 @@ android { targetSdk = 34 versionCode = 47 versionName = "1.0.47" - applicationId = "ws.xsoh.etar" + applicationId = "foundation.e.calendar" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3b1b75d19..c8f74c1fe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -59,7 +59,7 @@ android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/standalone_app_label" - android:taskAffinity="ws.xsoh.etar.task" + android:taskAffinity="foundation.e.calendar.task" android:requiredAccountType="*" android:usesCleartextTraffic="false" android:theme="@style/CalendarAppThemeLight"> diff --git a/app/src/main/java/com/android/calendar/icalendar/VCalendar.java b/app/src/main/java/com/android/calendar/icalendar/VCalendar.java index 8799eb435..bdbd84937 100644 --- a/app/src/main/java/com/android/calendar/icalendar/VCalendar.java +++ b/app/src/main/java/com/android/calendar/icalendar/VCalendar.java @@ -33,7 +33,7 @@ public class VCalendar { public static String CALSCALE = "CALSCALE"; public static String METHOD = "METHOD"; - public final static String PRODUCT_IDENTIFIER = "-//Etar//ws.xsoh.etar"; + public final static String PRODUCT_IDENTIFIER = "-//Etar//foundation.e.calendar"; // Stores the -arity of the attributes that this component can have private final static HashMap sPropertyList = new HashMap(); diff --git a/app/src/main/java/com/android/calendar/icalendar/VEvent.java b/app/src/main/java/com/android/calendar/icalendar/VEvent.java index 09d3b7f92..9311bbd82 100644 --- a/app/src/main/java/com/android/calendar/icalendar/VEvent.java +++ b/app/src/main/java/com/android/calendar/icalendar/VEvent.java @@ -90,7 +90,7 @@ public class VEvent { mAttendees = new LinkedList(); // Generate and add a unique identifier to this event - iCal requisite - addProperty(UID , UUID.randomUUID().toString() + "@ws.xsoh.etar"); + addProperty(UID , UUID.randomUUID().toString() + "@foundation.e.calendar"); addTimeStamp(); } diff --git a/app/src/main/res/xml-v25/shortcuts.xml b/app/src/main/res/xml-v25/shortcuts.xml index bb9f28ecb..50b4c2b36 100644 --- a/app/src/main/res/xml-v25/shortcuts.xml +++ b/app/src/main/res/xml-v25/shortcuts.xml @@ -8,6 +8,6 @@ + android:targetPackage="foundation.e.calendar" /> -- GitLab From cbcc2ddc3bd2896c48a554f2e7c1f1f49314d6b4 Mon Sep 17 00:00:00 2001 From: Nishith Khanna Date: Tue, 6 Sep 2022 17:21:01 +0530 Subject: [PATCH 02/13] Use background service instead of foreground service --- .../calendar/alerts/AlertReceiver.java | 2 +- .../android/calendar/alerts/AlertService.java | 21 ------------------- 2 files changed, 1 insertion(+), 22 deletions(-) diff --git a/app/src/main/java/com/android/calendar/alerts/AlertReceiver.java b/app/src/main/java/com/android/calendar/alerts/AlertReceiver.java index caf099ff1..e7db5225d 100644 --- a/app/src/main/java/com/android/calendar/alerts/AlertReceiver.java +++ b/app/src/main/java/com/android/calendar/alerts/AlertReceiver.java @@ -137,7 +137,7 @@ public class AlertReceiver extends BroadcastReceiver { if (Utils.isUpsideDownCakeOrLater() && !Utils.canScheduleAlarms(context)) { return; } - context.startForegroundService(intent); + context.startService(intent); } else { context.startService(intent); } diff --git a/app/src/main/java/com/android/calendar/alerts/AlertService.java b/app/src/main/java/com/android/calendar/alerts/AlertService.java index 1caab2322..ef02f5262 100644 --- a/app/src/main/java/com/android/calendar/alerts/AlertService.java +++ b/app/src/main/java/com/android/calendar/alerts/AlertService.java @@ -930,27 +930,6 @@ public class AlertService extends Service { @Override public int onStartCommand(Intent intent, int flags, int startId) { if (intent != null) { - - if (Utils.isOreoOrLater()) { - createChannels(this); - Notification notification = new NotificationCompat.Builder(this, FOREGROUND_CHANNEL_ID) - .setContentTitle(getString(R.string.foreground_notification_title)) - .setSmallIcon(R.drawable.stat_notify_refresh_events) - .setShowWhen(false) - .build(); - if (Utils.isQOrLater()) { - int serviceType; - if (Utils.isUpsideDownCakeOrLater()) { - serviceType = FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED; - } else { - serviceType = FOREGROUND_SERVICE_TYPE_DATA_SYNC; - } - ServiceCompat.startForeground(this, 1337, notification, serviceType); - } else { - startForeground(1337, notification); - } - } - Message msg = mServiceHandler.obtainMessage(); msg.arg1 = startId; msg.obj = intent.getExtras(); -- GitLab From 413638857b8dfb402da0b34fe88a9526513fc6ba Mon Sep 17 00:00:00 2001 From: Nishith Khanna Date: Tue, 13 Sep 2022 19:02:47 +0530 Subject: [PATCH 03/13] Hide theme related options from settings and disable monet --- .../main/java/com/android/calendar/Utils.java | 20 +------------------ .../main/res/xml-v26/general_preferences.xml | 9 ++++++--- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/android/calendar/Utils.java b/app/src/main/java/com/android/calendar/Utils.java index fd7396b46..b95b4687d 100644 --- a/app/src/main/java/com/android/calendar/Utils.java +++ b/app/src/main/java/com/android/calendar/Utils.java @@ -242,26 +242,8 @@ public class Utils { * exist but cannot be configured by the user. */ public static boolean isMonetAvailable(Context context) { - if (Build.VERSION.SDK_INT < 31) { - return false; - } - - // Wallpaper-based theming requires a color extraction engine and is enabled when the `flag_monet` - // config flag is enabled in SystemUI. It's unclear how to access this information from a - // normal application. - // - // To determine whether Material You is available on the device, we use a naive heuristic which - // is to compare the palette against known default values in AOSP. - Resources resources = context.getResources(); - int probe1 = resources.getColor(android.R.color.system_accent1_500, context.getTheme()); - int probe2 = resources.getColor(android.R.color.system_accent2_500, context.getTheme()); - if (probe1 == Color.parseColor("#007fac") && probe2 == Color.parseColor("#657985")) { - // AOSP palette - Log.d(TAG, "Material You not available - Detected AOSP palette"); - return false; - } - return true; + return false; } public static int getViewTypeFromIntentAndSharedPref(Activity activity) { diff --git a/app/src/main/res/xml-v26/general_preferences.xml b/app/src/main/res/xml-v26/general_preferences.xml index 18c0098f8..486f7c8f1 100644 --- a/app/src/main/res/xml-v26/general_preferences.xml +++ b/app/src/main/res/xml-v26/general_preferences.xml @@ -22,17 +22,20 @@ app:title="@string/preferences_theme" app:entries="@array/pref_theme_entries" app:entryValues="@array/pref_theme_values" - app:defaultValue="@string/pref_theme_default" /> + app:defaultValue="@string/pref_theme_default" + app:isPreferenceVisible="false" /> + app:title="@string/preferences_pure_black_night_mode" + app:isPreferenceVisible="false" /> + app:defaultValue="teal" + app:isPreferenceVisible="false" /> Date: Thu, 21 Sep 2023 17:19:12 +0530 Subject: [PATCH 04/13] Etar: Add workaround for Notification trampoline --- app/src/main/AndroidManifest.xml | 1 + .../com/android/calendar/alerts/AlertReceiver.java | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c8f74c1fe..6d567866b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,6 +21,7 @@ package="ws.xsoh.etar" android:installLocation="auto"> + diff --git a/app/src/main/java/com/android/calendar/alerts/AlertReceiver.java b/app/src/main/java/com/android/calendar/alerts/AlertReceiver.java index e7db5225d..a909d90b0 100644 --- a/app/src/main/java/com/android/calendar/alerts/AlertReceiver.java +++ b/app/src/main/java/com/android/calendar/alerts/AlertReceiver.java @@ -20,6 +20,7 @@ package com.android.calendar.alerts; import android.app.Notification; import android.app.PendingIntent; import android.app.Service; +import android.app.TaskStackBuilder; import android.content.ActivityNotFoundException; import android.content.BroadcastReceiver; import android.content.ContentUris; @@ -682,6 +683,15 @@ public class AlertReceiver extends BroadcastReceiver { geoIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // If this intent cannot be handled, do not create the map action if (isResolveIntent(context, geoIntent)) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(context); + geoIntent = createMapActivityIntent(context, urlSpans); + if (geoIntent != null) { + taskStackBuilder.addNextIntentWithParentStack(geoIntent); + return taskStackBuilder.getPendingIntent(0, + PendingIntent.FLAG_UPDATE_CURRENT | Utils.PI_FLAG_IMMUTABLE); + } + } Intent broadcastIntent = new Intent(MAP_ACTION); broadcastIntent.setClass(context, AlertReceiver.class); broadcastIntent.putExtra(EXTRA_EVENT_ID, eventId); -- GitLab From df82e3c6bc0c447d0a4b575cd2e334def23bd5f3 Mon Sep 17 00:00:00 2001 From: Fahim Salam Chowdhury Date: Mon, 15 Apr 2024 02:29:56 +0000 Subject: [PATCH 05/13] 6430-t-Clear_notification_after_event_ends --- .../com/android/calendar/alerts/AlertService.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/android/calendar/alerts/AlertService.java b/app/src/main/java/com/android/calendar/alerts/AlertService.java index ef02f5262..ef49aa36b 100644 --- a/app/src/main/java/com/android/calendar/alerts/AlertService.java +++ b/app/src/main/java/com/android/calendar/alerts/AlertService.java @@ -534,15 +534,13 @@ public class AlertService extends Service { int newState = -1; boolean newAlert = false; - // Uncomment for the behavior of clearing out alerts after the - // events ended. b/1880369 - // - // if (endTime < currentTime) { - // newState = CalendarAlerts.DISMISSED; - // } else + // clearing out alerts after the events ended. b/1880369 + if (endTime < currentTime) { + newState = CalendarAlerts.STATE_DISMISSED; + } // Remove declined events - boolean sendAlert = !declined; + boolean sendAlert = !declined && newState != CalendarAlerts.STATE_DISMISSED; // Check for experimental reminder settings. if (remindRespondedOnly) { // If the experimental setting is turned on, then only send -- GitLab From d82c1a5200a8c275dbf0cfb8ad7df53825e4c197 Mon Sep 17 00:00:00 2001 From: Nishith Khanna Date: Mon, 10 Oct 2022 15:29:50 +0530 Subject: [PATCH 06/13] Theme app according to our palette --- app/build.gradle.kts | 3 + .../android/calendar/DayOfMonthDrawable.java | 2 +- .../java/com/android/calendar/DayView.java | 4 +- .../calendar/month/MonthWeekEventsView.java | 73 +++-- .../calendar/month/SimpleWeekView.java | 18 +- .../widget/CalendarAppWidgetService.java | 2 +- .../main/res/drawable/actionbar_cursor.xml | 2 +- app/src/main/res/drawable/button_drawable.xml | 21 ++ app/src/main/res/drawable/ic_add_event.xml | 2 +- app/src/main/res/drawable/ic_arrow_back.xml | 2 +- .../ic_baseline_calendar_dayofmonth.xml | 4 +- app/src/main/res/drawable/ic_delete_event.xml | 2 +- app/src/main/res/drawable/ic_edit_event.xml | 2 +- app/src/main/res/drawable/ic_menu_cancel.xml | 4 +- .../main/res/drawable/ic_menu_navigator.xml | 2 +- .../drawable/ic_recurrence_bubble_fill.xml | 2 +- .../drawable/ic_recurrence_bubble_outline.xml | 2 +- app/src/main/res/drawable/ic_save_event.xml | 2 +- app/src/main/res/drawable/ic_share_event.xml | 2 +- app/src/main/res/drawable/today_icon.xml | 6 +- .../main/res/layout-sw600dp/agenda_day.xml | 1 + .../res/layout-sw600dp/agenda_fragment.xml | 2 +- .../main/res/layout-sw600dp/agenda_item.xml | 1 + app/src/main/res/layout/agenda_day.xml | 6 +- app/src/main/res/layout/agenda_fragment.xml | 4 +- app/src/main/res/layout/agenda_item.xml | 3 +- app/src/main/res/layout/alert_activity.xml | 1 + app/src/main/res/layout/alert_item.xml | 7 +- .../main/res/layout/all_in_one_material.xml | 14 +- app/src/main/res/layout/app_bar.xml | 2 + app/src/main/res/layout/appwidget.xml | 1 + app/src/main/res/layout/bubble_event.xml | 6 +- .../res/layout/calendars_dropdown_item.xml | 2 +- .../main/res/layout/create_event_dialog.xml | 2 +- app/src/main/res/layout/edit_event_all.xml | 43 +-- .../layout/edit_event_custom_actionbar.xml | 63 ++--- app/src/main/res/layout/full_month_header.xml | 2 +- .../main/res/layout/quick_response_item.xml | 1 + app/src/main/res/layout/recurrencepicker.xml | 5 +- app/src/main/res/values-night-v21/colors.xml | 24 ++ app/src/main/res/values-v21/colors.xml | 36 +++ app/src/main/res/values-v21/styles.xml | 24 ++ app/src/main/res/values/colors.xml | 262 +++++++++--------- app/src/main/res/values/dimens.xml | 7 + app/src/main/res/values/styles.xml | 9 +- app/src/main/res/values/themes.xml | 43 +-- settings.gradle.kts | 1 + 47 files changed, 452 insertions(+), 277 deletions(-) create mode 100644 app/src/main/res/drawable/button_drawable.xml create mode 100644 app/src/main/res/values-night-v21/colors.xml create mode 100644 app/src/main/res/values-v21/colors.xml create mode 100644 app/src/main/res/values-v21/styles.xml diff --git a/app/build.gradle.kts b/app/build.gradle.kts index a6c48ea71..51c82a778 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -141,6 +141,9 @@ dependencies { // lifecycle val lifecycle_version = "2.8.4" implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version") + + // elib + implementation("foundation.e:elib:0.0.1-alpha11") } tasks.preBuild.dependsOn(":aarGen") diff --git a/app/src/main/java/com/android/calendar/DayOfMonthDrawable.java b/app/src/main/java/com/android/calendar/DayOfMonthDrawable.java index 3c1431a80..7f6c843fd 100644 --- a/app/src/main/java/com/android/calendar/DayOfMonthDrawable.java +++ b/app/src/main/java/com/android/calendar/DayOfMonthDrawable.java @@ -44,7 +44,7 @@ public class DayOfMonthDrawable extends Drawable { mTextSize = c.getResources().getDimension(R.dimen.today_icon_text_size); mPaint = new Paint(); mPaint.setAlpha(255); - mPaint.setColor(c.getResources().getColor(R.color.titleTextColor)); + mPaint.setColor(c.getResources().getColor(R.color.appbar_icon_color)); mPaint.setTypeface(Typeface.DEFAULT_BOLD); mPaint.setTextSize(mTextSize); mPaint.setTextAlign(Paint.Align.CENTER); diff --git a/app/src/main/java/com/android/calendar/DayView.java b/app/src/main/java/com/android/calendar/DayView.java index 0a42cb53f..30e5785b3 100644 --- a/app/src/main/java/com/android/calendar/DayView.java +++ b/app/src/main/java/com/android/calendar/DayView.java @@ -358,7 +358,7 @@ public class DayView extends View implements View.OnCreateContextMenuListener, protected final EventGeometry mEventGeometry; private static float GRID_LINE_LEFT_MARGIN = 0; - private static final float GRID_LINE_INNER_WIDTH = 1; + private static final float GRID_LINE_INNER_WIDTH = 2; private static final int DAY_GAP = 1; private static final int HOUR_GAP = 1; @@ -1070,7 +1070,7 @@ public class DayView extends View implements View.OnCreateContextMenuListener, } mTodayAnimator = ObjectAnimator.ofInt(this, "animateTodayAlpha", mAnimateTodayAlpha, 255); - mAnimateToday = true; + mAnimateToday = false; mTodayAnimatorListener.setFadingIn(true); mTodayAnimatorListener.setAnimator(mTodayAnimator); mTodayAnimator.addListener(mTodayAnimatorListener); diff --git a/app/src/main/java/com/android/calendar/month/MonthWeekEventsView.java b/app/src/main/java/com/android/calendar/month/MonthWeekEventsView.java index e0a183bb0..42a9da93f 100644 --- a/app/src/main/java/com/android/calendar/month/MonthWeekEventsView.java +++ b/app/src/main/java/com/android/calendar/month/MonthWeekEventsView.java @@ -28,6 +28,7 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Align; import android.graphics.Paint.Style; +import android.graphics.Rect; import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.provider.CalendarContract.Attendees; @@ -161,6 +162,7 @@ public class MonthWeekEventsView extends SimpleWeekView { private int mAnimateTodayAlpha = 0; private ObjectAnimator mTodayAnimator = null; private int[] mDayXs; + private static final int EVENT_ADJUST_VALUE = 15; /** * Shows up as an error if we don't include this. @@ -281,7 +283,6 @@ public class MonthWeekEventsView extends SimpleWeekView { mTextSizeEvent *= mScale; mTextSizeEventTitle *= mScale; mTextSizeWeekNum *= mScale; - mDaySeparatorInnerWidth *= mScale; mEventYOffsetPortrait *= mScale; mEventSquareWidth *= mScale; mEventSquareHeight *= mScale; @@ -456,10 +457,8 @@ public class MonthWeekEventsView extends SimpleWeekView { protected void onDraw(Canvas canvas) { drawBackground(canvas); drawWeekNums(canvas); - drawDaySeparators(canvas); - if (mHasToday && mAnimateToday) { - drawToday(canvas); - } + drawHorizontalDaySeparators(canvas); + drawVerticalDaySeparators(canvas); if (mShowDetailsInMonth) { drawEvents(canvas); } else { @@ -491,7 +490,7 @@ public class MonthWeekEventsView extends SimpleWeekView { } @Override - protected void drawDaySeparators(Canvas canvas) { + protected void drawHorizontalDaySeparators(Canvas canvas) { final int coordinatesPerLine = 4; // There are mNumDays - 1 vertical lines and 1 horizontal, so the total is mNumDays float[] lines = new float[mNumDays * coordinatesPerLine]; @@ -502,6 +501,17 @@ public class MonthWeekEventsView extends SimpleWeekView { lines[i++] = 0; lines[i++] = mWidth; lines[i++] = 0; + + p.setColor(mDaySeparatorInnerColor); + p.setStrokeWidth(mDaySeparatorInnerWidth * 4); + canvas.drawLines(lines, 0, lines.length, p); + } + @Override + protected void drawVerticalDaySeparators(Canvas canvas) { + final int coordinatesPerLine = 4; + // There are mNumDays - 1 vertical lines and 1 horizontal, so the total is mNumDays + float[] lines = new float[mNumDays * coordinatesPerLine]; + int i = 0; int y0 = 0; int y1 = mHeight; @@ -514,7 +524,7 @@ public class MonthWeekEventsView extends SimpleWeekView { lines[i++] = y1; } p.setColor(mDaySeparatorInnerColor); - p.setStrokeWidth(mDaySeparatorInnerWidth); + p.setStrokeWidth(mDaySeparatorInnerWidth * 2); canvas.drawLines(lines, 0, lines.length, p); } @@ -522,7 +532,7 @@ public class MonthWeekEventsView extends SimpleWeekView { protected void drawBackground(Canvas canvas) { int i = 0; int offset = 0; - r.top = mDaySeparatorInnerWidth; + r.top = 0; r.bottom = mHeight; if (mShowWeekNum) { i++; @@ -564,14 +574,6 @@ public class MonthWeekEventsView extends SimpleWeekView { canvas.drawRect(r, p); } if (mHasToday) { - int selectedColor = ContextCompat.getColor(mContext, DynamicTheme.getColorId(DynamicTheme.getPrimaryColor(mContext))); - - if (Utils.getSharedPreference(mContext, "pref_theme", "light").equals("light")) { - p.setColor(selectedColor); - p.setAlpha(72); - } else { - p.setColor(mMonthBGTodayColor); - } r.left = computeDayLeftPosition(mTodayIndex); r.right = computeDayLeftPosition(mTodayIndex + 1); canvas.drawRect(r, p); @@ -624,21 +626,42 @@ public class MonthWeekEventsView extends SimpleWeekView { Time time = new Time(mTimeZone); time.setJulianDay(julianMonday); + int current_date_text_x=getResources().getDimensionPixelSize(R.dimen.current_date_text_x); + int current_date_text_y=getResources().getDimensionPixelSize(R.dimen.current_date_text_y); + int current_date_event_margin=getResources().getDimensionPixelSize(R.dimen.current_date_text_event_margin); + for (; i < numCount; i++) { + x = computeDayLeftPosition(i - offset) - (mSidePaddingMonthNumber); if (mHasToday && todayIndex == i) { - mMonthNumPaint.setColor(mMonthNumTodayColor); - mMonthNumPaint.setFakeBoldText(isBold = true); + mMonthNumPaint.setFakeBoldText(isBold = false); if (i + 1 < numCount) { // Make sure the color will be set back on the next // iteration isFocusMonth = !mFocusDay[i + 1]; } + mMonthNumPaint.setColor(getContext().getResources().getColor(R.color.colorAccent)); + int current_date_bg_size=getResources().getDimensionPixelSize(R.dimen.current_date_bg_size); + + //check text width & height to calculate circle cx and cy values + Rect bounds = new Rect(); + mMonthNumPaint.getTextBounds(mDayNumbers[i], 0, mDayNumbers[i].length(), bounds); + + int text_height = bounds.height(); + int text_width = bounds.width(); + + canvas.drawCircle(x - current_date_text_x - (text_width / 2), + y + current_date_text_y - (text_height / 2) - current_date_event_margin, + current_date_bg_size, mMonthNumPaint); + mMonthNumPaint.setColor(mMonthNumTodayColor); } else if (mFocusDay[i] != isFocusMonth) { isFocusMonth = mFocusDay[i]; mMonthNumPaint.setColor(isFocusMonth ? mMonthNumColor : mMonthNumOtherColor); } - x = computeDayLeftPosition(i - offset) - (mSidePaddingMonthNumber); - canvas.drawText(mDayNumbers[i], x, y, mMonthNumPaint); + double relation = Math.sqrt(canvas.getWidth() * canvas.getHeight()); + mMonthNumPaint.setTextSize((int)relation / 12); + + canvas.drawText(mDayNumbers[i], x-current_date_text_x, + y+current_date_text_y - current_date_event_margin, mMonthNumPaint); if (isBold) { mMonthNumPaint.setFakeBoldText(isBold = false); } @@ -1339,8 +1362,8 @@ public class MonthWeekEventsView extends SimpleWeekView { // we want to match the existing appearance of the "event square".) r.left = mBoxBoundaries.getX(); r.right = mBoxBoundaries.getRightEdge(spanningDays) - mStrokeWidthAdj; - r.top = mBoxBoundaries.getY() + mStrokeWidthAdj; - r.bottom = mBoxBoundaries.getY() + mEventHeight * numberOfLines + mBorderSpace * 2 - mStrokeWidthAdj; + r.top = mBoxBoundaries.getY() + mStrokeWidthAdj + EVENT_ADJUST_VALUE; + r.bottom = mBoxBoundaries.getY() + mEventHeight * numberOfLines + mBorderSpace * 2 - mStrokeWidthAdj + EVENT_ADJUST_VALUE; } } @@ -1355,8 +1378,8 @@ public class MonthWeekEventsView extends SimpleWeekView { public void setRectangle(int spanningDays, int numberOfLines) { r.left = mBoxBoundaries.getX(); r.right = mBoxBoundaries.getX() + mEventSquareWidth; - r.top = mBoxBoundaries.getY() + mEventAscentHeight - mEventSquareHeight; - r.bottom = mBoxBoundaries.getY() + mEventAscentHeight + (numberOfLines - 1) * mEventHeight; + r.top = mBoxBoundaries.getY() + mEventAscentHeight - mEventSquareHeight + EVENT_ADJUST_VALUE; + r.bottom = mBoxBoundaries.getY() + mEventAscentHeight + (numberOfLines - 1) * mEventHeight + EVENT_ADJUST_VALUE; } } protected class FixedHeightRegularBoundariesSetter extends RegularBoundariesSetter { @@ -1639,7 +1662,7 @@ public class MonthWeekEventsView extends SimpleWeekView { lineText = baseText.subSequence(mTextLayout.getLineStart(i), mTextLayout.getLineEnd(i)); } - canvas.drawText(lineText.toString(), mBoundaries.getTextX(), mBoundaries.getTextY(), + canvas.drawText(lineText.toString(), mBoundaries.getTextX(), mBoundaries.getTextY() + EVENT_ADJUST_VALUE, getTextPaint()); mBoundaries.moveLinesDown(1); } diff --git a/app/src/main/java/com/android/calendar/month/SimpleWeekView.java b/app/src/main/java/com/android/calendar/month/SimpleWeekView.java index aab255912..8cb0bd95b 100644 --- a/app/src/main/java/com/android/calendar/month/SimpleWeekView.java +++ b/app/src/main/java/com/android/calendar/month/SimpleWeekView.java @@ -406,7 +406,8 @@ public class SimpleWeekView extends View { protected void onDraw(Canvas canvas) { drawBackground(canvas); drawWeekNums(canvas); - drawDaySeparators(canvas); + drawHorizontalDaySeparators(canvas); + drawVerticalDaySeparators(canvas); } /** @@ -471,7 +472,20 @@ public class SimpleWeekView extends View { * * @param canvas The canvas to draw on */ - protected void drawDaySeparators(Canvas canvas) { + protected void drawHorizontalDaySeparators(Canvas canvas) { + if (mHasSelectedDay) { + r.top = 1; + r.bottom = mHeight - 1; + r.left = mSelectedLeft + 1; + r.right = mSelectedRight - 1; + p.setStrokeWidth(MINI_TODAY_OUTLINE_WIDTH); + p.setStyle(Style.STROKE); + p.setColor(mTodayOutlineColor); + canvas.drawRect(r, p); + } + } + + protected void drawVerticalDaySeparators(Canvas canvas) { if (mHasSelectedDay) { r.top = 1; r.bottom = mHeight - 1; diff --git a/app/src/main/java/com/android/calendar/widget/CalendarAppWidgetService.java b/app/src/main/java/com/android/calendar/widget/CalendarAppWidgetService.java index d26d10f41..24b4203fd 100644 --- a/app/src/main/java/com/android/calendar/widget/CalendarAppWidgetService.java +++ b/app/src/main/java/com/android/calendar/widget/CalendarAppWidgetService.java @@ -297,7 +297,7 @@ public class CalendarAppWidgetService extends RemoteViewsService { int past_bg_color = R.color.agenda_past_days_bar_background_color; views.setInt(R.id.widget_row, "setBackgroundResource", past_bg_color); } else { - int future_bg_color = DynamicTheme.getWidgetBackgroundStyle(mContext); + int future_bg_color = R.color.calendar_future_bg_color; views.setInt(R.id.widget_row, "setBackgroundResource", future_bg_color); } diff --git a/app/src/main/res/drawable/actionbar_cursor.xml b/app/src/main/res/drawable/actionbar_cursor.xml index 2ffd9680b..571cdc6f6 100644 --- a/app/src/main/res/drawable/actionbar_cursor.xml +++ b/app/src/main/res/drawable/actionbar_cursor.xml @@ -1,6 +1,6 @@ - + diff --git a/app/src/main/res/drawable/button_drawable.xml b/app/src/main/res/drawable/button_drawable.xml new file mode 100644 index 000000000..abc11ff71 --- /dev/null +++ b/app/src/main/res/drawable/button_drawable.xml @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_add_event.xml b/app/src/main/res/drawable/ic_add_event.xml index e3979cd7f..21ea03fc5 100644 --- a/app/src/main/res/drawable/ic_add_event.xml +++ b/app/src/main/res/drawable/ic_add_event.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/ic_arrow_back.xml b/app/src/main/res/drawable/ic_arrow_back.xml index 71d5bbd29..afa5b58fa 100644 --- a/app/src/main/res/drawable/ic_arrow_back.xml +++ b/app/src/main/res/drawable/ic_arrow_back.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/ic_baseline_calendar_dayofmonth.xml b/app/src/main/res/drawable/ic_baseline_calendar_dayofmonth.xml index fd08d39ef..f75084640 100644 --- a/app/src/main/res/drawable/ic_baseline_calendar_dayofmonth.xml +++ b/app/src/main/res/drawable/ic_baseline_calendar_dayofmonth.xml @@ -1,5 +1,5 @@ - + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> diff --git a/app/src/main/res/drawable/ic_delete_event.xml b/app/src/main/res/drawable/ic_delete_event.xml index 8bed121aa..fadc29db2 100644 --- a/app/src/main/res/drawable/ic_delete_event.xml +++ b/app/src/main/res/drawable/ic_delete_event.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/ic_edit_event.xml b/app/src/main/res/drawable/ic_edit_event.xml index 46462b572..db28c372a 100644 --- a/app/src/main/res/drawable/ic_edit_event.xml +++ b/app/src/main/res/drawable/ic_edit_event.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/ic_menu_cancel.xml b/app/src/main/res/drawable/ic_menu_cancel.xml index 8514014e6..8099e3af9 100644 --- a/app/src/main/res/drawable/ic_menu_cancel.xml +++ b/app/src/main/res/drawable/ic_menu_cancel.xml @@ -1,5 +1,5 @@ - + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> diff --git a/app/src/main/res/drawable/ic_menu_navigator.xml b/app/src/main/res/drawable/ic_menu_navigator.xml index de103a677..f10a32f12 100644 --- a/app/src/main/res/drawable/ic_menu_navigator.xml +++ b/app/src/main/res/drawable/ic_menu_navigator.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/ic_recurrence_bubble_fill.xml b/app/src/main/res/drawable/ic_recurrence_bubble_fill.xml index ef2d66058..f274a2232 100644 --- a/app/src/main/res/drawable/ic_recurrence_bubble_fill.xml +++ b/app/src/main/res/drawable/ic_recurrence_bubble_fill.xml @@ -3,7 +3,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24" - android:tint="?attr/colorPrimary"> + android:tint="@color/colorAccent"> diff --git a/app/src/main/res/drawable/ic_recurrence_bubble_outline.xml b/app/src/main/res/drawable/ic_recurrence_bubble_outline.xml index 8b84d43e1..f53e68553 100644 --- a/app/src/main/res/drawable/ic_recurrence_bubble_outline.xml +++ b/app/src/main/res/drawable/ic_recurrence_bubble_outline.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/ic_share_event.xml b/app/src/main/res/drawable/ic_share_event.xml index 045bbc0c0..f2777172d 100644 --- a/app/src/main/res/drawable/ic_share_event.xml +++ b/app/src/main/res/drawable/ic_share_event.xml @@ -1,4 +1,4 @@ - diff --git a/app/src/main/res/drawable/today_icon.xml b/app/src/main/res/drawable/today_icon.xml index 87b7d69f1..4a372da13 100644 --- a/app/src/main/res/drawable/today_icon.xml +++ b/app/src/main/res/drawable/today_icon.xml @@ -18,11 +18,9 @@ + android:gravity="center" /> + android:gravity="center" /> diff --git a/app/src/main/res/layout-sw600dp/agenda_day.xml b/app/src/main/res/layout-sw600dp/agenda_day.xml index d9137e8fc..9fb78b4eb 100644 --- a/app/src/main/res/layout-sw600dp/agenda_day.xml +++ b/app/src/main/res/layout-sw600dp/agenda_day.xml @@ -16,6 +16,7 @@ diff --git a/app/src/main/res/layout-sw600dp/agenda_item.xml b/app/src/main/res/layout-sw600dp/agenda_item.xml index f861f54cd..6644f1bdc 100644 --- a/app/src/main/res/layout-sw600dp/agenda_item.xml +++ b/app/src/main/res/layout-sw600dp/agenda_item.xml @@ -19,6 +19,7 @@ android:id="@android:id/content" android:layout_height="wrap_content" android:layout_width="match_parent" + android:backgroundTint="@color/background_color" android:minHeight="80dip" android:columnCount="3" android:rowCount="2"> diff --git a/app/src/main/res/layout/agenda_day.xml b/app/src/main/res/layout/agenda_day.xml index 1a5d6c4fd..5e2a18c8c 100644 --- a/app/src/main/res/layout/agenda_day.xml +++ b/app/src/main/res/layout/agenda_day.xml @@ -17,6 +17,7 @@ @@ -34,7 +35,8 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout/agenda_fragment.xml b/app/src/main/res/layout/agenda_fragment.xml index db9b55466..59dfed2d2 100644 --- a/app/src/main/res/layout/agenda_fragment.xml +++ b/app/src/main/res/layout/agenda_fragment.xml @@ -37,6 +37,6 @@ android:layout_height="match_parent" android:layout_width="0px" android:layout_weight=".60" - android:background="#FFFFFFFF" + android:background="@color/background_color" android:layout_marginTop="5dip"/> - + \ No newline at end of file diff --git a/app/src/main/res/layout/agenda_item.xml b/app/src/main/res/layout/agenda_item.xml index 16f815066..1d739bff7 100644 --- a/app/src/main/res/layout/agenda_item.xml +++ b/app/src/main/res/layout/agenda_item.xml @@ -19,6 +19,7 @@ android:id="@android:id/content" android:layout_height="wrap_content" android:layout_width="match_parent" + android:backgroundTint="@color/background_color" android:minHeight="64dip" android:columnCount="3" android:rowCount="2"> @@ -97,4 +98,4 @@ android:visibility="gone" android:contentDescription="@string/acessibility_selected_marker_description" android:background="@drawable/list_multi_left_activated_holo" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/alert_activity.xml b/app/src/main/res/layout/alert_activity.xml index 51b1086f1..58e06ac23 100644 --- a/app/src/main/res/layout/alert_activity.xml +++ b/app/src/main/res/layout/alert_activity.xml @@ -40,6 +40,7 @@ android:layout_height="wrap_content" android:layout_weight="1" style="?android:attr/buttonBarButtonStyle" + android:textColor="@color/colorAccent" android:text="@string/dismiss_all_label" /> diff --git a/app/src/main/res/layout/alert_item.xml b/app/src/main/res/layout/alert_item.xml index 79563f1d9..d4f4df366 100644 --- a/app/src/main/res/layout/alert_item.xml +++ b/app/src/main/res/layout/alert_item.xml @@ -16,6 +16,7 @@ @@ -58,6 +60,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" + android:textColor="@color/color_default_secondary_text" android:ellipsize="end" android:maxLines="1" android:textSize="14sp" /> @@ -70,7 +73,8 @@ android:layout_marginLeft="5dip" android:src="@drawable/ic_repeat_dark" android:focusable="false" - android:clickable="false" /> + android:clickable="false" + app:tint="@color/colorAccent" /> diff --git a/app/src/main/res/layout/all_in_one_material.xml b/app/src/main/res/layout/all_in_one_material.xml index 32d464e1d..3c0420362 100644 --- a/app/src/main/res/layout/all_in_one_material.xml +++ b/app/src/main/res/layout/all_in_one_material.xml @@ -29,7 +29,12 @@ style="@style/Widget.CalendarAppTheme.ActionBar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" - android:minHeight="?attr/actionBarSize" /> + android:elevation="4dp" + app:popupTheme="@style/Widget.CalendarAppTheme.ActionBar.PopupTheme" + android:minHeight="?attr/actionBarSize" + app:titleTextColor="@color/appbar_text_color" + app:subtitleTextColor="@color/appbar_text_color" + android:theme="@style/Widget.CalendarAppTheme.ActionBar"/> @@ -49,5 +55,9 @@ android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" - app:menu="@menu/calendar_view" /> + android:background="@color/navigation_drawer_color" + app:menu="@menu/calendar_view" + app:itemTextColor="@color/navigation_drawer_selector" + app:itemIconTint="@color/navigation_drawer_selector" + app:theme="@style/NavigationDrawer"/> diff --git a/app/src/main/res/layout/app_bar.xml b/app/src/main/res/layout/app_bar.xml index 6091f83c3..a81c44aec 100644 --- a/app/src/main/res/layout/app_bar.xml +++ b/app/src/main/res/layout/app_bar.xml @@ -4,8 +4,10 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" style="@style/Widget.CalendarAppTheme.ActionBar" + android:elevation="4dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" + app:titleTextColor="@color/appbar_text_color" app:theme="@style/Widget.CalendarAppTheme.ActionBar" app:titleTextAppearance="?attr/settings_titleText" /> diff --git a/app/src/main/res/layout/appwidget.xml b/app/src/main/res/layout/appwidget.xml index 765aae0ca..dd8df5859 100644 --- a/app/src/main/res/layout/appwidget.xml +++ b/app/src/main/res/layout/appwidget.xml @@ -28,6 +28,7 @@ android:id="@+id/header" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="@color/colorPrimaryDark" android:gravity="center_vertical|start" android:minHeight="48dip" android:orientation="vertical" diff --git a/app/src/main/res/layout/bubble_event.xml b/app/src/main/res/layout/bubble_event.xml index 30acc4e17..cbd7943f4 100644 --- a/app/src/main/res/layout/bubble_event.xml +++ b/app/src/main/res/layout/bubble_event.xml @@ -40,7 +40,8 @@ android:layout_gravity="center" android:layout_marginRight="6dip" android:src="@drawable/ic_alarm_white" - /> + android:tint="@color/foreground_color" + /> + android:tint="@color/foreground_color" + /> diff --git a/app/src/main/res/layout/create_event_dialog.xml b/app/src/main/res/layout/create_event_dialog.xml index c5a0693d4..aac5b612f 100644 --- a/app/src/main/res/layout/create_event_dialog.xml +++ b/app/src/main/res/layout/create_event_dialog.xml @@ -80,7 +80,7 @@ android:ellipsize="marquee" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" - android:textColor="?attr/calendar_owner_text_color" /> + android:textColor="@color/color_default_secondary_text" /> diff --git a/app/src/main/res/layout/edit_event_all.xml b/app/src/main/res/layout/edit_event_all.xml index db2cf21fe..040effcc7 100644 --- a/app/src/main/res/layout/edit_event_all.xml +++ b/app/src/main/res/layout/edit_event_all.xml @@ -33,23 +33,28 @@ app:constraint_referenced_ids="timezone_icon,timezone_button" /> - + android:paddingTop="10dp"> + + + + app:layout_constraintTop_toBottomOf="@+id/title_row" /> - - - - - + android:layout_height="?attr/actionBarSize"> + + - - - - +