From 94b1d4b7e600ad523a52264829d1ee0820c53f2c Mon Sep 17 00:00:00 2001 From: xiaojiazhu Date: Wed, 3 Jan 2024 13:33:17 +0800 Subject: [PATCH 1/3] Fixed:Key event of comfirm screen do not send to current screen. --- .../source/cardv/SrcCode/System/SysMain.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/application/source/cardv/SrcCode/System/SysMain.c b/code/application/source/cardv/SrcCode/System/SysMain.c index 505827410..7441a328a 100644 --- a/code/application/source/cardv/SrcCode/System/SysMain.c +++ b/code/application/source/cardv/SrcCode/System/SysMain.c @@ -696,12 +696,6 @@ void UserMainProc(void) g_keyboard_pressed = false; leftKeyPressingTime_ms = 0; } - //call input task immediately for read key state - if(indev_keypad){ - _lv_user_task_handler_lock(); - indev_keypad->driver.read_task->task_cb(indev_keypad->driver.read_task); - _lv_user_task_handler_unlock(); - } /* workaround to extend key release event for lvgl */ if((paramArray[0] > NVTEVT_KEY_RELEASE_START) && (paramArray[0] < NVTEVT_KEY_RELEASE_END)){ @@ -723,6 +717,12 @@ void UserMainProc(void) DBG_WRN("evt = %lx\r\n", evt); } } + //call input task immediately for read key state + if(indev_keypad){ + _lv_user_task_handler_lock(); + indev_keypad->driver.read_task->task_cb(indev_keypad->driver.read_task); + _lv_user_task_handler_unlock(); + } if(paramArray[0] == NVTEVT_KEY_CONTINUE){ uint32_t nvt_user_key = lv_user_keymap_find(evt); #define MENU_UNLUCK 0 From c23b991eccb6c1f2e2a624830e29ab94ceb5917f Mon Sep 17 00:00:00 2001 From: xiehongyan Date: Wed, 3 Jan 2024 15:34:31 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=B5=E6=B1=A0?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=90=8E=E4=B8=8D=E4=BF=9D=E5=AD=98=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c | 7 +++---- .../source/sf_app/code/source/battery/sf_battery.c | 12 ++++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c index 6c9eefcca..f00674c89 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c @@ -339,16 +339,14 @@ void Option_play_Selection_Key(lv_obj_t* obj, uint32_t key) printf(" ================================== switch sd card.\n"); ProfileSelected = 1; Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PLAYBACK); - int SelectedHandle = System_Get_DCF_Handle(); - printf("[Option_play_Selection_Key][*x] select handle: %d.\n", SelectedHandle); + } else if (0 == ProfileFocused && ProfileSelected == 1) { printf(" ================================== switch emmc.\n"); ProfileSelected = 0; Ux_SendEvent(0, NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PLAYBACK); - int SelectedHandle = System_Get_DCF_Handle(); - printf("[Option_play_Selection_Key][*x] select handle: %d.\n", SelectedHandle); + } ProfileFocused = 0; hidde_Selection_page(); @@ -1286,6 +1284,7 @@ static void set_indev_keypad_group(lv_obj_t* obj) static void UIFlowPlay_ScrOpen(lv_obj_t* obj) { + DBG_IND("UIFlowPlay_ScrOpen\r\n"); int SelectedHandle = System_Get_DCF_Handle(); printf("[UIFlowPlay_ScrOpen][*x] select handle: %d.\n", SelectedHandle); diff --git a/code/application/source/sf_app/code/source/battery/sf_battery.c b/code/application/source/sf_app/code/source/battery/sf_battery.c index 648f16b7b..d22a8d23c 100755 --- a/code/application/source/sf_app/code/source/battery/sf_battery.c +++ b/code/application/source/sf_app/code/source/battery/sf_battery.c @@ -418,7 +418,11 @@ UINT32 sf_battery_adc_value_get_once(void) } else { first_init--; - puiPara->BatteryType = SF_BATT_ALKALINE; + if (puiPara->BatteryType == SF_BATT_LI_PACK) + { + puiPara->BatteryType = SF_BATT_ALKALINE; + } + } } @@ -969,7 +973,11 @@ void sf_battery_level_polling(void) } } else{ - puiPara->BatteryType = SF_BATT_ALKALINE; + if(puiPara->BatteryType == SF_BATT_LI_PACK) + { + puiPara->BatteryType = SF_BATT_ALKALINE; + } + } //ret = sf_check_low_battery(); From 5b0ad73b4090eec5824dc840bbf205f712da67cb Mon Sep 17 00:00:00 2001 From: xiaojiazhu Date: Wed, 3 Jan 2024 16:48:01 +0800 Subject: [PATCH 3/3] Fixed:Message screen key event can not send to father screen. --- .../source/cardv/SrcCode/NVTUserCommand.h | 1 + .../UIFlowPhoto/UIFlowPhotoEventCallback.c | 1 + .../UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c | 13 ++++++++++++- .../UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c | 6 +++++- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/code/application/source/cardv/SrcCode/NVTUserCommand.h b/code/application/source/cardv/SrcCode/NVTUserCommand.h index 0dc590cf6..71201744a 100755 --- a/code/application/source/cardv/SrcCode/NVTUserCommand.h +++ b/code/application/source/cardv/SrcCode/NVTUserCommand.h @@ -103,6 +103,7 @@ typedef enum { #if defined(_UI_STYLE_LVGL_) NVTEVT_UPDATE_LVGL = 0x80000001, ///< Update lvgl task handel #endif + NVTEVT_MSG_SCREEN_KEY = 0x80000002, /* INSERT NEW EVENT HRER */ diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index b56488920..75c298193 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -73,6 +73,7 @@ static BOOL g_PhotoBgInitFileSys = FALSE; static BOOL g_SysStrg_Chg = FALSE; //#NT#2023/11/21#Eric - end +static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key); static void sf_show_send_text(lv_obj_t* obj, const unsigned short status); static lv_obj_t *g_preview_info_msgbox = NULL; static lv_obj_t *g_preview_info_label = NULL; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c index 9ba5948f5..33df57bce 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c @@ -2409,7 +2409,6 @@ static void UIFlowPlay_Key(lv_obj_t* obj, uint32_t key) static void UIFlowPlay_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) { - switch(msg->event) { case NVTEVT_CB_MOVIE_FINISH: @@ -2481,6 +2480,18 @@ static void UIFlowPlay_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* ms break; } + case NVTEVT_MSG_SCREEN_KEY: + if (1 == msg->paramNum) + { + uint32_t key = msg->paramArray[0]; + if (SELECTION_SHOW_TURE == gSeletionShow) { + Option_play_Selection_Key(obj, key); + } else { + /* handle key event */ + UIFlowPlay_Key(obj, key); + } + } + break; default: break; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c index 09c1522d5..3a10a4884 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c @@ -325,7 +325,11 @@ void message_box_wrnmsg_OnKey(lv_obj_t* msgbox, uint32_t key) { // static uint32_t key22 = LV_KEY_END; // key22 = key; - // lv_event_send(lv_obj_get_parent(UIFlowWrnMsg), LV_USER_EVENT_KEY_RELEASE, &key22); + if(lv_plugin_scr_count() >= 2){ + lv_event_send(lv_plugin_scr_by_index(lv_plugin_scr_count() - 2), LV_USER_EVENT_NVTMSG, gen_nvtmsg_data(NVTEVT_MSG_SCREEN_KEY, 1, key)); + }else{ + lv_event_send(lv_plugin_scr_act(), LV_USER_EVENT_NVTMSG, gen_nvtmsg_data(NVTEVT_MSG_SCREEN_KEY, 1, key)); + } return; switch(key) {