From aa6de6e9a4dd20d447848e360a539d85bae614cf Mon Sep 17 00:00:00 2001 From: Piotr Kosko Date: Wed, 10 Jun 2020 13:19:07 +0200 Subject: [PATCH] [Systeminfo] Fixed behaviour of Network property [Bug] When using device with not supported feature http://tizen.org/feature/network.telephony e.g. R800 device, below code returns no error: tizen.systeminfo.getPropertyValueArray("NETWORK", (s) => {console.log(s)}, (s) => {console.log(s)}) listener for "NETWORK" property is never triggered also: tizen.systeminfo.addPropertyValueChangeListener("NETWORK", (s) => console.log(s)); [verification] Systeminfo TCT 100% passrate. After fix, listener and getter works properly on TW3. Change-Id: I9f0d533055926d186305fb7c39418de1fed76f5b --- src/systeminfo/systeminfo-utils.cpp | 15 +++++++++++++++ src/systeminfo/systeminfo-utils.h | 1 + src/systeminfo/systeminfo_manager.cc | 5 +++++ 3 files changed, 21 insertions(+) diff --git a/src/systeminfo/systeminfo-utils.cpp b/src/systeminfo/systeminfo-utils.cpp index 8882280..4854376 100644 --- a/src/systeminfo/systeminfo-utils.cpp +++ b/src/systeminfo/systeminfo-utils.cpp @@ -78,6 +78,21 @@ PlatformResult SysteminfoUtils::CheckTelephonySupport() { return PlatformResult(ErrorCode::NO_ERROR); } +PlatformResult SysteminfoUtils::CheckWifiSupport() { + ScopeLogger(); + bool supported = false; + PlatformResult ret = + SystemInfoDeviceCapability::GetValueBool("tizen.org/feature/network.wifi", &supported); + if (ret.IsError()) { + return ret; + } + if (!supported) { + return LogAndCreateResult(ErrorCode::NOT_SUPPORTED_ERR, + "Wifi is not supported on this device"); + } + return PlatformResult(ErrorCode::NO_ERROR); +} + PlatformResult SysteminfoUtils::CheckCameraFlashSupport() { ScopeLogger(); bool supported = false; diff --git a/src/systeminfo/systeminfo-utils.h b/src/systeminfo/systeminfo-utils.h index 2541e08..2832c62 100644 --- a/src/systeminfo/systeminfo-utils.h +++ b/src/systeminfo/systeminfo-utils.h @@ -44,6 +44,7 @@ class SysteminfoUtils { static common::PlatformResult GetRuntimeInfoString(system_settings_key_e key, std::string *platform_string); static common::PlatformResult CheckTelephonySupport(); + static common::PlatformResult CheckWifiSupport(); static common::PlatformResult CheckCameraFlashSupport(); static common::PlatformResult CheckIfEthernetNetworkSupported(); static common::PlatformResult GetTotalMemory(long long *result); diff --git a/src/systeminfo/systeminfo_manager.cc b/src/systeminfo/systeminfo_manager.cc index f7afef0..2dc2be7 100644 --- a/src/systeminfo/systeminfo_manager.cc +++ b/src/systeminfo/systeminfo_manager.cc @@ -1346,6 +1346,11 @@ PlatformResult SysteminfoManager::GetPropertyCount(const std::string& property, PlatformResult ret = SysteminfoUtils::CheckTelephonySupport(); if (ret.IsError()) { *count = 0; + if ("NETWORK" == property && SysteminfoUtils::CheckWifiSupport()) { + // Telephony is not supported in this case, but WiFi is still supported, thus setting + // counter to 1. + *count = 1; + } } else { *count = tapi_manager_->GetSimCount(); } -- 2.7.4