FIX:WGR位置服务隐私开机向导设置用户隐私的返回结果应符合预期

Signed-off-by: z30025928 <734222381@qq.com>
This commit is contained in:
z30025928
2022-08-18 09:22:56 +08:00
parent 54137bb8bc
commit be016dbd05
11 changed files with 16 additions and 25 deletions
@@ -440,13 +440,6 @@ napi_value Off(napi_env env, napi_callback_info cbinfo)
NAPI_CALL(env, napi_get_value_string_utf8(env, argv[PARAM0], type, sizeof(type), &typeLen));
std::string event = type;
LBSLOGI(LOCATION_NAPI, "Unsubscribe event: %{public}s", event.c_str());
if(argc == PARAM1) {
NAPI_ASSERT(env, argc == PARAM1, "number of parameters should be one");
g_switchCallbacks.UnsubscribeAllCallback(env, event);
napi_value result = nullptr;
NAPI_CALL(env, napi_get_undefined(env, &result));
return result;
}
if (event == "locationServiceState") {
NAPI_ASSERT(env, argc == PARAM2, "number of parameters is wrong");
auto switchCallbackHost = g_switchCallbacks.GetCallbackPtr(env, argv[PARAM1]);
+1 -1
View File
@@ -216,7 +216,7 @@ bool LocatorImpl::IsLocationPrivacyConfirmed(const int type)
bool LocatorImpl::SetLocationPrivacyConfirmStatus(const int type, bool isConfirmed)
{
LBSLOGD(LOCATOR_STANDARD, "LocatorImpl::SetLocationPrivacyConfirmStatus()");
return client_->SetLocationPrivacyConfirmStatus(type, isConfirmed);
return client_->SetLocationPrivacyConfirmStatus(type, isConfirmed) == REPLY_CODE_NO_EXCEPTION ? true : false;
}
int LocatorImpl::GetCachedGnssLocationsSize()
+2 -2
View File
@@ -251,14 +251,14 @@ bool LocatorProxy::SetLocationPrivacyConfirmStatus(const int type, bool isConfir
MessageParcel reply;
if (!data.WriteInterfaceToken(GetDescriptor())) {
LBSLOGE(LOCATOR_STANDARD, "SetLocationPrivacyConfirmStatus, WriteInterfaceToken failed.");
return false;
return REPLY_CODE_EXCEPTION;
}
data.WriteInt32(type);
data.WriteBool(isConfirmed);
SendMsgWithDataReply(SET_PRIVACY_COMFIRM_STATUS, data, reply);
int error = reply.ReadInt32();
LBSLOGD(LOCATOR_STANDARD, "Proxy::SetLocationPrivacyConfirmStatus Transact ErrCodes = %{public}d", error);
return error == REPLY_CODE_NO_EXCEPTION ? true : false;
return error;
}
int LocatorProxy::RegisterCachedLocationCallback(std::unique_ptr<CachedGnssLocationsRequest>& request,
+1 -1
View File
@@ -90,7 +90,7 @@ public:
virtual int GetAddressByCoordinate(MessageParcel &data, MessageParcel &replay) = 0;
virtual int GetAddressByLocationName(MessageParcel &data, MessageParcel &replay) = 0;
virtual bool IsLocationPrivacyConfirmed(const int type) = 0;
virtual void SetLocationPrivacyConfirmStatus(const int type, bool isConfirmed) = 0;
virtual int SetLocationPrivacyConfirmStatus(const int type, bool isConfirmed) = 0;
virtual int RegisterCachedLocationCallback(std::unique_ptr<CachedGnssLocationsRequest>& request,
sptr<ICachedLocationsCallback>& callback, std::string bundleName) = 0;
+1 -1
View File
@@ -65,7 +65,7 @@ public:
virtual bool IsLocationPrivacyConfirmed(const int type) = 0;
virtual void SetLocationPrivacyConfirmStatus(const int type, bool isConfirmed) = 0;
virtual bool SetLocationPrivacyConfirmStatus(const int type, bool isConfirmed) = 0;
virtual bool RegisterGnssStatusCallback(const sptr<IRemoteObject>& callback, pid_t uid) = 0;
+1 -1
View File
@@ -56,7 +56,7 @@ public:
int GetAddressByCoordinate(MessageParcel &data, MessageParcel &replay) override;
int GetAddressByLocationName(MessageParcel &data, MessageParcel &replay) override;
bool IsLocationPrivacyConfirmed(const int type) override;
bool SetLocationPrivacyConfirmStatus(const int type, bool isConfirmed) override;
int SetLocationPrivacyConfirmStatus(const int type, bool isConfirmed) override;
int RegisterCachedLocationCallback(std::unique_ptr<CachedGnssLocationsRequest>& request,
sptr<ICachedLocationsCallback>& callback, std::string bundleName) override;
@@ -56,7 +56,7 @@ public:
std::string GetPrivacyTypeConfigPath(const int type);
bool GetPrivacyTypeState(const int type);
void SetPrivacyTypeState(const int type, bool isConfirmed, MessageParcel &replay);
int SetPrivacyTypeState(const int type, bool isConfirmed);
private:
LocationConfigManager();
@@ -81,7 +81,7 @@ public:
int GetAddressByLocationName(MessageParcel &data, MessageParcel &replay) override;
bool IsLocationPrivacyConfirmed(const int type) override;
void SetLocationPrivacyConfirmStatus(const int type, bool isConfirmed, MessageParcel &replay) override;
int SetLocationPrivacyConfirmStatus(const int type, bool isConfirmed) override;
int RegisterCachedLocationCallback(std::unique_ptr<CachedGnssLocationsRequest>& request,
sptr<ICachedLocationsCallback>& callback, std::string bundleName) override;
@@ -209,12 +209,11 @@ bool LocationConfigManager::GetPrivacyTypeState(const int type)
return (mPrivacyTypeState[type] == STATE_OPEN) ? true : false;
}
void LocationConfigManager::SetPrivacyTypeState(const int type, bool isConfirmed, MessageParcel &replay)
int LocationConfigManager::SetPrivacyTypeState(const int type, bool isConfirmed)
{
if (type < PRIVACY_TYPE_OTHERS || type > PRIVACY_TYPE_CORE_LOCATION) {
LBSLOGI(LOCATION_NAPI, "SetPrivacyTypeState,invalid types");
replay.WriteInt32(REPLY_CODE_EXCEPTION);
return;
LBSLOGE(LOCATION_NAPI, "SetPrivacyTypeState,invalid types");
return REPLY_CODE_EXCEPTION;
}
std::unique_lock<std::mutex> lock(mMutex);
if (!IsExistFile(GetPrivacyTypeConfigPath(type))) {
@@ -223,8 +222,7 @@ void LocationConfigManager::SetPrivacyTypeState(const int type, bool isConfirmed
std::fstream fs(GetPrivacyTypeConfigPath(type));
if (!fs.is_open()) {
LBSLOGE(LOCATION_NAPI, "LocationConfigManager: fs.is_open false, return");
replay.WriteInt32(REPLY_CODE_EXCEPTION);
return;
return REPLY_CODE_EXCEPTION;
}
std::string content = "0";
if (isConfirmed) {
@@ -234,7 +232,7 @@ void LocationConfigManager::SetPrivacyTypeState(const int type, bool isConfirmed
fs.clear();
fs.close();
mPrivacyTypeState[type] = isConfirmed ? 1 : 0;
replay.WriteInt32(REPLY_CODE_NO_EXCEPTION);
return REPLY_CODE_NO_EXCEPTION;
}
} // namespace Location
} // namespace OHOS
@@ -345,9 +345,9 @@ bool LocatorAbility::IsLocationPrivacyConfirmed(const int type)
return LocationConfigManager::GetInstance().GetPrivacyTypeState(type);
}
void LocatorAbility::SetLocationPrivacyConfirmStatus(const int type, bool isConfirmed, MessageParcel &replay)
int LocatorAbility::SetLocationPrivacyConfirmStatus(const int type, bool isConfirmed)
{
LocationConfigManager::GetInstance().SetPrivacyTypeState(type, isConfirmed, replay);
return LocationConfigManager::GetInstance().SetPrivacyTypeState(type, isConfirmed);
}
void LocatorAbility::RegisterSwitchCallback(const sptr<IRemoteObject>& callback, pid_t uid)
@@ -169,7 +169,7 @@ int32_t LocatorAbilityStub::ProcessMsgRequirLocationPermission(uint32_t &code,
break;
}
case SET_PRIVACY_COMFIRM_STATUS: {
SetLocationPrivacyConfirmStatus(data.ReadInt32(), data.ReadBool(), reply);
reply.WriteInt32(SetLocationPrivacyConfirmStatus(data.ReadInt32(), data.ReadBool()));
break;
}
case REG_CACHED_CALLBACK: {