diff --git a/etk/os/FSNode.cpp b/etk/os/FSNode.cpp index ba91dfc..66b6de8 100644 --- a/etk/os/FSNode.cpp +++ b/etk/os/FSNode.cpp @@ -176,13 +176,18 @@ std::string etk::FSNodeGetApplicationName() { #endif // for specific device contraint : -void etk::setBaseFolderData(const char* _folder) { +void etk::setBaseFolderData(const char* _folder, const char* _applName) { #ifdef __TARGET_OS__Android { std::unique_lock lock(getNodeMutex()); baseFolderData = "assets/"; + if (_applName != nullptr) { + baseFolderData += _applName; + baseFolderData += "/"; + } s_fileAPK = _folder; } + TK_INFO("baseFolderData : '" << baseFolderData << "'"); loadAPK(s_fileAPK); #else TK_WARNING("Not Availlable Outside Android"); @@ -193,6 +198,7 @@ void etk::setBaseFolderDataUser(const char* _folder) { std::unique_lock lock(getNodeMutex()); #ifdef __TARGET_OS__Android baseFolderDataUser = _folder; + TK_INFO("baseFolderDataUser : '" << baseFolderDataUser << "'"); #else TK_WARNING("Not Availlable Outside Android"); #endif @@ -202,6 +208,7 @@ void etk::setBaseFolderCache(const char* _folder) { std::unique_lock lock(getNodeMutex()); #ifdef __TARGET_OS__Android baseFolderCache = _folder; + TK_INFO("baseFolderCache : '" << baseFolderCache << "'"); #else TK_WARNING("Not Availlable Outside Android"); #endif @@ -1351,7 +1358,7 @@ std::vector etk::FSNode::folderGetSubList(bool _showHidenFile, bo if( m_type == etk::FSN_TYPE_DATA || m_type == etk::FSN_TYPE_THEME_DATA) { std::vector listAdded; - std::string assetsName = "assets/"; + std::string assetsName = baseFolderData; std::string FolderName = getNameFolder(); if (s_APKArchive==NULL) { return tmpp; @@ -1444,7 +1451,7 @@ void etk::FSNode::folderGetRecursiveFiles(std::vector& _output, boo #ifdef HAVE_ZIP_DATA if( m_type == etk::FSN_TYPE_DATA || m_type == etk::FSN_TYPE_THEME_DATA) { - std::string assetsName = "assets/"; + std::string assetsName = baseFolderData; std::string FolderName = getNameFolder(); if (s_APKArchive==NULL) { return; diff --git a/etk/os/FSNode.h b/etk/os/FSNode.h index a2ced2c..624b03e 100644 --- a/etk/os/FSNode.h +++ b/etk/os/FSNode.h @@ -580,8 +580,9 @@ namespace etk { /** * @brief Set manualy the folder of the Data.(like /usr/shared/applName/ for linux) * @param[in] _folder folder path of the cathegorie + * @param[in] _applName Base name of the application */ - void setBaseFolderData(const char* _folder); + void setBaseFolderData(const char* _folder, const char* _applName=nullptr); /** * @brief Set the user data folder (like /home/machin/.local/applName/ for linux) * @param[in] _folder folder path of the cathegorie