diff --git a/frameworks/native/sensor/include/i_sensor_service.h b/frameworks/native/sensor/include/i_sensor_service.h old mode 100755 new mode 100644 index 4c210e08a8be1c599eb28da029dc3777c66f13c1..0cf519a51f5e82fa25c9023624d156960a2969a4 --- a/frameworks/native/sensor/include/i_sensor_service.h +++ b/frameworks/native/sensor/include/i_sensor_service.h @@ -19,10 +19,11 @@ #include #include "errors.h" -#include "i_sensor_client.h" #include "iremote_broker.h" -#include "sensor.h" + +#include "i_sensor_client.h" #include "sensor_basic_data_channel.h" +#include "sensor.h" namespace OHOS { namespace Sensors { diff --git a/frameworks/native/sensor/include/my_file_descriptor_listener.h b/frameworks/native/sensor/include/my_file_descriptor_listener.h old mode 100755 new mode 100644 index a2a5ff7a608e3a864b71e4042570fdc5fac27f1a..36b35e931e183c623beb30fe72148bc3c211f5ea --- a/frameworks/native/sensor/include/my_file_descriptor_listener.h +++ b/frameworks/native/sensor/include/my_file_descriptor_listener.h @@ -17,12 +17,14 @@ #define MY_FILE_DESCRIPTOR_LISTENER_H #include + #include #include #include "event_handler.h" #include "event_runner.h" #include "file_descriptor_listener.h" + #include "sensor_agent_type.h" #include "sensor_data_channel.h" diff --git a/frameworks/native/sensor/include/sensor_agent_proxy.h b/frameworks/native/sensor/include/sensor_agent_proxy.h index d39d9b7cf612e4e73eb89edc695a7f0fe98c1d98..9ca8a8e6bb89363c9033e1b36cf402845474a6fe 100644 --- a/frameworks/native/sensor/include/sensor_agent_proxy.h +++ b/frameworks/native/sensor/include/sensor_agent_proxy.h @@ -20,6 +20,7 @@ #include #include "refbase.h" + #include "sensor_agent_type.h" #include "sensor_data_channel.h" diff --git a/frameworks/native/sensor/include/sensor_client_proxy.h b/frameworks/native/sensor/include/sensor_client_proxy.h old mode 100755 new mode 100644 index 006c28c37bb3a2cd50cbb0cc5707fffae34ab894..57424f6750c8de0d82a3b20d55823ea704d46d0f --- a/frameworks/native/sensor/include/sensor_client_proxy.h +++ b/frameworks/native/sensor/include/sensor_client_proxy.h @@ -16,11 +16,12 @@ #ifndef SENSOR_CLIENT_PROXY_H #define SENSOR_CLIENT_PROXY_H -#include "i_sensor_client.h" #include "iremote_proxy.h" -#include "sensor_agent_type.h" #include "nocopyable.h" +#include "i_sensor_client.h" +#include "sensor_agent_type.h" + namespace OHOS { namespace Sensors { class SensorClientProxy : public IRemoteProxy { diff --git a/frameworks/native/sensor/include/sensor_client_stub.h b/frameworks/native/sensor/include/sensor_client_stub.h old mode 100755 new mode 100644 index 39e749d957804bfbbc3995c53d787d302c725fe6..f3047157da3972a456479707bf9f29d5af176c0a --- a/frameworks/native/sensor/include/sensor_client_stub.h +++ b/frameworks/native/sensor/include/sensor_client_stub.h @@ -16,10 +16,11 @@ #ifndef SENSOR_CLIENT_STUB_H #define SENSOR_CLIENT_STUB_H -#include "i_sensor_client.h" #include "iremote_stub.h" #include "message_parcel.h" +#include "i_sensor_client.h" + namespace OHOS { namespace Sensors { class SensorClientStub : public IRemoteStub { diff --git a/frameworks/native/sensor/include/sensor_data_channel.h b/frameworks/native/sensor/include/sensor_data_channel.h old mode 100755 new mode 100644 index 2902f91427115080abcc84a9f0c92de9cbc46595..782c68b4022b27c4e77260e964924660b11ac48d --- a/frameworks/native/sensor/include/sensor_data_channel.h +++ b/frameworks/native/sensor/include/sensor_data_channel.h @@ -18,6 +18,7 @@ #include #include + #include "sensor_basic_data_channel.h" #include "sensor_agent_type.h" #include "my_event_handler.h" diff --git a/frameworks/native/sensor/include/sensor_service_client.h b/frameworks/native/sensor/include/sensor_service_client.h old mode 100755 new mode 100644 index 304f66373cc845549c8b85535a9b949a2911fb36..51888cf8c2d2ede1deba67c146818e88e2ce18a4 --- a/frameworks/native/sensor/include/sensor_service_client.h +++ b/frameworks/native/sensor/include/sensor_service_client.h @@ -18,15 +18,17 @@ #include #include + #include "iservice_registry.h" -#include "sensor.h" +#include "singleton.h" + +#include "sensor_agent_type.h" #include "sensor_basic_data_channel.h" #include "sensor_basic_info.h" #include "sensor_client_stub.h" #include "sensor_data_channel.h" +#include "sensor.h" #include "sensor_service_proxy.h" -#include "singleton.h" -#include "sensor_agent_type.h" namespace OHOS { namespace Sensors { diff --git a/frameworks/native/sensor/include/sensor_service_proxy.h b/frameworks/native/sensor/include/sensor_service_proxy.h old mode 100755 new mode 100644 index a694ca2d388eaa8a8695688373b9c0e21362ab81..2894fbc81f383f01c1788a791d96cf290b316955 --- a/frameworks/native/sensor/include/sensor_service_proxy.h +++ b/frameworks/native/sensor/include/sensor_service_proxy.h @@ -17,10 +17,11 @@ #define SENSOR_SERVICE_PROXY_H #include "errors.h" -#include "i_sensor_service.h" #include "iremote_proxy.h" #include "nocopyable.h" + #include "sensor_agent_type.h" +#include "i_sensor_service.h" namespace OHOS { namespace Sensors { diff --git a/frameworks/native/sensor/src/my_file_descriptor_listener.cpp b/frameworks/native/sensor/src/my_file_descriptor_listener.cpp old mode 100755 new mode 100644 index a16f79d0bbf59e1510c183c76b19915ebdc00195..a562164c05af4f51c649b3575a03e8b4e875fe10 --- a/frameworks/native/sensor/src/my_file_descriptor_listener.cpp +++ b/frameworks/native/sensor/src/my_file_descriptor_listener.cpp @@ -27,10 +27,14 @@ constexpr int32_t RECEIVE_DATA_SIZE = 100; } // namespace MyFileDescriptorListener::MyFileDescriptorListener() - :channel_(nullptr), - receiveDataBuff_( - new (std::nothrow) TransferSensorEvents[sizeof(struct TransferSensorEvents) * RECEIVE_DATA_SIZE]) -{} +{ + channel_ = nullptr; + receiveDataBuff_ = + new (std::nothrow) TransferSensorEvents[sizeof(struct TransferSensorEvents) * RECEIVE_DATA_SIZE]; + if (receiveDataBuff_ == nullptr) { + HiLog::Error(LABEL, "%{public}s receiveDataBuff_ memory request failed", __func__); + } +} MyFileDescriptorListener::~MyFileDescriptorListener() { @@ -51,12 +55,11 @@ void MyFileDescriptorListener::OnReadable(int32_t fileDescriptor) FileDescriptorListener::OnReadable(fileDescriptor); if (receiveDataBuff_ == nullptr) { - receiveDataBuff_ = - new (std::nothrow) TransferSensorEvents[sizeof(struct TransferSensorEvents) * RECEIVE_DATA_SIZE]; + return; } int32_t len = recv(fileDescriptor, receiveDataBuff_, sizeof(struct TransferSensorEvents) * RECEIVE_DATA_SIZE, 0); - int32_t eventSize = sizeof(struct TransferSensorEvents); + int32_t eventSize = static_cast(sizeof(struct TransferSensorEvents)); while (len > 0) { int32_t num = len / eventSize; for (int i = 0; i < num; i++) { diff --git a/frameworks/native/sensor/src/sensor_agent_proxy.cpp b/frameworks/native/sensor/src/sensor_agent_proxy.cpp old mode 100755 new mode 100644 index 832a34ed12ae170b4671c6ff8e36a9bf8a0f91eb..e3a1eebe895ca5d0647aaba9f40f5bc2f13e3400 --- a/frameworks/native/sensor/src/sensor_agent_proxy.cpp +++ b/frameworks/native/sensor/src/sensor_agent_proxy.cpp @@ -323,29 +323,36 @@ int32_t SensorAgentProxy::GetAllSensors(SensorInfo **sensorInfo, int32_t *count) HiLog::Error(LABEL, "%{public}s malloc sensorInfo failed", __func__); return OHOS::Sensors::ERROR; } - for (int32_t index = 0; index < *count; index++) { - errno_t ret = strcpy_s((*sensorInfo + index)->sensorName, SENSOR_NAME_MAX_LEN2, - sensorList_[index].GetName().c_str()); + for (int32_t index = 0; index < *count; ++index) { + errno_t ret = strcpy_s((*sensorInfo + index)->sensorName, NAME_MAX_LEN, + sensorList_[index].GetSensorName().c_str()); if (ret != EOK) { HiLog::Error(LABEL, "%{public}s strcpy sensorName failed", __func__); return OHOS::Sensors::ERROR; } - ret = strcpy_s((*sensorInfo + index)->vendorName, SENSOR_NAME_MAX_LEN2, sensorList_[index].GetVendor().c_str()); + ret = strcpy_s((*sensorInfo + index)->vendorName, NAME_MAX_LEN, + sensorList_[index].GetVendorName().c_str()); if (ret != EOK) { HiLog::Error(LABEL, "%{public}s strcpy vendorName failed", __func__); return OHOS::Sensors::ERROR; } - std::string version = std::to_string(sensorList_[index].GetVersion()); - ret = strcpy_s((*sensorInfo + index)->hardwareVersion, VERSION_MAX_LEN, version.c_str()); + ret = strcpy_s((*sensorInfo + index)->hardwareVersion, VERSION_MAX_LEN, + sensorList_[index].GetHardwareVersion().c_str()); + if (ret != EOK) { + HiLog::Error(LABEL, "%{public}s strcpy hardwareVersion failed", __func__); + return OHOS::Sensors::ERROR; + } + ret = strcpy_s((*sensorInfo + index)->firmwareVersion, VERSION_MAX_LEN, + sensorList_[index].GetFirmwareVersion().c_str()); if (ret != EOK) { HiLog::Error(LABEL, "%{public}s strcpy hardwareVersion failed", __func__); return OHOS::Sensors::ERROR; } (*sensorInfo + index)->sensorId = static_cast(sensorList_[index].GetSensorId()); - (*sensorInfo + index)->sensorTypeId = static_cast(sensorList_[index].GetSensorId()); + (*sensorInfo + index)->sensorTypeId = static_cast(sensorList_[index].GetSensorTypeId()); (*sensorInfo + index)->maxRange = sensorList_[index].GetMaxRange(); (*sensorInfo + index)->precision = sensorList_[index].GetResolution(); - (*sensorInfo + index)->power = 0.0f; + (*sensorInfo + index)->power = sensorList_[index].GetPower(); } return OHOS::Sensors::SUCCESS; } diff --git a/frameworks/native/sensor/src/sensor_data_channel.cpp b/frameworks/native/sensor/src/sensor_data_channel.cpp old mode 100755 new mode 100644 index 2ff8d8b21601a37d4842cfd22353fe3790fa57c7..01dc93fdb8e985a046ceba3ddb392ff5727894dd --- a/frameworks/native/sensor/src/sensor_data_channel.cpp +++ b/frameworks/native/sensor/src/sensor_data_channel.cpp @@ -41,7 +41,7 @@ namespace { constexpr HiLogLabel LABEL = { LOG_CORE, SensorsLogDomain::SENSOR_NATIVE, "SensorDataChannel" }; // max 100 data in cache buffer constexpr int32_t SENSOR_READ_DATA_SIZE = sizeof(struct SensorEvent) * 100; -const uint32_t STOP_EVENT_ID = 0; +constexpr uint32_t STOP_EVENT_ID = 0; } // namespace SensorDataChannel::SensorDataChannel() diff --git a/interfaces/native/include/geomagnetic_field.h b/interfaces/native/include/geomagnetic_field.h old mode 100755 new mode 100644 index d58584bd99ba6fa633f575fe3e901b820ee5ba12..fbd10bf1527abd6fe6bb46a3250e38bbe8074891 --- a/interfaces/native/include/geomagnetic_field.h +++ b/interfaces/native/include/geomagnetic_field.h @@ -16,14 +16,15 @@ #ifndef GEOMAGNETIC_FIELD_H #define GEOMAGNETIC_FIELD_H -#include -#include -#include -#include #include +#include #include +#include #include -#include "iostream" + +#include +#include +#include class GeomagneticField { public: diff --git a/interfaces/native/include/sensor_agent_type.h b/interfaces/native/include/sensor_agent_type.h index 323b2f76e44dbbe4278d1e6d4899ad1bb22b1a42..82cafee83f03593931466755413f060fba7a5cd9 100644 --- a/interfaces/native/include/sensor_agent_type.h +++ b/interfaces/native/include/sensor_agent_type.h @@ -46,9 +46,9 @@ extern "C" { #endif /** Maximum length of the sensor name */ -#ifndef SENSOR_NAME_MAX_LEN2 -#define SENSOR_NAME_MAX_LEN2 48 -#endif /* SENSOR_NAME_MAX_LEN */ +#ifndef NAME_MAX_LEN +#define NAME_MAX_LEN 48 +#endif /* NAME_MAX_LEN */ /** Size of sensor data */ #ifndef SENSOR_USER_DATA_SIZE #define SENSOR_USER_DATA_SIZE 104 @@ -102,8 +102,8 @@ typedef enum SensorTypeId { * @since 5 */ typedef struct SensorInfo { - char sensorName[SENSOR_NAME_MAX_LEN2]; /**< Sensor name */ - char vendorName[SENSOR_NAME_MAX_LEN2]; /**< Sensor vendor */ + char sensorName[NAME_MAX_LEN]; /**< Sensor name */ + char vendorName[NAME_MAX_LEN]; /**< Sensor vendor */ char firmwareVersion[VERSION_MAX_LEN]; /**< Sensor firmware version */ char hardwareVersion[VERSION_MAX_LEN]; /**< Sensor hardware version */ int32_t sensorTypeId; /**< Sensor type ID */ @@ -150,7 +150,7 @@ typedef struct UserData { * @since 5 */ typedef struct SensorUser { - char name[SENSOR_NAME_MAX_LEN2]; /**< Name of the sensor data subscriber */ + char name[NAME_MAX_LEN]; /**< Name of the sensor data subscriber */ RecordSensorCallback callback; /**< Callback for reporting sensor data */ UserData *userData; /**< Reserved field for the sensor data subscriber */ } SensorUser; diff --git a/interfaces/native/include/sensor_algorithm.h b/interfaces/native/include/sensor_algorithm.h index 3a2955bc6e32697e38408e0244e182edc9c6c0a4..4dd157f01cf9880a2a8022e0b147b5dc664d6735 100644 --- a/interfaces/native/include/sensor_algorithm.h +++ b/interfaces/native/include/sensor_algorithm.h @@ -16,7 +16,7 @@ #ifndef SENSOR_ALGORITHM_H #define SENSOR_ALGORITHM_H -#include +#include #include class SensorAlgorithm { diff --git a/interfaces/native/src/geomagnetic_field.cpp b/interfaces/native/src/geomagnetic_field.cpp old mode 100755 new mode 100644 index 05b2b834cc9648679ac81672896562a8106dcbaa..fc77139195b7c92a5ea7a82050a2b32e5c04b626 --- a/interfaces/native/src/geomagnetic_field.cpp +++ b/interfaces/native/src/geomagnetic_field.cpp @@ -181,7 +181,7 @@ void GeomagneticField::getLongitudeTrigonometric() cosMLongitude[0] = 1.0f; sinMLongitude[1] = static_cast(sin(geocentricLongitude)); cosMLongitude[1] = static_cast(cos(geocentricLongitude)); - for (uint32_t index = 2; index < GAUSSIAN_COEFFICIENT_DIMENSION; ++index) { + for (int32_t index = 2; index < GAUSSIAN_COEFFICIENT_DIMENSION; ++index) { int32_t x = index >> 1; sinMLongitude[index] = (sinMLongitude[index - x] * cosMLongitude[x] + cosMLongitude[index - x] * sinMLongitude[x]); diff --git a/interfaces/plugin/include/sensor_napi_utils.h b/interfaces/plugin/include/sensor_napi_utils.h index 47175c7a68dc99299dd29f90053079c144e4944f..24141c147a30172575ac513a45dcc63345277f2a 100644 --- a/interfaces/plugin/include/sensor_napi_utils.h +++ b/interfaces/plugin/include/sensor_napi_utils.h @@ -15,11 +15,13 @@ #ifndef SENSOR_NAPI_UTILS_H #define SENSOR_NAPI_UTILS_H +#include +#include + #include "napi/native_api.h" #include "napi/native_node_api.h" -#include + #include "sensor_agent.h" -#include using std::vector; using std::string; @@ -100,6 +102,8 @@ struct AsyncCallbackInfo { using ConvertDataFunc = void(*)(napi_env env, AsyncCallbackInfo *asyncCallbackInfo, napi_value result[2]); +bool IsNapiValueSame(napi_env env, napi_value lhs, napi_value rhs); + bool IsMatchType(napi_env env, napi_value value, napi_valuetype type); napi_value GetNapiInt32(int32_t number, napi_env env); @@ -110,7 +114,7 @@ bool GetCppBool(napi_value value, napi_env env); void EmitAsyncCallbackWork(AsyncCallbackInfo *async_callback_info); -void EmitUvEventLoop(AsyncCallbackInfo *async_callback_info); +void EmitUvEventLoop(AsyncCallbackInfo **async_callback_info); int64_t GetCppInt64(napi_value value, napi_env env); diff --git a/interfaces/plugin/src/sensor_js.cpp b/interfaces/plugin/src/sensor_js.cpp index e23255e3683dbab555a06d28688f1d74e6d2bf49..02c4c67fdb21764891f6894f1bcd2dd471ec9873 100644 --- a/interfaces/plugin/src/sensor_js.cpp +++ b/interfaces/plugin/src/sensor_js.cpp @@ -40,7 +40,7 @@ using namespace OHOS::HiviewDFX; static constexpr HiLogLabel LABEL = {LOG_CORE, 0xD002708, "SensorJsAPI"}; static std::map g_onceCallbackInfos; -static std::map g_onCallbackInfos; +static std::map> g_onCallbackInfos; static void DataCallbackImpl(SensorEvent *event) { @@ -52,17 +52,19 @@ static void DataCallbackImpl(SensorEvent *event) int32_t sensorTypeId = event->sensorTypeId; float *data = (float *)(event->data); if (g_onCallbackInfos.find(sensorTypeId) != g_onCallbackInfos.end()) { - struct AsyncCallbackInfo *onCallbackInfo = g_onCallbackInfos[sensorTypeId]; - onCallbackInfo->data.sensorData.sensorTypeId = sensorTypeId; - onCallbackInfo->data.sensorData.dataLength = event->dataLen; - onCallbackInfo->data.sensorData.timestamp = event->timestamp; - errno_t ret = memcpy_s(onCallbackInfo->data.sensorData.data, event->dataLen, data, event->dataLen); - if (ret != EOK) { - HiLog::Error(LABEL, "%{public}s copy data failed", __func__); - return; + for (uint32_t i = 0; i < g_onCallbackInfos[sensorTypeId].size(); ++i) { + g_onCallbackInfos[sensorTypeId][i]->data.sensorData.sensorTypeId = sensorTypeId; + g_onCallbackInfos[sensorTypeId][i]->data.sensorData.dataLength = event->dataLen; + g_onCallbackInfos[sensorTypeId][i]->data.sensorData.timestamp = event->timestamp; + errno_t ret = memcpy_s(g_onCallbackInfos[sensorTypeId][i]->data.sensorData.data, + event->dataLen, data, event->dataLen); + if (ret != EOK) { + HiLog::Error(LABEL, "%{public}s copy data failed", __func__); + return; + } + g_onCallbackInfos[sensorTypeId][i]->type = ON_CALLBACK; + EmitUvEventLoop(&g_onCallbackInfos[sensorTypeId][i]); } - onCallbackInfo->type = ON_CALLBACK; - EmitUvEventLoop((struct AsyncCallbackInfo *)(onCallbackInfo)); } if (g_onceCallbackInfos.find(sensorTypeId) == g_onceCallbackInfos.end()) { @@ -79,7 +81,7 @@ static void DataCallbackImpl(SensorEvent *event) return; } onceCallbackInfo->type = ONCE_CALLBACK; - EmitUvEventLoop((struct AsyncCallbackInfo *)(onceCallbackInfo)); + EmitUvEventLoop(&g_onceCallbackInfos[sensorTypeId]); if (g_onCallbackInfos.find(sensorTypeId) == g_onCallbackInfos.end()) { HiLog::Debug(LABEL, "%{public}s no subscription to change sensor data, need to cancel registration", __func__); UnsubscribeSensor(sensorTypeId); @@ -159,9 +161,6 @@ static napi_value Once(napi_env env, napi_callback_info info) int32_t ret = SubscribeSensor(sensorTypeId, 200000000, DataCallbackImpl); if (ret < 0) { HiLog::Error(LABEL, "%{public}s subscribe Sensor failed", __func__); - asyncCallbackInfo->type = FAIL; - asyncCallbackInfo->error.code = ret; - EmitAsyncCallbackWork(asyncCallbackInfo); g_onceCallbackInfos.erase(sensorTypeId); return nullptr; } @@ -170,9 +169,43 @@ static napi_value Once(napi_env env, napi_callback_info info) return nullptr; } +static bool IsSubscribed(napi_env env, int32_t sensorTypeId, napi_value callback) +{ + if (g_onCallbackInfos.find(sensorTypeId) == g_onCallbackInfos.end()) { + return false; + } + std::vector callbackInfos = g_onCallbackInfos[sensorTypeId]; + for (auto callbackInfo : callbackInfos) { + napi_value sensorCallback = nullptr; + napi_get_reference_value(env, callbackInfo->callback[0], &sensorCallback); + if (IsNapiValueSame(env, callback, sensorCallback)) { + return true; + } + } + return false; +} + +static void UpdateCallbackInfos(napi_env env, int32_t sensorTypeId, napi_value callback) +{ + if (IsSubscribed(env, sensorTypeId, callback)) { + HiLog::Debug(LABEL, "%{public}s the callback has been subscribed", __func__); + return; + } + AsyncCallbackInfo *asyncCallbackInfo = new AsyncCallbackInfo { + .env = env, + .asyncWork = nullptr, + .deferred = nullptr, + .type = ON_CALLBACK, + }; + napi_create_reference(env, callback, 1, &asyncCallbackInfo->callback[0]); + std::vector callbackInfos = g_onCallbackInfos[sensorTypeId]; + callbackInfos.push_back(asyncCallbackInfo); + g_onCallbackInfos[sensorTypeId] = callbackInfos; +} + static napi_value On(napi_env env, napi_callback_info info) { - HiLog::Info(LABEL, "%{public}s in", __func__); + HiLog::Debug(LABEL, "%{public}s in", __func__); size_t argc = 3; napi_value args[3] = { 0 }; napi_value thisVar = nullptr; @@ -188,33 +221,59 @@ static napi_value On(napi_env env, napi_callback_info info) int32_t sensorTypeId = GetCppInt32(args[0], env); int64_t interval = 200000000; if (argc == 3) { - HiLog::Info(LABEL, "%{public}s argc = 3!", __func__); napi_value value = NapiGetNamedProperty(args[2], "interval", env); if (!IsMatchType(env, value, napi_number)) { HiLog::Error(LABEL, "%{public}s argument should be napi_number type!", __func__); return nullptr; } interval = GetCppInt64(value, env); + HiLog::Debug(LABEL, "%{public}s interval is %{public}lld", __func__, interval); } - AsyncCallbackInfo *asyncCallbackInfo = new AsyncCallbackInfo { - .env = env, - .asyncWork = nullptr, - .deferred = nullptr, - }; - napi_create_reference(env, args[1], 1, &asyncCallbackInfo->callback[0]); - g_onCallbackInfos[sensorTypeId] = asyncCallbackInfo; int32_t ret = SubscribeSensor(sensorTypeId, interval, DataCallbackImpl); if (ret < 0) { - HiLog::Error(LABEL, "%{public}s subscribeSensor failed", __func__); - asyncCallbackInfo->type = FAIL; - asyncCallbackInfo->error.code = ret; - EmitAsyncCallbackWork(asyncCallbackInfo); - g_onCallbackInfos.erase(sensorTypeId); + HiLog::Error(LABEL, "%{public}s subscribeSensor failed", __func__); + return nullptr; } - HiLog::Info(LABEL, "%{public}s out", __func__); + UpdateCallbackInfos(env, sensorTypeId, args[1]); + HiLog::Debug(LABEL, "%{public}s end", __func__); return nullptr; } +static void RemoveAllCallback(napi_env env, int32_t sensorTypeId) +{ + std::vector callbackInfos = g_onCallbackInfos[sensorTypeId]; + for (auto callbackInfo : callbackInfos) { + napi_delete_reference(env, callbackInfo->callback[0]); + callbackInfo->callback[0] = nullptr; + delete callbackInfo; + callbackInfo = nullptr; + } + g_onCallbackInfos.erase(sensorTypeId); +} + +static uint32_t RemoveCallback(napi_env env, int32_t sensorTypeId, napi_value callback) +{ + std::vector callbackInfos = g_onCallbackInfos[sensorTypeId]; + std::vector::iterator iter; + for (iter = callbackInfos.begin(); iter != callbackInfos.end(); iter++) { + napi_value sensorCallback = nullptr; + napi_get_reference_value(env, (*iter)->callback[0], &sensorCallback); + if (IsNapiValueSame(env, callback, sensorCallback)) { + napi_delete_reference(env, (*iter)->callback[0]); + (*iter)->callback[0] = nullptr; + delete *iter; + *iter = nullptr; + callbackInfos.erase(iter); + if (callbackInfos.empty()) { + g_onCallbackInfos.erase(sensorTypeId); + return 0; + } + } + } + g_onCallbackInfos[sensorTypeId] = callbackInfos; + return callbackInfos.size(); +} + static napi_value Off(napi_env env, napi_callback_info info) { HiLog::Info(LABEL, "%{public}s in", __func__); @@ -222,38 +281,27 @@ static napi_value Off(napi_env env, napi_callback_info info) napi_value args[2] = { 0 }; napi_value thisVar = nullptr; NAPI_CALL(env, napi_get_cb_info(env, info, &argc, args, &thisVar, NULL)); - - if (argc < 1) { + if (argc < 1 || argc > 2 || !IsMatchType(env, args[0], napi_number)) { HiLog::Error(LABEL, "%{public}s Invalid input.", __func__); return nullptr; } - if (!IsMatchType(env, args[0], napi_number) || !IsMatchType(env, args[1], napi_function)) { - HiLog::Error(LABEL, "%{public}s argument is invalid", __func__); + int32_t sensorTypeId = GetCppInt32(args[0], env); + if (g_onCallbackInfos.find(sensorTypeId) == g_onCallbackInfos.end() + || (argc == 2 && !IsSubscribed(env, sensorTypeId, args[1]))) { + HiLog::Error(LABEL, "%{public}s should subscribe first", __func__); return nullptr; } - int32_t sensorTypeId = GetCppInt32(args[0], env); - AsyncCallbackInfo *asyncCallbackInfo = new AsyncCallbackInfo { - .env = env, - .asyncWork = nullptr, - .deferred = nullptr, - }; - napi_create_reference(env, args[1], 1, &asyncCallbackInfo->callback[0]); + if (argc == 2 && RemoveCallback(env, sensorTypeId, args[1]) != 0) { + HiLog::Debug(LABEL, "%{public}s there are other client registrations as well", __func__); + return nullptr; + } + if (argc == 1) { + RemoveAllCallback(env, sensorTypeId); + } int32_t ret = UnsubscribeSensor(sensorTypeId); if (ret < 0) { - asyncCallbackInfo->type = FAIL; - asyncCallbackInfo->error.code = ret; HiLog::Error(LABEL, "%{public}s UnsubscribeSensor failed", __func__); - } else { - HiLog::Error(LABEL, "%{public}s UnsubscribeSensor success", __func__); - asyncCallbackInfo->type = OFF_CALLBACK; - if (g_onCallbackInfos.find(sensorTypeId) != g_onCallbackInfos.end()) { - napi_delete_reference(env, g_onCallbackInfos[sensorTypeId]->callback[0]); - delete g_onCallbackInfos[sensorTypeId]; - g_onCallbackInfos[sensorTypeId] = nullptr; - g_onCallbackInfos.erase(sensorTypeId); - } } - EmitAsyncCallbackWork(asyncCallbackInfo); return nullptr; } diff --git a/interfaces/plugin/src/sensor_napi_utils.cpp b/interfaces/plugin/src/sensor_napi_utils.cpp index 34eb1113962e65984f444e7705f7da401af56826..30be30b7709f85b22ef38b72f9ceec085249382c 100644 --- a/interfaces/plugin/src/sensor_napi_utils.cpp +++ b/interfaces/plugin/src/sensor_napi_utils.cpp @@ -25,6 +25,13 @@ using namespace OHOS::HiviewDFX; static constexpr HiLogLabel LABEL = {LOG_CORE, 0xD002708, "SensorJsAPI"}; +bool IsNapiValueSame(napi_env env, napi_value lhs, napi_value rhs) +{ + bool result = false; + napi_strict_equals(env, lhs, rhs, &result); + return result; +} + bool IsMatchType(napi_env env, napi_value value, napi_valuetype type) { napi_valuetype paramType = napi_undefined; @@ -143,7 +150,7 @@ std::map> g_sensorAttributeList = { { SENSOR_TYPE_ID_HALL, { "status" } }, { SENSOR_TYPE_ID_PROXIMITY, { "distance" } }, { SENSOR_TYPE_ID_HUMIDITY, { "humidity" } }, - { SENSOR_TYPE_ID_ORIENTATION, { "x", "y", "z" } }, + { SENSOR_TYPE_ID_ORIENTATION, { "alpha", "beta", "gamma" } }, { SENSOR_TYPE_ID_GRAVITY, { "x", "y", "z" } }, { SENSOR_TYPE_ID_LINEAR_ACCELERATION, { "x", "y", "z" } }, { SENSOR_TYPE_ID_ROTATION_VECTOR, { "x", "y", "z", "w" } }, @@ -152,7 +159,7 @@ std::map> g_sensorAttributeList = { { SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, { "x", "y", "z", "biasX", "biasY", "biasZ" } }, { SENSOR_TYPE_ID_SIGNIFICANT_MOTION, { "scalar" } }, { SENSOR_TYPE_ID_PEDOMETER_DETECTION, { "scalar" } }, - { SENSOR_TYPE_ID_PEDOMETER, { "step" } }, + { SENSOR_TYPE_ID_PEDOMETER, { "steps" } }, { SENSOR_TYPE_ID_HEART_RATE, { "heartRate" } }, { SENSOR_TYPE_ID_WEAR_DETECTION, { "value" } }, { SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, { "x", "y", "z", "biasX", "biasY", "biasZ" } } @@ -405,11 +412,15 @@ void EmitAsyncCallbackWork(AsyncCallbackInfo *asyncCallbackInfo) HiLog::Debug(LABEL, "%{public}s end", __func__); } -void EmitUvEventLoop(AsyncCallbackInfo *asyncCallbackInfo) +void EmitUvEventLoop(AsyncCallbackInfo **asyncCallbackInfo) { uv_loop_s *loop(nullptr); - HiLog::Error(LABEL, "%{public}s env: %{public}p", __func__, asyncCallbackInfo->env); - napi_get_uv_event_loop(asyncCallbackInfo->env, &loop); + if (asyncCallbackInfo == nullptr || *asyncCallbackInfo == nullptr + || (*asyncCallbackInfo)->env == nullptr) { + HiLog::Error(LABEL, "%{public}s asyncCallbackInfo is null", __func__); + return; + } + napi_get_uv_event_loop((*asyncCallbackInfo)->env, &loop); if (loop == nullptr) { HiLog::Error(LABEL, "%{public}s loop is null", __func__); return; @@ -421,19 +432,16 @@ void EmitUvEventLoop(AsyncCallbackInfo *asyncCallbackInfo) } work->data = reinterpret_cast(asyncCallbackInfo); uv_queue_work(loop, work, [] (uv_work_t *work) { }, [] (uv_work_t *work, int status) { - AsyncCallbackInfo *asyncCallbackInfo = reinterpret_cast(work->data); - if (asyncCallbackInfo == nullptr) { + AsyncCallbackInfo *asyncCallbackInfo = *reinterpret_cast(work->data); + if (asyncCallbackInfo == nullptr || asyncCallbackInfo->env == nullptr + || asyncCallbackInfo->callback[0] == nullptr) { HiLog::Error(LABEL, "%{public}s asyncCallbackInfo is null", __func__); return; } napi_env env = asyncCallbackInfo->env; - napi_value undefined; + napi_value undefined = nullptr; napi_get_undefined(env, &undefined); - if (asyncCallbackInfo->callback[0] == nullptr) { - HiLog::Error(LABEL, "%{public}s callback is null", __func__); - return; - } - napi_value callback; + napi_value callback = nullptr; napi_get_reference_value(env, asyncCallbackInfo->callback[0], &callback); napi_value callResult = nullptr; napi_value result[2] = {0}; @@ -442,7 +450,7 @@ void EmitUvEventLoop(AsyncCallbackInfo *asyncCallbackInfo) return; } g_convertfuncList[asyncCallbackInfo->type](env, asyncCallbackInfo, result); - napi_call_function(env, undefined, callback, 2, result, &callResult); + napi_call_function(env, undefined, callback, 1, &result[1], &callResult); if (asyncCallbackInfo->type != ON_CALLBACK) { napi_delete_reference(env, asyncCallbackInfo->callback[0]); delete asyncCallbackInfo; diff --git a/interfaces/plugin/test/ExampleJsunit.test_acc.js b/interfaces/plugin/test/ExampleJsunit.test_acc.js old mode 100755 new mode 100644 index 80c0db5df9045b520a0a1f53791ef6ce7e532d91..e863c356d464a02efaf64d7b278dd25c72138cff --- a/interfaces/plugin/test/ExampleJsunit.test_acc.js +++ b/interfaces/plugin/test/ExampleJsunit.test_acc.js @@ -17,6 +17,19 @@ import sensor from '@ohos.sensor' import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' describe("SensorJsTest", function () { + function callback(data) { + console.info("callback" + JSON.stringify(data)); + expect(typeof(data.x)).assertEqual("number"); + expect(typeof(data.y)).assertEqual("number"); + expect(typeof(data.z)).assertEqual("number"); + } + + function callback2() { + console.info("callback2" + JSON.stringify(data)); + expect(typeof(data.x)).assertEqual("number"); + expect(typeof(data.y)).assertEqual("number"); + expect(typeof(data.z)).assertEqual("number"); + } beforeAll(function() { /* * @tc.setup: setup invoked before all testcases @@ -53,53 +66,11 @@ describe("SensorJsTest", function () { */ it("SensorJsTest001", 0, async function (done) { console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success, x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); + sensor.on(1, callback); + setTimeout(()=>{ + sensor.off(1); + done(); + }, 500); }) /* @@ -110,19 +81,16 @@ describe("SensorJsTest", function () { */ it("SensorJsTest002", 0, async function (done) { console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest002 on error'); + expect(false).assertTrue(); + done(); } sensor.on(-1, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -133,54 +101,13 @@ describe("SensorJsTest", function () { */ it("SensorJsTest003", 0, async function (done) { console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); + sensor.on(1, callback, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest003 off in---------------------------'); + sensor.off(1); + console.info('----------------------SensorJsTest003 off end---------------------------'); + done(); + }, 500); }) /* @@ -191,8 +118,16 @@ describe("SensorJsTest", function () { */ it("SensorJsTest004", 0, function () { console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(1, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); + function onSensorCallback(data) { + console.info('SensorJsTest004 on error'); + expect(false).assertTrue(); + done(); + } + sensor.on(1, onSensorCallback, {'interval': 100000000}, 5); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); console.info('----------------------SensorJsTest004--------------------------- end'); }) @@ -203,21 +138,11 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1, onceSensorCallback); + sensor.once(1, callback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -227,19 +152,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onceSensorCallback(data) { + console.info('SensorJsTest006 on error'); + expect(false).assertTrue(); + done(); } sensor.once(-1, onceSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -249,8 +171,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest007", 0, function () { - sensor.once(1, function(){}, 5); - expect(true).assertTrue(); + function onceSensorCallback(data) { + console.info('SensorJsTest007 on error'); + expect(false).assertTrue(); + done(); + } + sensor.once(1, onceSensorCallback, 5); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -260,19 +190,11 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); + sensor.off(-1, callback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -282,19 +204,17 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest009 on error'); + expect(false).assertTrue(); + done(); } - sensor.off(1, offCallback); + sensor.on(1, onSensorCallback); + sensor.off(1, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -304,19 +224,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest010 on error'); + expect(false).assertTrue(); + done(); } - sensor.off(1000000, offCallback); + sensor.off(1000000, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -326,19 +243,14 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1000000, onceSensorCallback); + sensor.on(1, callback); + sensor.on(1, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest011 off in---------------------------'); + sensor.off(1); + console.info('----------------------SensorJsTest011 off end---------------------------'); + done(); + }, 1000); }) /* @@ -348,19 +260,15 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest012", 0, async function (done) { - function onCallback(error) { - if (error) { - console.info('SensorJsTest012 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(1000000, onCallback); + sensor.on(1, callback); + sensor.on(1, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest012 off in---------------------------'); + sensor.off(1, callback); + sensor.off(1, callback2); + console.info('----------------------SensorJsTest012 off end---------------------------'); + done(); + }, 1000); }) /* @@ -374,7 +282,6 @@ describe("SensorJsTest", function () { expect(true).assertTrue(); }) - /* * @tc.name:SensorJsTest014 * @tc.desc:verify app info is not null @@ -383,74 +290,15 @@ describe("SensorJsTest", function () { */ it("SensorJsTest014", 0, async function (done) { console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); + sensor.on(1, callback, {'interval': 100000000}); + sensor.once(1, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest014 off in---------------------------'); + sensor.off(1, callback); + sensor.off(1, callback2); + console.info('----------------------SensorJsTest014 off end---------------------------'); + done(); + }, 1000); }) /* @@ -461,78 +309,17 @@ describe("SensorJsTest", function () { */ it("SensorJsTest015", 0, async function (done) { console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); + sensor.on(1, callback, {'interval': 100000000}); + sensor.on(1, callback2, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest015 off in---------------------------'); + sensor.off(1, callback); + sensor.off(1, callback2); + console.info('----------------------SensorJsTest015 off end---------------------------'); + done(); + }, 1000); }) - /* * @tc.name:SensorJsTest016 * @tc.desc:verify app info is not null @@ -541,74 +328,13 @@ describe("SensorJsTest", function () { */ it("SensorJsTest016", 0, async function (done) { console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(1, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); + sensor.on(1, callback, {'interval': 100000000}); + sensor.on(1, callback2, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest016 off in---------------------------'); + sensor.off(1); + console.info('----------------------SensorJsTest016 off end---------------------------'); + done(); + }, 1000); }) }) diff --git a/interfaces/plugin/test/ExampleJsunit.test_gyr.js b/interfaces/plugin/test/ExampleJsunit.test_gyr.js deleted file mode 100755 index 1a5c5ceb39274e7402968842ae4287fc504eb696..0000000000000000000000000000000000000000 --- a/interfaces/plugin/test/ExampleJsunit.test_gyr.js +++ /dev/null @@ -1,614 +0,0 @@ -/* - * Copyright (C) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import sensor from '@ohos.sensor' - -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' - -describe("SensorJsTest", function () { - beforeAll(function() { - /* - * @tc.setup: setup invoked before all testcases - */ - console.info('beforeAll caled') - }) - - afterAll(function() { - /* - * @tc.teardown: teardown invoked after all testcases - */ - console.info('afterAll caled') - }) - - beforeEach(function() { - /* - * @tc.setup: setup invoked before each testcases - */ - console.info('beforeEach caled') - }) - - afterEach(function() { - /* - * @tc.teardown: teardown invoked after each testcases - */ - console.info('afterEach caled') - }) - - /* - * @tc.name:SensorJsTest001 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest001", 0, async function (done) { - console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success, x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest002 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest002", 0, async function (done) { - console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(-1, onSensorCallback); - }) - - /* - * @tc.name:SensorJsTest003 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest003", 0, async function (done) { - console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest004 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest004", 0, function () { - console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(2, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); - console.info('----------------------SensorJsTest004--------------------------- end'); - }) - - /* - * @tc.name:SensorJsTest005 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(2, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest006 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(-1, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest007 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest007", 0, function () { - sensor.once(2, function(){}, 5); - expect(true).assertTrue(); - }) - - /* - * @tc.name:SensorJsTest008 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); - }) - - /* - * @tc.name:SensorJsTest009 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(2, offCallback); - }) - - /* - * @tc.name:SensorJsTest010 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(1000000, offCallback); - }) - - /* - * @tc.name:SensorJsTest011 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1000000, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest012 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest012", 0, async function (done) { - function onCallback(error) { - if (error) { - console.info('SensorJsTest012 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(1000000, onCallback); - }) - - /* - * @tc.name:SensorJsTest013 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest013", 0, function () { - sensor.off(2, 5); - expect(true).assertTrue(); - }) - - - /* - * @tc.name:SensorJsTest014 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest014", 0, async function (done) { - console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); - }) - - /* - * @tc.name:SensorJsTest015 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest015", 0, async function (done) { - console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) - - - /* - * @tc.name:SensorJsTest016 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest016", 0, async function (done) { - console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(2, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) -}) diff --git a/interfaces/plugin/test/ExampleJsunit.test_light.js b/interfaces/plugin/test/ExampleJsunit.test_light.js deleted file mode 100755 index 8eb7b264f227e3695bba65498299d43c9aeaf923..0000000000000000000000000000000000000000 --- a/interfaces/plugin/test/ExampleJsunit.test_light.js +++ /dev/null @@ -1,598 +0,0 @@ -/* - * Copyright (C) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import sensor from '@ohos.sensor' - -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' - -describe("SensorJsTest", function () { - beforeAll(function() { - /* - * @tc.setup: setup invoked before all testcases - */ - console.info('beforeAll caled') - }) - - afterAll(function() { - /* - * @tc.teardown: teardown invoked after all testcases - */ - console.info('afterAll caled') - }) - - beforeEach(function() { - /* - * @tc.setup: setup invoked before each testcases - */ - console.info('beforeEach caled') - }) - - afterEach(function() { - /* - * @tc.teardown: teardown invoked after each testcases - */ - console.info('afterEach caled') - }) - - /* - * @tc.name:SensorJsTest001 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest001", 0, async function (done) { - console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success, success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest002 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest002", 0, async function (done) { - console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(-1, onSensorCallback); - }) - - /* - * @tc.name:SensorJsTest003 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest003", 0, async function (done) { - console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest004 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest004", 0, function () { - console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(5, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); - console.info('----------------------SensorJsTest004--------------------------- end'); - }) - - /* - * @tc.name:SensorJsTest005 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(5, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest006 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(-1, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest007 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest007", 0, function () { - sensor.once(5, function(){}, 5); - expect(true).assertTrue(); - }) - - /* - * @tc.name:SensorJsTest008 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); - }) - - /* - * @tc.name:SensorJsTest009 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(5, offCallback); - }) - - /* - * @tc.name:SensorJsTest010 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(2000000, offCallback); - }) - - /* - * @tc.name:SensorJsTest011 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(2000000, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest012 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest012", 0, async function (done) { - function onCallback(error) { - if (error) { - console.info('SensorJsTest012 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(2000000, onCallback); - }) - - /* - * @tc.name:SensorJsTest013 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest013", 0, function () { - sensor.off(5, 5); - expect(true).assertTrue(); - }) - - - /* - * @tc.name:SensorJsTest014 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest014", 0, async function (done) { - console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); - }) - - /* - * @tc.name:SensorJsTest015 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest015", 0, async function (done) { - console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) - - - /* - * @tc.name:SensorJsTest016 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest016", 0, async function (done) { - console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(5, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) -}) diff --git a/interfaces/plugin/test/ExampleJsunit.test_mag.js b/interfaces/plugin/test/ExampleJsunit.test_mag.js deleted file mode 100755 index 2c49c76152111e0d01dd8d4f2d70b815fca520b4..0000000000000000000000000000000000000000 --- a/interfaces/plugin/test/ExampleJsunit.test_mag.js +++ /dev/null @@ -1,614 +0,0 @@ -/* - * Copyright (C) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import sensor from '@ohos.sensor' - -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' - -describe("SensorJsTest", function () { - beforeAll(function() { - /* - * @tc.setup: setup invoked before all testcases - */ - console.info('beforeAll caled') - }) - - afterAll(function() { - /* - * @tc.teardown: teardown invoked after all testcases - */ - console.info('afterAll caled') - }) - - beforeEach(function() { - /* - * @tc.setup: setup invoked before each testcases - */ - console.info('beforeEach caled') - }) - - afterEach(function() { - /* - * @tc.teardown: teardown invoked after each testcases - */ - console.info('afterEach caled') - }) - - /* - * @tc.name:SensorJsTest001 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest001", 0, async function (done) { - console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success, x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest002 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest002", 0, async function (done) { - console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(-1, onSensorCallback); - }) - - /* - * @tc.name:SensorJsTest003 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest003", 0, async function (done) { - console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest004 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest004", 0, function () { - console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(6, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); - console.info('----------------------SensorJsTest004--------------------------- end'); - }) - - /* - * @tc.name:SensorJsTest005 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(6, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest006 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(-1, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest007 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest007", 0, function () { - sensor.once(6, function(){}, 5); - expect(true).assertTrue(); - }) - - /* - * @tc.name:SensorJsTest008 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); - }) - - /* - * @tc.name:SensorJsTest009 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(6, offCallback); - }) - - /* - * @tc.name:SensorJsTest010 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(1000000, offCallback); - }) - - /* - * @tc.name:SensorJsTest011 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1000000, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest012 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest012", 0, async function (done) { - function onCallback(error) { - if (error) { - console.info('SensorJsTest012 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(1000000, onCallback); - }) - - /* - * @tc.name:SensorJsTest013 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest013", 0, function () { - sensor.off(6, 5); - expect(true).assertTrue(); - }) - - - /* - * @tc.name:SensorJsTest014 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest014", 0, async function (done) { - console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); - }) - - /* - * @tc.name:SensorJsTest015 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest015", 0, async function (done) { - console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) - - - /* - * @tc.name:SensorJsTest016 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest016", 0, async function (done) { - console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(6, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) -}) diff --git a/interfaces/plugin/test/ExampleJsunit.test_pedometer.js b/interfaces/plugin/test/ExampleJsunit.test_pedometer.js deleted file mode 100644 index 75bce838e9cc0f61256ee217a55eeadcee3d8289..0000000000000000000000000000000000000000 --- a/interfaces/plugin/test/ExampleJsunit.test_pedometer.js +++ /dev/null @@ -1,599 +0,0 @@ -/* - * Copyright (C) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import sensor from '@ohos.sensor' - -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' - -describe("SensorJsTest", function () { - beforeAll(function() { - /* - * @tc.setup: setup invoked before all testcases - */ - console.info('beforeAll caled') - }) - - afterAll(function() { - /* - * @tc.teardown: teardown invoked after all testcases - */ - console.info('afterAll caled') - }) - - beforeEach(function() { - /* - * @tc.setup: setup invoked before each testcases - */ - console.info('beforeEach caled') - }) - - afterEach(function() { - /* - * @tc.teardown: teardown invoked after each testcases - */ - console.info('afterEach caled') - }) - - /* - * @tc.name:SensorJsTest001 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest001", 0, async function (done) { - console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success, step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest002 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest002", 0, async function (done) { - console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(-1, onSensorCallback); - }) - - /* - * @tc.name:SensorJsTest003 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest003", 0, async function (done) { - console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest004 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest004", 0, function () { - console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(266, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); - console.info('----------------------SensorJsTest004--------------------------- end'); - }) - - /* - * @tc.name:SensorJsTest005 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(266, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest006 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(-1, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest007 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest007", 0, function () { - sensor.once(266, function(){}, 5); - expect(true).assertTrue(); - }) - - /* - * @tc.name:SensorJsTest008 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); - }) - - /* - * @tc.name:SensorJsTest009 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(266, offCallback); - }) - - /* - * @tc.name:SensorJsTest010 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(1000000, offCallback); - }) - - /* - * @tc.name:SensorJsTest011 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1000000, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest012 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest012", 0, async function (done) { - function onCallback(error) { - if (error) { - console.info('SensorJsTest012 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(1000000, onCallback); - }) - - /* - * @tc.name:SensorJsTest013 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest013", 0, function () { - sensor.off(266, 5); - expect(true).assertTrue(); - }) - - - /* - * @tc.name:SensorJsTest014 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest014", 0, async function (done) { - console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); - }) - - /* - * @tc.name:SensorJsTest015 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest015", 0, async function (done) { - console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) - - - /* - * @tc.name:SensorJsTest016 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest016", 0, async function (done) { - console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(266, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) -}) diff --git a/interfaces/plugin/test/unittest/ExampleJsunit.test.js b/interfaces/plugin/test/unittest/ExampleJsunit.test.js index 8889bba6bdc743a4be9f70c9ee93da5956f15f0a..fdd888d88f66d2e5fe49b3ea6d4b7e3aac8655d8 100644 --- a/interfaces/plugin/test/unittest/ExampleJsunit.test.js +++ b/interfaces/plugin/test/unittest/ExampleJsunit.test.js @@ -17,32 +17,42 @@ import sensor from '@ohos.sensor' import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' describe("SensorJsTest", function () { + function callback(data) { + console.info("callback" + JSON.stringify(data)); + expect(typeof(data.x)).assertEqual("number"); + } + + function callback2() { + console.info("callback2" + JSON.stringify(data)); + expect(typeof(data.x)).assertEqual("number"); + } + beforeAll(function() { /* * @tc.setup: setup invoked before all testcases */ - console.info('beforeAll caled') + console.info('beforeAll caled') }) afterAll(function() { /* * @tc.teardown: teardown invoked after all testcases */ - console.info('afterAll caled') + console.info('afterAll caled') }) beforeEach(function() { /* * @tc.setup: setup invoked before each testcases */ - console.info('beforeEach caled') + console.info('beforeEach caled') }) afterEach(function() { /* * @tc.teardown: teardown invoked after each testcases */ - console.info('afterEach caled') + console.info('afterEach caled') }) /* @@ -53,51 +63,11 @@ describe("SensorJsTest", function () { */ it("SensorJsTest001", 0, async function (done) { console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); + sensor.on(0, callback); + setTimeout(()=>{ + sensor.off(0); + done(); + }, 500); }) /* @@ -108,19 +78,16 @@ describe("SensorJsTest", function () { */ it("SensorJsTest002", 0, async function (done) { console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest002 on error'); + expect(false).assertTrue(); + done(); } sensor.on(-1, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -131,52 +98,13 @@ describe("SensorJsTest", function () { */ it("SensorJsTest003", 0, async function (done) { console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); + sensor.on(0, callback, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest003 off in---------------------------'); + sensor.off(0); + console.info('----------------------SensorJsTest003 off end---------------------------'); + done(); + }, 500); }) /* @@ -187,8 +115,16 @@ describe("SensorJsTest", function () { */ it("SensorJsTest004", 0, function () { console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(0, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); + function onSensorCallback(data) { + console.info('SensorJsTest004 on error'); + expect(false).assertTrue(); + done(); + } + sensor.on(0, onSensorCallback, {'interval': 100000000}, 5); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); console.info('----------------------SensorJsTest004--------------------------- end'); }) @@ -199,19 +135,11 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success'); - expect(typeof(data.x)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(0, onceSensorCallback); + sensor.once(0, callback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -221,19 +149,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error' + data.x); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onceSensorCallback(data) { + console.info('SensorJsTest006 on error'); + expect(false).assertTrue(); + done(); } sensor.once(-1, onceSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -243,8 +168,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest007", 0, function () { - sensor.once(0, function(){}, 5); - expect(true).assertTrue(); + function onceSensorCallback(data) { + console.info('SensorJsTest007 on error'); + expect(false).assertTrue(); + done(); + } + sensor.once(0, onceSensorCallback, 5); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -254,19 +187,11 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); + sensor.off(-1, callback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -276,19 +201,17 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest009 on error'); + expect(false).assertTrue(); + done(); } - sensor.off(0, offCallback); + sensor.on(0, onSensorCallback); + sensor.off(0, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -298,19 +221,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest010 on error'); + expect(false).assertTrue(); + done(); } - sensor.off(1000000, offCallback); + sensor.off(1000000, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -320,19 +240,14 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error' + data.x); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1000000, onceSensorCallback); + sensor.on(0, callback); + sensor.on(0, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest011 off in---------------------------'); + sensor.off(0); + console.info('----------------------SensorJsTest011 off end---------------------------'); + done(); + }, 1000); }) /* @@ -342,19 +257,15 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest012", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest012 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(1000000, offCallback); + sensor.on(0, callback); + sensor.on(0, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest012 off in---------------------------'); + sensor.off(0, callback); + sensor.off(0, callback2); + console.info('----------------------SensorJsTest012 off end---------------------------'); + done(); + }, 1000); }) /* @@ -368,7 +279,6 @@ describe("SensorJsTest", function () { expect(true).assertTrue(); }) - /* * @tc.name:SensorJsTest014 * @tc.desc:verify app info is not null @@ -377,72 +287,15 @@ describe("SensorJsTest", function () { */ it("SensorJsTest014", 0, async function (done) { console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); + sensor.on(0, callback, {'interval': 100000000}); + sensor.once(0, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest014 off in---------------------------'); + sensor.off(0, callback); + sensor.off(0, callback2); + console.info('----------------------SensorJsTest014 off end---------------------------'); + done(); + }, 1000); }) /* @@ -453,74 +306,17 @@ describe("SensorJsTest", function () { */ it("SensorJsTest015", 0, async function (done) { console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); + sensor.on(0, callback, {'interval': 100000000}); + sensor.on(0, callback2, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest015 off in---------------------------'); + sensor.off(0, callback); + sensor.off(0, callback2); + console.info('----------------------SensorJsTest015 off end---------------------------'); + done(); + }, 1000); }) - /* * @tc.name:SensorJsTest016 * @tc.desc:verify app info is not null @@ -529,71 +325,14 @@ describe("SensorJsTest", function () { */ it("SensorJsTest016", 0, async function (done) { console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(0, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); + sensor.on(0, callback, {'interval': 100000000}); + sensor.on(0, callback2, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest016 off in---------------------------'); + sensor.off(0); + console.info('----------------------SensorJsTest016 off end---------------------------'); + done(); + }, 1000); }) let GEOMAGNETIC_COMPONENT_YEAR_RESULT = [ diff --git a/services/sensor/hdi_connection/adapter/src/compatible_connection.cpp b/services/sensor/hdi_connection/adapter/src/compatible_connection.cpp index 05c4999c12ce9042ddb6e14ca69603b0182363f1..a3d95b9d96251f406965d157067b89acc5090809 100644 --- a/services/sensor/hdi_connection/adapter/src/compatible_connection.cpp +++ b/services/sensor/hdi_connection/adapter/src/compatible_connection.cpp @@ -47,13 +47,20 @@ int32_t CompatibleConnection::GetSensorList(std::vector& sensorList) for (int32_t i = 0; i < static_cast(sensorInfos.size()); i++) { const std::string sensorName(sensorInfos[i].sensorName); const std::string vendorName(sensorInfos[i].vendorName); + const std::string firmwareVersion(sensorInfos[i].firmwareVersion); + const std::string hardwareVersion(sensorInfos[i].hardwareVersion); const int32_t sensorId = sensorInfos[i].sensorId; const float maxRange = sensorInfos[i].maxRange; Sensor sensor; sensor.SetSensorId(sensorId); + sensor.SetSensorTypeId(sensorId); + sensor.SetFirmwareVersion(firmwareVersion.c_str()); + sensor.SetHardwareVersion(hardwareVersion.c_str()); sensor.SetMaxRange(maxRange); - sensor.SetName(sensorName.c_str()); - sensor.SetVendor(vendorName.c_str()); + sensor.SetSensorName(sensorName.c_str()); + sensor.SetVendorName(vendorName.c_str()); + sensor.SetResolution(sensorInfos[i].accuracy); + sensor.SetPower(sensorInfos[i].power); sensorList.push_back(sensor); } return ERR_OK; @@ -116,13 +123,11 @@ int32_t CompatibleConnection::SetOption(int32_t sensorId, int32_t option) int32_t CompatibleConnection::SensorDataCallback(const struct SensorEvents *event) { - HiLog::Debug(LABEL, "%{public}s begin", __func__); if ((event == nullptr) || (event->dataLen == 0)) { HiLog::Error(LABEL, "%{public}s event is NULL", __func__); return ERR_INVALID_VALUE; } - - if (reportDataCb_ == nullptr) { + if (reportDataCb_ == nullptr || reportDataCallback_ == nullptr) { HiLog::Error(LABEL, "%{public}s reportDataCb_ cannot be null", __func__); return ERR_NO_INIT; } @@ -139,9 +144,9 @@ int32_t CompatibleConnection::SensorDataCallback(const struct SensorEvents *even errno_t ret = memcpy_s(sensorEvent.data, event->dataLen, event->data, event->dataLen); if (ret != EOK) { HiLog::Error(LABEL, "%{public}s copy data failed", __func__); + delete[] sensorEvent.data; return COPY_ERR; } - (void)(reportDataCallback_->*reportDataCb_)(&sensorEvent, reportDataCallback_); ISensorHdiConnection::dataCondition_.notify_one(); return ERR_OK; diff --git a/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp b/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp index f16b3f202353fd52ee4b441d008e0a28fd749a12..bc9c43ccc4abd5dc51b8d064345583bb2e0abb39 100644 --- a/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp +++ b/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp @@ -82,13 +82,20 @@ int32_t HdiConnection::GetSensorList(std::vector& sensorList) for (int32_t i = 0; i < static_cast(sensorInfos.size()); i++) { const std::string sensorName(sensorInfos[i].sensorName); const std::string vendorName(sensorInfos[i].vendorName); + const std::string firmwareVersion(sensorInfos[i].firmwareVersion); + const std::string hardwareVersion(sensorInfos[i].hardwareVersion); const int32_t sensorId = sensorInfos[i].sensorId; const float maxRange = sensorInfos[i].maxRange; Sensor sensor; sensor.SetSensorId(sensorId); + sensor.SetSensorTypeId(sensorId); + sensor.SetFirmwareVersion(firmwareVersion.c_str()); + sensor.SetHardwareVersion(hardwareVersion.c_str()); sensor.SetMaxRange(maxRange); - sensor.SetName(sensorName.c_str()); - sensor.SetVendor(vendorName.c_str()); + sensor.SetSensorName(sensorName.c_str()); + sensor.SetVendorName(vendorName.c_str()); + sensor.SetResolution(sensorInfos[i].accuracy); + sensor.SetPower(sensorInfos[i].power); sensorList.push_back(sensor); } return ERR_OK; @@ -241,6 +248,7 @@ void HdiConnection::setSensorBasicInfoState(int32_t sensorId, SensorState state) auto it = sensorBasicInfoMap_.find(sensorId); if (it == sensorBasicInfoMap_.end()) { HiLog::Warn(LABEL, "%{public}s should set batch first", __func__); + return; } sensorBasicInfoMap_[sensorId].SetSensorState(state); } diff --git a/services/sensor/hdi_connection/adapter/src/sensor_event_callback.cpp b/services/sensor/hdi_connection/adapter/src/sensor_event_callback.cpp index ce7036e7e7b399eb32e1240d8a9355111ae23dc1..0c3d7c88069bffedadfd6a9589b72e0b647cc427 100644 --- a/services/sensor/hdi_connection/adapter/src/sensor_event_callback.cpp +++ b/services/sensor/hdi_connection/adapter/src/sensor_event_callback.cpp @@ -27,7 +27,17 @@ std::unique_ptr HdiConnection_ = std::make_unique( } int32_t SensorEventCallback::OnDataEvent(const HdfSensorEvents& event) { - HiLog::Debug(LABEL, "%{public}s begin", __func__); + ZReportDataCb reportDataCb_ = HdiConnection_->getReportDataCb(); + sptr reportDataCallback_ = HdiConnection_->getReportDataCallback(); + if (reportDataCb_ == nullptr || reportDataCallback_ == nullptr) { + HiLog::Error(LABEL, "%{public}s reportDataCb_ or reportDataCallback_ cannot be null", __func__); + return ERR_NO_INIT; + } + int32_t dataSize = static_cast(event.data.size()); + if (dataSize == 0) { + HiLog::Error(LABEL, "%{public}s data is empty", __func__); + return ERR_INVALID_VALUE; + } struct SensorEvent sensorEvent = { .sensorTypeId = event.sensorId, .version = event.version, @@ -37,15 +47,9 @@ int32_t SensorEventCallback::OnDataEvent(const HdfSensorEvents& event) .dataLen = event.dataLen }; sensorEvent.data = new uint8_t[SENSOR_DATA_LENGHT]; - for (int32_t i = 0; i < static_cast(event.data.size()); i++) { + for (int32_t i = 0; i < static_cast(dataSize); i++) { sensorEvent.data[i] = event.data[i]; } - ZReportDataCb reportDataCb_ = HdiConnection_->getReportDataCb(); - sptr reportDataCallback_ = HdiConnection_->getReportDataCallback(); - if (reportDataCb_ == nullptr || reportDataCallback_ == nullptr) { - HiLog::Error(LABEL, "%{public}s reportDataCb_ cannot be null", __func__); - return ERR_NO_INIT; - } (void)(reportDataCallback_->*(reportDataCb_))(&sensorEvent, reportDataCallback_); ISensorHdiConnection::dataCondition_.notify_one(); return ERR_OK; diff --git a/services/sensor/hdi_connection/interface/src/sensor_hdi_connection.cpp b/services/sensor/hdi_connection/interface/src/sensor_hdi_connection.cpp index 2384713d86dd68e8c9dd599d7466605f7f6c59bc..78e631623b4efe91ce2f5addaeaa063ad11117f3 100644 --- a/services/sensor/hdi_connection/interface/src/sensor_hdi_connection.cpp +++ b/services/sensor/hdi_connection/interface/src/sensor_hdi_connection.cpp @@ -138,7 +138,7 @@ int32_t SensorHdiConnection::DestroyHdiConnection() { int32_t ret = iSensorHdiConnection_->DestroyHdiConnection(); if (ret != 0) { - HiLog::Info(LABEL, "%{public}s destroy hdi connectionr failed", __func__); + HiLog::Info(LABEL, "%{public}s destroy hdi connection failed", __func__); return DEVICE_ERR; } return ret; diff --git a/services/sensor/include/client_info.h b/services/sensor/include/client_info.h index ef42b7285b547e5d75f708b1f53e7892b2a59ab4..61fee175593735a4a262ef2120c04bc5ce6032e1 100644 --- a/services/sensor/include/client_info.h +++ b/services/sensor/include/client_info.h @@ -25,9 +25,10 @@ #include "singleton.h" #include "accesstoken_kit.h" -#include "app_thread_info.h" #include "iremote_object.h" #include "nocopyable.h" + +#include "app_thread_info.h" #include "sensor_basic_data_channel.h" #include "sensor_basic_info.h" #include "sensor_channel_info.h" diff --git a/services/sensor/include/fifo_cache_data.h b/services/sensor/include/fifo_cache_data.h old mode 100755 new mode 100644 index 89e4b5ebf8c33935499ffd6b9c86e3c39b5d6bc6..22d257988d1414b3e42b14123bdfe17009c008ac --- a/services/sensor/include/fifo_cache_data.h +++ b/services/sensor/include/fifo_cache_data.h @@ -19,11 +19,11 @@ #include #include "refbase.h" +#include "nocopyable.h" + #include "sensor_agent_type.h" #include "sensor_basic_data_channel.h" -#include "nocopyable.h" - namespace OHOS { namespace Sensors { class FifoCacheData : public RefBase { diff --git a/services/sensor/include/flush_info_record.h b/services/sensor/include/flush_info_record.h index 2b074c00cd9d269c8098999b7ae97e6e6b7ef44b..eb26b74541c46a910c79a2d0e92d5c3cd18cf347 100644 --- a/services/sensor/include/flush_info_record.h +++ b/services/sensor/include/flush_info_record.h @@ -20,14 +20,15 @@ #include #include -#include "client_info.h" +#include "nocopyable.h" #include "refbase.h" -#include "sensor_basic_data_channel.h" -#include "sensor_hdi_connection.h" -#include "sensors_errors.h" #include "singleton.h" -#include "nocopyable.h" + +#include "client_info.h" #include "sensor_agent_type.h" +#include "sensor_basic_data_channel.h" +#include "sensors_errors.h" +#include "sensor_hdi_connection.h" namespace OHOS { namespace Sensors { diff --git a/services/sensor/include/sensor_data_processer.h b/services/sensor/include/sensor_data_processer.h index a4daddff5f25e5f3c5bc3157a34c69dc4385f558..40816c74f149517dd86aa31b5aa5a452add03b81 100644 --- a/services/sensor/include/sensor_data_processer.h +++ b/services/sensor/include/sensor_data_processer.h @@ -21,10 +21,11 @@ #include "refbase.h" +#include "nocopyable.h" + #include "client_info.h" #include "fifo_cache_data.h" #include "flush_info_record.h" -#include "nocopyable.h" #include "report_data_callback.h" #include "sensor.h" #include "sensors_log_domain.h" diff --git a/services/sensor/include/sensor_dump.h b/services/sensor/include/sensor_dump.h old mode 100755 new mode 100644 index bdce904143f9fa5ee11f9125b53653c2995557f3..310a21bf184ebca2c97238039a2857fd8b969ad4 --- a/services/sensor/include/sensor_dump.h +++ b/services/sensor/include/sensor_dump.h @@ -20,9 +20,10 @@ #include "singleton.h" +#include "nocopyable.h" + #include "client_info.h" #include "sensor.h" -#include "nocopyable.h" #include "sensor_agent_type.h" namespace OHOS { diff --git a/services/sensor/include/sensor_service.h b/services/sensor/include/sensor_service.h index a6be0bd2bc0e2cca033374cda4095a434612260c..95b0f40a1671782b53c955355e3727b34ade7276 100644 --- a/services/sensor/include/sensor_service.h +++ b/services/sensor/include/sensor_service.h @@ -20,14 +20,16 @@ #include #include + +#include "nocopyable.h" +#include "system_ability.h" + #include "client_info.h" #include "death_recipient_template.h" -#include "nocopyable.h" #include "sensor_agent_type.h" #include "sensor_hdi_connection.h" #include "sensor_manager.h" #include "sensor_service_stub.h" -#include "system_ability.h" namespace OHOS { namespace Sensors { diff --git a/services/sensor/include/sensor_service_proxy.h b/services/sensor/include/sensor_service_proxy.h old mode 100755 new mode 100644 index a694ca2d388eaa8a8695688373b9c0e21362ab81..8c69e6f4d614f99d5114890ede3107e3c6254e3c --- a/services/sensor/include/sensor_service_proxy.h +++ b/services/sensor/include/sensor_service_proxy.h @@ -17,9 +17,10 @@ #define SENSOR_SERVICE_PROXY_H #include "errors.h" -#include "i_sensor_service.h" #include "iremote_proxy.h" #include "nocopyable.h" + +#include "i_sensor_service.h" #include "sensor_agent_type.h" namespace OHOS { diff --git a/services/sensor/src/sensor_data_processer.cpp b/services/sensor/src/sensor_data_processer.cpp index e60040d74130d39538a36334f9250a8ed68f569b..044b7364b90fe7adfbb12c90ef71680a22b9d838 100644 --- a/services/sensor/src/sensor_data_processer.cpp +++ b/services/sensor/src/sensor_data_processer.cpp @@ -373,8 +373,7 @@ int32_t SensorDataProcesser::ProcessEvents(sptr dataCallback int32_t eventNum = eventsBuf.eventNum; for (int32_t i = 0; i < eventNum; i++) { EventFilter(eventsBuf); - delete eventsBuf.circularBuf[eventsBuf.readPosition].data; - eventsBuf.circularBuf[eventsBuf.readPosition].data = nullptr; + delete[] eventsBuf.circularBuf[eventsBuf.readPosition].data; eventsBuf.readPosition++; if (eventsBuf.readPosition == CIRCULAR_BUF_LEN) { eventsBuf.readPosition = 0; diff --git a/services/sensor/src/sensor_dump.cpp b/services/sensor/src/sensor_dump.cpp old mode 100755 new mode 100644 index 1d04e2dd4fe29f9a53fc65451874dc5253767a5b..6ef5503aabd8b21c22258621938c91cf14b0f1d4 --- a/services/sensor/src/sensor_dump.cpp +++ b/services/sensor/src/sensor_dump.cpp @@ -143,9 +143,9 @@ bool SensorDump::DumpSensorList(int32_t fd, const std::vector &sensors, for (const auto &sensor : sensors) { auto sensorId = sensor.GetSensorId(); dprintf(fd, - "sensorId:%8u | sensorType:%s | name:%s | vendor:%s | maxRange:%f | fifoMaxEventCount:%d " - "| minSamplePeriodNs:%lld | maxSamplePeriodNs:%lld\n", - sensorId, sensorMap_[sensorId].c_str(), sensor.GetName().c_str(), sensor.GetVendor().c_str(), + "sensorId:%8u | sensorType:%s | sensorName:%s | vendorName:%s | maxRange:%f" + "| fifoMaxEventCount:%d | minSamplePeriodNs:%lld | maxSamplePeriodNs:%lld\n", + sensorId, sensorMap_[sensorId].c_str(), sensor.GetSensorName().c_str(), sensor.GetVendorName().c_str(), sensor.GetMaxRange(), sensor.GetFifoMaxEventCount(), (long long) { sensor.GetMinSamplePeriodNs() }, (long long) { sensor.GetMaxSamplePeriodNs() }); } diff --git a/utils/include/app_thread_info.h b/utils/include/app_thread_info.h index 9a897de950105cbb5c21de3ea51d7e087f80e717..5a8c11fc0f1386c442e6cb339d9ed381285784bd 100644 --- a/utils/include/app_thread_info.h +++ b/utils/include/app_thread_info.h @@ -15,7 +15,9 @@ #ifndef APP_THREAD_INFO_H #define APP_THREAD_INFO_H + #include "accesstoken_kit.h" + namespace OHOS { namespace Sensors { using Security::AccessToken::AccessTokenID; diff --git a/utils/include/permission_util.h b/utils/include/permission_util.h index a68658c61f06c555431101620b8aa03c842508f6..a4084597687aca24da86bb29ea0f2987efff8f90 100644 --- a/utils/include/permission_util.h +++ b/utils/include/permission_util.h @@ -18,6 +18,7 @@ #include #include + #include "accesstoken_kit.h" #include "singleton.h" diff --git a/utils/include/report_data_callback.h b/utils/include/report_data_callback.h index 2ede0bac6f7ed1e64b353f7b4c68d5e56a877844..a1b7a2970dc5b855948f9e7ba728ea74b292803b 100644 --- a/utils/include/report_data_callback.h +++ b/utils/include/report_data_callback.h @@ -19,6 +19,7 @@ #include #include "refbase.h" + #include "sensor_agent_type.h" namespace OHOS { diff --git a/utils/include/sensor.h b/utils/include/sensor.h old mode 100755 new mode 100644 index 5e86c073f9beb59f0dcc8c0dfba52179cf7691fb..7d139cf18c537fa7a9a135636ad8449471ef772b --- a/utils/include/sensor.h +++ b/utils/include/sensor.h @@ -29,42 +29,61 @@ public: virtual ~Sensor() = default; uint32_t GetSensorId() const; void SetSensorId(uint32_t sensorId); - std::string GetName() const; - void SetName(const std::string &name); - std::string GetVendor() const; - void SetVendor(const std::string &vendor); - uint32_t GetVersion() const; - void SetVersion(uint32_t version); + + uint32_t GetSensorTypeId() const; + void SetSensorTypeId(uint32_t sensorTypeId); + + std::string GetSensorName() const; + void SetSensorName(const std::string &sensorName); + + std::string GetVendorName() const; + void SetVendorName(const std::string &vendorName); + + std::string GetHardwareVersion() const; + void SetHardwareVersion(const std::string &hardwareVersion); + + std::string GetFirmwareVersion() const; + void SetFirmwareVersion(const std::string &firmwareVersion); + float GetMaxRange() const; void SetMaxRange(float maxRange); + float GetResolution() const; void SetResolution(float resolution); + + float GetPower() const; + void SetPower(float power); + uint32_t GetFlags() const; void SetFlags(uint32_t flags); + int32_t GetFifoMaxEventCount() const; void SetFifoMaxEventCount(int32_t fifoMaxEventCount); + int64_t GetMinSamplePeriodNs() const; void SetMinSamplePeriodNs(int64_t minSamplePeriodNs); + int64_t GetMaxSamplePeriodNs() const; void SetMaxSamplePeriodNs(int64_t maxSamplePeriodNs); - std::vector GetReserved() const; - void SetReserved(const std::vector &reserved); + bool ReadFromParcel(Parcel &parcel); static std::unique_ptr Unmarshalling(Parcel &parcel); virtual bool Marshalling(Parcel &parcel) const override; private: uint32_t sensorId_; - std::string name_; - std::string vendor_; - uint32_t version_; + uint32_t sensorTypeId_; + std::string sensorName_; + std::string vendorName_; + std::string firmwareVersion_; + std::string hardwareVersion_; float maxRange_; float resolution_; + float power_; uint32_t flags_; int32_t fifoMaxEventCount_; int64_t minSamplePeriodNs_; int64_t maxSamplePeriodNs_; - std::vector reserved_; }; } // namespace Sensors } // namespace OHOS diff --git a/utils/include/sensor_basic_data_channel.h b/utils/include/sensor_basic_data_channel.h old mode 100755 new mode 100644 index 2507a8fbaae79a75acd61d3bd11234fb3dcb61bf..1ce789b0f85d56265e5219cfbd4e21875384964b --- a/utils/include/sensor_basic_data_channel.h +++ b/utils/include/sensor_basic_data_channel.h @@ -21,6 +21,7 @@ #include "message_parcel.h" #include "refbase.h" + #include "sensor_agent_type.h" namespace OHOS { @@ -28,12 +29,12 @@ namespace Sensors { constexpr int32_t INVALID_FD = -1; constexpr int32_t SENSOR_MAX_LENGTH = 64; struct TransferSensorEvents { - uint32_t sensorTypeId; /**< Sensor type ID */ - int32_t version; /**< Sensor algorithm version */ - int64_t timestamp; /**< Time when sensor data was reported */ - int32_t option; /**< Sensor data options, including the measurement range and accuracy */ - int32_t mode; /**< Sensor data reporting mode (described in {@link SensorMode}) */ - uint32_t dataLen; /**< Sensor data length */ + uint32_t sensorTypeId; + int32_t version; + int64_t timestamp; + int32_t option; + int32_t mode; + uint32_t dataLen; uint8_t data[SENSOR_MAX_LENGTH]; }; class SensorBasicDataChannel : public RefBase { diff --git a/utils/src/report_data_callback.cpp b/utils/src/report_data_callback.cpp index 513de8e9a2357b011164ca469d4cc99479c106bd..719e76cc11c12e5e4f0c122e9d2ef2dee7a34aa8 100644 --- a/utils/src/report_data_callback.cpp +++ b/utils/src/report_data_callback.cpp @@ -53,8 +53,13 @@ ReportDataCallback::~ReportDataCallback() int32_t ReportDataCallback::ZReportDataCallback(const struct SensorEvent* event, sptr cb) { - if (cb == nullptr || cb->eventsBuf_.circularBuf == nullptr || event == nullptr) { + if (event == nullptr) { + HiLog::Error(LABEL, "%{public}s sensor data is null", __func__); + return ERROR; + } + if (cb == nullptr || cb->eventsBuf_.circularBuf == nullptr) { HiLog::Error(LABEL, "%{public}s callback or circularBuf or event cannot be null", __func__); + delete[] event->data; return ERROR; } int32_t leftSize = CIRCULAR_BUF_LEN - cb->eventsBuf_.eventNum; diff --git a/utils/src/sensor.cpp b/utils/src/sensor.cpp old mode 100755 new mode 100644 index 84e4129e3656afafaa37155ba12a1746fd9e7bb9..e5f598061fa8311531b0c04c1f48992f918f786e --- a/utils/src/sensor.cpp +++ b/utils/src/sensor.cpp @@ -27,9 +27,14 @@ constexpr HiLogLabel LABEL = { LOG_CORE, SensorsLogDomain::SENSOR_UTILS, "Sensor Sensor::Sensor() : sensorId_(0), - version_(0), + sensorTypeId_(0), + sensorName_(""), + vendorName_(""), + firmwareVersion_(""), + hardwareVersion_(""), maxRange_(0.0), resolution_(0.0), + power_(0.0), flags_(0), fifoMaxEventCount_(0), minSamplePeriodNs_(0), @@ -46,34 +51,54 @@ void Sensor::SetSensorId(uint32_t sensorId) sensorId_ = sensorId; } -std::string Sensor::GetName() const +uint32_t Sensor::GetSensorTypeId() const { - return name_; + return sensorTypeId_; } -void Sensor::SetName(const std::string &name) +void Sensor::SetSensorTypeId(uint32_t sensorTypeId) { - name_ = name; + sensorTypeId_ = sensorTypeId; } -std::string Sensor::GetVendor() const +std::string Sensor::GetSensorName() const { - return vendor_; + return sensorName_; } -void Sensor::SetVendor(const std::string &vendor) +void Sensor::SetSensorName(const std::string &sensorName) { - vendor_ = vendor; + sensorName_ = sensorName; } -uint32_t Sensor::GetVersion() const +std::string Sensor::GetVendorName() const { - return version_; + return vendorName_; } -void Sensor::SetVersion(uint32_t version) +void Sensor::SetVendorName(const std::string &vendorName) { - version_ = version; + vendorName_ = vendorName; +} + +std::string Sensor::GetHardwareVersion() const +{ + return hardwareVersion_; +} + +void Sensor::SetHardwareVersion(const std::string &hardwareVersion) +{ + hardwareVersion_ = hardwareVersion; +} + +std::string Sensor::GetFirmwareVersion() const +{ + return firmwareVersion_; +} + +void Sensor::SetFirmwareVersion(const std::string &firmwareVersion) +{ + firmwareVersion_ = firmwareVersion; } float Sensor::GetMaxRange() const @@ -96,7 +121,17 @@ void Sensor::SetResolution(float resolution) resolution_ = resolution; } -uint32_t Sensor::GetFlags() const +float Sensor::GetPower() const +{ + return power_; +} + +void Sensor::SetPower(float power) +{ + power_ = power; +} + +uint32_t Sensor::Sensor::GetFlags() const { return flags_; } @@ -136,66 +171,60 @@ void Sensor::SetMaxSamplePeriodNs(int64_t maxSamplePeriodNs) maxSamplePeriodNs_ = maxSamplePeriodNs; } -std::vector Sensor::GetReserved() const -{ - return reserved_; -} - -void Sensor::SetReserved(const std::vector &reserved) -{ - auto reservedCount = reserved.size(); - for (size_t i = 0; i < reservedCount; i++) { - reserved_[i] = reserved[i]; - } -} - bool Sensor::Marshalling(Parcel &parcel) const { if (!parcel.WriteUint32(sensorId_)) { HiLog::Error(LABEL, "%{public}s failed, write sensorId failed", __func__); return false; } - if (!parcel.WriteString(name_)) { - HiLog::Error(LABEL, "%{public}s failed, write name_ failed", __func__); + if (!parcel.WriteUint32(sensorTypeId_)) { + HiLog::Error(LABEL, "%{public}s failed, write sensorTypeId failed", __func__); + return false; + } + if (!parcel.WriteString(sensorName_)) { + HiLog::Error(LABEL, "%{public}s failed, write sensorName failed", __func__); return false; } - if (!parcel.WriteString(vendor_)) { - HiLog::Error(LABEL, "%{public}s failed, write vendor_ failed", __func__); + if (!parcel.WriteString(vendorName_)) { + HiLog::Error(LABEL, "%{public}s failed, write vendorName failed", __func__); return false; } - if (!parcel.WriteUint32(version_)) { - HiLog::Error(LABEL, "%{public}s failed, write version_ failed", __func__); + if (!parcel.WriteString(firmwareVersion_)) { + HiLog::Error(LABEL, "%{public}s failed, write firmwareVersion failed", __func__); + return false; + } + if (!parcel.WriteString(hardwareVersion_)) { + HiLog::Error(LABEL, "%{public}s failed, write hardwareVersion failed", __func__); return false; } if (!parcel.WriteFloat(maxRange_)) { - HiLog::Error(LABEL, "%{public}s failed, write maxRange_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write maxRange failed", __func__); return false; } if (!parcel.WriteFloat(resolution_)) { - HiLog::Error(LABEL, "%{public}s failed, write resolution_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write resolution failed", __func__); + return false; + } + if (!parcel.WriteFloat(power_)) { + HiLog::Error(LABEL, "%{public}s failed, write power failed", __func__); return false; } if (!parcel.WriteUint32(flags_)) { - HiLog::Error(LABEL, "%{public}s failed, write flags_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write flags failed", __func__); return false; } if (!parcel.WriteInt32(fifoMaxEventCount_)) { - HiLog::Error(LABEL, "%{public}s failed, write fifoMaxEventCount_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write fifoMaxEventCount failed", __func__); return false; } if (!parcel.WriteInt64(minSamplePeriodNs_)) { - HiLog::Error(LABEL, "%{public}s failed, write minSamplePeriodNs_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write minSamplePeriodNs failed", __func__); return false; } if (!parcel.WriteInt64(maxSamplePeriodNs_)) { - HiLog::Error(LABEL, "%{public}s failed, write maxSamplePeriodNs_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write maxSamplePeriodNs failed", __func__); return false; } - if (!parcel.WriteUInt32Vector(reserved_)) { - HiLog::Error(LABEL, "%{public}s failed, write reserved_ failed", __func__); - return false; - } - return true; } @@ -217,16 +246,19 @@ std::unique_ptr Sensor::Unmarshalling(Parcel &parcel) bool Sensor::ReadFromParcel(Parcel &parcel) { sensorId_ = parcel.ReadUint32(); - name_ = parcel.ReadString(); - vendor_ = parcel.ReadString(); - version_ = parcel.ReadUint32(); + sensorTypeId_ = parcel.ReadUint32(); + sensorName_ = parcel.ReadString(); + vendorName_ = parcel.ReadString(); + firmwareVersion_ = parcel.ReadString(); + hardwareVersion_ = parcel.ReadString(); + power_ = parcel.ReadFloat(); maxRange_ = parcel.ReadFloat(); resolution_ = parcel.ReadFloat(); flags_ = parcel.ReadUint32(); fifoMaxEventCount_ = parcel.ReadInt32(); minSamplePeriodNs_ = parcel.ReadInt64(); maxSamplePeriodNs_ = parcel.ReadInt64(); - return parcel.ReadUInt32Vector(&reserved_); + return true; } } // namespace Sensors } // namespace OHOS