From ba9e2fca7bece1f46eac6f29c0ca5e2c54f59d89 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Fri, 28 Dec 2012 22:43:37 +0100 Subject: [PATCH] [DEBUG] corection of the android asset folder detection --- etk/os/FSNode.cpp | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/etk/os/FSNode.cpp b/etk/os/FSNode.cpp index faffc91..d0e5d77 100644 --- a/etk/os/FSNode.cpp +++ b/etk/os/FSNode.cpp @@ -33,6 +33,9 @@ extern "C" { #endif +#define TK_DBG_MODE TK_VERBOSE +//#define TK_DBG_MODE TK_DEBUG + // zip file of the apk file for Android ==> set to zip file apk access static etk::UString s_fileAPK = ""; static etk::UString baseApplName = "ewolNoName"; @@ -357,11 +360,6 @@ void etk::FSNode::SortElementList(etk::Vector &list) } } - - -#define TK_DBG_MODE TK_VERBOSE -//#define TK_DBG_MODE TK_DEBUG - void etk::FSNode::PrivateSetName(etk::UString& newName) { if( NULL != m_PointerFile @@ -604,6 +602,31 @@ void etk::FSNode::UpdateFileSystemProperty(void) #ifdef __TARGET_OS__Android if( m_type == etk::FSN_TYPE_DATA || m_type == etk::FSN_TYPE_THEME_DATA) { + // ---------------------------------------- + // = Check if it was a folder : = + // ---------------------------------------- + etk::UString folderName="/"; + if (true==m_systemFileName.EndWith(folderName)) { + folderName = m_systemFileName; + } else { + folderName = m_systemFileName + "/"; + } + for (int iii=0; iii : " << tmppp ); return tmppp; } else { etk::UString tmpVal = tmppp; tmpVal += "/"; + TK_DBG_MODE(" ==> : " << tmppp ); return tmpVal; } break; @@ -764,12 +789,15 @@ etk::UString etk::FSNode::GetRelativeFolder(void) const } int32_t lastPos = tmppp.FindBack('/'); if (-1 != lastPos) { + TK_DBG_MODE(" ==> : " << tmppp.Extract(0, lastPos+1) ); return tmppp.Extract(0, lastPos+1); } lastPos = tmppp.FindBack(':'); if (-1 != lastPos) { + TK_DBG_MODE(" ==> : " << tmppp.Extract(0, lastPos+1) ); return tmppp.Extract(0, lastPos+1); } + TK_DBG_MODE(" ==> : \"\"" ); return ""; } @@ -1013,6 +1041,7 @@ void etk::FSNode::FolderGetRecursiveFiles(etk::Vector& output) #ifdef __TARGET_OS__Android if( m_type == etk::FSN_TYPE_DATA || m_type == etk::FSN_TYPE_THEME_DATA) { + etk::UString assetsName = "assets/"; etk::UString FolderName = GetNameFolder(); for (int iii=0; iii& output) } else { tmpString = "THEME:"; } + if (true == filename.StartWith(assetsName)) { + filename.Remove(0,assetsName.Size()); + } tmpString += filename; output.PushBack(tmpString); }