diff --git a/interfaces/ani/hilog_ani.cpp b/interfaces/ani/hilog_ani.cpp index 7980b0e8a34bfa253075b3ab0484e7a0d9222d02..4e9af705c6a52ebe8115ddf238abf1bb04da8c77 100644 --- a/interfaces/ani/hilog_ani.cpp +++ b/interfaces/ani/hilog_ani.cpp @@ -46,21 +46,12 @@ static const std::string FUNC_NAME_GETLONG = "getLong"; static const std::string FUNC_NAME_OBJECT_REF = "$_get"; static const std::string PROP_NAME_LENGTH = "length"; -static ani_status EnumGetValueInt32(ani_env *env, ani_int enumIndex, int32_t &value) +static ani_status EnumGetValueInt32(ani_env *env, ani_enum_item enumItem, int32_t &value) { - ani_enum aniEnum {}; - if (ANI_OK != env->FindEnum(CLASS_NAME_HILOGANI.c_str(), &aniEnum)) { - HiLog::Info(LABEL, "FindEnum failed %{public}s", CLASS_NAME_HILOGANI.c_str()); - return ANI_ERROR; - } - ani_enum_item enumItem {}; - if (ANI_OK != env->Enum_GetEnumItemByIndex(aniEnum, static_cast(enumIndex), &enumItem)) { - HiLog::Info(LABEL, "Enum_GetEnumItemByIndex failed %{public}d", static_cast(enumIndex)); - return ANI_ERROR; - } ani_int aniInt {}; if (ANI_OK != env->EnumItem_GetValue_Int(enumItem, &aniInt)) { - HiLog::Info(LABEL, "Enum_GetEnumItemByIndex failed %{public}d", static_cast(enumIndex)); + ani_size aniInt = 0; + HiLog::Info(LABEL, "EnumItem_GetValue_Int failed %{public}d", env->EnumItem_GetIndex(enumItem, &aniInt)); return ANI_ERROR; } value = static_cast(aniInt); @@ -442,7 +433,8 @@ void HilogAni::Fatal(ani_env *env, ani_object object, ani_double domain, ani_str return HilogImpl(env, domain, tag, format, args, LOG_FATAL, true); } -ani_boolean HilogAni::IsLoggable(ani_env *env, ani_object object, ani_double domain, ani_string tag, ani_int level) +ani_boolean HilogAni::IsLoggable(ani_env *env, ani_object object, ani_double domain, ani_string tag, + ani_enum_item level) { int32_t domainVal = static_cast(domain); if (domainVal < static_cast(DOMAIN_APP_MIN) || (domainVal > static_cast(DOMAIN_APP_MAX))) { diff --git a/interfaces/ani/hilog_ani.h b/interfaces/ani/hilog_ani.h index 4cf0e08e1794f7c79b5a530bbeaae096dbf9bd94..1f3f936f20214f0a793623aeda83a8f8b7118a9f 100644 --- a/interfaces/ani/hilog_ani.h +++ b/interfaces/ani/hilog_ani.h @@ -45,7 +45,8 @@ public: ani_string format, ani_object args); static void Fatal(ani_env *env, ani_object object, ani_double domain, ani_string tag, ani_string format, ani_object args); - static ani_boolean IsLoggable(ani_env *env, ani_object object, ani_double domain, ani_string tag, ani_int level); + static ani_boolean IsLoggable(ani_env *env, ani_object object, ani_double domain, ani_string tag, + ani_enum_item level); private: static void HilogImpl(ani_env *env, ani_double domain, ani_string tag, ani_string format, ani_object args,