// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include "locks/data/LockData.hpp" #include "locks/windows/PinLockBaseWindow.hpp" #include "PhoneLockBaseBox.hpp" namespace gui { class PhoneLockBox : public PhoneLockBaseBox { public: explicit PhoneLockBox( PinLockBaseWindow *LockBaseWindow, locks::PhoneLockInputTypeAction phoneLockInputTypeAction = locks::PhoneLockInputTypeAction::Unlock) : PhoneLockBaseBox(LockBaseWindow), LockWindow(LockBaseWindow) { applyLockActionText(phoneLockInputTypeAction); } private: void buildLockBox(unsigned int pinSize) final; void setVisibleStateBlocked() final; void setVisibleStateInputRequired(InputActionType type) final; void setVisibleStateInputInvalid(InputErrorType type, unsigned int value) final; void applyLockActionText(locks::PhoneLockInputTypeAction phoneLockInputTypeAction); [[nodiscard]] top_bar::Configuration configureTopBarLocked(); [[nodiscard]] top_bar::Configuration configureTopBarUnLocked(); PinLockBaseWindow *LockWindow; std::string textForInputRequired; std::string textForInvalidInput; std::string textForProvideNewInput; std::string textForConfirmNewInput; bool leftBottomBarState = false; }; } // namespace gui