From 3554895a5d88925e95f6b9c67f5f4c9837712181 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Tue, 18 Aug 2020 08:09:12 -0500 Subject: [PATCH] Widgets: Show shadow if widget is completely opaque --- .../main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java | 1 + .../src/main/java/org/isoron/uhabits/widgets/FrequencyWidget.kt | 1 + .../src/main/java/org/isoron/uhabits/widgets/HistoryWidget.kt | 1 + .../src/main/java/org/isoron/uhabits/widgets/ScoreWidget.kt | 1 + .../src/main/java/org/isoron/uhabits/widgets/StreakWidget.kt | 1 + .../src/main/java/org/isoron/uhabits/widgets/TargetWidget.kt | 1 + 6 files changed, 6 insertions(+) diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java index 98718da33..69e8437da 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java @@ -81,6 +81,7 @@ public abstract class BaseWidgetProvider extends AppWidgetProvider if (manager == null) throw new RuntimeException("manager is null"); if (options == null) throw new RuntimeException("options is null"); updateDependencies(context); + context.setTheme(R.style.WidgetTheme); BaseWidget widget = getWidgetFromId(context, widgetId); diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidget.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidget.kt index bdc60a3f6..2829f812d 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidget.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidget.kt @@ -40,6 +40,7 @@ class FrequencyWidget( val widgetView = v as GraphWidgetView widgetView.setTitle(habit.name) widgetView.setBackgroundAlpha(preferedBackgroundAlpha) + if (preferedBackgroundAlpha >= 255) widgetView.setShadowAlpha(0x4f) (widgetView.dataView as FrequencyChart).apply { setFirstWeekday(firstWeekday) setColor(PaletteUtils.getColor(context, habit.color)) diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidget.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidget.kt index 9860b3e15..9cec78d4e 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidget.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidget.kt @@ -41,6 +41,7 @@ class HistoryWidget( override fun refreshData(view: View) { val widgetView = view as GraphWidgetView widgetView.setBackgroundAlpha(preferedBackgroundAlpha) + if (preferedBackgroundAlpha >= 255) widgetView.setShadowAlpha(0x4f) (widgetView.dataView as HistoryChart).apply { setFirstWeekday(firstWeekday) setColor(PaletteUtils.getColor(context, habit.color)) diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/ScoreWidget.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/ScoreWidget.kt index 93dbf6792..a7510ac14 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/ScoreWidget.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/ScoreWidget.kt @@ -46,6 +46,7 @@ class ScoreWidget( val widgetView = view as GraphWidgetView widgetView.setBackgroundAlpha(preferedBackgroundAlpha) + if (preferedBackgroundAlpha >= 255) widgetView.setShadowAlpha(0x4f) (widgetView.dataView as ScoreChart).apply { setIsTransparencyEnabled(true) setBucketSize(size) diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/StreakWidget.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/StreakWidget.kt index 73d823c31..8cb0a4c6b 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/StreakWidget.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/StreakWidget.kt @@ -40,6 +40,7 @@ class StreakWidget( override fun refreshData(view: View) { val widgetView = view as GraphWidgetView widgetView.setBackgroundAlpha(preferedBackgroundAlpha) + if (preferedBackgroundAlpha >= 255) widgetView.setShadowAlpha(0x4f) (widgetView.dataView as StreakChart).apply { setColor(PaletteUtils.getColor(context, habit.color)) setStreaks(habit.streaks.getBest(maxStreakCount)) diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/TargetWidget.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/TargetWidget.kt index e38e25f9e..9eae5c685 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/TargetWidget.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/TargetWidget.kt @@ -40,6 +40,7 @@ class TargetWidget( override fun refreshData(view: View) { val widgetView = view as GraphWidgetView widgetView.setBackgroundAlpha(preferedBackgroundAlpha) + if (preferedBackgroundAlpha >= 255) widgetView.setShadowAlpha(0x4f) val chart = (widgetView.dataView as TargetChart) with(TargetCard.RefreshTask(context, habit, prefs.firstWeekday, chart, null)) { onPreExecute()