/*---------------------------------------------------------------------------- * Copyright (c) TJD Technologies Co., Ltd. 2024. All rights reserved. * * Description: common UI setting center, such as low power mode, screen brightness, etc. * * Author: luziquan@ss-tjd.com * * Create: 2024-10-16 *--------------------------------------------------------------------------*/ #ifndef TJD_UI_SETTING_CENTER_H #define TJD_UI_SETTING_CENTER_H #include namespace TJD { typedef void(*BleConnectStateCallback)(bool isConnect); class TjdUiSettingCenter { public: void Init(); static TjdUiSettingCenter &GetInstance(); void SetLowPowerMode(bool enable); bool IsConnectApp(); /** * @brief 清空exc文件,释放空间 * */ void ClearExcFile(); /** * @brief 通知震动事件 */ void NotifShakeEvent(); /** * @brief 电话震动事件 */ void PhoneShakeEvent(); /** * @brief 手动结束震动 */ void ShakeEndEvent(); /** * @brief 开启持续亮屏,并且最高亮度 */ void KeepScreenMaxOn(); /** * @brief 关闭持续亮屏,恢复原亮度 */ void KeepScreenMaxOff(); /** * @brief 获取低电量模式亮度 * @return uint8_t 亮度值 */ uint8_t GetLowPowerBrightness() { return lowPowerBrightness_; } void ResetSystem(); void ShutdownSystem(); void RecoverySystem(); /** * @brief 注册蓝牙连接状态回调 * @param callback */ void RegisterBleConnectStateCallback(BleConnectStateCallback callback) { bleConnectStateCallbackList_.push_back(callback); } void UnregisterBleConnectStateCallback(BleConnectStateCallback callback) { bleConnectStateCallbackList_.remove(callback); } void BleConnectStateEvent(int val); private: std::list bleConnectStateCallbackList_; void BatterySaverProcess(); uint8_t lowPowerBrightness_{25}; TjdUiSettingCenter() {}; ~TjdUiSettingCenter() {}; }; } // namespace TJD #endif