From 2ac39b068b769885cffa9216e96f74e36b7a05e7 Mon Sep 17 00:00:00 2001 From: Syer10 Date: Fri, 18 Nov 2022 20:30:59 -0500 Subject: [PATCH] No default values for expect functions 3 --- .../ui/base/components/AndroidTooltipArea.kt | 2 +- .../jui/ui/base/file/AndroidFileSaver.kt | 4 +++- .../ui/base/navigation/AndroidBackHandler.kt | 2 +- .../jui/ui/base/components/TooltipArea.kt | 19 ++++++++++++++++++- .../ca/gosyer/jui/ui/base/file/FileSaver.kt | 13 ++++++++++++- .../jui/ui/base/navigation/BackHandler.kt | 5 ++++- .../ui/base/components/DesktopTooltipArea.kt | 2 +- .../jui/ui/base/file/DesktopFileSaver.kt | 2 +- .../ui/base/navigation/DesktopBackHandler.kt | 2 +- .../jui/ui/base/components/IosTooltipArea.kt | 2 +- .../gosyer/jui/ui/base/file/IosFileSaver.kt | 2 +- .../jui/ui/base/navigation/IosBackHandler.kt | 2 +- 12 files changed, 45 insertions(+), 12 deletions(-) diff --git a/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/components/AndroidTooltipArea.kt b/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/components/AndroidTooltipArea.kt index 8cb7eff6..dc6b2179 100644 --- a/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/components/AndroidTooltipArea.kt +++ b/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/components/AndroidTooltipArea.kt @@ -28,7 +28,7 @@ actual class ComponentRect actual constructor( ) : TooltipPlacement @Composable -actual fun TooltipArea( +internal actual fun RealTooltipArea( tooltip: @Composable () -> Unit, modifier: Modifier, delayMillis: Int, diff --git a/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/file/AndroidFileSaver.kt b/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/file/AndroidFileSaver.kt index 532c19e1..69cb768f 100644 --- a/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/file/AndroidFileSaver.kt +++ b/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/file/AndroidFileSaver.kt @@ -6,6 +6,7 @@ package ca.gosyer.jui.ui.base.file +import android.annotation.SuppressLint import android.net.Uri import androidx.activity.compose.ManagedActivityResultLauncher import androidx.activity.compose.rememberLauncherForActivityResult @@ -24,8 +25,9 @@ actual class FileSaver( } } +@SuppressLint("Recycle") @Composable -actual fun rememberFileSaver( +internal actual fun realRememberFileSaver( onFileSelected: (Sink) -> Unit, onCancel: () -> Unit, onError: () -> Unit diff --git a/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/navigation/AndroidBackHandler.kt b/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/navigation/AndroidBackHandler.kt index fc768d03..786abe51 100644 --- a/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/navigation/AndroidBackHandler.kt +++ b/presentation/src/androidMain/kotlin/ca/gosyer/jui/ui/base/navigation/AndroidBackHandler.kt @@ -10,6 +10,6 @@ import androidx.compose.runtime.Composable import androidx.activity.compose.BackHandler as AndroidBackHandler @Composable -actual fun BackHandler(enabled: Boolean, onBack: () -> Unit) { +internal actual fun RealBackHandler(enabled: Boolean, onBack: () -> Unit) { AndroidBackHandler(enabled, onBack) } diff --git a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/components/TooltipArea.kt b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/components/TooltipArea.kt index d369276b..aaf87dbb 100644 --- a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/components/TooltipArea.kt +++ b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/components/TooltipArea.kt @@ -45,7 +45,7 @@ expect class ComponentRect( @OptIn(ExperimentalFoundationApi::class) @Composable -expect fun TooltipArea( +fun TooltipArea( tooltip: @Composable () -> Unit, modifier: Modifier = Modifier, delayMillis: Int = 500, @@ -53,4 +53,21 @@ expect fun TooltipArea( offset = DpOffset(0.dp, 16.dp) ), content: @Composable () -> Unit +) = RealTooltipArea( + tooltip = tooltip, + modifier = modifier, + delayMillis = delayMillis, + tooltipPlacement = tooltipPlacement, + content = content +) + + +@OptIn(ExperimentalFoundationApi::class) +@Composable +internal expect fun RealTooltipArea( + tooltip: @Composable () -> Unit, + modifier: Modifier = Modifier, + delayMillis: Int = 500, + tooltipPlacement: TooltipPlacement, + content: @Composable () -> Unit ) diff --git a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/file/FileSaver.kt b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/file/FileSaver.kt index 22a367d9..00b10616 100644 --- a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/file/FileSaver.kt +++ b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/file/FileSaver.kt @@ -14,8 +14,19 @@ expect class FileSaver { } @Composable -expect fun rememberFileSaver( +fun rememberFileSaver( onFileSelected: (Sink) -> Unit, onCancel: () -> Unit = {}, onError: () -> Unit = {} +): FileSaver = realRememberFileSaver( + onFileSelected = onFileSelected, + onCancel = onCancel, + onError = onError +) + +@Composable +internal expect fun realRememberFileSaver( + onFileSelected: (Sink) -> Unit, + onCancel: () -> Unit, + onError: () -> Unit ): FileSaver diff --git a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/navigation/BackHandler.kt b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/navigation/BackHandler.kt index 8c0c3f09..4cc44bc2 100644 --- a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/navigation/BackHandler.kt +++ b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/navigation/BackHandler.kt @@ -9,4 +9,7 @@ package ca.gosyer.jui.ui.base.navigation import androidx.compose.runtime.Composable @Composable -expect fun BackHandler(enabled: Boolean = true, onBack: () -> Unit) +fun BackHandler(enabled: Boolean = true, onBack: () -> Unit) = RealBackHandler(enabled, onBack) + +@Composable +internal expect fun RealBackHandler(enabled: Boolean, onBack: () -> Unit) diff --git a/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/components/DesktopTooltipArea.kt b/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/components/DesktopTooltipArea.kt index 580e303c..3db79999 100644 --- a/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/components/DesktopTooltipArea.kt +++ b/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/components/DesktopTooltipArea.kt @@ -18,7 +18,7 @@ actual typealias ComponentRect = androidx.compose.foundation.TooltipPlacement.Co @OptIn(ExperimentalFoundationApi::class) @Composable -actual fun TooltipArea( +internal actual fun RealTooltipArea( tooltip: @Composable () -> Unit, modifier: Modifier, delayMillis: Int, diff --git a/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/file/DesktopFileSaver.kt b/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/file/DesktopFileSaver.kt index cf002183..878e2a94 100644 --- a/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/file/DesktopFileSaver.kt +++ b/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/file/DesktopFileSaver.kt @@ -40,7 +40,7 @@ actual class FileSaver( } @Composable -actual fun rememberFileSaver( +internal actual fun realRememberFileSaver( onFileSelected: (Sink) -> Unit, onCancel: () -> Unit, onError: () -> Unit diff --git a/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/navigation/DesktopBackHandler.kt b/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/navigation/DesktopBackHandler.kt index 5ca5d8ee..fa711eae 100644 --- a/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/navigation/DesktopBackHandler.kt +++ b/presentation/src/desktopMain/kotlin/ca/gosyer/jui/ui/base/navigation/DesktopBackHandler.kt @@ -9,4 +9,4 @@ package ca.gosyer.jui.ui.base.navigation import androidx.compose.runtime.Composable @Composable -actual fun BackHandler(enabled: Boolean, onBack: () -> Unit) {} +internal actual fun RealBackHandler(enabled: Boolean, onBack: () -> Unit) {} diff --git a/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/components/IosTooltipArea.kt b/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/components/IosTooltipArea.kt index 8cb7eff6..dc6b2179 100644 --- a/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/components/IosTooltipArea.kt +++ b/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/components/IosTooltipArea.kt @@ -28,7 +28,7 @@ actual class ComponentRect actual constructor( ) : TooltipPlacement @Composable -actual fun TooltipArea( +internal actual fun RealTooltipArea( tooltip: @Composable () -> Unit, modifier: Modifier, delayMillis: Int, diff --git a/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/file/IosFileSaver.kt b/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/file/IosFileSaver.kt index 8442fc82..cb7e48d8 100644 --- a/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/file/IosFileSaver.kt +++ b/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/file/IosFileSaver.kt @@ -21,7 +21,7 @@ actual class FileSaver( } @Composable -actual fun rememberFileSaver( +internal actual fun realRememberFileSaver( onFileSelected: (Sink) -> Unit, onCancel: () -> Unit, onError: () -> Unit diff --git a/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/navigation/IosBackHandler.kt b/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/navigation/IosBackHandler.kt index 5ca5d8ee..fa711eae 100644 --- a/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/navigation/IosBackHandler.kt +++ b/presentation/src/iosMain/kotlin/ca/gosyer/jui/ui/base/navigation/IosBackHandler.kt @@ -9,4 +9,4 @@ package ca.gosyer.jui.ui.base.navigation import androidx.compose.runtime.Composable @Composable -actual fun BackHandler(enabled: Boolean, onBack: () -> Unit) {} +internal actual fun RealBackHandler(enabled: Boolean, onBack: () -> Unit) {}