Show description in widget

pull/996/head
Alex Baker 6 years ago
parent ccde7f61a2
commit 8082af19d9

@ -66,6 +66,9 @@ class ScrollableWidget : InjectingPreferenceFragment() {
setupCheckbox(R.string.p_widget_show_checkboxes) setupCheckbox(R.string.p_widget_show_checkboxes)
setupCheckbox(R.string.p_widget_due_date_underneath, false) setupCheckbox(R.string.p_widget_due_date_underneath, false)
setupCheckbox(R.string.p_widget_show_full_task_title, 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) setupList(R.string.p_widget_spacing)
val showHeader = setupCheckbox(R.string.p_widget_show_header) val showHeader = setupCheckbox(R.string.p_widget_show_header)
val showSettings = setupCheckbox(R.string.p_widget_show_settings) val showSettings = setupCheckbox(R.string.p_widget_show_settings)

@ -165,6 +165,20 @@ class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFactory {
"setMaxLines", "setMaxLines",
widgetPreferences.showFullTaskTitle() ? Integer.MAX_VALUE : 1); 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.setTextViewText(R.id.widget_text, textContent);
row.setTextColor(R.id.widget_text, textColorTitle); row.setTextColor(R.id.widget_text, textColorTitle);
row.setImageViewBitmap(R.id.widget_complete_box, getCheckbox(task)); 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); Intent completeIntent = new Intent(WidgetClickActivity.COMPLETE_TASK);
completeIntent.putExtra(WidgetClickActivity.EXTRA_TASK, task); completeIntent.putExtra(WidgetClickActivity.EXTRA_TASK, task);
row.setOnClickFillInIntent(R.id.widget_complete_box, completeIntent); 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_due_bottom, 0, 0, horizontalPadding, verticalPadding);
row.setViewPadding(R.id.widget_description, 0, 0, horizontalPadding, textBottomPadding);
} else { } else {
row.setViewVisibility(R.id.widget_complete_box, View.GONE); 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_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); int dividerColor = ContextCompat.getColor(context, widgetPreferences.getThemeIndex() == 0 ? R.color.black_12 : R.color.white_12);

@ -42,6 +42,14 @@ public class WidgetPreferences {
return preferences.getBoolean(getKey(R.string.p_widget_show_full_task_title), false); 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() { boolean dueDateBelowTitle() {
return preferences.getBoolean(getKey(R.string.p_widget_due_date_underneath), false); return preferences.getBoolean(getKey(R.string.p_widget_due_date_underneath), false);
} }

@ -50,11 +50,25 @@
android:textSize="16sp" android:textSize="16sp"
tools:text="Task title" /> tools:text="Task title" />
<TextView
android:id="@+id/widget_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/widget_text"
android:layout_alignStart="@id/widget_text"
android:paddingStart="0dp"
android:paddingEnd="@dimen/widget_padding"
android:maxLines="2"
android:ellipsize="end"
android:textAlignment="viewStart"
android:textSize="16sp"
tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean tristique magna mauris, vel vulputate elit varius sit amet. Etiam sed nisl diam. Aenean vulputate ex nec ex condimentum commodo. Nunc faucibus augue in lacus tincidunt pretium. Donec mollis ex a ipsum semper, faucibus viverra turpis consequat. Donec id suscipit est. Duis a consectetur justo. Nunc in diam urna." />
<TextView <TextView
android:id="@+id/widget_due_bottom" android:id="@+id/widget_due_bottom"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/widget_text" android:layout_below="@id/widget_description"
android:layout_alignStart="@id/widget_text" android:layout_alignStart="@id/widget_text"
android:ellipsize="end" android:ellipsize="end"
android:gravity="start|center_vertical" android:gravity="start|center_vertical"

@ -270,6 +270,8 @@
<string name="p_widget_font_size">widget-font-size-</string> <string name="p_widget_font_size">widget-font-size-</string>
<string name="p_widget_show_due_date">widget-show-due-date-</string> <string name="p_widget_show_due_date">widget-show-due-date-</string>
<string name="p_widget_show_full_task_title">widget-show-full-task-title-</string> <string name="p_widget_show_full_task_title">widget-show-full-task-title-</string>
<string name="p_widget_show_description">widget-show-description-</string>
<string name="p_widget_show_full_description">widget-show-full-description-</string>
<string name="p_widget_show_checkboxes">widget-show-checkboxes-</string> <string name="p_widget_show_checkboxes">widget-show-checkboxes-</string>
<string name="p_widget_show_header">widget-show-header-</string> <string name="p_widget_show_header">widget-show-header-</string>
<string name="p_widget_show_settings">widget-show-settings-</string> <string name="p_widget_show_settings">widget-show-settings-</string>

@ -61,6 +61,16 @@
android:key="@string/p_widget_show_due_date" android:key="@string/p_widget_show_due_date"
android:title="@string/widget_show_due_date" /> android:title="@string/widget_show_due_date" />
<SwitchPreferenceCompat
android:defaultValue="true"
android:key="@string/p_widget_show_description"
android:title="@string/show_description" />
<SwitchPreferenceCompat
android:defaultValue="false"
android:key="@string/p_widget_show_full_description"
android:title="@string/show_full_description" />
<SwitchPreferenceCompat <SwitchPreferenceCompat
android:key="@string/p_widget_show_checkboxes" android:key="@string/p_widget_show_checkboxes"
android:title="@string/widget_show_checkboxes" /> android:title="@string/widget_show_checkboxes" />

Loading…
Cancel
Save