diff --git a/build.gradle b/build.gradle
index e657d6d..d7c2e49 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,15 +4,16 @@ buildscript {
min_sdk_version = 24
target_sdk_version = 33
- compose_version = "1.3.0"
- compose_compiler_version = "1.3.2"
- activity = "1.6.1"
+ compose_bom_version = "2023.01.00"
+ compose_compiler_version = "1.4.2"
+ accompanist_version = "0.28.0"
+ activity_version = "1.6.1"
}
}
plugins {
- id "com.android.application" version "7.3.1" apply false
- id "com.android.library" version "7.3.1" apply false
- id "org.jetbrains.kotlin.android" version "1.7.20" apply false
+ id "com.android.application" version '7.4.2' apply false
+ id "com.android.library" version '7.4.2' apply false
+ id "org.jetbrains.kotlin.android" version "1.8.10" apply false
id "io.gitlab.arturbosch.detekt" version "1.21.0"
id "com.diffplug.spotless" version "6.5.1"
id "com.vanniktech.maven.publish" version "0.21.0"
diff --git a/demo/build.gradle b/demo/build.gradle
index 5b1f596..7c27219 100644
--- a/demo/build.gradle
+++ b/demo/build.gradle
@@ -50,7 +50,9 @@ android {
dependencies {
implementation(project(":pagecurl"))
- implementation("androidx.compose.ui:ui:$compose_version")
- implementation("androidx.compose.material:material:$compose_version")
- implementation("androidx.activity:activity-compose:$activity")
+ implementation(platform("androidx.compose:compose-bom:$compose_bom_version"))
+ implementation("androidx.compose.ui:ui")
+ implementation("androidx.compose.material:material")
+ implementation("androidx.activity:activity-compose:$activity_version")
+ implementation("com.google.accompanist:accompanist-systemuicontroller:$accompanist_version")
}
diff --git a/demo/src/main/kotlin/eu/wewox/pagecurl/MainActivity.kt b/demo/src/main/kotlin/eu/wewox/pagecurl/MainActivity.kt
index 1678271..a022140 100644
--- a/demo/src/main/kotlin/eu/wewox/pagecurl/MainActivity.kt
+++ b/demo/src/main/kotlin/eu/wewox/pagecurl/MainActivity.kt
@@ -16,6 +16,7 @@ import androidx.compose.foundation.lazy.items
import androidx.compose.material.Icon
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Scaffold
+import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.KeyboardArrowRight
@@ -55,15 +56,17 @@ class MainActivity : ComponentActivity() {
example = null
}
- Crossfade(targetState = example, Modifier.safeDrawingPadding()) { selected ->
- when (selected) {
- null -> RootScreen(onExampleClick = { example = it })
- Example.SimplePageCurl -> SimplePageCurlScreen()
- Example.SettingsPageCurl -> SettingsPageCurlScreen()
- Example.StateInPageCurl -> StateInPageCurlScreen()
- Example.InteractionConfigInPageCurl -> InteractionConfigInPageCurlScreen()
- Example.ShadowPageCurl -> ShadowInPageCurlScreen()
- Example.BackPagePageCurl -> BackPagePageCurlScreen()
+ Surface(color = MaterialTheme.colors.background) {
+ Crossfade(targetState = example, Modifier.safeDrawingPadding()) { selected ->
+ when (selected) {
+ null -> RootScreen(onExampleClick = { example = it })
+ Example.SimplePageCurl -> SimplePageCurlScreen()
+ Example.SettingsPageCurl -> SettingsPageCurlScreen()
+ Example.StateInPageCurl -> StateInPageCurlScreen()
+ Example.InteractionConfigInPageCurl -> InteractionConfigInPageCurlScreen()
+ Example.ShadowPageCurl -> ShadowInPageCurlScreen()
+ Example.BackPagePageCurl -> BackPagePageCurlScreen()
+ }
}
}
}
diff --git a/demo/src/main/kotlin/eu/wewox/pagecurl/components/TopBar.kt b/demo/src/main/kotlin/eu/wewox/pagecurl/components/TopBar.kt
index 93b12f2..be9deca 100644
--- a/demo/src/main/kotlin/eu/wewox/pagecurl/components/TopBar.kt
+++ b/demo/src/main/kotlin/eu/wewox/pagecurl/components/TopBar.kt
@@ -1,6 +1,7 @@
package eu.wewox.pagecurl.components
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
@@ -19,5 +20,6 @@ fun TopBar(title: String) {
style = MaterialTheme.typography.h4,
modifier = Modifier
.padding(SpacingMedium)
+ .statusBarsPadding()
)
}
diff --git a/demo/src/main/kotlin/eu/wewox/pagecurl/components/ZoomOutLayout.kt b/demo/src/main/kotlin/eu/wewox/pagecurl/components/ZoomOutLayout.kt
index c2c53c7..afa09ac 100644
--- a/demo/src/main/kotlin/eu/wewox/pagecurl/components/ZoomOutLayout.kt
+++ b/demo/src/main/kotlin/eu/wewox/pagecurl/components/ZoomOutLayout.kt
@@ -52,14 +52,18 @@ fun ZoomOutLayout(
bottom = bottom,
modifier = modifier,
) {
- // Animate radius and elevation with the same value, because we not :)
+ // Animate radius and elevation with the same value, because why not :)
val cornersAndElevation by animateDpAsState(if (zoomOut) 16.dp else 0.dp)
- Card(
- shape = RoundedCornerShape(cornersAndElevation),
- elevation = cornersAndElevation,
- content = pageCurl,
- )
+ if (cornersAndElevation != 0.dp) {
+ Card(
+ shape = RoundedCornerShape(cornersAndElevation),
+ elevation = cornersAndElevation,
+ content = pageCurl,
+ )
+ } else {
+ pageCurl()
+ }
}
}
diff --git a/demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Color.kt b/demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Color.kt
index e34a75f..dd9c17d 100644
--- a/demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Color.kt
+++ b/demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Color.kt
@@ -4,7 +4,5 @@ package eu.wewox.pagecurl.ui.theme
import androidx.compose.ui.graphics.Color
-val Purple200 = Color(0xFFBB86FC)
-val Purple500 = Color(0xFF6200EE)
-val Purple700 = Color(0xFF3700B3)
-val Teal200 = Color(0xFF03DAC5)
+val LightBlue = Color(0xFF6DD3FF)
+val LightYellow = Color(0xFFFFF281)
diff --git a/demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Theme.kt b/demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Theme.kt
index b20c257..9bbc839 100644
--- a/demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Theme.kt
+++ b/demo/src/main/kotlin/eu/wewox/pagecurl/ui/theme/Theme.kt
@@ -6,17 +6,28 @@ import androidx.compose.material.Typography
import androidx.compose.material.darkColors
import androidx.compose.material.lightColors
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.SideEffect
+import androidx.compose.ui.graphics.Color
+import com.google.accompanist.systemuicontroller.rememberSystemUiController
private val DarkColorPalette = darkColors(
- primary = Purple200,
- primaryVariant = Purple700,
- secondary = Teal200,
+ primary = LightBlue,
+ primaryVariant = LightBlue,
+ secondary = LightYellow,
+ secondaryVariant = LightYellow,
+
+ onPrimary = Color.Black,
+ onSecondary = Color.Black,
)
private val LightColorPalette = lightColors(
- primary = Purple500,
- primaryVariant = Purple700,
- secondary = Teal200,
+ primary = LightBlue,
+ primaryVariant = LightBlue,
+ secondary = LightYellow,
+ secondaryVariant = LightYellow,
+
+ onPrimary = Color.Black,
+ onSecondary = Color.Black,
)
/**
@@ -24,6 +35,15 @@ private val LightColorPalette = lightColors(
*/
@Composable
fun PageCurlTheme(darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit) {
+ val sysUiController = rememberSystemUiController()
+ SideEffect {
+ sysUiController.setSystemBarsColor(
+ color = Color.Transparent,
+ darkIcons = !darkTheme,
+ isNavigationBarContrastEnforced = false
+ )
+ }
+
val colors = if (darkTheme) {
DarkColorPalette
} else {
diff --git a/demo/src/main/res/values/colors.xml b/demo/src/main/res/values/colors.xml
index ca1931b..f42ada6 100644
--- a/demo/src/main/res/values/colors.xml
+++ b/demo/src/main/res/values/colors.xml
@@ -1,10 +1,4 @@
- #FFBB86FC
- #FF6200EE
- #FF3700B3
- #FF03DAC5
- #FF018786
- #FF000000
- #FFFFFFFF
+ #FFFFFF
diff --git a/demo/src/main/res/values/ic_launcher_background.xml b/demo/src/main/res/values/ic_launcher_background.xml
deleted file mode 100644
index c5d5899..0000000
--- a/demo/src/main/res/values/ic_launcher_background.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- #FFFFFF
-
\ No newline at end of file
diff --git a/demo/src/main/res/values/themes.xml b/demo/src/main/res/values/themes.xml
index 0de3b6c..9911108 100644
--- a/demo/src/main/res/values/themes.xml
+++ b/demo/src/main/res/values/themes.xml
@@ -2,6 +2,6 @@
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index e2ae706..dea15d1 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Wed Nov 09 10:15:20 CET 2022
+#Wed Mar 15 10:05:21 CET 2023
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/pagecurl/build.gradle b/pagecurl/build.gradle
index d8589ab..35078b3 100644
--- a/pagecurl/build.gradle
+++ b/pagecurl/build.gradle
@@ -39,6 +39,7 @@ android {
}
dependencies {
- implementation("androidx.compose.ui:ui:$compose_version")
- implementation("androidx.compose.foundation:foundation:$compose_version")
+ implementation(platform("androidx.compose:compose-bom:$compose_bom_version"))
+ implementation("androidx.compose.ui:ui")
+ implementation("androidx.compose.foundation:foundation")
}