@react-native-ohos/react-native-safe-area-context 4.7.5-rc.1 → 4.7.5-rc.2
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.
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"name": "@react-native-ohos/react-native-safe-area-context",
|
|
9
9
|
"description": "Please describe the basic information.",
|
|
10
10
|
"main": "index.ets",
|
|
11
|
-
"version": "4.7.5-rc.
|
|
11
|
+
"version": "4.7.5-rc.2",
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@rnoh/react-native-openharmony": "file:../react_native_openharmony"
|
|
14
14
|
}
|
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
22
|
* SOFTWARE.
|
|
23
23
|
*/
|
|
24
|
+
#include <deviceinfo.h>
|
|
25
|
+
#include <info/application_target_sdk_version.h>
|
|
24
26
|
#include "SafeAreaViewComponentInstance.h"
|
|
25
27
|
#include "TurboModuleRequest.h"
|
|
26
28
|
#include "SafeAreaManagerMap.h"
|
|
@@ -50,20 +52,38 @@ SafeAreaStackNode &SafeAreaViewComponentInstance::getLocalRootArkUINode() { retu
|
|
|
50
52
|
|
|
51
53
|
void SafeAreaViewComponentInstance::updateInsert(SharedConcreteProps p)
|
|
52
54
|
{
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
DLOG(INFO) << "SafeAreaViewComponentInstance OH_CURRENT_API_VERSION:" << OH_CURRENT_API_VERSION
|
|
56
|
+
<< ";ROM SDK:" << OH_GetSdkApiVersion();
|
|
57
|
+
|
|
58
|
+
#if OH_CURRENT_API_VERSION >= 14
|
|
59
|
+
if (OH_GetSdkApiVersion() < 14) {
|
|
60
|
+
TurboModuleRequest request;
|
|
61
|
+
safeArea::Event data = request.getTurboModuleData(this->m_deps);
|
|
62
|
+
facebook::react::RNCSafeAreaViewEventEmitter::OnSafeAreaValueChange inset = {data.insets.top, data.insets.right,
|
|
63
|
+
data.insets.bottom, data.insets.left};
|
|
64
|
+
m_eventEmitter->onSafeAreaValueChange(inset);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
auto parentNodeHandle = findParentNodeHandle(m_safeAreaViewStackNode.getArkUINodeHandle());
|
|
68
|
+
DLOG(INFO) << "SafeAreaViewComponentInstance findParentNodeHandle " << parentNodeHandle.nodeHandle << " hasSafeAreaProvider " << parentNodeHandle.hasSafeAreaProvider;
|
|
69
|
+
if (parentNodeHandle.hasSafeAreaProvider) {
|
|
70
|
+
TurboModuleRequest request;
|
|
71
|
+
safeArea::Event data = request.getTurboModuleData(this->m_deps);
|
|
72
|
+
facebook::react::RNCSafeAreaViewEventEmitter::OnSafeAreaValueChange inset = {data.insets.top, data.insets.right,
|
|
73
|
+
data.insets.bottom, data.insets.left};
|
|
74
|
+
m_eventEmitter->onSafeAreaValueChange(inset);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
facebook::react::RNCSafeAreaViewEventEmitter::OnSafeAreaValueChange inset = {0, 0, 0, 0};
|
|
78
|
+
m_eventEmitter->onSafeAreaValueChange(inset);
|
|
79
|
+
}
|
|
80
|
+
#else
|
|
58
81
|
TurboModuleRequest request;
|
|
59
82
|
safeArea::Event data = request.getTurboModuleData(this->m_deps);
|
|
60
83
|
facebook::react::RNCSafeAreaViewEventEmitter::OnSafeAreaValueChange inset = {data.insets.top, data.insets.right,
|
|
61
|
-
|
|
84
|
+
data.insets.bottom, data.insets.left};
|
|
62
85
|
m_eventEmitter->onSafeAreaValueChange(inset);
|
|
63
|
-
|
|
64
|
-
facebook::react::RNCSafeAreaViewEventEmitter::OnSafeAreaValueChange inset = {0, 0, 0, 0};
|
|
65
|
-
m_eventEmitter->onSafeAreaValueChange(inset);
|
|
66
|
-
}
|
|
86
|
+
#endif
|
|
67
87
|
}
|
|
68
88
|
|
|
69
89
|
SafeAreaViewComponentInstance::ParentNodeInfo SafeAreaViewComponentInstance::findParentNodeHandle(
|
package/harmony/safe_area.har
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native-ohos/react-native-safe-area-context",
|
|
3
|
-
"version": "4.7.5-rc.
|
|
3
|
+
"version": "4.7.5-rc.2",
|
|
4
4
|
"description": "A flexible way to handle safe area, also works on Android and web.",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|