From ea3aaedc18165d1eac6addc54fe288ee44ae8915 Mon Sep 17 00:00:00 2001 From: flavio Date: Mon, 16 Oct 2023 18:55:40 +0200 Subject: [PATCH 1/2] AGP 8.1 upgrade Compose 1.5.3 Minor changes to reduce problems reported by AndroidStudio cosde inspection --- ComposePrefs3/build.gradle | 15 +++++++----- .../com/jamal/composeprefs3/ui/Divider.kt | 4 ++-- .../com/jamal/composeprefs3/ui/GroupHeader.kt | 8 +++---- .../jamal/composeprefs3/ui/PrefsListItem.kt | 18 +++++++------- .../composeprefs3/ui/prefs/CheckBoxPref.kt | 1 - .../composeprefs3/ui/prefs/EditTextPref.kt | 1 - .../jamal/composeprefs3/ui/prefs/ListPref.kt | 3 +-- .../ui/prefs/MultiSelectListPref.kt | 1 - .../composeprefs3/ui/prefs/SliderPref.kt | 2 +- app/build.gradle | 24 +++++++++---------- app/src/main/AndroidManifest.xml | 1 - .../composeprefs3sample/SettingsScreen.kt | 1 - .../composeprefs3sample/ui/theme/Theme.kt | 8 +++---- .../ic_launcher_foreground.xml | 0 .../ic_launcher.xml | 0 .../ic_launcher_round.xml | 0 app/src/main/res/values-night/themes.xml | 2 +- app/src/main/res/values/themes.xml | 5 +--- build.gradle | 2 +- gradle.properties | 5 +++- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 1 - 22 files changed, 50 insertions(+), 54 deletions(-) rename app/src/main/res/{drawable-v24 => drawable}/ic_launcher_foreground.xml (100%) rename app/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/ic_launcher.xml (100%) rename app/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/ic_launcher_round.xml (100%) diff --git a/ComposePrefs3/build.gradle b/ComposePrefs3/build.gradle index d926b9a..615c0f8 100644 --- a/ComposePrefs3/build.gradle +++ b/ComposePrefs3/build.gradle @@ -5,11 +5,11 @@ plugins { } android { - compileSdk 33 + compileSdk 34 defaultConfig { minSdk 21 - targetSdk 33 + targetSdk 34 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro" @@ -38,10 +38,13 @@ android { } dependencies { - implementation "androidx.compose.ui:ui:1.4.3" - implementation "androidx.compose.material3:material3:1.1.0" - implementation "androidx.compose.material3:material3-window-size-class:1.1.0" + implementation "androidx.compose.ui:ui:1.5.3" + implementation "androidx.compose.material3:material3:1.1.2" + implementation "androidx.compose.material3:material3-window-size-class:1.1.2" implementation "androidx.datastore:datastore-preferences:1.0.0" + + androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.5.3" + testImplementation 'junit:junit:4.13.2' } @@ -53,7 +56,7 @@ afterEvaluate { groupId = 'com.github.jamalmulla' artifactId = 'ComposePrefs3' - version = '1.0.3' + version = '1.0.4' } } } diff --git a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/Divider.kt b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/Divider.kt index f9caadd..d58b8d1 100644 --- a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/Divider.kt +++ b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/Divider.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.unit.dp @Composable fun Divider( modifier: Modifier = Modifier, - color: Color = MaterialTheme.colorScheme.onSurface.copy(alpha = DividerAlpha), + color: Color = MaterialTheme.colorScheme.onSurface.copy(alpha = DIVIDER_ALPHA), thickness: Dp = 1.dp, indent: Dp = 0.dp ) { @@ -31,4 +31,4 @@ fun Divider( ) } -private const val DividerAlpha = 0.12f \ No newline at end of file +private const val DIVIDER_ALPHA = 0.12f \ No newline at end of file diff --git a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/GroupHeader.kt b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/GroupHeader.kt index 6fae003..218c32f 100644 --- a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/GroupHeader.kt +++ b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/GroupHeader.kt @@ -21,7 +21,7 @@ fun GroupHeader( Box( Modifier .padding( - start = StartPadding, + start = startPadding, ) .fillMaxWidth(), contentAlignment = Alignment.CenterStart @@ -29,12 +29,12 @@ fun GroupHeader( Text( title, color = color, - fontSize = LocalTextStyle.current.fontSize.times(FontSizeMultiplier), + fontSize = LocalTextStyle.current.fontSize.times(FONT_SIZE_MULTIPLIER), fontWeight = FontWeight.SemiBold ) } } -private val StartPadding = 16.dp -private const val FontSizeMultiplier = 0.85f \ No newline at end of file +private val startPadding = 16.dp +private const val FONT_SIZE_MULTIPLIER = 0.85f \ No newline at end of file diff --git a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/PrefsListItem.kt b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/PrefsListItem.kt index f295158..a88bc96 100644 --- a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/PrefsListItem.kt +++ b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/PrefsListItem.kt @@ -29,8 +29,8 @@ fun PrefsListItem( typography.titleMedium, textColor, when { - enabled || !darkenOnDisable -> AlphaHigh - else -> AlphaDisabled + enabled || !darkenOnDisable -> ALPHA_HIGH + else -> ALPHA_DISABLED }, text )!! @@ -38,8 +38,8 @@ fun PrefsListItem( typography.bodyMedium, textColor, when { - enabled || !darkenOnDisable -> AlphaMedium - else -> AlphaDisabled + enabled || !darkenOnDisable -> ALPHA_MEDIUM + else -> ALPHA_DISABLED }, secondaryText ) @@ -47,8 +47,8 @@ fun PrefsListItem( typography.bodySmall, textColor, when { - enabled || !darkenOnDisable -> AlphaHigh - else -> AlphaDisabled + enabled || !darkenOnDisable -> ALPHA_HIGH + else -> ALPHA_DISABLED }, trailing ) @@ -139,6 +139,6 @@ private fun applyTextStyle( } } -private const val AlphaHigh = 1.0f -private const val AlphaMedium = 0.74f -private const val AlphaDisabled = 0.38f \ No newline at end of file +private const val ALPHA_HIGH = 1.0f +private const val ALPHA_MEDIUM = 0.74f +private const val ALPHA_DISABLED = 0.38f \ No newline at end of file diff --git a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/CheckBoxPref.kt b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/CheckBoxPref.kt index 623f84b..5e51756 100644 --- a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/CheckBoxPref.kt +++ b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/CheckBoxPref.kt @@ -25,7 +25,6 @@ import java.lang.Exception * @param leadingIcon Icon which is positioned at the start of the Pref */ -@OptIn(ExperimentalMaterial3Api::class) @Composable fun CheckBoxPref( key: String, diff --git a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/EditTextPref.kt b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/EditTextPref.kt index b0c40d1..5caf77f 100644 --- a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/EditTextPref.kt +++ b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/EditTextPref.kt @@ -38,7 +38,6 @@ import kotlinx.coroutines.launch * @param textColor Text colour of the [title] and [summary] * @param enabled If false, this Pref cannot be clicked. */ -@OptIn(ExperimentalMaterial3Api::class) @ExperimentalComposeUiApi @Composable fun EditTextPref( diff --git a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/ListPref.kt b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/ListPref.kt index a2cb9b8..e69ce62 100644 --- a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/ListPref.kt +++ b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/ListPref.kt @@ -38,7 +38,6 @@ import java.lang.Exception * @param enabled If false, this Pref cannot be clicked and the Dialog cannot be shown. * @param entries Map of keys to values for entries that should be shown in the Dialog. */ -@OptIn(ExperimentalMaterial3Api::class) @ExperimentalComposeUiApi @Composable fun ListPref( @@ -100,7 +99,7 @@ fun ListPref( AlertDialog( onDismissRequest = { showDialog = false }, text = { - Column() { + Column { Text(modifier = Modifier.padding(vertical = 16.dp), text = title, style = MaterialTheme.typography.titleLarge) LazyColumn { items(entryList) { current -> diff --git a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/MultiSelectListPref.kt b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/MultiSelectListPref.kt index 09360e5..e3f0587 100644 --- a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/MultiSelectListPref.kt +++ b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/MultiSelectListPref.kt @@ -37,7 +37,6 @@ import java.lang.Exception * @param enabled If false, this Pref cannot be clicked and the Dialog cannot be shown. * @param entries Map of keys to values for entries that should be shown in the Dialog. */ -@OptIn(ExperimentalMaterial3Api::class) @ExperimentalComposeUiApi @Composable fun MultiSelectListPref( diff --git a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/SliderPref.kt b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/SliderPref.kt index 0ebc3dd..f36af1e 100644 --- a/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/SliderPref.kt +++ b/ComposePrefs3/src/main/java/com/jamal/composeprefs3/ui/prefs/SliderPref.kt @@ -55,7 +55,7 @@ fun SliderPref( val datastore = LocalPrefsDataStore.current val prefs by remember { datastore.data }.collectAsState(initial = null) - var value by remember { mutableStateOf(defaultValue) } + var value by remember { mutableFloatStateOf(defaultValue) } LaunchedEffect(Unit) { prefs?.get(selectionKey)?.also { value = it } diff --git a/app/build.gradle b/app/build.gradle index 7921631..944c363 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,12 +4,12 @@ plugins { } android { - compileSdk 33 + compileSdk 34 defaultConfig { applicationId "com.jamal.composeprefs3sample" minSdk 26 - targetSdk 33 + targetSdk 34 versionCode 1 versionName "1.0" @@ -48,19 +48,19 @@ android { dependencies { - implementation 'androidx.core:core-ktx:1.10.1' - implementation 'com.google.android.material:material:1.9.0' - implementation "androidx.compose.ui:ui:1.4.3" - implementation "androidx.compose.material3:material3:1.1.0" - implementation "androidx.compose.material3:material3-window-size-class:1.1.0" - implementation "androidx.compose.ui:ui-tooling-preview:1.4.3" - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1' - implementation 'androidx.activity:activity-compose:1.7.2' + implementation 'androidx.core:core-ktx:1.12.0' + implementation 'com.google.android.material:material:1.10.0' + implementation "androidx.compose.ui:ui:1.5.3" + implementation "androidx.compose.material3:material3:1.1.2" + implementation "androidx.compose.material3:material3-window-size-class:1.1.2" + implementation "androidx.compose.ui:ui-tooling-preview:1.5.3" + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.2' + implementation 'androidx.activity:activity-compose:1.8.0' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' - androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.4.3" - debugImplementation "androidx.compose.ui:ui-tooling:1.4.3" + androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.5.3" + debugImplementation "androidx.compose.ui:ui-tooling:1.5.3" // ComposePrefs library implementation project(':ComposePrefs3') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 85b6b82..4e5daaa 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,7 +11,6 @@ diff --git a/app/src/main/java/com/jamal/composeprefs3sample/SettingsScreen.kt b/app/src/main/java/com/jamal/composeprefs3sample/SettingsScreen.kt index 83dfe69..558138d 100644 --- a/app/src/main/java/com/jamal/composeprefs3sample/SettingsScreen.kt +++ b/app/src/main/java/com/jamal/composeprefs3sample/SettingsScreen.kt @@ -16,7 +16,6 @@ import com.jamal.composeprefs3.ui.GroupHeader import com.jamal.composeprefs3.ui.PrefsScreen import com.jamal.composeprefs3.ui.prefs.* -@OptIn(ExperimentalMaterial3Api::class) @ExperimentalComposeUiApi @Composable fun SettingsScreen() { diff --git a/app/src/main/java/com/jamal/composeprefs3sample/ui/theme/Theme.kt b/app/src/main/java/com/jamal/composeprefs3sample/ui/theme/Theme.kt index e4fca4e..e3e7759 100644 --- a/app/src/main/java/com/jamal/composeprefs3sample/ui/theme/Theme.kt +++ b/app/src/main/java/com/jamal/composeprefs3sample/ui/theme/Theme.kt @@ -7,7 +7,7 @@ import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -private val DarkColorPalette = darkColorScheme( +private val darkColorPalette = darkColorScheme( primary = Purple200, primaryContainer = Purple700, secondary = Teal200, @@ -19,7 +19,7 @@ private val DarkColorPalette = darkColorScheme( onSurface = Color.White, ) -private val LightColorPalette = lightColorScheme( +private val lightColorPalette = lightColorScheme( primary = Purple500, primaryContainer = Purple700, secondary = Teal200, @@ -37,9 +37,9 @@ fun ComposePrefsSampleTheme( content: @Composable () -> Unit ) { val colors = if (darkTheme) { - DarkColorPalette + darkColorPalette } else { - LightColorPalette + lightColorPalette } MaterialTheme( diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml similarity index 100% rename from app/src/main/res/drawable-v24/ic_launcher_foreground.xml rename to app/src/main/res/drawable/ic_launcher_foreground.xml diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi/ic_launcher.xml similarity index 100% rename from app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml rename to app/src/main/res/mipmap-anydpi/ic_launcher.xml diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml similarity index 100% rename from app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml rename to app/src/main/res/mipmap-anydpi/ic_launcher_round.xml diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 8904add..29ee703 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -10,7 +10,7 @@ @color/teal_200 @color/black - ?attr/colorPrimaryVariant + ?attr/colorPrimaryVariant \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 6370ffb..80db603 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -10,7 +10,7 @@ @color/teal_700 @color/black - ?attr/colorPrimaryVariant + ?attr/colorPrimaryVariant @@ -19,7 +19,4 @@ true -