Fixed setting screen bug about left key long pressing.
This commit is contained in:
parent
182c6ea68a
commit
08de3740d2
|
@ -523,10 +523,12 @@ bool pointer_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data)
|
|||
/*Return `false` because we are not buffering and no more data to read*/
|
||||
return false;
|
||||
}
|
||||
|
||||
extern int is_menu_screen_luck(void);
|
||||
void UserMainProc(void)
|
||||
{
|
||||
TM_BOOT_BEGIN("flow", "preboot");
|
||||
#define PRESSING_EVENT_INTERVAL_MS 500
|
||||
static unsigned long leftKeyPressingTime_ms = 0;
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
UserMainProc_Init();
|
||||
|
@ -599,6 +601,7 @@ void UserMainProc(void)
|
|||
}
|
||||
else{
|
||||
g_keyboard_pressed = false;
|
||||
leftKeyPressingTime_ms = 0;
|
||||
}
|
||||
//call input task immediately for read key state
|
||||
if(indev_keypad){
|
||||
|
@ -629,6 +632,18 @@ void UserMainProc(void)
|
|||
}
|
||||
if(paramArray[0] == NVTEVT_KEY_CONTINUE){
|
||||
uint32_t nvt_user_key = lv_user_keymap_find(evt);
|
||||
#define MENU_UNLUCK 0
|
||||
if (LV_USER_KEY_LEFT == nvt_user_key && MENU_UNLUCK == is_menu_screen_luck())
|
||||
{
|
||||
printf(" check left key continue.\n");
|
||||
leftKeyPressingTime_ms += PRESSING_EVENT_INTERVAL_MS;
|
||||
#define RETURN_TO_PHOTO_SCREEN (2 * 1000)
|
||||
if (leftKeyPressingTime_ms >= RETURN_TO_PHOTO_SCREEN)
|
||||
{
|
||||
Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_PHOTO);
|
||||
leftKeyPressingTime_ms = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(nvt_user_key != LV_USER_KEY_UNKNOWN){
|
||||
if(indev_keypad && indev_keypad->group){
|
||||
|
|
|
@ -22,7 +22,18 @@ static lv_obj_t* menu_item = NULL;
|
|||
//#NT#Support IVOT_N12144_CO-148 -5
|
||||
BOOL PrevSel_Img = false;
|
||||
//#NT#2023/11/03#Eric - end
|
||||
|
||||
#define MENU_LUCK -1
|
||||
#define MENU_UNLUCK 0
|
||||
#define MENU_CLOSED 1
|
||||
static int gMenuLuck = MENU_CLOSED;
|
||||
int is_menu_screen_luck(void)
|
||||
{
|
||||
return gMenuLuck;
|
||||
}
|
||||
lv_obj_t *menu_opened_get(void)
|
||||
{
|
||||
return menu_item;
|
||||
}
|
||||
#if 0
|
||||
static lv_obj_t* container_option1 = NULL;
|
||||
static lv_obj_t* container_option2 = NULL;
|
||||
|
@ -317,6 +328,10 @@ static void LV_MenuItem_OnSelected(lv_obj_t* obj)
|
|||
return;
|
||||
}
|
||||
#endif
|
||||
if (IDM_NETWORK_SELECTION == pItem->ItemId || IDM_CAMERA_FW_UPGRADE == pItem->ItemId || IDM_MODULE_FW_UPGRADE == pItem->ItemId)
|
||||
{
|
||||
gMenuLuck = MENU_LUCK;
|
||||
}
|
||||
if((pItem->ItemId == IDM_CHECK_IN_PHOTO) || (pItem->ItemId == IDM_SD_LOOP) \
|
||||
//#NT#2023/11/03#Eric - begin
|
||||
//#NT#Support IVOT_N12144_CO-148 -6
|
||||
|
@ -755,6 +770,7 @@ static void UIFlowMenuCommonItem_ScrOpen(lv_obj_t* obj)
|
|||
|
||||
LV_MenuItem_OnOpen(obj);
|
||||
|
||||
gMenuLuck = MENU_UNLUCK;
|
||||
#if HUNTING_CAMERA_MCU == ENABLE
|
||||
// sf_set_menu_open(TRUE);
|
||||
#endif
|
||||
|
@ -842,6 +858,7 @@ static void UIFlowMenuCommonItem_ScrClose(lv_obj_t* obj)
|
|||
DBG_DUMP("%s\r\n", __func__);
|
||||
Save_MenuInfo();
|
||||
LV_MenuItem_OnClose(obj);
|
||||
gMenuLuck = MENU_CLOSED;
|
||||
}
|
||||
|
||||
|
||||
|
@ -865,6 +882,7 @@ static void UIFlowMenuCommonItem_ChildScrClose(lv_obj_t* obj,const LV_USER_EVENT
|
|||
}
|
||||
}
|
||||
|
||||
gMenuLuck = MENU_UNLUCK;
|
||||
// sf_set_menu_open(FALSE);
|
||||
}
|
||||
|
||||
|
|
|
@ -788,7 +788,247 @@ static void UIFlowMenuCommonOption_Key(lv_obj_t* obj, uint32_t key)
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
static void CommondOptionCloseSencondPage(lv_obj_t* obj, uint32_t* key)
|
||||
{
|
||||
TM_MENU* pMenu = TM_GetMenu();
|
||||
TM_PAGE* pPage;
|
||||
TM_ITEM* pItem;
|
||||
pPage = &pMenu->pPages[pMenu->SelPage];
|
||||
pItem = &pPage->pItems[pPage->SelItem];
|
||||
UINT16 itemID = pItem->ItemId;
|
||||
printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_USER_EVENT_KEY_RELEASE key:%d\033[0m\n", *key);
|
||||
/* handle key event */
|
||||
switch(itemID)
|
||||
{
|
||||
case IDM_NETWORK_SELECTION:
|
||||
// Option_Network_Selection_Key(obj, *key);
|
||||
break;
|
||||
case IDM_QR_PICTURE:
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
case IDM_PASSWORD:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Password_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_CAMERA_INFO:
|
||||
// Option_CAMERA_INFO_Key(obj, *key);
|
||||
break;
|
||||
case IDM_CAMERA_NAME:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Camera_Name_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_CAMERA_MODE:
|
||||
case IDM_IMAGE_SIZE:
|
||||
case IDM_VIDEO_SIZE:
|
||||
case IDM_VIDEA_LENGTH:
|
||||
case IDM_FLASH_POWER:
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
case IDM_SENSITIVITY:
|
||||
// Option_Sensitivity_Key(obj, *key);
|
||||
break;
|
||||
case IDM_DELAY:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Delay_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_OPERATING_TIME:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Operating_Time_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_FORMAT_SD:
|
||||
case IDM_DATE_AND_TIME:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_DateTime_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_MAX_NUM_DAY:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_MaxNum_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_SETTINGS_CHECK:
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
case IDM_SEND_TYPE:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_send_time_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_CHECK_IN_PHOTO:
|
||||
case IDM_GPS:
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
case IDM_BATTERY_TYPE:
|
||||
case IDM_SD_LOOP:
|
||||
case IDM_CAMERA_FW_UPGRADE:
|
||||
case IDM_MODULE_FW_UPGRADE:
|
||||
case IDM_RESET:
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
isSetting = 0;
|
||||
}
|
||||
static void CommondOptionKeyCallback(lv_obj_t* obj, uint32_t* key)
|
||||
{
|
||||
TM_MENU* pMenu = TM_GetMenu();
|
||||
TM_PAGE* pPage;
|
||||
TM_ITEM* pItem;
|
||||
pPage = &pMenu->pPages[pMenu->SelPage];
|
||||
pItem = &pPage->pItems[pPage->SelItem];
|
||||
UINT16 itemID = pItem->ItemId;
|
||||
printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_USER_EVENT_KEY_RELEASE key:%d\033[0m\n", *key);
|
||||
/* handle key event */
|
||||
switch(itemID)
|
||||
{
|
||||
case IDM_NETWORK_SELECTION:
|
||||
Option_Network_Selection_Key(obj, *key);
|
||||
break;
|
||||
case IDM_QR_PICTURE:
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
case IDM_PASSWORD:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Password_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_CAMERA_INFO:
|
||||
Option_CAMERA_INFO_Key(obj, *key);
|
||||
break;
|
||||
case IDM_CAMERA_NAME:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Camera_Name_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_CAMERA_MODE:
|
||||
case IDM_IMAGE_SIZE:
|
||||
case IDM_VIDEO_SIZE:
|
||||
case IDM_VIDEA_LENGTH:
|
||||
case IDM_FLASH_POWER:
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
case IDM_SENSITIVITY:
|
||||
Option_Sensitivity_Key(obj, *key);
|
||||
break;
|
||||
case IDM_DELAY:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Delay_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_OPERATING_TIME:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Operating_Time_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_FORMAT_SD:
|
||||
case IDM_DATE_AND_TIME:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_DateTime_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_MAX_NUM_DAY:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_MaxNum_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_SETTINGS_CHECK:
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
case IDM_SEND_TYPE:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_send_time_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_CHECK_IN_PHOTO:
|
||||
case IDM_GPS:
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
case IDM_BATTERY_TYPE:
|
||||
case IDM_SD_LOOP:
|
||||
case IDM_CAMERA_FW_UPGRADE:
|
||||
case IDM_MODULE_FW_UPGRADE:
|
||||
case IDM_RESET:
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event)
|
||||
{
|
||||
TM_MENU* pMenu = TM_GetMenu();
|
||||
|
@ -811,6 +1051,8 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event)
|
|||
case LV_PLUGIN_EVENT_SCR_CLOSE:
|
||||
{
|
||||
printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_PLUGIN_EVENT_SCR_CLOSE\033[0m\n");
|
||||
uint32_t key = LV_KEY_ENTER;
|
||||
CommondOptionCloseSencondPage(obj, &key);
|
||||
isSetting = 0;
|
||||
UIFlowMenuCommonOption_ScrClose(obj);
|
||||
break;
|
||||
|
@ -885,120 +1127,121 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event)
|
|||
case LV_USER_EVENT_KEY_RELEASE:
|
||||
{
|
||||
uint32_t* key = (uint32_t*)lv_event_get_data();
|
||||
printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_USER_EVENT_KEY_RELEASE key:%d\033[0m\n", *key);
|
||||
/* handle key event */
|
||||
switch(itemID)
|
||||
{
|
||||
case IDM_NETWORK_SELECTION:
|
||||
Option_Network_Selection_Key(obj, *key);
|
||||
break;
|
||||
case IDM_QR_PICTURE:
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
case IDM_PASSWORD:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Password_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_CAMERA_INFO:
|
||||
Option_CAMERA_INFO_Key(obj, *key);
|
||||
break;
|
||||
case IDM_CAMERA_NAME:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Camera_Name_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
CommondOptionKeyCallback(obj, key);
|
||||
// printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_USER_EVENT_KEY_RELEASE key:%d\033[0m\n", *key);
|
||||
// /* handle key event */
|
||||
// switch(itemID)
|
||||
// {
|
||||
// case IDM_NETWORK_SELECTION:
|
||||
// Option_Network_Selection_Key(obj, *key);
|
||||
// break;
|
||||
// case IDM_QR_PICTURE:
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// break;
|
||||
// case IDM_PASSWORD:
|
||||
// if(isSetting)
|
||||
// {
|
||||
// Option_Password_Key(obj, *key);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// }
|
||||
// break;
|
||||
// case IDM_CAMERA_INFO:
|
||||
// Option_CAMERA_INFO_Key(obj, *key);
|
||||
// break;
|
||||
// case IDM_CAMERA_NAME:
|
||||
// if(isSetting)
|
||||
// {
|
||||
// Option_Camera_Name_Key(obj, *key);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// }
|
||||
// break;
|
||||
|
||||
case IDM_CAMERA_MODE:
|
||||
case IDM_IMAGE_SIZE:
|
||||
case IDM_VIDEO_SIZE:
|
||||
case IDM_VIDEA_LENGTH:
|
||||
case IDM_FLASH_POWER:
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
case IDM_SENSITIVITY:
|
||||
Option_Sensitivity_Key(obj, *key);
|
||||
break;
|
||||
case IDM_DELAY:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Delay_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_OPERATING_TIME:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_Operating_Time_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_FORMAT_SD:
|
||||
case IDM_DATE_AND_TIME:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_DateTime_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
// case IDM_CAMERA_MODE:
|
||||
// case IDM_IMAGE_SIZE:
|
||||
// case IDM_VIDEO_SIZE:
|
||||
// case IDM_VIDEA_LENGTH:
|
||||
// case IDM_FLASH_POWER:
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// break;
|
||||
// case IDM_SENSITIVITY:
|
||||
// Option_Sensitivity_Key(obj, *key);
|
||||
// break;
|
||||
// case IDM_DELAY:
|
||||
// if(isSetting)
|
||||
// {
|
||||
// Option_Delay_Key(obj, *key);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// }
|
||||
// break;
|
||||
// case IDM_OPERATING_TIME:
|
||||
// if(isSetting)
|
||||
// {
|
||||
// Option_Operating_Time_Key(obj, *key);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// }
|
||||
// break;
|
||||
// case IDM_FORMAT_SD:
|
||||
// case IDM_DATE_AND_TIME:
|
||||
// if(isSetting)
|
||||
// {
|
||||
// Option_DateTime_Key(obj, *key);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// }
|
||||
// break;
|
||||
|
||||
case IDM_MAX_NUM_DAY:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_MaxNum_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_SETTINGS_CHECK:
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
case IDM_SEND_TYPE:
|
||||
if(isSetting)
|
||||
{
|
||||
Option_send_time_Key(obj, *key);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
}
|
||||
break;
|
||||
case IDM_CHECK_IN_PHOTO:
|
||||
case IDM_GPS:
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
// case IDM_MAX_NUM_DAY:
|
||||
// if(isSetting)
|
||||
// {
|
||||
// Option_MaxNum_Key(obj, *key);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// }
|
||||
// break;
|
||||
// case IDM_SETTINGS_CHECK:
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// break;
|
||||
// case IDM_SEND_TYPE:
|
||||
// if(isSetting)
|
||||
// {
|
||||
// Option_send_time_Key(obj, *key);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// }
|
||||
// break;
|
||||
// case IDM_CHECK_IN_PHOTO:
|
||||
// case IDM_GPS:
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// break;
|
||||
|
||||
case IDM_BATTERY_TYPE:
|
||||
case IDM_SD_LOOP:
|
||||
case IDM_CAMERA_FW_UPGRADE:
|
||||
case IDM_MODULE_FW_UPGRADE:
|
||||
case IDM_RESET:
|
||||
UIFlowMenuCommonOption_Key(obj, *key);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// case IDM_BATTERY_TYPE:
|
||||
// case IDM_SD_LOOP:
|
||||
// case IDM_CAMERA_FW_UPGRADE:
|
||||
// case IDM_MODULE_FW_UPGRADE:
|
||||
// case IDM_RESET:
|
||||
// UIFlowMenuCommonOption_Key(obj, *key);
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
|
||||
KeyPressingTimeMs = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user