@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.
@@ -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("multiplatform").apply(false)
5
- id("com.android.application").apply(false)
6
- id("com.android.library").apply(false)
7
- id("org.jetbrains.compose").apply(false)
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 {
@@ -1,7 +1,8 @@
1
1
  plugins {
2
- kotlin("multiplatform")
3
- id("com.android.library")
4
- id("org.jetbrains.compose")
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 WindowInsets.systemBars.asPaddingValues().calculateTopPadding(),
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
@@ -14,6 +14,6 @@ android.minSdk=24
14
14
  #Versions
15
15
  kotlin.version=1.9.24
16
16
  agp.version=8.1.1
17
- compose.version=1.7.0-alpha02
17
+ compose.version=1.7.0-dev1756
18
18
  composeCompilerVersion = 1.5.14
19
19
  maven-publish.version=0.25.3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@momo-kits/native-kits",
3
- "version": "0.89.23",
3
+ "version": "0.89.25",
4
4
  "private": false,
5
5
  "dependencies": {},
6
6
  "devDependencies": {},
@@ -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 {