diff --git a/packages/device_info_plus/CHANGELOG.md b/packages/device_info_plus/CHANGELOG.md index 129e7b1b4..4eb2a114d 100644 --- a/packages/device_info_plus/CHANGELOG.md +++ b/packages/device_info_plus/CHANGELOG.md @@ -1,3 +1,8 @@ +## NEXT + +* Use wrapper API. + + ## 1.4.3 * Add `DeviceInfoPluginTizen.duid` to retrieve the device's DUID (Device Unique ID). diff --git a/packages/device_info_plus/tizen/inc/ftpw_device_info_plus.h b/packages/device_info_plus/tizen/inc/ftpw_device_info_plus.h new file mode 100644 index 000000000..398e40fe8 --- /dev/null +++ b/packages/device_info_plus/tizen/inc/ftpw_device_info_plus.h @@ -0,0 +1,17 @@ +// Copyright 2026 Samsung Electronics Co., Ltd. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#ifndef FLUTTER_TIZEN_PLUGINS_WRAPPER_DEVICE_INFO_PLUS_H_ +#define FLUTTER_TIZEN_PLUGINS_WRAPPER_DEVICE_INFO_PLUS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +char *ftpw_device_info_plus_get_duid(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/packages/device_info_plus/tizen/lib/aarch64/libftpw_device_info_plus.so b/packages/device_info_plus/tizen/lib/aarch64/libftpw_device_info_plus.so new file mode 100755 index 000000000..349e566f3 Binary files /dev/null and b/packages/device_info_plus/tizen/lib/aarch64/libftpw_device_info_plus.so differ diff --git a/packages/device_info_plus/tizen/lib/armel/libftpw_device_info_plus.so b/packages/device_info_plus/tizen/lib/armel/libftpw_device_info_plus.so new file mode 100755 index 000000000..1ea390d87 Binary files /dev/null and b/packages/device_info_plus/tizen/lib/armel/libftpw_device_info_plus.so differ diff --git a/packages/device_info_plus/tizen/lib/i586/libftpw_device_info_plus.so b/packages/device_info_plus/tizen/lib/i586/libftpw_device_info_plus.so new file mode 100755 index 000000000..e6e096112 Binary files /dev/null and b/packages/device_info_plus/tizen/lib/i586/libftpw_device_info_plus.so differ diff --git a/packages/device_info_plus/tizen/lib/x86_64/libftpw_device_info_plus.so b/packages/device_info_plus/tizen/lib/x86_64/libftpw_device_info_plus.so new file mode 100755 index 000000000..500138d1b Binary files /dev/null and b/packages/device_info_plus/tizen/lib/x86_64/libftpw_device_info_plus.so differ diff --git a/packages/device_info_plus/tizen/project_def.prop b/packages/device_info_plus/tizen/project_def.prop index 4c4d9668a..2141dcd2c 100644 --- a/packages/device_info_plus/tizen/project_def.prop +++ b/packages/device_info_plus/tizen/project_def.prop @@ -18,3 +18,7 @@ USER_CPP_UNDEFS = USER_INC_DIRS = inc src USER_INC_FILES = USER_CPP_INC_FILES = + +# User libraries +USER_LIB_DIRS += lib/${BUILD_ARCH} +USER_LIBS += ftpw_device_info_plus diff --git a/packages/device_info_plus/tizen/src/device_info_plus_tizen_plugin.cc b/packages/device_info_plus/tizen/src/device_info_plus_tizen_plugin.cc index bdad88dde..06e5aa735 100644 --- a/packages/device_info_plus/tizen/src/device_info_plus_tizen_plugin.cc +++ b/packages/device_info_plus/tizen/src/device_info_plus_tizen_plugin.cc @@ -4,9 +4,6 @@ #include "device_info_plus_tizen_plugin.h" -#ifdef TV_PROFILE -#include -#endif #include #include #include @@ -21,6 +18,7 @@ #include #include +#include "ftpw_device_info_plus.h" #include "log.h" namespace { @@ -33,26 +31,9 @@ std::optional GetDuid() { #ifndef TV_PROFILE return std::string(); #else - using FuncVconfGetStr = char *(*)(const char *); - - void *handle = dlopen("libvconf.so.0", RTLD_LAZY); - if (!handle) { - LOG_ERROR("Failed to open libvconf.so.0."); - return std::nullopt; - } - - auto vconf_get_str = - reinterpret_cast(dlsym(handle, "vconf_get_str")); - if (!vconf_get_str) { - LOG_ERROR("Failed to find the vconf_get_str symbol."); - dlclose(handle); - return std::nullopt; - } - - char *value = vconf_get_str("db/comss/duid"); - dlclose(handle); + char *value = ftpw_device_info_plus_get_duid(); if (!value) { - LOG_ERROR("Failed to read db/comss/duid."); + LOG_ERROR("Failed to read DUID."); return std::nullopt; } std::string duid = value;