diff --git a/app/src/main/java/org/tasks/preferences/fragments/ScrollableWidget.kt b/app/src/main/java/org/tasks/preferences/fragments/ScrollableWidget.kt
index a134c871e..d2c522cfe 100644
--- a/app/src/main/java/org/tasks/preferences/fragments/ScrollableWidget.kt
+++ b/app/src/main/java/org/tasks/preferences/fragments/ScrollableWidget.kt
@@ -66,6 +66,9 @@ class ScrollableWidget : InjectingPreferenceFragment() {
setupCheckbox(R.string.p_widget_show_checkboxes)
setupCheckbox(R.string.p_widget_due_date_underneath, false)
setupCheckbox(R.string.p_widget_show_full_task_title, false)
+ val showDescription = setupCheckbox(R.string.p_widget_show_description, true)
+ val showFullDescription = setupCheckbox(R.string.p_widget_show_full_description, false)
+ showFullDescription.dependency = showDescription.key
setupList(R.string.p_widget_spacing)
val showHeader = setupCheckbox(R.string.p_widget_show_header)
val showSettings = setupCheckbox(R.string.p_widget_show_settings)
diff --git a/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java b/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java
index 0af64d2d2..66466d832 100644
--- a/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java
+++ b/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java
@@ -165,6 +165,20 @@ class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFactory {
"setMaxLines",
widgetPreferences.showFullTaskTitle() ? Integer.MAX_VALUE : 1);
+ boolean showDescription = task.hasNotes() && widgetPreferences.showDescription();
+
+ if (showDescription) {
+ row.setTextViewText(R.id.widget_description, task.getNotes());
+ row.setViewVisibility(R.id.widget_description, View.VISIBLE);
+ row.setTextColor(R.id.widget_description, textColorSecondary);
+ row.setInt(
+ R.id.widget_description,
+ "setMaxLines",
+ widgetPreferences.showFullDescription() ? Integer.MAX_VALUE : 2);
+ } else {
+ row.setViewVisibility(R.id.widget_description, View.GONE);
+ }
+
row.setTextViewText(R.id.widget_text, textContent);
row.setTextColor(R.id.widget_text, textColorTitle);
row.setImageViewBitmap(R.id.widget_complete_box, getCheckbox(task));
@@ -186,12 +200,14 @@ class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFactory {
Intent completeIntent = new Intent(WidgetClickActivity.COMPLETE_TASK);
completeIntent.putExtra(WidgetClickActivity.EXTRA_TASK, task);
row.setOnClickFillInIntent(R.id.widget_complete_box, completeIntent);
- row.setViewPadding(R.id.widget_text, 0, verticalPadding, horizontalPadding, textBottomPadding);
+ row.setViewPadding(R.id.widget_text, 0, verticalPadding, horizontalPadding, showDescription ? 0 : textBottomPadding);
row.setViewPadding(R.id.widget_due_bottom, 0, 0, horizontalPadding, verticalPadding);
+ row.setViewPadding(R.id.widget_description, 0, 0, horizontalPadding, textBottomPadding);
} else {
row.setViewVisibility(R.id.widget_complete_box, View.GONE);
- row.setViewPadding(R.id.widget_text, horizontalPadding, verticalPadding, horizontalPadding, textBottomPadding);
+ row.setViewPadding(R.id.widget_text, horizontalPadding, verticalPadding, horizontalPadding, showDescription ? 0 : textBottomPadding);
row.setViewPadding(R.id.widget_due_bottom, horizontalPadding, 0, horizontalPadding, verticalPadding);
+ row.setViewPadding(R.id.widget_description, horizontalPadding, 0, horizontalPadding, textBottomPadding);
}
int dividerColor = ContextCompat.getColor(context, widgetPreferences.getThemeIndex() == 0 ? R.color.black_12 : R.color.white_12);
diff --git a/app/src/main/java/org/tasks/widget/WidgetPreferences.java b/app/src/main/java/org/tasks/widget/WidgetPreferences.java
index fa426c539..cb9bc7c68 100644
--- a/app/src/main/java/org/tasks/widget/WidgetPreferences.java
+++ b/app/src/main/java/org/tasks/widget/WidgetPreferences.java
@@ -42,6 +42,14 @@ public class WidgetPreferences {
return preferences.getBoolean(getKey(R.string.p_widget_show_full_task_title), false);
}
+ boolean showDescription() {
+ return preferences.getBoolean(getKey(R.string.p_widget_show_description), true);
+ }
+
+ boolean showFullDescription() {
+ return preferences.getBoolean(getKey(R.string.p_widget_show_full_description), false);
+ }
+
boolean dueDateBelowTitle() {
return preferences.getBoolean(getKey(R.string.p_widget_due_date_underneath), false);
}
diff --git a/app/src/main/res/layout/widget_row.xml b/app/src/main/res/layout/widget_row.xml
index d08a2b427..53b5826ba 100644
--- a/app/src/main/res/layout/widget_row.xml
+++ b/app/src/main/res/layout/widget_row.xml
@@ -50,11 +50,25 @@
android:textSize="16sp"
tools:text="Task title" />
+
+
widget-font-size-
widget-show-due-date-
widget-show-full-task-title-
+ widget-show-description-
+ widget-show-full-description-
widget-show-checkboxes-
widget-show-header-
widget-show-settings-
diff --git a/app/src/main/res/xml/preferences_widget.xml b/app/src/main/res/xml/preferences_widget.xml
index dcd323818..4a229ef55 100644
--- a/app/src/main/res/xml/preferences_widget.xml
+++ b/app/src/main/res/xml/preferences_widget.xml
@@ -61,6 +61,16 @@
android:key="@string/p_widget_show_due_date"
android:title="@string/widget_show_due_date" />
+
+
+
+