Dashboard: Add preference for disabling dimming in Today widget

This commit is contained in:
Arjan Schrijver
2026-02-23 15:11:20 +01:00
parent 17a4338984
commit 7a5427e028
4 changed files with 20 additions and 9 deletions
@@ -69,6 +69,7 @@ public class DashboardPreferencesActivity extends AbstractSettingsActivityV2 {
"dashboard_widget_today_24h",
"dashboard_widget_today_24h_upside_down",
"dashboard_widget_today_show_yesterday",
"dashboard_widget_today_dim_yesterday",
"dashboard_widget_today_time_indicator",
"dashboard_widget_today_2columns",
"dashboard_widget_today_legend",
@@ -148,6 +148,7 @@ public class DashboardTodayWidget extends AbstractDashboardWidget {
Prefs prefs = GBApplication.getPrefs();
boolean upsideDown24h = prefs.getBoolean("dashboard_widget_today_24h_upside_down", false);
boolean showYesterday = prefs.getBoolean("dashboard_widget_today_show_yesterday", false);
boolean dimYesterday = prefs.getBoolean("dashboard_widget_today_dim_yesterday", true);
// Prepare circular chart
long currentDayStart = dashboardData.timeTo - 86400;
@@ -276,56 +277,56 @@ public class DashboardTodayWidget extends AbstractDashboardWidget {
if (activity.activityKind == ActivityKind.NOT_MEASURED) {
paint.setStrokeWidth(barWidth / 3f);
paint.setColor(color_worn);
if (showYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
if (showYesterday && dimYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
paint.setAlpha(64);
}
canvas.drawArc(margin, margin, width - margin, height - margin, start_angle, sweep_angle, false, paint);
} else if (activity.activityKind == ActivityKind.NOT_WORN) {
paint.setStrokeWidth(barWidth / 3f);
paint.setColor(color_not_worn);
if (showYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
if (showYesterday && dimYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
paint.setAlpha(64);
}
canvas.drawArc(margin, margin, width - margin, height - margin, start_angle, sweep_angle, false, paint);
} else if (activity.activityKind == ActivityKind.LIGHT_SLEEP || activity.activityKind == ActivityKind.SLEEP_ANY) {
paint.setStrokeWidth(barWidth);
paint.setColor(color_light_sleep);
if (showYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
if (showYesterday && dimYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
paint.setAlpha(64);
}
canvas.drawArc(margin, margin, width - margin, height - margin, start_angle, sweep_angle, false, paint);
} else if (activity.activityKind == ActivityKind.REM_SLEEP) {
paint.setStrokeWidth(barWidth);
paint.setColor(color_rem_sleep);
if (showYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
if (showYesterday && dimYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
paint.setAlpha(64);
}
canvas.drawArc(margin, margin, width - margin, height - margin, start_angle, sweep_angle, false, paint);
} else if (activity.activityKind == ActivityKind.DEEP_SLEEP) {
paint.setStrokeWidth(barWidth);
paint.setColor(color_deep_sleep);
if (showYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
if (showYesterday && dimYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
paint.setAlpha(64);
}
canvas.drawArc(margin, margin, width - margin, height - margin, start_angle, sweep_angle, false, paint);
} else if (activity.activityKind == ActivityKind.AWAKE_SLEEP) {
paint.setStrokeWidth(barWidth);
paint.setColor(color_awake_sleep);
if (showYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
if (showYesterday && dimYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
paint.setAlpha(64);
}
canvas.drawArc(margin, margin, width - margin, height - margin, start_angle, sweep_angle, false, paint);
} else if (activity.activityKind == ActivityKind.EXERCISE) {
paint.setStrokeWidth(barWidth);
paint.setColor(color_exercise);
if (showYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
if (showYesterday && dimYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
paint.setAlpha(64);
}
canvas.drawArc(margin, margin, width - margin, height - margin, start_angle, sweep_angle, false, paint);
} else {
paint.setStrokeWidth(barWidth);
paint.setColor(color_activity);
if (showYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
if (showYesterday && dimYesterday && dayIsToday && activity.timeFrom < currentDayStart) {
paint.setAlpha(64);
}
canvas.drawArc(margin, margin, width - margin, height - margin, start_angle, sweep_angle, false, paint);
+3 -1
View File
@@ -4105,7 +4105,9 @@
<string name="contact_birthday">%1s\'s birthday</string>
<string name="birthdays">Birthdays</string>
<string name="pref_dashboard_widget_today_yesterday_data_title">Data from yesterday</string>
<string name="pref_dashboard_widget_today_yesterday_data_summary">Show data from yesterday dimmed between the current time and midnight</string>
<string name="pref_dashboard_widget_today_yesterday_data_summary">Show data from yesterday between the current time and midnight</string>
<string name="pref_dashboard_widget_today_dim_yesterday_data_title">Show yesterday dimmed</string>
<string name="pref_dashboard_widget_today_dim_yesterday_data_summary">Show data from yesterday with dimmed colors</string>
<string name="pref_dashboard_widget_today_time_indicator_title">Current time indicator</string>
<string name="pref_dashboard_widget_today_time_indicator_summary">Show an indicator at the current time, to visually separate data from yesterday and today</string>
<string name="pref_dnd_follow_phone_title">Follow phone DND setting</string>
@@ -61,6 +61,13 @@
android:title="@string/pref_dashboard_widget_today_yesterday_data_title"
android:summary="@string/pref_dashboard_widget_today_yesterday_data_summary"
app:iconSpaceReserved="false" />
<SwitchPreferenceCompat
android:defaultValue="true"
android:key="dashboard_widget_today_dim_yesterday"
android:layout="@layout/preference_checkbox"
android:title="@string/pref_dashboard_widget_today_dim_yesterday_data_title"
android:summary="@string/pref_dashboard_widget_today_dim_yesterday_data_summary"
app:iconSpaceReserved="false" />
<SwitchPreferenceCompat
android:defaultValue="false"
android:key="dashboard_widget_today_time_indicator"