From a306d92282fbd24535885cd9800fbbff30edbff1 Mon Sep 17 00:00:00 2001 From: azuo Date: Sat, 25 Sep 2021 11:08:10 +0800 Subject: [PATCH] Make text shadows more visible. --- .../components/FixedFocusScrollView.kt | 4 ++-- .../anotherwidget/global/Preferences.kt | 2 +- .../anotherwidget/helpers/ImageHelper.kt | 4 ++-- .../ui/fragments/MainFragment.kt | 7 +++++- .../anotherwidget/ui/widgets/AlignedWidget.kt | 23 ++++++++++--------- .../ui/widgets/StandardWidget.kt | 22 +++++++++--------- .../main/res/layout/fragment_app_settings.xml | 2 +- .../main/res/layout/fragment_preferences.xml | 2 +- .../main/res/layout/fragment_tab_glance.xml | 1 - .../main/res/layout/left_aligned_widget.xml | 10 +++++--- app/src/main/res/layout/the_widget.xml | 12 +++++++--- 11 files changed, 52 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/components/FixedFocusScrollView.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/components/FixedFocusScrollView.kt index 09539d4..9adb8e9 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/components/FixedFocusScrollView.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/components/FixedFocusScrollView.kt @@ -18,8 +18,8 @@ class FixedFocusScrollView @JvmOverloads constructor( var isScrollable = true override fun scrollTo(x: Int, y: Int) { - if (isScrollable) { + if (isScrollable || !isLaidOut) { super.scrollTo(x, y) } } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt index d23bf01..41b83fd 100755 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt @@ -97,7 +97,7 @@ object Preferences : KotprefModel() { var textSecondSize by floatPref(key = "PREF_TEXT_SECOND_SIZE", default = 16f) var clockTextSize by floatPref(key = "PREF_TEXT_CLOCK_SIZE", default = 72f) var clockBottomMargin by intPref(default = Constants.ClockBottomMargin.MEDIUM.rawValue) - var secondRowTopMargin by intPref(default = Constants.SecondRowTopMargin.NONE.rawValue) + var secondRowTopMargin by intPref(default = Constants.SecondRowTopMargin.SMALL.rawValue) var showClock by booleanPref(key = "PREF_SHOW_CLOCK", default = false) var clockAppName by stringPref(key = "PREF_CLOCK_APP_NAME", default = "") var clockAppPackage by stringPref(key = "PREF_CLOCK_APP_PACKAGE", default = "") diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/ImageHelper.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/ImageHelper.kt index ccbbc07..be13bb5 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/ImageHelper.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/ImageHelper.kt @@ -17,7 +17,7 @@ object ImageHelper { 0 -> 0f * factor 1 -> 8f * factor 2 -> 16f * factor - else -> 0f * factor + else -> 8f * factor }, resources.displayMetrics) if (originalView.drawable != null && originalView.drawable.intrinsicWidth > 0 && originalView.drawable.intrinsicHeight > 0) { @@ -58,7 +58,7 @@ object ImageHelper { 0 -> 0f * factor 1 -> 0.8f * factor 2 -> 1f * factor - else -> 0f + else -> 0.8f * factor })) colorMatrixScript.setColorMatrix(matrix) diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt index 6aff19d..c1604f6 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt @@ -86,6 +86,7 @@ class MainFragment : Fragment() { binding.actionSettings.isClickable = !show binding.actionSettings.isFocusable = !show binding.fragmentTitle.text = if (show) destination.label.toString() else getString(R.string.app_name) + binding.toolbar.cardElevation = 0f } binding.actionSettings.setOnSingleClickListener { @@ -98,6 +99,10 @@ class MainFragment : Fragment() { } private fun subscribeUi(viewModel: MainViewModel) { + viewModel.showPreview.observe(viewLifecycleOwner) { + binding.preview.visibility = if (it) View.VISIBLE else View.GONE + } + viewModel.showWallpaper.observe(viewLifecycleOwner) { if (it) { val wallpaper = requireActivity().getCurrentWallpaper() @@ -138,7 +143,7 @@ class MainFragment : Fragment() { } viewModel.fragmentScrollY.observe(viewLifecycleOwner) { - binding.toolbar.cardElevation = if (it > 0) 24f else 0f + binding.toolbar.cardElevation = if (it > 0) 32f else 0f } viewModel.widgetPreferencesUpdate.observe(viewLifecycleOwner) { diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt index 94a353e..5323c20 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt @@ -32,6 +32,7 @@ import com.tommasoberlose.anotherwidget.receivers.WidgetClickListenerReceiver import com.tommasoberlose.anotherwidget.utils.checkGrantedPermission import com.tommasoberlose.anotherwidget.utils.convertDpToPixel import com.tommasoberlose.anotherwidget.utils.isDarkTheme +import com.tommasoberlose.anotherwidget.utils.toPixel import java.text.DateFormat import java.util.* import java.util.concurrent.TimeUnit @@ -875,24 +876,24 @@ class AlignedWidget(val context: Context, val rightAligned: Boolean = false) { val shadowRadius = when (if (context.isDarkTheme()) Preferences.textShadowDark else Preferences.textShadow) { 0 -> 0f - 1 -> 5f - 2 -> 5f - else -> 5f - } + 1 -> 2f + 2 -> 3f + else -> 2f + }.toPixel(context) val shadowColor = when (if (context.isDarkTheme()) Preferences.textShadowDark else Preferences.textShadow) { 0 -> Color.TRANSPARENT - 1 -> R.color.black_50 + 1 -> Color.DKGRAY 2 -> Color.BLACK - else -> R.color.black_50 + else -> Color.DKGRAY } - val shadowDy = + val shadowOffset = when (if (context.isDarkTheme()) Preferences.textShadowDark else Preferences.textShadow) { 0 -> 0f 1 -> 0f - 2 -> 1f + 2 -> 0.5f else -> 0f - } + }.toPixel(context) listOf( bindingView.date, @@ -903,7 +904,7 @@ class AlignedWidget(val context: Context, val rightAligned: Boolean = false) { bindingView.weatherSubLineDivider, bindingView.weatherSubLineTemperature, ).forEach { - it.setShadowLayer(shadowRadius, 0f, shadowDy, shadowColor) + it.setShadowLayer(shadowRadius, shadowOffset, shadowOffset, shadowColor) } // Icons shadow @@ -917,7 +918,7 @@ class AlignedWidget(val context: Context, val rightAligned: Boolean = false) { it.second.isVisible = it.first.isVisible it.second.scaleX = it.first.scaleX it.second.scaleY = it.first.scaleY - it.second.applyShadow(it.first, 0.7f) + it.second.applyShadow(it.first, 0.8f) } } diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt index 77e23e9..8106628 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt @@ -912,24 +912,24 @@ class StandardWidget(val context: Context) { val shadowRadius = when (if (context.isDarkTheme()) Preferences.textShadowDark else Preferences.textShadow) { 0 -> 0f - 1 -> 5f - 2 -> 5f - else -> 5f - } + 1 -> 2f + 2 -> 3f + else -> 2f + }.toPixel(context) val shadowColor = when (if (context.isDarkTheme()) Preferences.textShadowDark else Preferences.textShadow) { 0 -> Color.TRANSPARENT - 1 -> R.color.black_50 + 1 -> Color.DKGRAY 2 -> Color.BLACK - else -> R.color.black_50 + else -> Color.DKGRAY } - val shadowDy = + val shadowOffset = when (if (context.isDarkTheme()) Preferences.textShadowDark else Preferences.textShadow) { 0 -> 0f 1 -> 0f - 2 -> 1f + 2 -> 0.5f else -> 0f - } + }.toPixel(context) listOf( bindingView.date, @@ -941,7 +941,7 @@ class StandardWidget(val context: Context) { bindingView.weatherSubLineDivider, bindingView.weatherSubLineTemperature, ).forEach { - it.setShadowLayer(shadowRadius, 0f, shadowDy, shadowColor) + it.setShadowLayer(shadowRadius, shadowOffset, shadowOffset, shadowColor) } // Icons shadow @@ -955,7 +955,7 @@ class StandardWidget(val context: Context) { it.second.isVisible = it.first.isVisible it.second.scaleX = it.first.scaleX it.second.scaleY = it.first.scaleY - it.second.applyShadow(it.first, 0.7f) + it.second.applyShadow(it.first, 0.8f) } } diff --git a/app/src/main/res/layout/fragment_app_settings.xml b/app/src/main/res/layout/fragment_app_settings.xml index 5606672..9645af8 100644 --- a/app/src/main/res/layout/fragment_app_settings.xml +++ b/app/src/main/res/layout/fragment_app_settings.xml @@ -511,7 +511,7 @@ android:layout_height="wrap_content" android:paddingLeft="24dp" android:paddingRight="24dp" - android:paddingBottom="32dp" + android:paddingBottom="12dp" android:duplicateParentState="true" android:textSize="14sp" android:textColor="@color/colorSecondaryText" diff --git a/app/src/main/res/layout/fragment_preferences.xml b/app/src/main/res/layout/fragment_preferences.xml index d5784c2..190e34d 100644 --- a/app/src/main/res/layout/fragment_preferences.xml +++ b/app/src/main/res/layout/fragment_preferences.xml @@ -16,7 +16,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="8dp" - android:paddingBottom="32dp" + android:paddingBottom="48dp" android:orientation="vertical">