summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author조웅석/MDE Lab(SR)/삼성전자 <ws77.cho@samsung.com>2024-04-16 10:21:00 +0900
committerGitHub Enterprise <noreply-CODE@samsung.com>2024-04-16 10:21:00 +0900
commit3e2a0b57b63caf67c566e93d1c0c4cc00415c281 (patch)
tree6c1017043005e7353a2d69f450b610d1285e56eb
parent202cc74c843423d399dc4ca5d12db22cef2ffe67 (diff)
downloadlauncher-3e2a0b57b63caf67c566e93d1c0c4cc00415c281.tar.gz
launcher-3e2a0b57b63caf67c566e93d1c0c4cc00415c281.tar.bz2
launcher-3e2a0b57b63caf67c566e93d1c0c4cc00415c281.zip
Check all metadata for AOT in the installer plugin (#538)
-rw-r--r--NativeLauncher/installer-plugin/prefer_dotnet_aot_plugin.cc22
1 files changed, 17 insertions, 5 deletions
diff --git a/NativeLauncher/installer-plugin/prefer_dotnet_aot_plugin.cc b/NativeLauncher/installer-plugin/prefer_dotnet_aot_plugin.cc
index 91928a7..a2e3659 100644
--- a/NativeLauncher/installer-plugin/prefer_dotnet_aot_plugin.cc
+++ b/NativeLauncher/installer-plugin/prefer_dotnet_aot_plugin.cc
@@ -33,6 +33,11 @@
bool aotPluginInstalled = false;
bool aotPluginFinished = false;
+typedef struct metadata_s {
+ const char* key;
+ const char* value;
+} metadata_t;
+
extern "C" int PKGMGR_MDPARSER_PLUGIN_INSTALL(const char *pkgId, const char *appId, GList *list)
{
// Can be multiple apps in one package
@@ -50,13 +55,20 @@ extern "C" int PKGMGR_MDPARSER_PLUGIN_INSTALL(const char *pkgId, const char *app
}
}
- std::string metaValue = getMetadataValue(std::string(pkgId), AOT_METADATA_KEY);
- if (metaValue.empty()) {
- _ERR("Failed to get metadata from [%s]", pkgId);
- return -1;
+ bool doAOT = false;
+ GList* iter = list;
+ while (iter) {
+ metadata_t* md = static_cast<metadata_t*>(iter->data);
+ if (strcmp(AOT_METADATA_KEY, md->key) == 0) {
+ if (strcmp(METADATA_VALUE_TRUE, md->value) == 0) {
+ doAOT = true;
+ }
+ break;
+ }
+ iter = g_list_next(iter);
}
- if (metaValue == METADATA_VALUE_TRUE) {
+ if (doAOT) {
_DBG("Prefer dotnet application AOT set TRUE");
if (initNICommon() != NI_ERROR_NONE) {