From 88f8581accdb2513d13d622e84df1e6de6e5d2ca Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sun, 23 May 2021 11:49:49 -0500 Subject: [PATCH] Make CheckmarkWidget resizable; remove fixed aspect ratio --- .../uhabits/widgets/views/CheckmarkWidgetView.kt | 11 ++--------- .../src/main/res/xml/widget_checkmark_info.xml | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.kt b/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.kt index db37cb273..1799b39c3 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.kt @@ -120,14 +120,7 @@ class CheckmarkWidgetView : HabitWidgetView { override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { val width = MeasureSpec.getSize(widthMeasureSpec) val height = MeasureSpec.getSize(heightMeasureSpec) - var w = width.toFloat() - var h = width * 1.25f - val scale = min(width / w, height / h) - w *= scale - h *= scale - val newWidthMeasureSpec = MeasureSpec.makeMeasureSpec(w.toInt(), MeasureSpec.EXACTLY) - val newHeightMeasureSpec = MeasureSpec.makeMeasureSpec(h.toInt(), MeasureSpec.EXACTLY) - var textSize = 0.15f * h + var textSize = 0.15f * height val maxTextSize = getDimension(context, R.dimen.smallerTextSize) textSize = min(textSize, maxTextSize) label.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize) @@ -137,7 +130,7 @@ class CheckmarkWidgetView : HabitWidgetView { ring.setTextSize(textSize) } ring.setThickness(0.15f * textSize) - super.onMeasure(newWidthMeasureSpec, newHeightMeasureSpec) + super.onMeasure(widthMeasureSpec, heightMeasureSpec) } private fun init() { diff --git a/uhabits-android/src/main/res/xml/widget_checkmark_info.xml b/uhabits-android/src/main/res/xml/widget_checkmark_info.xml index f4d13d90f..86172553b 100644 --- a/uhabits-android/src/main/res/xml/widget_checkmark_info.xml +++ b/uhabits-android/src/main/res/xml/widget_checkmark_info.xml @@ -23,7 +23,7 @@ android:minWidth="40dp" android:initialLayout="@layout/widget_wrapper" android:previewImage="@drawable/widget_preview_checkmark" - android:resizeMode="none" + android:resizeMode="vertical|horizontal" android:updatePeriodMillis="3600000" android:configure="org.isoron.uhabits.widgets.activities.HabitPickerDialog" android:widgetCategory="home_screen">