From 9da920e783a4578a52a5ccf95a0d3276fae4e707 Mon Sep 17 00:00:00 2001 From: Hyunjin Park Date: Thu, 30 Jun 2016 11:41:30 +0900 Subject: [PATCH 01/16] [version] 1.4 Change-Id: I9bab90802a56a9faf99a868dbebabd43d4ef511e --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index fb1a9f8..abda558 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 1.3 +Version: 1.4 Release: 0 License: Apache-2.0 and BSD-2.0 and MIT Group: Development/Libraries -- 2.7.4 From 8a48758fadc89b2313f27e3a39a947806d4d2ea4 Mon Sep 17 00:00:00 2001 From: Tomasz Marciniak Date: Fri, 1 Jul 2016 07:05:59 +0200 Subject: [PATCH 02/16] [Download] Added destroy_download() in case of failure. [Verification] Code compiles. TCT pass rate 100% Change-Id: Iae9d68114317c81766ab09bec2d567e49fe2495c Signed-off-by: Tomasz Marciniak --- src/download/download_instance.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/download/download_instance.cc b/src/download/download_instance.cc index 97ff27c..ad114c0 100755 --- a/src/download/download_instance.cc +++ b/src/download/download_instance.cc @@ -407,7 +407,10 @@ gboolean DownloadInstance::OnFailed(void* user_data) { return FALSE; } - LoggerD("OnFailed for callbackID %d Called", downCbPtr->callbackId); + int callback_id = downCbPtr->callbackId; + DownloadInfoPtr diPtr = downCbPtr->instance->diMap[callback_id]; + + LoggerD("OnFailed for callbackID %d called", callback_id); download_get_error(downCbPtr->downloadId, &error); @@ -416,10 +419,18 @@ gboolean DownloadInstance::OnFailed(void* user_data) { ("download_get_error error: %d (%s)", error, get_error_message(error))); } + int ret = download_destroy(diPtr->download_id); + if (DOWNLOAD_ERROR_NONE != ret) { + LoggerE("%s", get_error_message(ret)); + } + out["callbackId"] = picojson::value(static_cast(downCbPtr->callbackId)); Instance::PostMessage(downCbPtr->instance, picojson::value(out).serialize().c_str()); + downCbPtr->instance->download_callbacks.erase(callback_id); + delete (downCbPtr); + return FALSE; } -- 2.7.4 From 2ecbfd18dc9f5b1f974a9ff2164ca392b0d82446 Mon Sep 17 00:00:00 2001 From: Hyunjin Park Date: Mon, 4 Jul 2016 11:12:55 +0900 Subject: [PATCH 03/16] [version] 1.5 Change-Id: I33c160623a7626e8c4cea92e0201082c75a4a5b5 --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index abda558..8570121 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 1.4 +Version: 1.5 Release: 0 License: Apache-2.0 and BSD-2.0 and MIT Group: Development/Libraries -- 2.7.4 From c2d9662170eca2555008323ccf0c8a8bb86b115a Mon Sep 17 00:00:00 2001 From: Hyunjin Park Date: Mon, 4 Jul 2016 15:45:12 +0900 Subject: [PATCH 04/16] [wearable][nfc] enable feature on emulator [version] 1.6 Change-Id: I6ed647a77cafcbfef395fafe27637bc4ee30bf49 --- packaging/webapi-plugins.spec | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index 8570121..5bf3264 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 1.5 +Version: 1.6 Release: 0 License: Apache-2.0 and BSD-2.0 and MIT Group: Development/Libraries @@ -170,14 +170,8 @@ Source0: %{name}-%{version}.tar.gz %define tizen_feature_key_manager_support 1 %define tizen_feature_message_port_support 1 %define tizen_feature_messaging_support 0 - -%if 0%{?tizen_is_emulator} -%define tizen_feature_nfc_emulation_support 0 -%define tizen_feature_nfc_support 0 -%else %define tizen_feature_nfc_emulation_support 0 %define tizen_feature_nfc_support 1 -%endif %define tizen_feature_notification_support 1 %define tizen_feature_package_support 1 %define tizen_feature_power_support 1 -- 2.7.4 From 8aefe4acac45feadc33309e20f5d6bac3b4e0365 Mon Sep 17 00:00:00 2001 From: Tomasz Marciniak Date: Mon, 4 Jul 2016 09:42:08 +0200 Subject: [PATCH 05/16] [spec] Added common profile. [Verification] Code compiles. [version] 1.7 Change-Id: I0cde3b60f911e8f3dfe04d4e8e27856256281642 Signed-off-by: Tomasz Marciniak --- packaging/webapi-plugins.spec | 59 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index 5bf3264..dcb3b66 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 1.6 +Version: 1.7 Release: 0 License: Apache-2.0 and BSD-2.0 and MIT Group: Development/Libraries @@ -26,6 +26,63 @@ Source0: %{name}-%{version}.tar.gz %endif #################################################################### +# Common Profile : artik # +#################################################################### +%if "%{?profile}" == "common" + +%define tizen_privilege_engine CYNARA + +%define tizen_feature_account_support 0 +%define tizen_feature_alarm_support 1 +%define tizen_feature_app_control_settings_support 1 +%define tizen_feature_application_support 1 +%define tizen_feature_archive_support 0 +%define tizen_feature_badge_support 0 +%define tizen_feature_bluetooth_support 1 +%define tizen_feature_bookmark_support 0 +%define tizen_feature_calendar_support 0 +%define tizen_feature_contact_support 0 +%define tizen_feature_content_support 1 +%define tizen_feature_datacontrol_support 0 +%define tizen_feature_datasync_support 0 +%define tizen_feature_download_support 1 +%define tizen_feature_exif_support 1 +%define tizen_feature_feedback_support 0 +%define tizen_feature_filesystem_support 1 +%define tizen_feature_fm_radio_support 0 +%define tizen_feature_ham_support 0 +%define tizen_feature_iotcon_support 0 +%define tizen_feature_location_batch 0 +%define tizen_feature_key_manager_support 0 +%define tizen_feature_media_controller_support 0 +%define tizen_feature_media_key_support 0 +%define tizen_feature_message_port_support 1 +%define tizen_feature_messaging_support 0 +%define tizen_feature_nfc_emulation_support 0 +%define tizen_feature_nfc_support 0 +%define tizen_feature_notification_support 0 +%define tizen_feature_package_support 1 +%define tizen_feature_power_support 0 +%define tizen_feature_preference_support 0 +%define tizen_feature_push_support 0 +%define tizen_feature_se_support 0 +%define tizen_feature_sensor_support 0 +%define tizen_feature_sound_support 1 +%define tizen_feature_system_info_support 1 +%define tizen_feature_system_setting_support 0 +%define tizen_feature_telephony_support 0 +%define tizen_feature_time_support 1 +%define tizen_feature_web_setting_support 0 +%define tizen_feature_widget_service_support 0 +%define tizen_feature_wi_fi_support 1 +%define tizen_feature_inputdevice_support 0 +%define tizen_feature_callhistory_support 0 +%define tizen_feature_nbs_support 0 +%define tizen_feature_tvinputdevice_support 0 + +%endif # tizen_profile_common + +#################################################################### # Mobile Profile : TM1, Redwood(SM-Z910F), KIRAN(Z130H) # #################################################################### %if "%{?profile}" == "mobile" -- 2.7.4 From d5e3e3ca9480d7a69d8faf72185cfe2abd94afee Mon Sep 17 00:00:00 2001 From: Tomasz Marciniak Date: Mon, 4 Jul 2016 13:03:44 +0200 Subject: [PATCH 06/16] [Preference] Fix for PreferenceData objects. [Feature] PreferenceData is now created correctly by new and its attributes are read only. [Verification] TCT tests related to PreferenceData pass. Change-Id: I3ecf4cc6566c6550e6371d97981f51a7885817b3 Signed-off-by: Tomasz Marciniak --- src/preference/preference_api.js | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/preference/preference_api.js b/src/preference/preference_api.js index 2343402..8a0ed15 100644 --- a/src/preference/preference_api.js +++ b/src/preference/preference_api.js @@ -20,6 +20,21 @@ var type_ = xwalk.utils.type; var types_ = validator_.Types; var native_ = new xwalk.utils.NativeManager(extension); +function PreferenceData(data) { + Object.defineProperties(this, { + key: { + value: data.key, + writable: false, + enumerable: true + }, + value: { + value: data.value, + writable: false, + enumerable: true + }, + }); +} + function PreferenceManager() { } @@ -33,7 +48,14 @@ PreferenceManager.prototype.getAll = function() { if (native_.isFailure(result)) { native_.callIfPossible(args.errorCallback, native_.getErrorObject(result)); } else { - args.successCallback(native_.getResultObject(result)); + var array = []; + var objects = native_.getResultObject(result); + + objects.forEach(function (d) { + array.push(new PreferenceData(d)); + }); + + args.successCallback(array); } }; @@ -116,12 +138,11 @@ function PreferenceChangedListener() { this.appListener = function (result) { var data = native_.getResultObject(result); var key = data.key; - var value = data.value; if (that.instances[key]) { var listener = that.instances[key]; if (type_.isFunction(listener)) { - listener({ key: key, value: value }); + listener(new PreferenceData(data)); } } }; -- 2.7.4 From b4b6ec2b4bc55d67ea69e067b6284718d9ea77b9 Mon Sep 17 00:00:00 2001 From: Hyunjin Park Date: Tue, 5 Jul 2016 14:36:01 +0900 Subject: [PATCH 07/16] [version] 1.8 Change-Id: Ic862a25d1fd51f3b6ee7b5f49107d419512815f4 --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index dcb3b66..1a1624e 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 1.7 +Version: 1.8 Release: 0 License: Apache-2.0 and BSD-2.0 and MIT Group: Development/Libraries -- 2.7.4 From 7d34c8612697f5fd7140d5962e96859ac4405fb7 Mon Sep 17 00:00:00 2001 From: Lukasz Bardeli Date: Tue, 5 Jul 2016 14:47:15 +0200 Subject: [PATCH 08/16] [HAM] add NOT_SUPPORTED_ERR to WIRST_UP Change-Id: I2eb81e5ebb52f8fe9e93efb3c9e240c8c109c789 Signed-off-by: Lukasz Bardeli --- src/humanactivitymonitor/humanactivitymonitor_manager.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/humanactivitymonitor/humanactivitymonitor_manager.cc b/src/humanactivitymonitor/humanactivitymonitor_manager.cc index 003951a..284a686 100755 --- a/src/humanactivitymonitor/humanactivitymonitor_manager.cc +++ b/src/humanactivitymonitor/humanactivitymonitor_manager.cc @@ -294,9 +294,15 @@ class HumanActivityMonitorManager::Monitor::GestureMonitor : public HumanActivit int ret = gesture_is_supported(GESTURE_WRIST_UP, &supported); if (ret != SENSOR_ERROR_NONE) { - return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, - "WRIST_UP gesture check failed", - ("gesture_is_supported(GESTURE_WRIST_UP), error: %d (%s)", ret, get_error_message(ret))); + if (ret == GESTURE_ERROR_NOT_SUPPORTED) { + return LogAndCreateResult(ErrorCode::NOT_SUPPORTED_ERR, + "WRIST_UP gesture check failed", + ("gesture_is_supported(GESTURE_WRIST_UP), error: %d (%s)", ret, get_error_message(ret))); + } else { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, + "WRIST_UP gesture check failed", + ("gesture_is_supported(GESTURE_WRIST_UP), error: %d (%s)", ret, get_error_message(ret))); + } } *s = supported; -- 2.7.4 From e1a19f3a3dcb14599132b8f40f6658ed71281c2d Mon Sep 17 00:00:00 2001 From: Hyunjin Park Date: Wed, 6 Jul 2016 10:52:17 +0900 Subject: [PATCH 09/16] [version] 1.9 Change-Id: Ia2a1329fda383ffded1e7fca551002d146b7526f --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index 1a1624e..2e9adad 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 1.8 +Version: 1.9 Release: 0 License: Apache-2.0 and BSD-2.0 and MIT Group: Development/Libraries -- 2.7.4 From ef2e85733e0ca2eb09b2dd415b888cc555239277 Mon Sep 17 00:00:00 2001 From: Lukasz Bardeli Date: Wed, 6 Jul 2016 12:44:15 +0200 Subject: [PATCH 10/16] [NBS] Add printing error value from native API Change-Id: I3fafebf373b99eb68945d3a215d3c7bfdd6ff0b3 Signed-off-by: Lukasz Bardeli --- src/networkbearerselection/networkbearerselection_manager.cc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/networkbearerselection/networkbearerselection_manager.cc b/src/networkbearerselection/networkbearerselection_manager.cc index 7a1b81c..c77a37a 100644 --- a/src/networkbearerselection/networkbearerselection_manager.cc +++ b/src/networkbearerselection/networkbearerselection_manager.cc @@ -211,11 +211,13 @@ void NetworkBearerSelectionManager::requestRouteToHost( destroyProfileHandle(); - if (connection_get_default_cellular_service_profile( - m_connection_handle_, - CONNECTION_CELLULAR_SERVICE_TYPE_INTERNET, - &m_profile_handle_) != CONNECTION_ERROR_NONE) { - LoggerE("Fail to get profile handle"); + int ret = connection_get_default_cellular_service_profile( + m_connection_handle_, + CONNECTION_CELLULAR_SERVICE_TYPE_INTERNET, + &m_profile_handle_); + + if (ret != CONNECTION_ERROR_NONE) { + LoggerE("Fail to get profile handle. %d", ret); makeErrorCallback(domain_name, kPlatformError); return; } -- 2.7.4 From 4cb7aa3a45e39da36b893f315a8bcb23e1c4b155 Mon Sep 17 00:00:00 2001 From: Hyunjin Park Date: Wed, 6 Jul 2016 21:23:45 +0900 Subject: [PATCH 11/16] [version] 1.10 Change-Id: Ifca8f412246799facf60de7c52df741d65ac5d0e --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index 2e9adad..1080859 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 1.9 +Version: 1.10 Release: 0 License: Apache-2.0 and BSD-2.0 and MIT Group: Development/Libraries -- 2.7.4 From 51fbc9e1c98647f5a1ae5bd56d9506bda42fde0f Mon Sep 17 00:00:00 2001 From: Piotr Kosko Date: Thu, 7 Jul 2016 09:49:32 +0200 Subject: [PATCH 12/16] [Filesystem][Systeminfo] Changed storage handling [Feature] Deviced is used for handling only removable devices, internal storages are handled with storage api. [Verification] Code compiles without error. TCT for filesystem, systeminfo and archive 100% passrate (Auto and Manual) Change-Id: If5609ff4f22383efd018a445f6a56760983b9818 Signed-off-by: Piotr Kosko --- src/common/filesystem/filesystem_provider.cc | 5 ---- src/common/filesystem/filesystem_provider.h | 2 -- .../filesystem/filesystem_provider_deviced.cc | 14 ++++++----- .../filesystem/filesystem_provider_deviced.h | 1 - .../filesystem/filesystem_provider_storage.cc | 28 ++++----------------- .../filesystem/filesystem_provider_storage.h | 2 -- src/systeminfo/systeminfo_properties_manager.cc | 29 ++++++++-------------- 7 files changed, 23 insertions(+), 58 deletions(-) diff --git a/src/common/filesystem/filesystem_provider.cc b/src/common/filesystem/filesystem_provider.cc index 7cb6c1a..ff6c26e 100644 --- a/src/common/filesystem/filesystem_provider.cc +++ b/src/common/filesystem/filesystem_provider.cc @@ -71,11 +71,6 @@ VirtualStorages FilesystemProvider::GetAllStorages() { return provider_.GetAllStorages(); } -std::shared_ptr< Storage > FilesystemProvider::GetInternalStorage(){ - LoggerD("Entered"); - return provider_.GetInternalStorage(); -} - std::string FilesystemProvider::GetRealPath( const std::string& path_or_uri) { LoggerD("Entered"); diff --git a/src/common/filesystem/filesystem_provider.h b/src/common/filesystem/filesystem_provider.h index 69030d5..1b3dd92 100644 --- a/src/common/filesystem/filesystem_provider.h +++ b/src/common/filesystem/filesystem_provider.h @@ -36,7 +36,6 @@ class IFilesystemProvider { virtual Storages GetStorages() = 0; virtual VirtualRoots GetVirtualPaths() = 0; virtual VirtualStorages GetAllStorages() = 0; - virtual std::shared_ptr GetInternalStorage() = 0; }; typedef IFilesystemProvider& FilesystemProviderRef; @@ -52,7 +51,6 @@ class FilesystemProvider { Storages GetStorages(); VirtualRoots GetVirtualPaths(); VirtualStorages GetAllStorages(); - std::shared_ptr GetInternalStorage(); std::string GetRealPath(const std::string& path_or_uri); std::string GetVirtualPath(const std::string& real_path) const; diff --git a/src/common/filesystem/filesystem_provider_deviced.cc b/src/common/filesystem/filesystem_provider_deviced.cc index cf6a7ad..81bb570 100644 --- a/src/common/filesystem/filesystem_provider_deviced.cc +++ b/src/common/filesystem/filesystem_provider_deviced.cc @@ -195,10 +195,6 @@ void FilesystemProviderDeviced::UnregisterDeviceChangeState() { device_changed_callback_ = nullptr; } -std::shared_ptr FilesystemProviderDeviced::GetInternalStorage() { - return virtual_roots_provider_.GetInternalStorage(); -} - std::shared_ptr FilesystemProviderDeviced::GetStorage(const DeviceListElem& elem) { LoggerD("Entered"); return std::make_shared(GetIdFromUUID(elem.fs_uuid_enc), @@ -230,7 +226,6 @@ int FilesystemProviderDeviced::GetIdFromUUID(const char* const char_uuid) { Storages FilesystemProviderDeviced::GetStorages() { LoggerD("Entered"); - if(!is_initialized_) { LoggerE("DeviceD Core api not initialized"); return Storages(); @@ -253,7 +248,14 @@ Storages FilesystemProviderDeviced::GetStorages() { LoggerE("Failed to call GetDeviceList method - %s", message.c_str()); return Storages(); } - return GetStoragesFromGVariant(variant); + // internal storages are gathered with storage api + Storages internal = virtual_roots_provider_.GetStorages(); + // external storages are gathered using deviced implementation + Storages result = GetStoragesFromGVariant(variant); + + // merging internal and external results together, but internal on the beginning + result.insert(result.begin(), internal.begin(), internal.end()); + return result; } Storages FilesystemProviderDeviced::GetStoragesFromGVariant(GVariant* variant) { diff --git a/src/common/filesystem/filesystem_provider_deviced.h b/src/common/filesystem/filesystem_provider_deviced.h index bae0ea5..388e6c5 100644 --- a/src/common/filesystem/filesystem_provider_deviced.h +++ b/src/common/filesystem/filesystem_provider_deviced.h @@ -44,7 +44,6 @@ class FilesystemProviderDeviced : public IFilesystemProvider { virtual VirtualRoots GetVirtualPaths(); virtual Storages GetStorages(); virtual VirtualStorages GetAllStorages(); - virtual std::shared_ptr< Storage > GetInternalStorage(); static FilesystemProviderDeviced& Create(); private: diff --git a/src/common/filesystem/filesystem_provider_storage.cc b/src/common/filesystem/filesystem_provider_storage.cc index d58d644..a26cc3f 100644 --- a/src/common/filesystem/filesystem_provider_storage.cc +++ b/src/common/filesystem/filesystem_provider_storage.cc @@ -90,22 +90,10 @@ bool OnForeachStorage(int storage_id, storage_type_e type, FilesystemProviderStorage* provider = static_cast(user_data); - int err = storage_set_state_changed_cb(storage_id, OnStorageChange, provider); - if (STORAGE_ERROR_NONE != err) { - LoggerW("Failed to add listener"); - } - - StorageType type_ = - type == STORAGE_TYPE_INTERNAL ? - StorageType::kInternal : StorageType::kMmc; - - provider->AddStorage( - std::make_shared(storage_id, type_, TranslateCoreStorageState(state), path)); - if (type_ == StorageType::kInternal) { - // TODO check internal storage - //provider->internal_storage_ = std::make_shared(Storage(storage_id, type_, state_, path, kVirtualRootMedia)); - // if internal storage is supported, we can add also virtual paths: - // downloads, documents etc + // handling only internal storages (external are handled with deviced api) + if (STORAGE_TYPE_INTERNAL == type) { + provider->AddStorage( + std::make_shared(storage_id, StorageType::kInternal, TranslateCoreStorageState(state), path)); provider->FillVirtualPaths(storage_id); } return true; @@ -119,8 +107,7 @@ DeviceChangeStateFun FilesystemProviderStorage::GetListener() { return listener_; } -FilesystemProviderStorage::FilesystemProviderStorage() : - internal_storage_(nullptr) { +FilesystemProviderStorage::FilesystemProviderStorage() { LoggerD("Entered"); int err = storage_foreach_device_supported(OnForeachStorage, this); if (err != STORAGE_ERROR_NONE) { @@ -209,11 +196,6 @@ std::string FilesystemProviderStorage::GetRealPath( return realpath; } -std::shared_ptr< Storage > FilesystemProviderStorage::GetInternalStorage(){ - LoggerD("Entered"); - return internal_storage_; -} - std::string FilesystemProviderStorage::GetVirtualPath( const std::string& real_path) const { LoggerD("Enter"); diff --git a/src/common/filesystem/filesystem_provider_storage.h b/src/common/filesystem/filesystem_provider_storage.h index 133f801..2198200 100644 --- a/src/common/filesystem/filesystem_provider_storage.h +++ b/src/common/filesystem/filesystem_provider_storage.h @@ -35,7 +35,6 @@ class FilesystemProviderStorage : public IFilesystemProvider { virtual Storages GetStorages(); virtual VirtualRoots GetVirtualPaths(); virtual VirtualStorages GetAllStorages(); - virtual std::shared_ptr< Storage > GetInternalStorage(); std::string GetRealPath(const std::string& path_or_uri); std::string GetVirtualPath(const std::string& real_path) const; @@ -54,7 +53,6 @@ class FilesystemProviderStorage : public IFilesystemProvider { DeviceChangeStateFun listener_; Storages storages_; VirtualRoots virtual_paths_; - std::shared_ptr internal_storage_; }; } // namespace common diff --git a/src/systeminfo/systeminfo_properties_manager.cc b/src/systeminfo/systeminfo_properties_manager.cc index 94b4fa5..33b639d 100644 --- a/src/systeminfo/systeminfo_properties_manager.cc +++ b/src/systeminfo/systeminfo_properties_manager.cc @@ -1167,6 +1167,8 @@ static void CreateStorageInfo(const std::string& type, struct statfs& fs, picojs static std::string FromStorageTypeToStringType(common::StorageType type) { switch(type) { + case common::StorageType::kInternal: + return kTypeInternal; case common::StorageType::kUsbDevice: return kTypeUsbDevice; case common::StorageType::kUsbHost: @@ -1185,18 +1187,7 @@ PlatformResult SysteminfoPropertiesManager::ReportStorage(picojson::object* out) picojson::value result = picojson::value(picojson::array()); picojson::array& array = result.get(); - // handling internal storage - array.push_back(picojson::value(picojson::object())); - picojson::object& internal_obj = array.back().get(); - - if (statfs(kStorageInternalPath.c_str(), &fs) < 0) { - return LogAndCreateResult( - ErrorCode::UNKNOWN_ERR, "There are no storage units detected"); - } - CreateStorageInfo(kTypeInternal, fs, &internal_obj); - manager_.SetAvailableCapacityInternal(fs.f_bavail); - - // handling external storages + // handling storages from provider common::FilesystemProvider& provider(common::FilesystemProvider::Create()); auto storages = provider.GetStorages(); LoggerD("Storages found %d", storages.size()); @@ -1209,13 +1200,13 @@ PlatformResult SysteminfoPropertiesManager::ReportStorage(picojson::object* out) array.push_back(picojson::value(picojson::object())); picojson::object& external_obj = array.back().get(); CreateStorageInfo(FromStorageTypeToStringType(storage->type()), fs, &external_obj); -#ifdef TIZEN_TV - // TODO some tracking of available capacity of usb storages should be applied -#else - // Only one storage would be tracked, if more than one SD card would be supported on device - // different mechanism should be applied - manager_.SetAvailableCapacityMmc(fs.f_bavail); -#endif + + //TODO change implementation to support all types of storages and not limited number + if (common::StorageType::kInternal == storage->type()) { + manager_.SetAvailableCapacityInternal(fs.f_bavail); + } else if (common::StorageType::kMmc == storage->type()) { + manager_.SetAvailableCapacityMmc(fs.f_bavail); + } } } -- 2.7.4 From 53d4b08dc571564da59f0400a0a7acaa738eeefd Mon Sep 17 00:00:00 2001 From: Hyunjin Park Date: Thu, 7 Jul 2016 17:41:49 +0900 Subject: [PATCH 13/16] [version] 1.11 Change-Id: I28985dc3ae75efa18f9515f046591ecc579aa93a --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index 1080859..3557d8b 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 1.10 +Version: 1.11 Release: 0 License: Apache-2.0 and BSD-2.0 and MIT Group: Development/Libraries -- 2.7.4 From c7dbbf166ae0d8157431d1a048ed36626b89913a Mon Sep 17 00:00:00 2001 From: Lukasz Bardeli Date: Thu, 7 Jul 2016 11:14:31 +0200 Subject: [PATCH 14/16] [NBS] Added checking is service available Change-Id: I4238b53dbe09646966308f213a6c397e2d921bfd Signed-off-by: Lukasz Bardeli --- .../networkbearerselection_instance.cc | 7 ++++ .../networkbearerselection_manager.cc | 40 ++++++++++++++++++++++ .../networkbearerselection_manager.h | 3 ++ 3 files changed, 50 insertions(+) diff --git a/src/networkbearerselection/networkbearerselection_instance.cc b/src/networkbearerselection/networkbearerselection_instance.cc index 809c836..babbebf 100644 --- a/src/networkbearerselection/networkbearerselection_instance.cc +++ b/src/networkbearerselection/networkbearerselection_instance.cc @@ -80,6 +80,13 @@ void NetworkBearerSelectionInstance::NetworkBearerSelectionRequestRouteToHost( CHECK_EXIST(args, "domainName", out) CHECK_EXIST(args, "id", out) + const auto status = NetworkBearerSelectionManager::GetInstance()->getCellularState(); + + if (!status) { + LogAndReportError(status, &out, ("Failed to request route to host")); + return; + } + const std::string& domainName = args.get("domainName").get(); const int listenerId = static_cast(args.get("id").get()); diff --git a/src/networkbearerselection/networkbearerselection_manager.cc b/src/networkbearerselection/networkbearerselection_manager.cc index c77a37a..9d145ca 100644 --- a/src/networkbearerselection/networkbearerselection_manager.cc +++ b/src/networkbearerselection/networkbearerselection_manager.cc @@ -191,6 +191,27 @@ void NetworkBearerSelectionManager::connection_closed_callback( } } +common::PlatformResult NetworkBearerSelectionManager::getCellularState() { + + connection_cellular_state_e state; + + int ret = connection_get_cellular_state(m_connection_handle_, &state); + + if (ret != CONNECTION_ERROR_NONE) { + LoggerE("Fail to get connection state. %d", ret); + return common::PlatformResult(GetNBSErrorCode(ret), + "Fail to get connection state."); + } + + if (state == CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE) { + LoggerE("Network cellular have no service. %d", state); + return common::PlatformResult(common::ErrorCode::NOT_SUPPORTED_ERR, + "Fail to get connection state."); + } + return common::PlatformResult(common::ErrorCode::NO_ERROR); +} + + void NetworkBearerSelectionManager::requestRouteToHost( const std::string& domain_name) { LoggerD("NetworkBearerSelectionManager::requestRouteToHost"); @@ -486,5 +507,24 @@ ReleaseEventPtr NetworkBearerSelectionManager::getReleaseEvent(NetworkBearerSele return nullptr; } +common::ErrorCode NetworkBearerSelectionManager::GetNBSErrorCode(int error_code) { + + common::ErrorCode error = common::ErrorCode::UNKNOWN_ERR; + + switch (error_code) { + case CONNECTION_ERROR_OPERATION_FAILED: + error = common::ErrorCode::UNKNOWN_ERR; + break; + case CONNECTION_ERROR_NOT_SUPPORTED: + error = common::ErrorCode::NOT_SUPPORTED_ERR; + break; + default: + error = common::ErrorCode::UNKNOWN_ERR; + break; + } + + return error; +} + } // namespace networkbearerselection } // namespace extension diff --git a/src/networkbearerselection/networkbearerselection_manager.h b/src/networkbearerselection/networkbearerselection_manager.h index baddec5..7e45a58 100644 --- a/src/networkbearerselection/networkbearerselection_manager.h +++ b/src/networkbearerselection/networkbearerselection_manager.h @@ -67,6 +67,8 @@ class NetworkBearerSelectionManager { common::PlatformResult releaseRouteToHost(const std::string& domain_name, const ReleaseReplyCallback& reply_cb); + common::PlatformResult getCellularState(); + static NetworkBearerSelectionManager* GetInstance(); NetworkBearerSelectionManager(const NetworkBearerSelectionManager&) = delete; @@ -89,6 +91,7 @@ class NetworkBearerSelectionManager { void makeErrorCallback(const std::string& domain_name, const char* info); void makeErrorCallback(const std::string& domain_name, const std::string& info); + common::ErrorCode GetNBSErrorCode(int error_code); void makeDisconnectCallback(const std::string& domain_name); void destroyProfileHandle(); RequestEventPtr getRequestEvent(NetworkBearerSelectionRequestEvent* event); -- 2.7.4 From 1e19cccd8429fea5e00d8b8d56885b77b718e646 Mon Sep 17 00:00:00 2001 From: Hyunjin Park Date: Thu, 7 Jul 2016 19:40:29 +0900 Subject: [PATCH 15/16] [version] 1.12 Change-Id: I6f74a582c72e61ead241926fe2affb46d12b4179 --- packaging/webapi-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index 3557d8b..14d7984 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -10,7 +10,7 @@ %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions} Name: webapi-plugins -Version: 1.11 +Version: 1.12 Release: 0 License: Apache-2.0 and BSD-2.0 and MIT Group: Development/Libraries -- 2.7.4 From d55dc5604b6a7821337f25b0a7b7fae61c91062c Mon Sep 17 00:00:00 2001 From: Andrzej Popowski Date: Fri, 8 Jul 2016 17:28:45 +0900 Subject: [PATCH 16/16] [Application] - Fixing undefined iconPath attribute issue TCT result: 99.47% (190/189/0/1/0) Change-Id: I79471656580973c1d22964e4c5caaed7270cf5af Signed-off-by: Andrzej Popowski --- src/application/application_utils.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/application/application_utils.cc b/src/application/application_utils.cc index 9cf23d5..1c39776 100644 --- a/src/application/application_utils.cc +++ b/src/application/application_utils.cc @@ -39,6 +39,7 @@ void ApplicationUtils::CreateApplicationInformation(const pkgmgrinfo_appinfo_h h ret = pkgmgrinfo_appinfo_get_appid(handle, &tmp_str); if ((PMINFO_R_OK != ret) || (nullptr == tmp_str)) { LoggerE("Failed to get appid: %d (%s)", ret, get_error_message(ret)); + app_info->insert(std::make_pair("id", picojson::value(""))); } else { app_info->insert(std::make_pair("id", picojson::value(tmp_str))); } @@ -57,6 +58,7 @@ void ApplicationUtils::CreateApplicationInformation(const pkgmgrinfo_appinfo_h h ret = pkgmgrinfo_appinfo_get_icon(handle, &tmp_str); if ((PMINFO_R_OK != ret) || (nullptr == tmp_str)) { LoggerE("Failed to get icon path: %d (%s)", ret, get_error_message(ret)); + app_info->insert(std::make_pair("iconPath", picojson::value(""))); } else { app_info->insert(std::make_pair("iconPath", picojson::value(tmp_str))); } @@ -67,6 +69,7 @@ void ApplicationUtils::CreateApplicationInformation(const pkgmgrinfo_appinfo_h h ret = pkgmgrinfo_appinfo_is_nodisplay(handle, &no_display); if (PMINFO_R_OK != ret) { LoggerE("Failed to get nodisplay: %d (%s)", ret, get_error_message(ret)); + app_info->insert(std::make_pair("show", picojson::value(false))); } else { app_info->insert(std::make_pair("show", picojson::value(!no_display))); } -- 2.7.4