From 2bbb386c18769c6d56fd3ebbc4b33246985ecc42 Mon Sep 17 00:00:00 2001 From: OliE Date: Thu, 10 May 2018 10:06:52 +0200 Subject: [PATCH] added to widget an evaluation indicator and show for one-cell-width widget an icon --- .../health/openscale/gui/views/MeasurementView.java | 6 ++++++ .../health/openscale/gui/widget/WidgetProvider.java | 5 +++++ android_app/app/src/main/res/layout/widget.xml | 13 +++++++++++++ 3 files changed, 24 insertions(+) diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/MeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/MeasurementView.java index 94d185d6..49375144 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/MeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/MeasurementView.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.SharedPreferences; import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.preference.PreferenceManager; @@ -322,6 +323,11 @@ public abstract class MeasurementView extends TableLayout { return valueView.getCurrentTextColor(); } + public int getIndicatorColor() { + ColorDrawable background = (ColorDrawable)indicatorView.getBackground(); + return background.getColor(); + } + protected void showEvaluatorRow(boolean show) { if (show) { evaluatorRow.setVisibility(View.VISIBLE); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/widget/WidgetProvider.java b/android_app/app/src/main/java/com/health/openscale/gui/widget/WidgetProvider.java index 41e5c78a..73c8bbb8 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/widget/WidgetProvider.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/widget/WidgetProvider.java @@ -87,12 +87,17 @@ public class WidgetProvider extends AppWidgetProvider { RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); + views.setInt(R.id.indicator_view, "setBackgroundColor", measurementView.getIndicatorColor()); + // Show icon in >= two cell mode if (minWidth >= twoCellsMinWidth) { views.setImageViewResource(R.id.widget_icon, measurementView.getIconResource()); views.setViewVisibility(R.id.widget_icon, View.VISIBLE); + views.setViewVisibility(R.id.widget_icon_vertical, View.GONE); } else { + views.setImageViewResource(R.id.widget_icon_vertical, measurementView.getIconResource()); + views.setViewVisibility(R.id.widget_icon_vertical, View.VISIBLE); views.setViewVisibility(R.id.widget_icon, View.GONE); } diff --git a/android_app/app/src/main/res/layout/widget.xml b/android_app/app/src/main/res/layout/widget.xml index 5dd24be6..2c10142b 100644 --- a/android_app/app/src/main/res/layout/widget.xml +++ b/android_app/app/src/main/res/layout/widget.xml @@ -60,6 +60,12 @@ android:paddingEnd="8dp" android:paddingStart="4dp"> + + + + +