react-native-legal 1.6.1 → 1.6.3
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/src/main/java/com/reactnativelegal/ReactNativeLegalActivity.kt +50 -11
- package/android/src/main/java/com/reactnativelegal/ReactNativeLegalModuleImpl.kt +7 -1
- package/lib/commonjs/NativeReactNativeLegal.js.map +1 -1
- package/lib/module/NativeReactNativeLegal.js.map +1 -1
- package/lib/typescript/NativeReactNativeLegal.d.ts +5 -1
- package/lib/typescript/NativeReactNativeLegal.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NativeReactNativeLegal.ts +6 -1
|
@@ -2,13 +2,17 @@ package com.reactnativelegal
|
|
|
2
2
|
|
|
3
3
|
import android.content.pm.PackageManager
|
|
4
4
|
import android.content.res.Configuration
|
|
5
|
+
import android.graphics.Color
|
|
6
|
+
import android.os.Build
|
|
5
7
|
import android.os.Bundle
|
|
6
8
|
import android.view.MenuItem
|
|
7
9
|
import android.view.View
|
|
10
|
+
import android.view.WindowManager
|
|
8
11
|
import androidx.appcompat.app.AppCompatActivity
|
|
9
12
|
import androidx.appcompat.widget.Toolbar
|
|
10
13
|
import androidx.core.view.WindowCompat
|
|
11
14
|
import androidx.core.view.WindowInsetsCompat
|
|
15
|
+
import androidx.core.view.WindowInsetsControllerCompat
|
|
12
16
|
import androidx.core.view.updatePadding
|
|
13
17
|
import com.mikepenz.aboutlibraries.LibsBuilder.Companion.BUNDLE_TITLE
|
|
14
18
|
import com.mikepenz.aboutlibraries.ui.LibsSupportFragment
|
|
@@ -25,14 +29,7 @@ class ReactNativeLegalActivity : AppCompatActivity() {
|
|
|
25
29
|
super.onCreate(savedInstanceState)
|
|
26
30
|
setContentView(R.layout.activity_licenses)
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK !=
|
|
30
|
-
Configuration.UI_MODE_NIGHT_YES
|
|
31
|
-
|
|
32
|
-
WindowCompat.getInsetsController(window, window.decorView).apply {
|
|
33
|
-
isAppearanceLightStatusBars = isLightTheme
|
|
34
|
-
isAppearanceLightNavigationBars = isLightTheme
|
|
35
|
-
}
|
|
32
|
+
setupEdgeToEdge()
|
|
36
33
|
|
|
37
34
|
val bundle = intent.extras
|
|
38
35
|
fragment = LibsSupportFragment().apply { arguments = bundle }
|
|
@@ -83,9 +80,9 @@ class ReactNativeLegalActivity : AppCompatActivity() {
|
|
|
83
80
|
WindowInsetsCompat.toWindowInsetsCompat(insets)
|
|
84
81
|
.getInsets(WindowInsetsCompat.Type.systemBars())
|
|
85
82
|
v.updatePadding(
|
|
86
|
-
left =
|
|
87
|
-
top =
|
|
88
|
-
right =
|
|
83
|
+
left = systemInsets.left,
|
|
84
|
+
top = systemInsets.top,
|
|
85
|
+
right = systemInsets.right,
|
|
89
86
|
)
|
|
90
87
|
|
|
91
88
|
insets
|
|
@@ -106,4 +103,46 @@ class ReactNativeLegalActivity : AppCompatActivity() {
|
|
|
106
103
|
)
|
|
107
104
|
}
|
|
108
105
|
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Based on React Native's edge-to-edge util
|
|
109
|
+
* https://github.com/facebook/react-native/blob/6e7797d5ab1af6bab8d94b1c1ad62dddc1ec5474/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt#L106
|
|
110
|
+
*/
|
|
111
|
+
private fun setupEdgeToEdge() {
|
|
112
|
+
WindowCompat.setDecorFitsSystemWindows(window, false)
|
|
113
|
+
|
|
114
|
+
val isLightTheme =
|
|
115
|
+
resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK !=
|
|
116
|
+
Configuration.UI_MODE_NIGHT_YES
|
|
117
|
+
|
|
118
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
|
119
|
+
window.isStatusBarContrastEnforced = false
|
|
120
|
+
window.isNavigationBarContrastEnforced = true
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
window.statusBarColor = Color.TRANSPARENT
|
|
124
|
+
window.navigationBarColor =
|
|
125
|
+
when {
|
|
126
|
+
Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q -> Color.TRANSPARENT
|
|
127
|
+
// https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/com/android/internal/policy/DecorView.java;drc=6ef0f022c333385dba2c294e35b8de544455bf19;l=142
|
|
128
|
+
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && isLightTheme ->
|
|
129
|
+
Color.argb(0xe6, 0xFF, 0xFF, 0xFF)
|
|
130
|
+
// https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/res/remote_color_resources_res/values/colors.xml;l=67
|
|
131
|
+
else -> Color.argb(0x80, 0x1b, 0x1b, 0x1b)
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
WindowInsetsControllerCompat(window, window.decorView).apply {
|
|
135
|
+
isAppearanceLightStatusBars = isLightTheme
|
|
136
|
+
isAppearanceLightNavigationBars = isLightTheme
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
|
140
|
+
window.attributes.layoutInDisplayCutoutMode =
|
|
141
|
+
when {
|
|
142
|
+
Build.VERSION.SDK_INT >= Build.VERSION_CODES.R ->
|
|
143
|
+
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS
|
|
144
|
+
else -> WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
109
148
|
}
|
|
@@ -47,7 +47,13 @@ object ReactNativeLegalModuleImpl {
|
|
|
47
47
|
"version" to library.artifactVersion,
|
|
48
48
|
"description" to library.description,
|
|
49
49
|
"website" to library.website,
|
|
50
|
-
"developers" to
|
|
50
|
+
"developers" to
|
|
51
|
+
library.developers.map { developer ->
|
|
52
|
+
bundleOf(
|
|
53
|
+
"name" to developer.name,
|
|
54
|
+
"organisationUrl" to developer.organisationUrl,
|
|
55
|
+
)
|
|
56
|
+
},
|
|
51
57
|
"organization" to library.organization?.name,
|
|
52
58
|
"licenses" to
|
|
53
59
|
library.licenses.map { license ->
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeReactNativeLegal.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeReactNativeLegal.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAuDpCC,gCAAmB,CAACC,YAAY,CAAO,wBAAwB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeReactNativeLegal.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeReactNativeLegal.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAuDlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,wBAAwB,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { TurboModule } from 'react-native';
|
|
2
|
+
export interface Developer {
|
|
3
|
+
name?: string;
|
|
4
|
+
organisationUrl?: string;
|
|
5
|
+
}
|
|
2
6
|
export interface License {
|
|
3
7
|
licenseContent: string;
|
|
4
8
|
/**
|
|
@@ -26,7 +30,7 @@ export interface Library {
|
|
|
26
30
|
/**
|
|
27
31
|
* @platform Android
|
|
28
32
|
*/
|
|
29
|
-
developers?:
|
|
33
|
+
developers?: Developer[];
|
|
30
34
|
/**
|
|
31
35
|
* @platform Android
|
|
32
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeReactNativeLegal.d.ts","sourceRoot":"","sources":["../../src/NativeReactNativeLegal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,OAAO;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"NativeReactNativeLegal.d.ts","sourceRoot":"","sources":["../../src/NativeReactNativeLegal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,iBAAiB,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9C,uBAAuB,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1D;;AAED,wBAAgF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { TurboModule } from 'react-native';
|
|
2
2
|
import { TurboModuleRegistry } from 'react-native';
|
|
3
3
|
|
|
4
|
+
export interface Developer {
|
|
5
|
+
name?: string;
|
|
6
|
+
organisationUrl?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
4
9
|
export interface License {
|
|
5
10
|
licenseContent: string;
|
|
6
11
|
/**
|
|
@@ -29,7 +34,7 @@ export interface Library {
|
|
|
29
34
|
/**
|
|
30
35
|
* @platform Android
|
|
31
36
|
*/
|
|
32
|
-
developers?:
|
|
37
|
+
developers?: Developer[];
|
|
33
38
|
/**
|
|
34
39
|
* @platform Android
|
|
35
40
|
*/
|