// 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/LockInputWindow.hpp" #include "LockBoxConstantSize.hpp" namespace gui { class PhoneLockBox : public LockBoxConstantSize { public: explicit PhoneLockBox( LockInputWindow *LockBaseWindow, locks::PhoneLockInputTypeAction phoneLockInputTypeAction = locks::PhoneLockInputTypeAction::Unlock) : LockBoxConstantSize(LockBaseWindow), LockWindow(LockBaseWindow) { applyLockActionText(phoneLockInputTypeAction); } private: void buildLockBox(unsigned int pinSize) final; void setVisibleStateBlocked(const std::string &formattedTime) final; void setVisibleStateError(unsigned int errorCode) final; void setVisibleStateInputRequired(InputActionType type) final; void setVisibleStateInputInvalid(InputErrorType type, unsigned int value) final; void applyLockActionText(locks::PhoneLockInputTypeAction phoneLockInputTypeAction); LockInputWindow *LockWindow; std::string textForInputRequired; std::string textForInvalidInput; std::string textForProvideNewInput; std::string textForConfirmNewInput; bool leftBottomBarState = false; }; } // namespace gui