From 5a55b7d8c8a95692944a3fd39a6efb58d2e37472 Mon Sep 17 00:00:00 2001 From: Arkadiusz Pietraszek Date: Thu, 7 Jan 2021 20:32:28 +0100 Subject: [PATCH] [Download][TDAF-1353] Exception fix for 'start' function `start` function was returning unknown error exception instead of unsupported error in case when networkType in DownloadRequest wasn't supported by the device. Additionally fix enables null values to be used (in accordance with the documentation). [Verification] Code builds without errors. TCT suites deprecated, download and systeminfo pass rate: 100%. Tested in developer console on devices with telephony set to true and false. Below code was used with all network types, as well as invalid values. ``` var downloadRequest = new tizen.DownloadRequest( "http://download.tizen.org/tct/2_1/webapi-tizen-download-test-image-lq.png", null, null, "CELLULAR", null); tizen.download.start(downloadRequest); ``` Change-Id: I4f2866a07019f129c852024970783b110ef11abc Signed-off-by: Arkadiusz Pietraszek --- src/download/download_api.js | 23 ++++++++++++++++++++--- src/download/download_instance.cc | 11 ++++++----- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/download/download_api.js b/src/download/download_api.js index 20536eab..0b869b7b 100755 --- a/src/download/download_api.js +++ b/src/download/download_api.js @@ -91,12 +91,29 @@ tizen.DownloadRequest = function(url, destination, fileName, networkType, httpHe validator_.isConstructorCall(this, tizen.DownloadRequest); var url_ = converter_.toString(url); - var destination_ = destination === undefined ? '' : converter_.toString(destination); - var fileName_ = fileName === undefined ? '' : converter_.toString(fileName); + var destination_; + + if (undefined === destination || null === destination) { + destination_ = ''; + } else { + destination_ = converter_.toString(destination); + } + + var fileName_; + + if (undefined === fileName || null === fileName) { + fileName_ = ''; + } else { + fileName_ = converter_.toString(fileName); + } var networkType_; - if (networkType === undefined || !(networkType in DownloadNetworkType)) { + if ( + undefined === networkType || + null === networkType || + !(networkType in DownloadNetworkType) + ) { networkType_ = 'ALL'; } else { networkType_ = networkType; diff --git a/src/download/download_instance.cc b/src/download/download_instance.cc index 0ebd945a..53d2bc1a 100644 --- a/src/download/download_instance.cc +++ b/src/download/download_instance.cc @@ -488,6 +488,8 @@ common::PlatformResult DownloadInstance::CheckNetworkConnection(const std::strin bool& network_support, bool& network_available, DownloadInfoPtr di_ptr) { + ScopeLogger("network_type: %s", network_type.c_str()); + connection_h connection = nullptr; int ret = connection_create(&connection); CHECK_CONNECTION_ERROR(ret) @@ -499,11 +501,6 @@ common::PlatformResult DownloadInstance::CheckNetworkConnection(const std::strin ret = connection_get_type(connection, &connection_type); CHECK_CONNECTION_ERROR(ret) - if (CONNECTION_TYPE_DISCONNECTED == connection_type) { - return LogAndCreateResult(common::ErrorCode::UNKNOWN_ERR, "Connection problem occurred", - ("Connection type is disconnected")); - } - if ("CELLULAR" == network_type) { // check if connection type is supported bool cell_support = false; @@ -545,6 +542,10 @@ common::PlatformResult DownloadInstance::CheckNetworkConnection(const std::strin "The input parameter contains an invalid network type.", ("The input parameter contains an invalid network type: %s", network_type.c_str())); } + if (CONNECTION_TYPE_DISCONNECTED == connection_type) { + return LogAndCreateResult(common::ErrorCode::UNKNOWN_ERR, "Connection problem occurred", + ("Connection type is disconnected")); + } return common::PlatformResult(common::ErrorCode::NO_ERROR); } #undef CHECK_CONNECTION_ERROR -- 2.34.1