mcu_hi3321_watch/tjd/sql/sql_setting.h
2025-05-31 10:45:15 +08:00

169 lines
7.4 KiB
C

/*----------------------------------------------------------------------------
* Copyright (c) Fenda Technologies Co., Ltd. 2021. All rights reserved.
*
* Description: sql_setting.h
*
* Author: saimen
*
* Create: 2024-06-08
*--------------------------------------------------------------------------*/
#ifndef SQL_SETTING_H
#define SQL_SETTING_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <stdbool.h>
#include "sys_typedef.h"
/**********************************************************************************************************************
* 固定接口
*/
extern int sql_setting_init(void);
extern void* sql_setting_get_info(uint32_t *len, char **path);
extern void sql_setting_set_save_flag(uint8_t value);
extern uint8_t sql_setting_get_save_flag(void);
/**********************************************************************************************************************
* 通知设置
*/
void sql_setting_set_notification(bool status);
bool sql_setting_get_notification(void);
void sql_setting_set_screen_wakes(bool status);
bool sql_setting_get_screen_wakes(void);
/**********************************************************************************************************************
* 通用设置
*/
extern void sql_setting_set_lock_screen_time(uint16_t time);
extern uint8_t sql_setting_get_lock_screen_time(void);
extern void sql_setting_set_close_screen_time(uint16_t time);
extern uint8_t sql_setting_get_close_screen_time(void);
extern void sql_setting_set_vibration_intensity(uint8_t intensity);
extern uint8_t sql_setting_get_vibration_intensity(void);
extern void sql_setting_set_language(language_enum languang);
extern language_enum sql_setting_get_language(void);
extern void sql_setting_set_zone(int16_t zone);
extern int16_t sql_setting_get_zone(void);
extern void sql_setting_set_distance_unit(uint8_t unit);
extern uint8_t sql_setting_get_distance_unit(void);
extern void sql_setting_set_time_format(uint8_t format);
extern uint8_t sql_setting_get_time_format(void);
/**********************************************************************************************************************
* 显示与亮度设置
*/
void sql_setting_set_brightness(uint8_t brightness);
uint8_t sql_setting_get_brightness(void);
void sql_setting_set_off_screen(bool status);
bool sql_setting_get_off_screen(void);
void sql_setting_set_off_screen_view_type(uint8_t type);
uint8_t sql_setting_get_off_screen_view_type(void);
void sql_setting_set_bedside_clock(bool status);
bool sql_setting_get_bedside_clock(void);
void sql_setting_set_keep_screen_time(uint16_t time);
uint16_t sql_setting_get_keep_screen_time(void);
bool sql_setting_get_password_enable(void);
void sql_setting_set_password_enable(bool status);
void sql_setting_set_password(const char *password);
void sql_setting_get_password(char *password);
/**********************************************************************************************************************
* 勿扰管理
*/
void sql_setting_set_dnd_all_day(uint8_t status);
uint8_t sql_setting_get_dnd_all_day(void);
void sql_setting_set_dnd_period_enable(uint8_t status);
uint8_t sql_setting_get_dnd_period_enable(void);
void sql_setting_set_dnd_period(uint8_t status,uint8_t start_hour,uint8_t start_minute,uint8_t end_hour,uint8_t end_minute);
uint8_t sql_setting_get_dnd_period(uint8_t *start_hour,uint8_t *start_minute,uint8_t *end_hour,uint8_t *end_minute);
/**********************************************************************************************************************
* 运动识别
*/
void sql_setting_set_motion_enable(bool status);
bool sql_setting_get_motion_enable(void);
void sql_setting_set_motion_end_enable(bool status);
bool sql_setting_get_motion_end_enable(void);
void sql_setting_set_motion_out_time(uint32_t time);
uint32_t sql_setting_get_motion_out_time(void);
/**********************************************************************************************************************
* 开关助手控制
*/
extern void sql_setting_set_switch_ambient_mode(int mode);
extern int sql_setting_get_switch_ambient_mode(void);
extern void sql_setting_set_switch_message_notify(int mode);
extern int sql_setting_get_switch_message_notify(void);
/**********************************************************************************************************************
* gui管理
*/
void sql_setting_set_lock_screen_id(uint32_t id);
uint32_t sql_setting_get_lock_screen_id(void);
void sql_setting_set_watch_face_id(uint32_t id);
uint32_t sql_setting_get_watch_face_id(void);
void sql_setting_set_st_watchface_id(uint8_t id);
uint8_t sql_setting_get_st_watchface_id(void);
void sql_setting_set_switch_downkey_app(uint32_t id);
uint32_t sql_setting_get_switch_downkey_app(void);
bool sql_setting_get_component_handler(void **info, uint32_t data_len);
bool sql_setting_get_cover_to_turn_off_screen(void);
void sql_setting_set_cover_to_turn_off_screen(bool enable);
bool sql_setting_get_pinch_to_answer(void);
void sql_setting_set_pinch_to_answer(bool enable);
void sql_setting_set_floating_window_map(const uint16_t *app_map, uint32_t len);
const uint16_t *sql_setting_get_floating_window_map(uint8_t *num);
void sql_setting_set_animation(MainCardEffect animation);
MainCardEffect sql_setting_get_animation(void);
void sql_setting_set_menu_style(E_MenuStyle style);
E_MenuStyle sql_setting_get_menu_style(void);
/**********************************************************************************************************************
* 电池信息
*/
void sql_setting_set_battery_info(uint32_t utc_timestamp, uint8_t charge_status, uint16_t percent, uint16_t voltage);
bool sql_setting_get_battery_info(uint32_t *utc_timestamp, uint8_t *charge_status, uint16_t *percent, uint16_t *voltage);
void sql_setting_set_power_saving_mode(bool status);
bool sql_setting_get_power_saving_mode(void);
uint16_t sql_setting_get_battery_percent(void);
void sql_setting_set_battery_percent(uint16_t percent);
/**********************************************************************************************************************
* 系统时间信息
*/
extern void sql_setting_set_system_time(uint64_t utc_timestamp);
extern void sql_setting_get_system_time(uint64_t *utc_timestamp);
void sql_setting_set_time_diff(int32_t diff);
int32_t sql_setting_get_time_diff(void);
/**********************************************************************************************************************
* 负一屏设置
*/
#define FAVORITE_MODEL_MAX_NUM 5
void sql_setting_set_favorite_sort(const uint8_t *sort);
void sql_setting_get_favorite_sort(uint8_t *sort);
/**********************************************************************************************************************
* 声音与触感设置
*/
void sql_setting_set_volume(uint8_t volume);
uint8_t sql_setting_get_volume(void);
void sql_setting_set_volume_mute(bool mute);
bool sql_setting_get_volume_mute(void);
void sql_setting_set_touch_shake(bool shake);
bool sql_setting_get_touch_shake(void);
void sql_setting_set_touch_shake_level(uint8_t level);
uint8_t sql_setting_get_touch_shake_level(void);
void sql_setting_set_card_settings(uint8_t *card_settings, uint8_t card_nums);
const uint8_t *sql_setting_get_card_settings(uint8_t *card_nums);
#ifdef __cplusplus
}
#endif
#endif /*SQL_SETTING_H*/