From 1a6a0c0562fd77b78770d6adc07a8a01039aa17d Mon Sep 17 00:00:00 2001 From: jacobrein Date: Fri, 11 Oct 2024 07:54:21 -0600 Subject: [PATCH] - Update Dependencies & Refine UI This commit updates several dependencies, including: - KSP to 2.0.21-1.0 .25 - Haze to 0.9.0-beta03 - Kamel Image to 1.0.0 It also refines the UI by: - Making SearchBar background transparent when blur is enabled in AllFragment, FavoriteFragment, and GlobalSearchFragment. - Replacing the custom PullToRefresh indicator with a ContainedLoadingIndicator. --- .../programmersbox/uiviews/all/AllFragment.kt | 8 ++++++++ .../uiviews/favorite/FavoriteFragment.kt | 7 +++++++ .../globalsearch/GlobalSearchFragment.kt | 7 +++++++ .../utils/components/DynamicSearchBar.kt | 2 ++ .../utils/components/PullToRefreshScaling.kt | 18 +++++++++++++++--- gradle/libs.versions.toml | 6 +++--- 6 files changed, 42 insertions(+), 6 deletions(-) diff --git a/UIViews/src/main/java/com/programmersbox/uiviews/all/AllFragment.kt b/UIViews/src/main/java/com/programmersbox/uiviews/all/AllFragment.kt index 6c277eaff..e96801fb9 100644 --- a/UIViews/src/main/java/com/programmersbox/uiviews/all/AllFragment.kt +++ b/UIViews/src/main/java/com/programmersbox/uiviews/all/AllFragment.kt @@ -46,6 +46,7 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.stringResource @@ -183,6 +184,13 @@ fun AllView( ), label = "" ).value, + inputFieldColors = if (showBlur) + SearchBarDefaults.inputFieldColors( + focusedContainerColor = Color.Transparent, + unfocusedContainerColor = Color.Transparent, + ) + else + SearchBarDefaults.inputFieldColors() ), modifier = Modifier .fillMaxWidth() diff --git a/UIViews/src/main/java/com/programmersbox/uiviews/favorite/FavoriteFragment.kt b/UIViews/src/main/java/com/programmersbox/uiviews/favorite/FavoriteFragment.kt index 10e04e49c..35a10bda4 100644 --- a/UIViews/src/main/java/com/programmersbox/uiviews/favorite/FavoriteFragment.kt +++ b/UIViews/src/main/java/com/programmersbox/uiviews/favorite/FavoriteFragment.kt @@ -309,6 +309,13 @@ fun FavoriteUi( ), label = "" ).value, + inputFieldColors = if (showBlur) + SearchBarDefaults.inputFieldColors( + focusedContainerColor = Color.Transparent, + unfocusedContainerColor = Color.Transparent, + ) + else + SearchBarDefaults.inputFieldColors() ), modifier = Modifier.fillMaxWidth(), ) { diff --git a/UIViews/src/main/java/com/programmersbox/uiviews/globalsearch/GlobalSearchFragment.kt b/UIViews/src/main/java/com/programmersbox/uiviews/globalsearch/GlobalSearchFragment.kt index 90a7a689b..e02ef21d6 100644 --- a/UIViews/src/main/java/com/programmersbox/uiviews/globalsearch/GlobalSearchFragment.kt +++ b/UIViews/src/main/java/com/programmersbox/uiviews/globalsearch/GlobalSearchFragment.kt @@ -218,6 +218,13 @@ fun GlobalSearchView( ), label = "" ).value, + inputFieldColors = if (showBlur) + SearchBarDefaults.inputFieldColors( + focusedContainerColor = Color.Transparent, + unfocusedContainerColor = Color.Transparent, + ) + else + SearchBarDefaults.inputFieldColors() ), modifier = Modifier .fillMaxWidth() diff --git a/UIViews/src/main/java/com/programmersbox/uiviews/utils/components/DynamicSearchBar.kt b/UIViews/src/main/java/com/programmersbox/uiviews/utils/components/DynamicSearchBar.kt index caa803c89..6e40acade 100644 --- a/UIViews/src/main/java/com/programmersbox/uiviews/utils/components/DynamicSearchBar.kt +++ b/UIViews/src/main/java/com/programmersbox/uiviews/utils/components/DynamicSearchBar.kt @@ -51,6 +51,7 @@ fun DynamicSearchBar( leadingIcon = leadingIcon, trailingIcon = trailingIcon, interactionSource = interactionSource, + colors = colors.inputFieldColors ) }, expanded = active, @@ -76,6 +77,7 @@ fun DynamicSearchBar( leadingIcon = leadingIcon, trailingIcon = trailingIcon, interactionSource = interactionSource, + colors = colors.inputFieldColors ) }, expanded = active, diff --git a/UIViews/src/main/java/com/programmersbox/uiviews/utils/components/PullToRefreshScaling.kt b/UIViews/src/main/java/com/programmersbox/uiviews/utils/components/PullToRefreshScaling.kt index b9769362e..09aa8ddb5 100644 --- a/UIViews/src/main/java/com/programmersbox/uiviews/utils/components/PullToRefreshScaling.kt +++ b/UIViews/src/main/java/com/programmersbox/uiviews/utils/components/PullToRefreshScaling.kt @@ -5,7 +5,9 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxScope import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.padding +import androidx.compose.material3.ContainedLoadingIndicator import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.pulltorefresh.PullToRefreshDefaults import androidx.compose.material3.pulltorefresh.PullToRefreshState import androidx.compose.material3.pulltorefresh.pullToRefresh @@ -75,7 +77,7 @@ fun OtakuPullToRefreshBox( } object OtakuPullToRefreshDefaults { - @OptIn(ExperimentalMaterial3Api::class) + @OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class) @Composable fun ScalingIndicator( isRefreshing: Boolean, @@ -84,13 +86,23 @@ object OtakuPullToRefreshDefaults { ) { val scaleFraction = { if (isRefreshing) 1f else LinearOutSlowInEasing.transform(state.distanceFraction).coerceIn(0f, 1f) } - PullToRefreshDefaults.Indicator( + /*PullToRefreshDefaults.Indicator( modifier = modifier.graphicsLayer { scaleX = scaleFraction() scaleY = scaleFraction() }, isRefreshing = isRefreshing, state = state - ) + )*/ + PullToRefreshDefaults.IndicatorBox( + modifier = modifier.graphicsLayer { + scaleX = scaleFraction() + scaleY = scaleFraction() + }, + isRefreshing = isRefreshing, + state = state + ) { + ContainedLoadingIndicator() + } } } \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a32bdc330..cef138e61 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ generativeai = "0.9.0" gradle = "8.7.0" kotlin = "2.0.21" -kspVersion = "2.0.20-1.0.25" +kspVersion = "2.0.21-1.0.25" androidxBaselineprofileGradlePlugin = "1.3.0" composeCollapsable = "0.3.0" @@ -13,8 +13,8 @@ dragselect = "2.3.2" easylauncher = "6.4.0" firebaseCrashlyticsGradle = "3.0.2" googleServices = "4.4.2" -haze = "0.9.0-beta02" -kamelImage = "1.0.0-beta.7" +haze = "0.9.0-beta03" +kamelImage = "1.0.0" latestAboutLibsRelease = "11.2.3" coroutinesVersion = "1.9.0" glideVersion = "4.16.0"