diff --git a/CHANGELOG.md b/CHANGELOG.md index 624ec534..bd140294 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +### 0.6.0 - 2021-09-10 + + - [BREAKING CHANGE] Replace MaterialDialog class structure with composable function with state. See [docs](https://vanpra.github.io/compose-material-dialogs) and the [sample app](https://github.com/vanpra/compose-material-dialogs/tree/main/app/src/main/java/com/vanpra/composematerialdialogdemos/demos) for examples + - Update compose to 1.1.0-alpha03 +- Update kotlin to 1.5.30 +- Fix bug which caused the year picker to fill the whole dialog + ### 0.5.1 - 2021-07-29 - Update compose to 1.0.0 diff --git a/README.md b/README.md index 2daa656f..59819c6a 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ ```gradle dependencies { ... - implementation "io.github.vanpra.compose-material-dialogs:core:0.5.1" + implementation "io.github.vanpra.compose-material-dialogs:core:0.6.0" ... } ``` @@ -35,7 +35,7 @@ dependencies { ```gradle dependencies { ... - implementation "io.github.vanpra.compose-material-dialogs:datetime:0.5.1" + implementation "io.github.vanpra.compose-material-dialogs:datetime:0.6.0" ... } ``` @@ -51,7 +51,7 @@ dependencies { ```gradle dependencies { ... - implementation "io.github.vanpra.compose-material-dialogs:color:0.5.1" + implementation "io.github.vanpra.compose-material-dialogs:color:0.6.0" ... } ``` diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 71b0d69e..180803b2 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } android { - compileSdk = 30 + compileSdk = 31 buildToolsVersion = "30.0.3" defaultConfig { @@ -52,6 +52,7 @@ dependencies { // implementation(Dependencies.ComposeMaterialDialogs.color) implementation(Dependencies.Kotlin.stdlib) + implementation(Dependencies.Google.material) implementation(Dependencies.AndroidX.Compose.ui) implementation(Dependencies.AndroidX.Compose.material) @@ -59,13 +60,6 @@ dependencies { implementation(Dependencies.AndroidX.Compose.activity) implementation(Dependencies.AndroidX.Compose.navigation) - implementation(Dependencies.AndroidX.coreKtx) - implementation(Dependencies.AndroidX.appcompat) - - implementation(Dependencies.material) - implementation(kotlin("stdlib-jdk8")) - - androidTestImplementation(Dependencies.AndroidX.Compose.testing) coreLibraryDesugaring(Dependencies.desugar) } diff --git a/app/mirakle_build_file_stub b/app/mirakle_build_file_stub deleted file mode 100644 index e69de29b..00000000 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 13bd46b9..2521959d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ @@ -10,15 +9,12 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/Theme.Composematerialdialogs" - tools:replace="android:theme"> + android:theme="@style/Theme.MaterialComponents.DayNight.NoActionBar"> + android:exported="true"> - diff --git a/app/src/main/java/com/vanpra/composematerialdialogdemos/MainActivity.kt b/app/src/main/java/com/vanpra/composematerialdialogdemos/MainActivity.kt index bd1a4431..e1a1a469 100644 --- a/app/src/main/java/com/vanpra/composematerialdialogdemos/MainActivity.kt +++ b/app/src/main/java/com/vanpra/composematerialdialogdemos/MainActivity.kt @@ -1,8 +1,8 @@ package com.vanpra.composematerialdialogdemos import android.os.Bundle +import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth @@ -31,7 +31,7 @@ import com.vanpra.composematerialdialogdemos.ui.ComposeMaterialDialogsTheme /** * @brief MainActivity with material dialog samples */ -class MainActivity : AppCompatActivity() { +class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { diff --git a/app/src/main/java/com/vanpra/composematerialdialogdemos/Util.kt b/app/src/main/java/com/vanpra/composematerialdialogdemos/Util.kt index 6206e7a2..adb1b3cc 100644 --- a/app/src/main/java/com/vanpra/composematerialdialogdemos/Util.kt +++ b/app/src/main/java/com/vanpra/composematerialdialogdemos/Util.kt @@ -8,12 +8,13 @@ import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.material.TextButton import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.vanpra.composematerialdialogs.MaterialDialog import com.vanpra.composematerialdialogs.MaterialDialogButtons +import com.vanpra.composematerialdialogs.MaterialDialogScope +import com.vanpra.composematerialdialogs.rememberMaterialDialogState /** * @brief Builds a dialog and adds button to the layout which shows the dialog on click @@ -22,14 +23,16 @@ import com.vanpra.composematerialdialogs.MaterialDialogButtons fun DialogAndShowButton( buttonText: String, buttons: @Composable MaterialDialogButtons.() -> Unit = {}, - content: @Composable MaterialDialog.() -> Unit + content: @Composable MaterialDialogScope.() -> Unit ) { - val dialog = remember { MaterialDialog() } + val dialogState = rememberMaterialDialogState() - dialog.build(content = content, buttons = buttons) + MaterialDialog(dialogState = dialogState, buttons = buttons) { + content() + } TextButton( - onClick = { dialog.show() }, + onClick = { dialogState.show() }, modifier = Modifier .fillMaxWidth() .padding(8.dp) diff --git a/app/src/main/java/com/vanpra/composematerialdialogdemos/demos/BasicDialog.kt b/app/src/main/java/com/vanpra/composematerialdialogdemos/demos/BasicDialog.kt index 425c2f96..6676062d 100644 --- a/app/src/main/java/com/vanpra/composematerialdialogdemos/demos/BasicDialog.kt +++ b/app/src/main/java/com/vanpra/composematerialdialogdemos/demos/BasicDialog.kt @@ -115,7 +115,7 @@ fun BasicDialogDemo() { input( label = "Name", hint = "Jon Smith", keyboardActions = KeyboardActions( - onDone = { this@DialogAndShowButton.submit() } + onDone = { submit() } ), keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done) ) { diff --git a/app/src/main/java/com/vanpra/composematerialdialogdemos/demos/ListDialog.kt b/app/src/main/java/com/vanpra/composematerialdialogdemos/demos/ListDialog.kt index 263d3d76..71ac0fc5 100644 --- a/app/src/main/java/com/vanpra/composematerialdialogdemos/demos/ListDialog.kt +++ b/app/src/main/java/com/vanpra/composematerialdialogdemos/demos/ListDialog.kt @@ -106,12 +106,15 @@ fun BasicListDialogDemo() { fun MultiSelectionDemo() { var initialSelection by remember { mutableStateOf(setOf(3, 5)) } - DialogAndShowButton(buttonText = "Multi-Selection Dialog", buttons = { defaultListDialogButtons() }) { - title(res = R.string.labels_dialog_title) - listItemsMultiChoice(labels) { - println(it) + DialogAndShowButton( + buttonText = "Multi-Selection Dialog", + buttons = { defaultListDialogButtons() } + ) { + title(res = R.string.labels_dialog_title) + listItemsMultiChoice(labels) { + println(it) + } } -} DialogAndShowButton( buttonText = "Multi-Selection Dialog with disabled items", diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 07fc90a3..17a54dde 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,25 +1,2 @@ - - - - - -