@momo-kits/native-kits 0.89.23 → 0.89.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -4
- package/build.gradle.kts +18 -4
- package/compose/build.gradle.kts +4 -3
- package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +14 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +2 -1
- package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +4 -1
- package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +10 -0
- package/gradle.properties +1 -1
- package/package.json +1 -1
- package/settings.gradle.kts +0 -20
package/android/build.gradle
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
plugins {
|
|
2
2
|
id 'com.android.library'
|
|
3
3
|
id 'org.jetbrains.kotlin.android'
|
|
4
|
+
alias libs.plugins.kotlin.compose.compiler
|
|
4
5
|
}
|
|
5
6
|
|
|
6
7
|
android {
|
|
@@ -26,10 +27,6 @@ android {
|
|
|
26
27
|
buildFeatures {
|
|
27
28
|
compose true
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
-
composeOptions {
|
|
31
|
-
kotlinCompilerExtensionVersion = "1.5.14"
|
|
32
|
-
}
|
|
33
30
|
}
|
|
34
31
|
|
|
35
32
|
dependencies {
|
package/build.gradle.kts
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
plugins {
|
|
2
2
|
// this is necessary to avoid the plugins to be loaded multiple times
|
|
3
3
|
// in each subproject's classloader
|
|
4
|
-
kotlin
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
alias(libs.plugins.jetbrains.kotlin.jvm) apply false
|
|
5
|
+
alias(libs.plugins.jetbrains.kotlin.multiplatform) apply false
|
|
6
|
+
alias(libs.plugins.jetbrains.kotlin.android) apply false
|
|
7
|
+
alias(libs.plugins.jetbrains.kotlin.serialization) apply false
|
|
8
|
+
alias(libs.plugins.kotlin.compose.compiler)
|
|
9
|
+
alias(libs.plugins.compose) apply false
|
|
10
|
+
alias(libs.plugins.android.library) apply false
|
|
11
|
+
alias(libs.plugins.android.application) apply false
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
buildscript {
|
|
15
|
+
repositories {
|
|
16
|
+
maven("https://storage.googleapis.com/r8-releases/raw")
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
dependencies {
|
|
20
|
+
classpath(libs.r8)
|
|
21
|
+
}
|
|
8
22
|
}
|
|
9
23
|
|
|
10
24
|
subprojects {
|
package/compose/build.gradle.kts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
plugins {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
alias(libs.plugins.android.library)
|
|
3
|
+
alias(libs.plugins.jetbrains.kotlin.multiplatform)
|
|
4
|
+
alias(libs.plugins.compose)
|
|
5
|
+
alias(libs.plugins.kotlin.compose.compiler)
|
|
5
6
|
id("maven-publish")
|
|
6
7
|
}
|
|
7
8
|
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
package vn.momo.kits.platform
|
|
2
2
|
|
|
3
|
+
import android.annotation.SuppressLint
|
|
4
|
+
import android.content.res.Resources
|
|
3
5
|
import android.graphics.BlurMaskFilter
|
|
4
6
|
import androidx.compose.runtime.Composable
|
|
5
7
|
import androidx.compose.ui.graphics.NativePaint
|
|
6
8
|
import androidx.compose.ui.platform.LocalConfiguration
|
|
9
|
+
import androidx.compose.ui.unit.Dp
|
|
10
|
+
import androidx.compose.ui.unit.dp
|
|
7
11
|
|
|
8
12
|
actual fun getPlatformName(): String = "Android"
|
|
9
13
|
|
|
@@ -19,4 +23,14 @@ actual fun getScreenDimensions(): ScreenDimension {
|
|
|
19
23
|
|
|
20
24
|
actual fun NativePaint.setMaskFilter(blurRadius: Float) {
|
|
21
25
|
this.maskFilter = BlurMaskFilter(blurRadius, BlurMaskFilter.Blur.NORMAL)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@SuppressLint("InternalInsetResource")
|
|
29
|
+
actual fun getStatusBarHeight(): Dp {
|
|
30
|
+
val resourceId = Resources.getSystem().getIdentifier(
|
|
31
|
+
"status_bar_height",
|
|
32
|
+
"dimen",
|
|
33
|
+
"android"
|
|
34
|
+
)
|
|
35
|
+
return if(resourceId > 0) Resources.getSystem().getDimensionPixelSize(resourceId).dp else 0.dp
|
|
22
36
|
}
|
|
@@ -11,6 +11,7 @@ import vn.momo.kits.const.AppTheme
|
|
|
11
11
|
import vn.momo.kits.const.Theme
|
|
12
12
|
import vn.momo.kits.const.defaultTheme
|
|
13
13
|
import vn.momo.kits.platform.disableOverscroll
|
|
14
|
+
import vn.momo.kits.platform.getStatusBarHeight
|
|
14
15
|
|
|
15
16
|
val AppNavigator = staticCompositionLocalOf<Navigator> {
|
|
16
17
|
error("no navigator provided!")
|
|
@@ -57,7 +58,7 @@ fun ApplicationContainer(
|
|
|
57
58
|
CompositionLocalProvider(
|
|
58
59
|
AppTheme provides theme,
|
|
59
60
|
AppNavigator provides Navigator(),
|
|
60
|
-
AppStatusBar provides
|
|
61
|
+
AppStatusBar provides getStatusBarHeight(),
|
|
61
62
|
) {
|
|
62
63
|
content()
|
|
63
64
|
}
|
|
@@ -2,6 +2,7 @@ package vn.momo.kits.platform
|
|
|
2
2
|
|
|
3
3
|
import androidx.compose.runtime.Composable
|
|
4
4
|
import androidx.compose.ui.graphics.NativePaint
|
|
5
|
+
import androidx.compose.ui.unit.Dp
|
|
5
6
|
|
|
6
7
|
data class ScreenDimension(
|
|
7
8
|
val width: Int,
|
|
@@ -15,4 +16,6 @@ expect fun disableOverscroll(): Unit
|
|
|
15
16
|
@Composable
|
|
16
17
|
expect fun getScreenDimensions(): ScreenDimension
|
|
17
18
|
|
|
18
|
-
expect fun NativePaint.setMaskFilter(blurRadius: Float)
|
|
19
|
+
expect fun NativePaint.setMaskFilter(blurRadius: Float)
|
|
20
|
+
|
|
21
|
+
expect fun getStatusBarHeight(): Dp
|
|
@@ -4,13 +4,17 @@ import androidx.compose.foundation.ExperimentalFoundationApi
|
|
|
4
4
|
import androidx.compose.foundation.gestures.optOutOfCupertinoOverscroll
|
|
5
5
|
import androidx.compose.runtime.Composable
|
|
6
6
|
import androidx.compose.ui.graphics.NativePaint
|
|
7
|
+
import androidx.compose.ui.unit.Dp
|
|
8
|
+
import androidx.compose.ui.unit.dp
|
|
7
9
|
import kotlinx.cinterop.ExperimentalForeignApi
|
|
8
10
|
import kotlinx.cinterop.get
|
|
9
11
|
import kotlinx.cinterop.memScoped
|
|
10
12
|
import org.jetbrains.skia.FilterBlurMode
|
|
11
13
|
import org.jetbrains.skia.MaskFilter
|
|
14
|
+
import platform.UIKit.UIApplication
|
|
12
15
|
import platform.UIKit.UIScreen
|
|
13
16
|
|
|
17
|
+
|
|
14
18
|
actual fun getPlatformName(): String = "iOS"
|
|
15
19
|
|
|
16
20
|
@OptIn(ExperimentalFoundationApi::class)
|
|
@@ -30,4 +34,10 @@ actual fun getScreenDimensions(): ScreenDimension = memScoped {
|
|
|
30
34
|
|
|
31
35
|
actual fun NativePaint.setMaskFilter(blurRadius: Float) {
|
|
32
36
|
this.maskFilter = MaskFilter.makeBlur(FilterBlurMode.NORMAL, blurRadius / 2, true)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@OptIn(ExperimentalForeignApi::class)
|
|
40
|
+
actual fun getStatusBarHeight(): Dp {
|
|
41
|
+
val size = UIApplication.sharedApplication.statusBarFrame.size
|
|
42
|
+
return size.dp
|
|
33
43
|
}
|
package/gradle.properties
CHANGED
package/package.json
CHANGED
package/settings.gradle.kts
CHANGED
|
@@ -11,26 +11,6 @@ pluginManagement {
|
|
|
11
11
|
google()
|
|
12
12
|
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
plugins {
|
|
16
|
-
|
|
17
|
-
val kotlinVersion = extra["kotlin.version"] as String
|
|
18
|
-
val agpVersion = extra["agp.version"] as String
|
|
19
|
-
val composeVersion = extra["compose.version"] as String
|
|
20
|
-
|
|
21
|
-
kotlin("jvm").version(kotlinVersion)
|
|
22
|
-
kotlin("multiplatform").version(kotlinVersion)
|
|
23
|
-
kotlin("android").version(kotlinVersion)
|
|
24
|
-
|
|
25
|
-
id("com.android.application").version(agpVersion)
|
|
26
|
-
id("com.android.library").version(agpVersion)
|
|
27
|
-
|
|
28
|
-
id("org.jetbrains.compose").version(composeVersion)
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
plugins {
|
|
33
|
-
id("org.gradle.toolchains.foojay-resolver-convention") version ("0.4.0")
|
|
34
14
|
}
|
|
35
15
|
|
|
36
16
|
dependencyResolutionManagement {
|