From 01071680950c1a0f57d738aed92a71b749221d3b Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 12 Apr 2021 19:57:54 +0200 Subject: [PATCH] Allow transparent widgets --- .../main/java/eu/faircode/email/ActivityWidget.java | 10 ++++++++-- .../java/eu/faircode/email/ActivityWidgetSync.java | 2 ++ .../java/eu/faircode/email/ActivityWidgetUnified.java | 2 ++ app/src/main/java/eu/faircode/email/Widget.java | 5 ++++- app/src/main/java/eu/faircode/email/WidgetSync.java | 6 +++++- app/src/main/java/eu/faircode/email/WidgetUnified.java | 5 ++++- 6 files changed, 25 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityWidget.java b/app/src/main/java/eu/faircode/email/ActivityWidget.java index 940f38deed..0bd9fb9dca 100644 --- a/app/src/main/java/eu/faircode/email/ActivityWidget.java +++ b/app/src/main/java/eu/faircode/email/ActivityWidget.java @@ -180,6 +180,7 @@ public class ActivityWidget extends ActivityBase { ((TextView) inOld.findViewById(R.id.tvCount)).setText("12"); ((TextView) inNew.findViewById(R.id.tvCount)).setText("12"); + btnColor.setColor(Color.TRANSPARENT); setBackground(); grpReady.setVisibility(View.GONE); @@ -223,8 +224,13 @@ public class ActivityWidget extends ActivityBase { boolean semi = cbSemiTransparent.isChecked(); int background = btnColor.getColor(); if (background == Color.TRANSPARENT) { - inOld.setBackgroundResource(R.drawable.widget_background); - inNew.setBackgroundResource(R.drawable.widget_background); + if (semi) { + inOld.setBackgroundResource(R.drawable.widget_background); + inNew.setBackgroundResource(R.drawable.widget_background); + } else { + inOld.setBackgroundColor(background); + inNew.setBackgroundColor(background); + } } else { float lum = (float) ColorUtils.calculateLuminance(background); int color = (lum > 0.7 ? Color.BLACK : getResources().getColor(R.color.colorWidgetForeground)); diff --git a/app/src/main/java/eu/faircode/email/ActivityWidgetSync.java b/app/src/main/java/eu/faircode/email/ActivityWidgetSync.java index ff0956d1b2..4abafc8eb4 100644 --- a/app/src/main/java/eu/faircode/email/ActivityWidgetSync.java +++ b/app/src/main/java/eu/faircode/email/ActivityWidgetSync.java @@ -112,6 +112,8 @@ public class ActivityWidgetSync extends ActivityBase { } }); + btnColor.setColor(Color.TRANSPARENT); + setResult(RESULT_CANCELED, resultValue); } } diff --git a/app/src/main/java/eu/faircode/email/ActivityWidgetUnified.java b/app/src/main/java/eu/faircode/email/ActivityWidgetUnified.java index 43f1308963..bafe6a104c 100644 --- a/app/src/main/java/eu/faircode/email/ActivityWidgetUnified.java +++ b/app/src/main/java/eu/faircode/email/ActivityWidgetUnified.java @@ -256,6 +256,8 @@ public class ActivityWidgetUnified extends ActivityBase { adapterPadding.setDropDownViewResource(R.layout.spinner_item1_dropdown); spPadding.setAdapter(adapterPadding); + btnColor.setColor(Color.TRANSPARENT); + grpReady.setVisibility(View.GONE); pbWait.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/eu/faircode/email/Widget.java b/app/src/main/java/eu/faircode/email/Widget.java index ff6aacc035..8be07ab493 100644 --- a/app/src/main/java/eu/faircode/email/Widget.java +++ b/app/src/main/java/eu/faircode/email/Widget.java @@ -123,7 +123,10 @@ public class Widget extends AppWidgetProvider { views.setViewVisibility(R.id.tvAccount, ViewStripe.VISIBLE); } - if (background != Color.TRANSPARENT) { + if (background == Color.TRANSPARENT) { + if (!semi && version > 1550) + views.setInt(R.id.widget, "setBackgroundColor", background); + } else { float lum = (float) ColorUtils.calculateLuminance(background); if (semi) diff --git a/app/src/main/java/eu/faircode/email/WidgetSync.java b/app/src/main/java/eu/faircode/email/WidgetSync.java index 3db44c37d5..c835338000 100644 --- a/app/src/main/java/eu/faircode/email/WidgetSync.java +++ b/app/src/main/java/eu/faircode/email/WidgetSync.java @@ -48,12 +48,16 @@ public class WidgetSync extends AppWidgetProvider { for (int appWidgetId : appWidgetIds) { boolean semi = prefs.getBoolean("widget." + appWidgetId + ".semi", true); int background = prefs.getInt("widget." + appWidgetId + ".background", Color.TRANSPARENT); + int version = prefs.getInt("widget." + appWidgetId + ".version", 0); RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_sync); views.setOnClickPendingIntent(R.id.ivSync, pi); views.setImageViewResource(R.id.ivSync, enabled ? R.drawable.twotone_sync_24 : R.drawable.twotone_sync_disabled_24); - if (background != Color.TRANSPARENT) { + if (background == Color.TRANSPARENT) { + if (!semi && version > 1550) + views.setInt(R.id.widget, "setBackgroundColor", background); + } else { float lum = (float) ColorUtils.calculateLuminance(background); if (semi) diff --git a/app/src/main/java/eu/faircode/email/WidgetUnified.java b/app/src/main/java/eu/faircode/email/WidgetUnified.java index ef12aaa32b..355afb7030 100644 --- a/app/src/main/java/eu/faircode/email/WidgetUnified.java +++ b/app/src/main/java/eu/faircode/email/WidgetUnified.java @@ -95,7 +95,10 @@ public class WidgetUnified extends AppWidgetProvider { views.setPendingIntentTemplate(R.id.lv, piItem); - if (background != Color.TRANSPARENT) { + if (background == Color.TRANSPARENT) { + if (!semi && version > 1550) + views.setInt(R.id.widget, "setBackgroundColor", background); + } else { float lum = (float) ColorUtils.calculateLuminance(background); if (semi)