#ifdef SUPPORT_POWER_MANAGER
#include "soc_lcd_api.h"
#endif
+#include "custom_utils.h"
static unsigned long g_app_queue = 0xFFFFFFFF;
uint8_t g_long_press_flag = 0;
}
}
+static bool is_screen_on(void)
+{
+#ifdef SUPPORT_POWER_MANAGER
+ // lcd_get_status: true=screen on, false=off
+ if (!lcd_get_status()) {
+ return false;
+ }
+#endif
+ // uapi_get_screen_state: 0=on, 1=off
+ return uapi_get_screen_state() == 0;
+}
+
static void button_report_event(button_id_t id, event_button_t event)
{
input_dev_data_t data;
printf("fac:id : %d\n",id);
+#ifdef BOARD_LEINIAO
+ // Drop all non电源键事件在息屏时,防止排队到亮屏后执行
+ if (!is_screen_on() && id != BUTTON_PWR) {
+ printf("button_report_event: screen off, drop id=%d, event=%d\n", id, event);
+ return;
+ }
+#endif
switch (event) {
case BUTTON_PWR_PRESS:
#ifdef SUPPORT_POWER_MANAGER