From c017dae21369466ad4a312871824acda47419cd5 Mon Sep 17 00:00:00 2001 From: ypigunova Date: Tue, 19 Aug 2025 18:07:12 +0300 Subject: [PATCH] Remove deprecated Array_New_Ref Issue: ICTQW2 Signed-off-by: ypigunova --- .../ani/native/custom/ani_measure_layout.cpp | 23 ++++++-------- .../ani/native/custom/ani_measure_layout.h | 6 ++-- .../drag_and_drop/native_drag_drop_global.cpp | 4 +-- interop/src/cpp/ani/convertors-ani.h | 30 +++++++++++++------ 4 files changed, 35 insertions(+), 28 deletions(-) diff --git a/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.cpp b/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.cpp index 64d7d4058..ec1aeaaa9 100644 --- a/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.cpp +++ b/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.cpp @@ -458,7 +458,7 @@ JSMeasureLayoutParamNG::JSMeasureLayoutParamNG(NG::LayoutWrapper* layoutWrapper, if (ANI_OK != env->GetVM(&vm)) { LOGE("GetVM failed"); } - deleter_ = [vm](ani_array_ref ref) { + deleter_ = [vm](ani_array ref) { if (ref != nullptr) { ani_env* env = nullptr; vm->GetEnv(ANI_VERSION_1, &env); @@ -471,26 +471,21 @@ JSMeasureLayoutParamNG::JSMeasureLayoutParamNG(NG::LayoutWrapper* layoutWrapper, void JSMeasureLayoutParamNG::Init(ani_env* env) { int32_t count = GetTotalChildCount(); - ani_class childCls = nullptr; - static const char *className = "Larkui/ani/arkts/ArkUIAniCustomNodeModule/MeasurableLayoutableInner;"; - if (ANI_OK != env->FindClass(className, &childCls)) { - return; - } ani_ref undefinedRef = nullptr; if (ANI_OK != env->GetUndefined(&undefinedRef)) { return; } - ani_array_ref array; - if (ANI_OK != env->Array_New_Ref(childCls, count, undefinedRef, &array)) { + ani_array array; + if (ANI_OK != env->Array_New(count, undefinedRef, &array)) { return; } ani_ref temp; if (ANI_OK != env->GlobalReference_Create(static_cast(array), &temp)) { return; } - childArray_.reset(static_cast(temp), deleter_); + childArray_.reset(static_cast(temp), deleter_); GenChildArray(env, 0, count); } @@ -531,7 +526,7 @@ void JSMeasureLayoutParamNG::GenChildArray(ani_env* env, int32_t start, int32_t } } - if (ANI_OK != env->Array_Set_Ref(childArray_.get(), index, info)) { + if (ANI_OK != env->Array_Set(childArray_.get(), index, info)) { return; } } @@ -589,8 +584,8 @@ void JSMeasureLayoutParamNG::Update(ani_env* env, NG::LayoutWrapper* layoutWrap return; } - ani_array_ref array; - if (ANI_OK != env->Array_New_Ref(childCls, newCount, undefinedRef, &array)) { + ani_array array; + if (ANI_OK != env->Array_New(newCount, undefinedRef, &array)) { return; } @@ -605,7 +600,7 @@ void JSMeasureLayoutParamNG::Update(ani_env* env, NG::LayoutWrapper* layoutWrap return; } } - if (ANI_OK != env->Array_Set_Ref(array, index, info)) { + if (ANI_OK != env->Array_Set(array, index, info)) { return; } } @@ -613,7 +608,7 @@ void JSMeasureLayoutParamNG::Update(ani_env* env, NG::LayoutWrapper* layoutWrap if (ANI_OK != env->GlobalReference_Create(static_cast(array), &temp)) { return; } - childArray_.reset(static_cast(temp), deleter_); + childArray_.reset(static_cast(temp), deleter_); } } diff --git a/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.h b/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.h index d2728ca2a..574592f85 100644 --- a/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.h +++ b/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.h @@ -57,10 +57,10 @@ public: } void GenChildArray(ani_env* env, int32_t start, int32_t end); - using AniArrayRef = std::remove_reference_t(nullptr))>; + using AniArray = std::remove_reference_t(nullptr))>; - std::shared_ptr childArray_; - std::function deleter_; + std::shared_ptr childArray_; + std::function deleter_; }; diff --git a/arkoala-arkts/arkui/src/ani/native/drag_and_drop/native_drag_drop_global.cpp b/arkoala-arkts/arkui/src/ani/native/drag_and_drop/native_drag_drop_global.cpp index 57253ed28..520bef5ae 100644 --- a/arkoala-arkts/arkui/src/ani/native/drag_and_drop/native_drag_drop_global.cpp +++ b/arkoala-arkts/arkui/src/ani/native/drag_and_drop/native_drag_drop_global.cpp @@ -186,7 +186,7 @@ void DragSetAllowDropNull([[maybe_unused]] ani_env* env, [[maybe_unused]] ani_ob } void DragSetAllowDrop([[maybe_unused]] ani_env* env, [[maybe_unused]] ani_object object, - [[maybe_unused]] ani_long pointer, [[maybe_unused]] ani_array_ref array, [[maybe_unused]] ani_int length) + [[maybe_unused]] ani_long pointer, [[maybe_unused]] ani_array array, [[maybe_unused]] ani_int length) { auto* frameNode = reinterpret_cast(pointer); if (!frameNode || length < 0) { @@ -205,7 +205,7 @@ void DragSetAllowDrop([[maybe_unused]] ani_env* env, [[maybe_unused]] ani_object const char** allowDrops = new const char* [length]; std::vector allowDropsSave(length); for (int i = 0; i < length; i++) { - if (ANI_OK == env->Array_Get_Ref(array, i, &ref)) { + if (ANI_OK == env->Array_Get(array, i, &ref)) { ani_string stringValue = static_cast(ref); std::string dataType = AniUtils::ANIStringToStdString(env, stringValue); allowDropsSave[i] = dataType; diff --git a/interop/src/cpp/ani/convertors-ani.h b/interop/src/cpp/ani/convertors-ani.h index 8d50abcc8..0cb06abca 100644 --- a/interop/src/cpp/ani/convertors-ani.h +++ b/interop/src/cpp/ani/convertors-ani.h @@ -241,13 +241,15 @@ struct InteropTypeConverter { template<> struct InteropTypeConverter { - using InteropType = ani_array_int; + using InteropType = ani_array; static KInt* convertFrom(ani_env* env, InteropType value) { if (!value) return nullptr; ani_size length = 0; CHECK_ANI_FATAL(env->Array_GetLength(value, &length)); KInt* data = new KInt[length]; - CHECK_ANI_FATAL(env->Array_GetRegion_Int(value, 0, length, (ani_int*)data)); + for (size_t i = 0; i < length; ++i) { + CHECK_ANI_FATAL(env->Array_Get(value, i, (ani_ref*)data[i])); + } return data; } static InteropType convertTo(ani_env* env, KInt* value) = delete; @@ -255,7 +257,9 @@ struct InteropTypeConverter { if (converted) { ani_size length = 0; CHECK_ANI_FATAL(env->Array_GetLength(value, &length)); - CHECK_ANI_FATAL(env->Array_SetRegion_Int(value, 0, length, (ani_int*)converted)); + for (size_t i = 0; i < length; ++i) { + CHECK_ANI_FATAL(env->Array_Set(value, i, (ani_ref)(*converted[i]))); + } } delete [] converted; } @@ -263,13 +267,15 @@ struct InteropTypeConverter { template<> struct InteropTypeConverter { - using InteropType = ani_array_float; + using InteropType = ani_array; static KFloat* convertFrom(ani_env* env, InteropType value) { if (!value) return nullptr; ani_size length = 0; CHECK_ANI_FATAL(env->Array_GetLength(value, &length)); KFloat* data = new KFloat[length]; - CHECK_ANI_FATAL(env->Array_GetRegion_Float(value, 0, length, (ani_float*)data)); + for (size_t i = 0; i < length; ++i) { + CHECK_ANI_FATAL(env->Array_Get(value, i, (ani_ref*)data[i])); + } return data; } static InteropType convertTo(ani_env* env, KFloat* value) = delete; @@ -277,7 +283,9 @@ struct InteropTypeConverter { if (converted) { ani_size length = 0; CHECK_ANI_FATAL(env->Array_GetLength(value, &length)); - CHECK_ANI_FATAL(env->Array_SetRegion_Float(value, 0, length, (ani_float*)converted)); + for (size_t i = 0; i < length; ++i) { + CHECK_ANI_FATAL(env->Array_Set(value, i, (ani_ref)(*converted[i]))); + } } delete [] converted; } @@ -285,14 +293,16 @@ struct InteropTypeConverter { template<> struct InteropTypeConverter { - using InteropType = ani_array_byte; + using InteropType = ani_array; static KByte* convertFrom(ani_env* env, InteropType value) { if (!value) return nullptr; ani_size length = 0; CHECK_ANI_FATAL(env->Array_GetLength(value, &length)); KByte* data = new KByte[length]; if (length > 0) { - CHECK_ANI_FATAL(env->Array_GetRegion_Byte(value, 0, length, (ani_byte*)data)); + for (size_t i = 0; i < length; ++i) { + CHECK_ANI_FATAL(env->Array_Get(value, i, (ani_ref*)data[i])); + } } return data; } @@ -302,7 +312,9 @@ struct InteropTypeConverter { ani_size length = 0; CHECK_ANI_FATAL(env->Array_GetLength(value, &length)); if (length > 0) { - CHECK_ANI_FATAL(env->Array_SetRegion_Byte(value, 0, length, (ani_byte*)converted)); + for (size_t i = 0; i < length; ++i) { + CHECK_ANI_FATAL(env->Array_Set(value, i, (ani_ref)(*converted[i]))); + } } } delete[] converted; -- Gitee