~aleteoryx/muditaos

98fb56a909c5aa546ffe2f9a9320b735cbbb1ece — Lukasz Mastalerz 2 years ago 7ffd1c1
[CP-2074] The center doesn't detect if the user goes back to the license screen in pure

Keeps phone forbidden to connect to Center until the onboarding is finished.
M doc/os_api/endpoints/pure/security_endpoint.md => doc/os_api/endpoints/pure/security_endpoint.md +3 -3
@@ 63,15 63,15 @@ Parameters:
```c++
    enum class BlockReason
    {
        EulaNotAccepted = 2,
        OnboardingNotFinished = 2,
        BatteryCriticalLevel
    };
```

Access to all edpoints is blocked when:

- device is locked - 403 status is returned
- EULA is not accepted - 423 status is returned
- Device is locked - 403 status is returned
- Onboarding not finished - 423 status is returned
- Critical battery level - 423 status is returned

### Get phone lock time

M module-services/service-desktop/USBSecurityModel.cpp => module-services/service-desktop/USBSecurityModel.cpp +4 -4
@@ 45,10 45,10 @@ namespace sdesktop
        return isPasscodeEnabled() && isPhoneLocked();
    }

    auto USBSecurityModel::isEulaAccepted() const -> bool
    auto USBSecurityModel::isOnboardingFinished() const -> bool
    {
        return utils::getNumericValue<bool>(
            settings->getValue(settings::SystemProperties::eulaAccepted, settings::SettingsScope::Global));
            settings->getValue(settings::SystemProperties::onboardingDone, settings::SettingsScope::Global));
    }

    auto USBSecurityModel::isBatteryLevelCritical() const -> bool


@@ 64,8 64,8 @@ namespace sdesktop
        if (isBatteryLevelCritical()) {
            return {EndpointSecurity::Block, BlockReason::BatteryCriticalLevel};
        }
        if (!isEulaAccepted()) {
            return {EndpointSecurity::Block, BlockReason::EulaNotAccepted};
        if (!isOnboardingFinished()) {
            return {EndpointSecurity::Block, BlockReason::OnboardingNotFinished};
        }
        if (isSecurityEnabled()) {
            return {EndpointSecurity::Block, BlockReason::DeviceLocked};

M module-services/service-desktop/endpoints/include/endpoints/Endpoint.hpp => module-services/service-desktop/endpoints/include/endpoints/Endpoint.hpp +1 -1
@@ 20,7 20,7 @@ namespace sdesktop::endpoints
    {
        NoReason,
        DeviceLocked,
        EulaNotAccepted,
        OnboardingNotFinished,
        BatteryCriticalLevel
    };


M module-services/service-desktop/endpoints/security/SecurityEndpointHelper.cpp => module-services/service-desktop/endpoints/security/SecurityEndpointHelper.cpp +1 -1
@@ 64,7 64,7 @@ namespace sdesktop::endpoints
            case BlockReason::DeviceLocked:
                responseContext.status = http::Code::Forbidden;
                break;
            case BlockReason::EulaNotAccepted:
            case BlockReason::OnboardingNotFinished:
            case BlockReason::BatteryCriticalLevel:
                responseContext.status = http::Code::Locked;
                responseContext.body =

M module-services/service-desktop/include/service-desktop/USBSecurityModel.hpp => module-services/service-desktop/include/service-desktop/USBSecurityModel.hpp +1 -1
@@ 46,7 46,7 @@ namespace sdesktop
      private:
        auto isPasscodeEnabled() const -> bool;
        auto isPhoneLocked() const -> bool;
        auto isEulaAccepted() const -> bool;
        auto isOnboardingFinished() const -> bool;
        auto isBatteryLevelCritical() const -> bool;

        PhoneLockState phoneLocked;