From 7f68ff3688708a0eb7ef6fbce29f816be0d7cb4f Mon Sep 17 00:00:00 2001 From: Dave Antoine Date: Sun, 10 Sep 2023 20:27:57 -0400 Subject: [PATCH 1/6] proguard: fix build for nongms --- common/build.gradle | 1 + common/proguard-rules.pro | 24 +++--------------------- shared_resources/build.gradle | 1 + shared_resources/proguard-rules.pro | 3 +++ weather-api/build.gradle | 1 + weather-api/proguard-rules.pro | 24 +++--------------------- 6 files changed, 12 insertions(+), 42 deletions(-) create mode 100644 shared_resources/proguard-rules.pro diff --git a/common/build.gradle b/common/build.gradle index c979a12a8..5ada0ae62 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -45,6 +45,7 @@ android { nongms { dimension 'gms' buildConfigField "boolean", "IS_NONGMS", "true" + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } fullgms { dimension 'gms' diff --git a/common/proguard-rules.pro b/common/proguard-rules.pro index 481bb4348..22fc01377 100644 --- a/common/proguard-rules.pro +++ b/common/proguard-rules.pro @@ -1,21 +1,3 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +# Please add these rules to your existing keep rules in order to suppress warnings. +# This is generated automatically by the Android Gradle plugin. +-dontwarn java.lang.invoke.StringConcatFactory \ No newline at end of file diff --git a/shared_resources/build.gradle b/shared_resources/build.gradle index 0f46cf952..da7621c01 100644 --- a/shared_resources/build.gradle +++ b/shared_resources/build.gradle @@ -66,6 +66,7 @@ android { nongms { dimension 'gms' buildConfigField "boolean", "IS_NONGMS", "true" + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } fullgms { dimension 'gms' diff --git a/shared_resources/proguard-rules.pro b/shared_resources/proguard-rules.pro new file mode 100644 index 000000000..22fc01377 --- /dev/null +++ b/shared_resources/proguard-rules.pro @@ -0,0 +1,3 @@ +# Please add these rules to your existing keep rules in order to suppress warnings. +# This is generated automatically by the Android Gradle plugin. +-dontwarn java.lang.invoke.StringConcatFactory \ No newline at end of file diff --git a/weather-api/build.gradle b/weather-api/build.gradle index b8184d799..bd03b7c82 100644 --- a/weather-api/build.gradle +++ b/weather-api/build.gradle @@ -58,6 +58,7 @@ android { productFlavors { nongms { dimension 'gms' + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } fullgms { dimension 'gms' diff --git a/weather-api/proguard-rules.pro b/weather-api/proguard-rules.pro index 481bb4348..22fc01377 100644 --- a/weather-api/proguard-rules.pro +++ b/weather-api/proguard-rules.pro @@ -1,21 +1,3 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +# Please add these rules to your existing keep rules in order to suppress warnings. +# This is generated automatically by the Android Gradle plugin. +-dontwarn java.lang.invoke.StringConcatFactory \ No newline at end of file From d1b5a5cc5785194becdd35675289e589aca5bce8 Mon Sep 17 00:00:00 2001 From: Dave Antoine Date: Sun, 24 Sep 2023 01:35:05 -0400 Subject: [PATCH 2/6] app: update WorkManagerInitializer --- app/src/main/AndroidManifest.xml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8f9fa8b5e..57c6ab184 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -358,7 +358,14 @@ + android:exported="false" + tools:node="merge"> + + + Date: Sun, 24 Sep 2023 01:36:18 -0400 Subject: [PATCH 3/6] widgets: fix blinking when single forecast is selected * Affects 4x1 and 4x2 forecast widgets --- .../widgets/WidgetUpdaterHelper.kt | 40 ++++++++++++++++++- app/src/main/res/layout/app_widget_4x1.xml | 14 +------ .../res/layout/app_widget_4x1_nolocation.xml | 14 +------ app/src/main/res/layout/app_widget_4x2.xml | 16 +++----- .../res/layout/app_widget_forecast_layout.xml | 9 +++++ .../app_widget_forecast_layout_anim.xml | 11 +++++ 6 files changed, 66 insertions(+), 38 deletions(-) create mode 100644 app/src/main/res/layout/app_widget_forecast_layout.xml create mode 100644 app/src/main/res/layout/app_widget_forecast_layout_anim.xml diff --git a/app/src/main/java/com/thewizrd/simpleweather/widgets/WidgetUpdaterHelper.kt b/app/src/main/java/com/thewizrd/simpleweather/widgets/WidgetUpdaterHelper.kt index 356045c71..e6def6b57 100644 --- a/app/src/main/java/com/thewizrd/simpleweather/widgets/WidgetUpdaterHelper.kt +++ b/app/src/main/java/com/thewizrd/simpleweather/widgets/WidgetUpdaterHelper.kt @@ -32,11 +32,21 @@ import com.thewizrd.shared_resources.weatherdata.model.HourlyForecast import com.thewizrd.shared_resources.weatherdata.model.Weather import com.thewizrd.simpleweather.R import com.thewizrd.simpleweather.main.MainActivity -import com.thewizrd.simpleweather.widgets.preferences.* +import com.thewizrd.simpleweather.widgets.preferences.KEY_BGCOLOR +import com.thewizrd.simpleweather.widgets.preferences.KEY_BGCOLORCODE +import com.thewizrd.simpleweather.widgets.preferences.KEY_BGSTYLE +import com.thewizrd.simpleweather.widgets.preferences.KEY_FORECASTOPTION +import com.thewizrd.simpleweather.widgets.preferences.KEY_ICONSIZE +import com.thewizrd.simpleweather.widgets.preferences.KEY_TEXTSIZE +import com.thewizrd.simpleweather.widgets.preferences.KEY_TXTCOLORCODE import com.thewizrd.simpleweather.widgets.remoteviews.CustomBackgroundWidgetRemoteViewCreator import com.thewizrd.simpleweather.widgets.remoteviews.WidgetRemoteViewCreator import com.thewizrd.weather_api.weatherModule -import kotlinx.coroutines.* +import kotlinx.coroutines.Deferred +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.async +import kotlinx.coroutines.awaitAll +import kotlinx.coroutines.coroutineScope import java.time.ZonedDateTime import java.time.temporal.ChronoUnit import kotlin.math.min @@ -312,6 +322,32 @@ object WidgetUpdaterHelper { WidgetUtils.setMaxForecastLength(appWidgetId, forecasts.size) WidgetUtils.setMaxHrForecastLength(appWidgetId, hourlyForecasts.size) + if (info.widgetType == WidgetType.Widget4x1) { + updateViews.removeAllViews(R.id.layout_container) + updateViews.addView( + R.id.layout_container, RemoteViews( + context.packageName, + if (forecastPanel != null && hrForecastPanel != null) { + R.layout.app_widget_forecast_layout_anim + } else { + R.layout.app_widget_forecast_layout + } + ) + ) + } else if (info.widgetType == WidgetType.Widget4x2) { + updateViews.removeAllViews(R.id.forecast_container) + updateViews.addView( + R.id.forecast_container, RemoteViews( + context.packageName, + if (forecastPanel != null && hrForecastPanel != null) { + R.layout.app_widget_forecast_layout_anim + } else { + R.layout.app_widget_forecast_layout + } + ) + ) + } + if (forecastPanel != null) { updateViews.addView(R.id.forecast_layout, forecastPanel) } diff --git a/app/src/main/res/layout/app_widget_4x1.xml b/app/src/main/res/layout/app_widget_4x1.xml index 2210fcbf4..f5e9eba01 100644 --- a/app/src/main/res/layout/app_widget_4x1.xml +++ b/app/src/main/res/layout/app_widget_4x1.xml @@ -22,19 +22,7 @@ android:layout_weight="1" android:orientation="horizontal" android:padding="8dp" - android:baselineAligned="false"> - - - - + android:baselineAligned="false" /> - - - - + android:baselineAligned="false" /> @@ -67,7 +67,7 @@ android:id="@+id/layout_container" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_above="@id/forecast_layout" + android:layout_above="@id/forecast_container" android:layout_alignParentTop="true" android:orientation="vertical" android:padding="8dp"> @@ -205,14 +205,10 @@ - + android:layout_alignParentBottom="true" /> \ No newline at end of file diff --git a/app/src/main/res/layout/app_widget_forecast_layout.xml b/app/src/main/res/layout/app_widget_forecast_layout.xml new file mode 100644 index 000000000..e6edf99a7 --- /dev/null +++ b/app/src/main/res/layout/app_widget_forecast_layout.xml @@ -0,0 +1,9 @@ + + \ No newline at end of file diff --git a/app/src/main/res/layout/app_widget_forecast_layout_anim.xml b/app/src/main/res/layout/app_widget_forecast_layout_anim.xml new file mode 100644 index 000000000..1f077994c --- /dev/null +++ b/app/src/main/res/layout/app_widget_forecast_layout_anim.xml @@ -0,0 +1,11 @@ + + \ No newline at end of file From 2b47cbf8450c25f215de9c3a017f0a8fcb2a1656 Mon Sep 17 00:00:00 2001 From: Dave Antoine Date: Sun, 24 Sep 2023 15:27:34 -0400 Subject: [PATCH 4/6] wear: add scrollbars and rotary input support where missing * For Wear App Quality Guidelines --- .../simpleweather/preferences/SettingsActivity.kt | 10 ++++++++++ .../preferences/SwipeDismissPreferenceFragment.kt | 5 +++++ .../preferences/WearPreferenceDialogFragment.kt | 8 ++++---- .../com/thewizrd/simpleweather/setup/SetupActivity.kt | 7 +++++++ .../simpleweather/ui/weather/WeatherNowScreen.kt | 9 ++++++++- .../src/main/res/layout-round/accept_deny_dialog.xml | 4 ++++ wearapp/src/main/res/layout/accept_deny_dialog.xml | 4 ++++ .../src/main/res/layout/fragment_location_search.xml | 3 ++- wearapp/src/main/res/layout/fragment_setup.xml | 7 ++++++- wearapp/src/main/res/layout/layout_wear_dialog.xml | 2 ++ 10 files changed, 52 insertions(+), 7 deletions(-) diff --git a/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/SettingsActivity.kt b/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/SettingsActivity.kt index 91d27bdf2..334c81762 100644 --- a/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/SettingsActivity.kt +++ b/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/SettingsActivity.kt @@ -28,8 +28,10 @@ import androidx.preference.ListPreference import androidx.preference.Preference import androidx.preference.PreferenceCategory import androidx.preference.SwitchPreference +import androidx.recyclerview.widget.RecyclerView import androidx.wear.remote.interactions.RemoteActivityHelper import androidx.wear.widget.ConfirmationOverlay +import androidx.wear.widget.WearableLinearLayoutManager import com.thewizrd.common.helpers.LocationPermissionLauncher import com.thewizrd.common.helpers.backgroundLocationPermissionEnabled import com.thewizrd.common.helpers.getBackgroundLocationRationale @@ -117,6 +119,10 @@ class SettingsActivity : WearableListenerActivity() { supportFragmentManager.addOnBackStackChangedListener { fragmentOnBackPressedCallback.isEnabled = supportFragmentManager.backStackEntryCount > 0 + + supportFragmentManager.findFragmentById(android.R.id.content)?.let { f -> + f.view?.requestFocus() + } } // Display the fragment as the main content. @@ -1004,5 +1010,9 @@ class SettingsActivity : WearableListenerActivity() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.pref_oslibs, rootKey) } + + override fun onCreateLayoutManager(): RecyclerView.LayoutManager { + return WearableLinearLayoutManager(context, null) + } } } \ No newline at end of file diff --git a/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/SwipeDismissPreferenceFragment.kt b/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/SwipeDismissPreferenceFragment.kt index 0b2759f53..6518874a2 100644 --- a/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/SwipeDismissPreferenceFragment.kt +++ b/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/SwipeDismissPreferenceFragment.kt @@ -81,6 +81,11 @@ abstract class SwipeDismissPreferenceFragment : PreferenceFragmentCompat() { return binding.swipeLayout } + override fun onResume() { + super.onResume() + binding.swipeLayout.requestFocus() + } + override fun onDestroyView() { binding.swipeLayout.removeCallback(swipeCallback) super.onDestroyView() diff --git a/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/WearPreferenceDialogFragment.kt b/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/WearPreferenceDialogFragment.kt index d93baaaf7..b14e0c7c6 100644 --- a/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/WearPreferenceDialogFragment.kt +++ b/wearapp/src/main/java/com/thewizrd/simpleweather/preferences/WearPreferenceDialogFragment.kt @@ -282,9 +282,7 @@ abstract class WearPreferenceDialogFragment : DialogFragment(), WearDialogInterf ) ) - binding.content.addView(recyclerView) - - if (params.mCheckedItem > 0) { + if (params.mCheckedItem >= 0) { recyclerView.addOnChildAttachStateChangeListener(object : RecyclerView.OnChildAttachStateChangeListener { override fun onChildViewAttachedToWindow(view: View) { @@ -296,7 +294,7 @@ abstract class WearPreferenceDialogFragment : DialogFragment(), WearDialogInterf view.viewTreeObserver.removeOnPreDrawListener(this) val height = view.measuredHeight - binding.root.scrollBy(0, params.mCheckedItem * height) + binding.root.scrollTo(0, params.mCheckedItem * height) return true } @@ -306,6 +304,8 @@ abstract class WearPreferenceDialogFragment : DialogFragment(), WearDialogInterf override fun onChildViewDetachedFromWindow(view: View) {} }) } + + binding.content.addView(recyclerView) } private inner class DialogListAdapter(private val params: WearDialogParams) : diff --git a/wearapp/src/main/java/com/thewizrd/simpleweather/setup/SetupActivity.kt b/wearapp/src/main/java/com/thewizrd/simpleweather/setup/SetupActivity.kt index 5d4617d49..96934af36 100644 --- a/wearapp/src/main/java/com/thewizrd/simpleweather/setup/SetupActivity.kt +++ b/wearapp/src/main/java/com/thewizrd/simpleweather/setup/SetupActivity.kt @@ -49,6 +49,13 @@ class SetupActivity : UserLocaleActivity() { binding = FragmentSetupBinding.inflate(layoutInflater) setContentView(binding.root) + supportFragmentManager.addOnBackStackChangedListener { + // Bring focus back + supportFragmentManager.findFragmentById(android.R.id.content)?.let { f -> + f.view?.requestFocus() + } ?: binding.root.requestFocus() + } + // Controls binding.searchButton.setOnClickListener { supportFragmentManager.beginTransaction() diff --git a/wearapp/src/main/java/com/thewizrd/simpleweather/ui/weather/WeatherNowScreen.kt b/wearapp/src/main/java/com/thewizrd/simpleweather/ui/weather/WeatherNowScreen.kt index 8c58353eb..632e1b5fb 100644 --- a/wearapp/src/main/java/com/thewizrd/simpleweather/ui/weather/WeatherNowScreen.kt +++ b/wearapp/src/main/java/com/thewizrd/simpleweather/ui/weather/WeatherNowScreen.kt @@ -60,6 +60,7 @@ import androidx.wear.compose.material.CircularProgressIndicator import androidx.wear.compose.material.CompactButton import androidx.wear.compose.material.Icon import androidx.wear.compose.material.MaterialTheme +import androidx.wear.compose.material.PositionIndicator import androidx.wear.compose.material.Text import androidx.wear.compose.material.dialog.Alert import androidx.wear.compose.material.dialog.Dialog @@ -578,7 +579,10 @@ private fun WeatherSummary( weatherSummary: String ) { var showDialog by remember { mutableStateOf(false) } - val dialogScrollState = rememberScalingLazyListState() + val dialogScrollState = rememberScalingLazyListState( + initialCenterItemIndex = 0, + initialCenterItemScrollOffset = 0 + ) val focusRequester = remember { FocusRequester() } Dialog( @@ -610,8 +614,11 @@ private fun WeatherSummary( ) } + PositionIndicator(scalingLazyListState = dialogScrollState) + LaunchedEffect(Unit) { focusRequester.requestFocus() + dialogScrollState.scrollToItem(0, 0) } } WearDivider() diff --git a/wearapp/src/main/res/layout-round/accept_deny_dialog.xml b/wearapp/src/main/res/layout-round/accept_deny_dialog.xml index 09849c33c..48dfbd1c7 100644 --- a/wearapp/src/main/res/layout-round/accept_deny_dialog.xml +++ b/wearapp/src/main/res/layout-round/accept_deny_dialog.xml @@ -5,8 +5,12 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" + android:focusable="true" + android:focusableInTouchMode="true" android:scrollbars="vertical"> + + + + + android:background="?android:attr/colorBackground" + android:scrollbars="vertical" /> diff --git a/wearapp/src/main/res/layout/fragment_setup.xml b/wearapp/src/main/res/layout/fragment_setup.xml index ca4677012..273ede310 100644 --- a/wearapp/src/main/res/layout/fragment_setup.xml +++ b/wearapp/src/main/res/layout/fragment_setup.xml @@ -8,7 +8,12 @@ + android:fillViewport="true" + android:focusable="true" + android:focusableInTouchMode="true" + android:scrollbars="vertical"> + + + + Date: Sun, 24 Sep 2023 16:42:19 -0400 Subject: [PATCH 5/6] wear: adjust Chip buttons for larger text sizes * Wear App Quality Guidelines --- .../ui/components/WeatherAlertPanel.kt | 13 +++++++++++-- .../ui/components/WeatherDetailItem.kt | 5 ++--- .../simpleweather/ui/weather/WeatherNowScreen.kt | 11 ++++++++++- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/wearapp/src/main/java/com/thewizrd/simpleweather/ui/components/WeatherAlertPanel.kt b/wearapp/src/main/java/com/thewizrd/simpleweather/ui/components/WeatherAlertPanel.kt index d89c51997..93e081853 100644 --- a/wearapp/src/main/java/com/thewizrd/simpleweather/ui/components/WeatherAlertPanel.kt +++ b/wearapp/src/main/java/com/thewizrd/simpleweather/ui/components/WeatherAlertPanel.kt @@ -8,6 +8,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.shape.CircleShape import androidx.compose.runtime.Composable @@ -22,6 +23,7 @@ import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.wear.compose.foundation.lazy.rememberScalingLazyListState import androidx.wear.compose.material.Chip @@ -29,6 +31,7 @@ import androidx.wear.compose.material.ChipDefaults import androidx.wear.compose.material.Icon import androidx.wear.compose.material.Text import androidx.wear.compose.material.dialog.Dialog +import androidx.wear.compose.ui.tooling.preview.WearPreviewFontScales import com.google.android.horologist.compose.navscaffold.scrollableColumn import com.thewizrd.common.controls.WeatherAlertViewModel import com.thewizrd.shared_resources.utils.getColorFromAlertSeverity @@ -62,9 +65,14 @@ private fun WeatherAlertPanel( val severityColor = remember(alertSeverityColor) { Color(alertSeverityColor) } Chip( - modifier = Modifier.fillMaxWidth(), + modifier = Modifier + .fillMaxWidth() + .wrapContentHeight(), label = { - Text(text = title) + Text( + text = title, + overflow = TextOverflow.Ellipsis + ) }, icon = { Icon( @@ -133,6 +141,7 @@ private fun WeatherAlertPanel( } @WearPreviewDevices +@WearPreviewFontScales @Composable private fun PreviewWeatherAlertPanel() { Box( diff --git a/wearapp/src/main/java/com/thewizrd/simpleweather/ui/components/WeatherDetailItem.kt b/wearapp/src/main/java/com/thewizrd/simpleweather/ui/components/WeatherDetailItem.kt index 5f0528d69..cf6916810 100644 --- a/wearapp/src/main/java/com/thewizrd/simpleweather/ui/components/WeatherDetailItem.kt +++ b/wearapp/src/main/java/com/thewizrd/simpleweather/ui/components/WeatherDetailItem.kt @@ -2,8 +2,8 @@ package com.thewizrd.simpleweather.ui.components import androidx.compose.foundation.Image import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment @@ -11,7 +11,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.rotate import androidx.compose.ui.platform.LocalInspectionMode import androidx.compose.ui.res.painterResource -import androidx.compose.ui.unit.dp import androidx.wear.compose.material.Chip import androidx.wear.compose.material.ChipDefaults import androidx.wear.compose.material.Text @@ -32,7 +31,7 @@ fun WeatherDetailItem( Chip( modifier = Modifier .fillMaxWidth() - .heightIn(min = 60.dp), + .wrapContentHeight(), label = { Text( text = spannableStringToAnnotatedString(model.label) diff --git a/wearapp/src/main/java/com/thewizrd/simpleweather/ui/weather/WeatherNowScreen.kt b/wearapp/src/main/java/com/thewizrd/simpleweather/ui/weather/WeatherNowScreen.kt index 632e1b5fb..d9d41c937 100644 --- a/wearapp/src/main/java/com/thewizrd/simpleweather/ui/weather/WeatherNowScreen.kt +++ b/wearapp/src/main/java/com/thewizrd/simpleweather/ui/weather/WeatherNowScreen.kt @@ -824,11 +824,20 @@ private fun NavigationButton( Chip( modifier = Modifier .fillMaxWidth() + .wrapContentHeight() .padding(vertical = 2.dp, horizontal = 16.dp), onClick = onClick, colors = ChipDefaults.secondaryChipColors(), label = { - Text(text = label) + Text( + modifier = Modifier + .fillMaxWidth() + .wrapContentHeight(), + text = label, + overflow = TextOverflow.Ellipsis, + softWrap = true, + maxLines = 2 + ) }, icon = { Icon( From 0f7c2099a19554f8c4ebb4aa3924179186742b48 Mon Sep 17 00:00:00 2001 From: Dave Antoine Date: Sun, 24 Sep 2023 16:45:03 -0400 Subject: [PATCH 6/6] SimpleWeather: v5.8.3-build0 --- app/build.gradle | 4 ++-- wearapp/build.gradle | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7ee064820..cc48032e4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,8 +14,8 @@ android { minSdkVersion rootProject.minSdkVersion targetSdkVersion rootProject.targetSdkVersion // NOTE: Version Code Format (TargetSDK, Version Name, Build Number, Variant Code (Android: 00, WearOS: 01) - versionCode 335820400 - versionName "5.8.2" + versionCode 335830000 + versionName "5.8.3" vectorDrawables.useSupportLibrary true } diff --git a/wearapp/build.gradle b/wearapp/build.gradle index 700b67151..6fc88209e 100644 --- a/wearapp/build.gradle +++ b/wearapp/build.gradle @@ -17,8 +17,8 @@ android { minSdkVersion 26 targetSdkVersion rootProject.targetSdkVersion // NOTE: Version Code Format (TargetSDK, Version Name, Build Number, Variant Code (Android: 00, WearOS: 01) - versionCode 335820401 - versionName "5.8.2" + versionCode 335830001 + versionName "5.8.3" vectorDrawables.useSupportLibrary true }