@momo-kits/native-kits 0.89.24 → 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,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@momo-kits/native-kits",
3
- "version": "0.89.24",
3
+ "version": "0.89.25",
4
4
  "private": false,
5
5
  "dependencies": {},
6
6
  "devDependencies": {},