etxra colors for widget to solve dark-light problem

This commit is contained in:
osodebailar 2022-04-11 11:31:05 +02:00
parent 7f91a17d00
commit f9377b2054
2 changed files with 27 additions and 15 deletions

View file

@ -105,17 +105,17 @@ class Widget : AppWidgetProvider() {
views.setTextViewText(R.id.bg, overviewData.lastBg?.valueToUnitsString(units) ?: rh.gs(R.string.notavailable)) views.setTextViewText(R.id.bg, overviewData.lastBg?.valueToUnitsString(units) ?: rh.gs(R.string.notavailable))
views.setTextColor( views.setTextColor(
R.id.bg, when { R.id.bg, when {
overviewData.isLow -> rh.gc(R.color.low) overviewData.isLow -> rh.gc(R.color.widget_low)
overviewData.isHigh -> rh.gc(R.color.high) overviewData.isHigh -> rh.gc(R.color.widget_high)
else -> rh.gc(R.color.inrange) else -> rh.gc(R.color.widget_inrange)
} }
) )
views.setImageViewResource(R.id.arrow, trendCalculator.getTrendArrow(overviewData.lastBg).directionToIcon()) views.setImageViewResource(R.id.arrow, trendCalculator.getTrendArrow(overviewData.lastBg).directionToIcon())
views.setInt( views.setInt(
R.id.arrow, "setColorFilter", when { R.id.arrow, "setColorFilter", when {
overviewData.isLow -> rh.gc(R.color.low) overviewData.isLow -> rh.gc(R.color.widget_low)
overviewData.isHigh -> rh.gc(R.color.high) overviewData.isHigh -> rh.gc(R.color.widget_high)
else -> rh.gc(R.color.inrange) else -> rh.gc(R.color.widget_inrange)
} }
) )
@ -140,7 +140,7 @@ class Widget : AppWidgetProvider() {
private fun updateTemporaryBasal(views: RemoteViews) { private fun updateTemporaryBasal(views: RemoteViews) {
views.setTextViewText(R.id.base_basal, overviewData.temporaryBasalText(iobCobCalculator)) views.setTextViewText(R.id.base_basal, overviewData.temporaryBasalText(iobCobCalculator))
views.setTextColor(R.id.base_basal, iobCobCalculator.getTempBasalIncludingConvertedExtended(dateUtil.now())?.let { rh.gc(R.color.basal) } views.setTextColor(R.id.base_basal, iobCobCalculator.getTempBasalIncludingConvertedExtended(dateUtil.now())?.let { rh.gc(R.color.widget_basal) }
?: rh.gc(R.color.white)) ?: rh.gc(R.color.white))
views.setImageViewResource(R.id.base_basal_icon, overviewData.temporaryBasalIcon(iobCobCalculator)) views.setImageViewResource(R.id.base_basal_icon, overviewData.temporaryBasalIcon(iobCobCalculator))
} }
@ -176,7 +176,7 @@ class Widget : AppWidgetProvider() {
// this is crashing, use background as text for now // this is crashing, use background as text for now
//views.setTextColor(R.id.temp_target, rh.gc(R.color.ribbonTextWarning)) //views.setTextColor(R.id.temp_target, rh.gc(R.color.ribbonTextWarning))
//views.setInt(R.id.temp_target, "setBackgroundColor", rh.gc(R.color.ribbonWarning)) //views.setInt(R.id.temp_target, "setBackgroundColor", rh.gc(R.color.ribbonWarning))
views.setTextColor(R.id.temp_target, rh.gc(R.color.ribbonWarning)) views.setTextColor(R.id.temp_target, rh.gc(R.color.widget_ribbonWarning))
views.setTextViewText(R.id.temp_target, Profile.toTargetRangeString(tempTarget.lowTarget, tempTarget.highTarget, GlucoseUnit.MGDL, units) + " " + dateUtil.untilString(tempTarget.end, rh)) views.setTextViewText(R.id.temp_target, Profile.toTargetRangeString(tempTarget.lowTarget, tempTarget.highTarget, GlucoseUnit.MGDL, units) + " " + dateUtil.untilString(tempTarget.end, rh))
} else { } else {
// If the target is not the same as set in the profile then oref has overridden it // If the target is not the same as set in the profile then oref has overridden it
@ -189,12 +189,12 @@ class Widget : AppWidgetProvider() {
// this is crashing, use background as text for now // this is crashing, use background as text for now
//views.setTextColor(R.id.temp_target, rh.gc(R.color.ribbonTextWarning)) //views.setTextColor(R.id.temp_target, rh.gc(R.color.ribbonTextWarning))
//views.setInt(R.id.temp_target, "setBackgroundResource", rh.gc(R.color.tempTargetBackground)) //views.setInt(R.id.temp_target, "setBackgroundResource", rh.gc(R.color.tempTargetBackground))
views.setTextColor(R.id.temp_target, rh.gc(R.color.ribbonWarning)) views.setTextColor(R.id.temp_target, rh.gc(R.color.widget_ribbonWarning))
} else { } else {
// this is crashing, use background as text for now // this is crashing, use background as text for now
//views.setTextColor(R.id.temp_target, rh.gc(R.color.ribbonTextDefault)) //views.setTextColor(R.id.temp_target, rh.gc(R.color.ribbonTextDefault))
//views.setInt(R.id.temp_target, "setBackgroundColor", rh.gc(R.color.ribbonDefault)) //views.setInt(R.id.temp_target, "setBackgroundColor", rh.gc(R.color.ribbonDefault))
views.setTextColor(R.id.temp_target, rh.gc(R.color.ribbonTextDefault)) views.setTextColor(R.id.temp_target, rh.gc(R.color.widget_ribbonTextDefault))
views.setTextViewText(R.id.temp_target, Profile.toTargetRangeString(profile.getTargetLowMgdl(), profile.getTargetHighMgdl(), GlucoseUnit.MGDL, units)) views.setTextViewText(R.id.temp_target, Profile.toTargetRangeString(profile.getTargetLowMgdl(), profile.getTargetHighMgdl(), GlucoseUnit.MGDL, units))
} }
} }
@ -206,14 +206,14 @@ class Widget : AppWidgetProvider() {
profileFunction.getProfile()?.let { profileFunction.getProfile()?.let {
if (it is ProfileSealed.EPS) { if (it is ProfileSealed.EPS) {
if (it.value.originalPercentage != 100 || it.value.originalTimeshift != 0L || it.value.originalDuration != 0L) if (it.value.originalPercentage != 100 || it.value.originalTimeshift != 0L || it.value.originalDuration != 0L)
rh.gc(R.color.ribbonWarning) rh.gc(R.color.widget_ribbonWarning)
else rh.gc(R.color.ribbonTextDefault) else rh.gc(R.color.widget_ribbonTextDefault)
} else if (it is ProfileSealed.PS) { } else if (it is ProfileSealed.PS) {
rh.gc(R.color.ribbonTextDefault) rh.gc(R.color.widget_ribbonTextDefault)
} else { } else {
rh.gc(R.color.ribbonTextDefault) rh.gc(R.color.widget_ribbonTextDefault)
} }
} ?: rh.gc(R.color.ribbonCritical) } ?: rh.gc(R.color.widget_ribbonCritical)
views.setTextViewText(R.id.active_profile, profileFunction.getProfileNameWithRemainingTime()) views.setTextViewText(R.id.active_profile, profileFunction.getProfileNameWithRemainingTime())
// this is crashing, use background as text for now // this is crashing, use background as text for now

View file

@ -357,5 +357,17 @@
<color name="aaps_theme_dark_shadow">#000000</color> <color name="aaps_theme_dark_shadow">#000000</color>
<color name="aaps_theme_dark_primaryInverse">#006493</color> <color name="aaps_theme_dark_primaryInverse">#006493</color>
<!-- widget theme color -->
<!-- This section describes the widget theme colors
Because the implementation of google has no idea of a light/dark mode until now
we generate extra colornames only used for the widget
Colors for the widget are always taken from the default color.xml-->
<color name="widget_inrange">#00FF00</color>
<color name="widget_low">#FF0000</color>
<color name="widget_high">#FFFF00</color>
<color name="widget_ribbonWarning">#f4d700</color>
<color name="widget_ribbonTextDefault">#FFFFFF</color>
<color name="widget_ribbonCritical">#ff0400</color>
<color name="widget_basal">#00ffff</color>
</resources> </resources>