mirror of
https://github.com/openharmony/base_location.git
synced 2026-08-24 22:31:51 -04:00
FIX:WGR位置服务隐私开机向导设置用户隐私的返回结果应符合预期
Signed-off-by: z30025928 <734222381@qq.com>
This commit is contained in:
@@ -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]);
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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: {
|
||||
|
||||
Reference in New Issue
Block a user