From 933f0006b7f01bb93718d839bba56cb09c71ce8b Mon Sep 17 00:00:00 2001 From: Rafal Walczyna Date: Tue, 29 Oct 2019 13:58:14 +0100 Subject: [PATCH] [filesystem] Fix getAllStorages Fixed bug which causes to show duplicated values of internal and external storages [verification] Filesystem and Archive tct - 100% pass. Change-Id: Ic087583a906eecfa040d97cb903f4c99838c6591 Signed-off-by: Rafal Walczyna --- src/archive/archive_instance.cc | 13 +++---------- src/filesystem/filesystem_instance.cc | 13 +++++-------- src/filesystem/filesystem_instance.h | 6 ++++-- src/filesystem/js/common.js | 11 ++++++++++- 4 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/archive/archive_instance.cc b/src/archive/archive_instance.cc index e804747..d74dd09 100644 --- a/src/archive/archive_instance.cc +++ b/src/archive/archive_instance.cc @@ -58,12 +58,7 @@ ArchiveInstance::ArchiveInstance() { using std::placeholders::_1; using std::placeholders::_2; - - - - -#define REGISTER_METHOD(M) \ - RegisterSyncHandler(#M, std::bind(&ArchiveInstance::M, this, _1, _2)) +#define REGISTER_METHOD(M) RegisterSyncHandler(#M, std::bind(&ArchiveInstance::M, this, _1, _2)) REGISTER_METHOD(ArchiveManagerOpen); REGISTER_METHOD(ArchiveManagerAbort); @@ -79,9 +74,6 @@ ArchiveInstance::ArchiveInstance() { REGISTER_METHOD(ArchiveFetchStorages); #undef REGISTER_METHOD - - - } ArchiveInstance::~ArchiveInstance() { @@ -458,7 +450,8 @@ void ArchiveInstance::ArchiveFileGetEntries(const picojson::value& args, picojso } } -void ArchiveInstance::ArchiveFileGetEntryByName(const picojson::value& args, picojson::object& out) { +void ArchiveInstance::ArchiveFileGetEntryByName(const picojson::value& args, + picojson::object& out) { ScopeLogger("%s", args.serialize().c_str()); CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemRead, &out); diff --git a/src/filesystem/filesystem_instance.cc b/src/filesystem/filesystem_instance.cc index d52caf8..ffea27a 100644 --- a/src/filesystem/filesystem_instance.cc +++ b/src/filesystem/filesystem_instance.cc @@ -103,11 +103,7 @@ FilesystemInstance::FilesystemInstance() { using std::placeholders::_1; using std::placeholders::_2; - - - -#define REGISTER_METHOD(M) \ - RegisterSyncHandler(#M, std::bind(&FilesystemInstance::M, this, _1, _2)) +#define REGISTER_METHOD(M) RegisterSyncHandler(#M, std::bind(&FilesystemInstance::M, this, _1, _2)) REGISTER_METHOD(FileStat); REGISTER_METHOD(FileStatSync); @@ -156,7 +152,6 @@ FilesystemInstance::FilesystemInstance() { #undef REGISTER_METHOD - FilesystemManager::GetInstance().AddListener(this); } @@ -932,14 +927,16 @@ void FilesystemInstance::FileSystemManagerFetchStorages(const picojson::value& a FilesystemManager::GetInstance().FetchStorages(onSuccess, onError); } -void FilesystemInstance::FileSystemManagerAddStorageStateChangeListener(const picojson::value& args, picojson::object& out) { +void FilesystemInstance::FileSystemManagerAddStorageStateChangeListener(const picojson::value& args, + picojson::object& out) { ScopeLogger(); CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemWrite, &out); FilesystemManager::GetInstance().StartListening(); ReportSuccess(out); } -void FilesystemInstance::FileSystemManagerRemoveStorageStateChangeListener(const picojson::value& args, picojson::object& out) { +void FilesystemInstance::FileSystemManagerRemoveStorageStateChangeListener( + const picojson::value& args, picojson::object& out) { ScopeLogger(); CHECK_PRIVILEGE_ACCESS(kPrivilegeFilesystemWrite, &out); FilesystemManager::GetInstance().StopListening(); diff --git a/src/filesystem/filesystem_instance.h b/src/filesystem/filesystem_instance.h index 60526f2..30ea02e 100644 --- a/src/filesystem/filesystem_instance.h +++ b/src/filesystem/filesystem_instance.h @@ -73,8 +73,10 @@ class FilesystemInstance : public common::ParsedInstance, FilesystemStateChangeL void FileReadDir(const picojson::value& args, picojson::object& out); void FileUnlinkFile(const picojson::value& args, picojson::object& out); void FileRemoveDirectory(const picojson::value& args, picojson::object& out); - void FileSystemManagerAddStorageStateChangeListener(const picojson::value& args, picojson::object& out); - void FileSystemManagerRemoveStorageStateChangeListener(const picojson::value& args, picojson::object& out); + void FileSystemManagerAddStorageStateChangeListener(const picojson::value& args, + picojson::object& out); + void FileSystemManagerRemoveStorageStateChangeListener(const picojson::value& args, + picojson::object& out); void FileCopyTo(const picojson::value& args, picojson::object& out); void onFilesystemStateChangeErrorCallback(); void onFilesystemStateChangeSuccessCallback(const common::Storage& storage); diff --git a/src/filesystem/js/common.js b/src/filesystem/js/common.js index bf097b1..602abe9 100644 --- a/src/filesystem/js/common.js +++ b/src/filesystem/js/common.js @@ -446,7 +446,16 @@ var commonFS_ = (function() { for (var key in cacheVirtualToReal) { if (cacheVirtualToReal.hasOwnProperty(key)) { - ret.push(cloneStorage(cacheVirtualToReal[key])); + var found = false; + for (var i = 0; i < cacheStorages.length; ++i) { + if (key === ret[i].label) { + found = true; + break; + } + } + if (found === false) { + ret.push(cloneStorage(cacheVirtualToReal[key])); + } } } -- 2.7.4