diff --git a/app/src/main/java/eu/faircode/email/ActivityWidgetUnified.java b/app/src/main/java/eu/faircode/email/ActivityWidgetUnified.java
index 60584640a4..0570c54bca 100644
--- a/app/src/main/java/eu/faircode/email/ActivityWidgetUnified.java
+++ b/app/src/main/java/eu/faircode/email/ActivityWidgetUnified.java
@@ -72,6 +72,7 @@ public class ActivityWidgetUnified extends ActivityBase {
private TextView tvSubjectLinesHint;
private CheckBox cbAvatars;
private CheckBox cbAccountName;
+ private CheckBox cbCaption;
private CheckBox cbRefresh;
private CheckBox cbCompose;
private Button btnSave;
@@ -114,6 +115,7 @@ public class ActivityWidgetUnified extends ActivityBase {
int subject_lines = prefs.getInt("widget." + appWidgetId + ".subject_lines", 1);
boolean avatars = prefs.getBoolean("widget." + appWidgetId + ".avatars", false);
boolean account_name = prefs.getBoolean("widget." + appWidgetId + ".account_name", true);
+ boolean caption = prefs.getBoolean("widget." + appWidgetId + ".caption", true);
boolean refresh = prefs.getBoolean("widget." + appWidgetId + ".refresh", false);
boolean compose = prefs.getBoolean("widget." + appWidgetId + ".compose", false);
@@ -139,6 +141,7 @@ public class ActivityWidgetUnified extends ActivityBase {
tvSubjectLinesHint = findViewById(R.id.tvSubjectLinesHint);
cbAvatars = findViewById(R.id.cbAvatars);
cbAccountName = findViewById(R.id.cbAccountName);
+ cbCaption = findViewById(R.id.cbCaption);
cbRefresh = findViewById(R.id.cbRefresh);
cbCompose = findViewById(R.id.cbCompose);
btnSave = findViewById(R.id.btnSave);
@@ -282,6 +285,7 @@ public class ActivityWidgetUnified extends ActivityBase {
editor.putInt("widget." + appWidgetId + ".subject_lines", spSubjectLines.getSelectedItemPosition() + 1);
editor.putBoolean("widget." + appWidgetId + ".avatars", cbAvatars.isChecked());
editor.putBoolean("widget." + appWidgetId + ".account_name", cbAccountName.isChecked());
+ editor.putBoolean("widget." + appWidgetId + ".caption", cbCaption.isChecked());
editor.putBoolean("widget." + appWidgetId + ".refresh", cbRefresh.isChecked());
editor.putBoolean("widget." + appWidgetId + ".compose", cbCompose.isChecked());
editor.putInt("widget." + appWidgetId + ".version", BuildConfig.VERSION_CODE);
@@ -416,6 +420,7 @@ public class ActivityWidgetUnified extends ActivityBase {
cbAccountName.setChecked(account_name);
spSubjectLines.setSelection(subject_lines - 1);
tvSubjectLinesHint.setText(getString(R.string.title_advanced_preview_lines_hint, NF.format(HtmlHelper.PREVIEW_SIZE)));
+ cbCaption.setChecked(caption);
cbRefresh.setChecked(refresh);
cbCompose.setChecked(compose);
diff --git a/app/src/main/java/eu/faircode/email/WidgetUnified.java b/app/src/main/java/eu/faircode/email/WidgetUnified.java
index 1952c3d946..776f426ad7 100644
--- a/app/src/main/java/eu/faircode/email/WidgetUnified.java
+++ b/app/src/main/java/eu/faircode/email/WidgetUnified.java
@@ -56,6 +56,7 @@ public class WidgetUnified extends AppWidgetProvider {
boolean separators = prefs.getBoolean("widget." + appWidgetId + ".separators", true);
int font = prefs.getInt("widget." + appWidgetId + ".font", 0);
int padding = prefs.getInt("widget." + appWidgetId + ".padding", 0);
+ boolean caption = prefs.getBoolean("widget." + appWidgetId + ".caption", true);
boolean refresh = prefs.getBoolean("widget." + appWidgetId + ".refresh", false);
boolean compose = prefs.getBoolean("widget." + appWidgetId + ".compose", false);
int version = prefs.getInt("widget." + appWidgetId + ".version", 0);
@@ -99,10 +100,15 @@ public class WidgetUnified extends AppWidgetProvider {
int px = getPaddingPx(padding, context);
views.setViewPadding(R.id.title, px, px, px, px);
- if (name == null)
- views.setTextViewText(R.id.title, context.getString(R.string.title_folder_unified));
- else
- views.setTextViewText(R.id.title, name);
+ if (caption) {
+ if (name == null)
+ views.setTextViewText(R.id.title, context.getString(R.string.title_folder_unified));
+ else
+ views.setTextViewText(R.id.title, name);
+ } else
+ views.setTextViewText(R.id.title, null);
+ views.setViewVisibility(R.id.title, caption || refresh || compose ? View.VISIBLE : View.GONE);
+ views.setViewVisibility(R.id.padding, caption || refresh || compose ? View.GONE : View.VISIBLE);
views.setOnClickPendingIntent(R.id.title, pi);
diff --git a/app/src/main/res/layout/activity_widget_unified.xml b/app/src/main/res/layout/activity_widget_unified.xml
index 179c26d3bb..0af1a7bfbe 100644
--- a/app/src/main/res/layout/activity_widget_unified.xml
+++ b/app/src/main/res/layout/activity_widget_unified.xml
@@ -224,6 +224,16 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cbAvatars" />
+
+
+ app:layout_constraintTop_toBottomOf="@id/cbCaption" />
+
+
Maximum number of subject lines
Show contact avatars
Show account name
+ Show title
Show refresh messages button
Show compose new message button
Background color