完成Network Selection部分功能

This commit is contained in:
zyj 2023-11-02 19:55:13 +08:00
parent 73b864bb33
commit 98c0281177
7 changed files with 275 additions and 130 deletions

View File

@ -654,11 +654,11 @@ lv_plugin_string_t lv_plugin_EN_string_table[] = {
{ "SIM read failed, please restart the camera", 42 }, /* LV_PLUGIN_STRING_ID_STRING_SIM_READ_ERR */
{ "Network selection is only available with SIM cards that have multiple networks.", 79 }, /* LV_PLUGIN_STRING_ID_STRING_NOT_ESIM */
{ "", 0 }, /* LV_PLUGIN_STRING_ID_STRING_NONE */
{ "Error in Process", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_1 */
{ "Error in Process", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_2 */
{ "Error in Process", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_3 */
{ "Error in Process", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_4 */
{ "Error in Process", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_5 */
{ "Error in Proces1", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_1 */
{ "Error in Proces2", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_2 */
{ "Error in Proces3", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_3 */
{ "Error in Proces4", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_4 */
{ "Error in Proces5", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_5 */
{ "Error in Process", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_6 */
{ "Error in Process", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_7 */
{ "Error in Process", 16 }, /* LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_8 */

View File

@ -1076,9 +1076,6 @@
"Mix": {
"opa_scale": 120
},
"Outline": {
"outline_color": "0x00b495"
},
"Value": {
"value_color": "0x3c3c3c",
"value_font": "montserrat 16 4bpp"
@ -1202,7 +1199,6 @@
"styles": [
{
"Border": {
"border_color": "0x00b495",
"border_width": 0
},
"Mix": {

View File

@ -921,11 +921,11 @@
"SIM read failed, please restart the camera",
"Network selection is only available with SIM cards that have multiple networks.",
"",
"Error in Process",
"Error in Process",
"Error in Process",
"Error in Process",
"Error in Process",
"Error in Proces1",
"Error in Proces2",
"Error in Proces3",
"Error in Proces4",
"Error in Proces5",
"Error in Process",
"Error in Process",
"Error in Process",

View File

@ -741,6 +741,27 @@ enum _MENU_IDS {
IDS_MODULE_FW_UPGRADE = LV_PLUGIN_STRING_ID_STRING_MODE_FW_UPGRADE,
IDS_RESET = LV_PLUGIN_STRING_ID_STRING_RESET,
IDS_NETWORK_SELECTION_1 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_1,
IDS_NETWORK_SELECTION_2 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_2,
IDS_NETWORK_SELECTION_3 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_3,
IDS_NETWORK_SELECTION_4 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_4,
IDS_NETWORK_SELECTION_5 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_5,
IDS_NETWORK_SELECTION_6 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_6,
IDS_NETWORK_SELECTION_7 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_7,
IDS_NETWORK_SELECTION_8 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_8,
IDS_NETWORK_SELECTION_9 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_9,
IDS_NETWORK_SELECTION_10 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_10,
IDS_NETWORK_SELECTION_11 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_11,
IDS_NETWORK_SELECTION_12 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_12,
IDS_NETWORK_SELECTION_13 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_13,
IDS_NETWORK_SELECTION_14 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_14,
IDS_NETWORK_SELECTION_15 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_15,
IDS_NETWORK_SELECTION_16 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_16,
IDS_NETWORK_SELECTION_17 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_17,
IDS_NETWORK_SELECTION_18 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_18,
IDS_NETWORK_SELECTION_19 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_19,
IDS_NETWORK_SELECTION_20 = LV_PLUGIN_STRING_ID_STRING_NETWORK_SELECTION_20,
IDS_END = LV_PLUGIN_STRING_ID_STRING_NO_STRING,
};

View File

@ -9,6 +9,26 @@
#include "sf_fileMng.h"
#include "sf_common.h"
TMDEF_BEGIN_OPTIONS(NETWORK_SELECTION)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_1, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_2, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_3, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_4, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_5, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_6, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_7, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_8, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_9, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_10, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_11, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_12, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_13, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_14, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_15, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_16, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_17, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_18, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_19, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_20, TM_OPTION_ENABLE)
TMDEF_END_OPTIONS()
TMDEF_BEGIN_OPTIONS(QR_PICTURE)
TMDEF_OPTION_TEXT_S(END, TM_OPTION_ENABLE)
@ -215,109 +235,84 @@ static void init_Matrix_style(void)
#define PROFILE_INFO_SIZE 17
#define PROFILE_NAME_SIZE 16
#define PROFILE_MAX 20
static lv_task_t* checkfile_task = NULL;
#define ITEMS_PER_PAGE 5
#define TOTAL_PAGES 4
static lv_task_t* network_scan_task = NULL;
static lv_task_t* network_select_task = NULL;
static lv_obj_t* pMenu = NULL;
static lv_obj_t *plabel = NULL;
static int ProfileTotal = 0;
static int ProfileSelected = 0;
static unsigned char ProfileNameList[PROFILE_MAX][PROFILE_NAME_SIZE] = {0};
//优化需要的点
//按键加锁
//回调取消延时
static void update_Network_Selection_msg(lv_obj_t* obj)
{
// int UISelected = 0;
// //显示
// lv_plugin_menu_set_item_string_id(pMenu, 0, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, LV_PLUGIN_STRING_ID_STRID_1);
// lv_plugin_menu_set_item_string_id(pMenu, 1, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, LV_PLUGIN_STRING_ID_STRID_2);
// lv_plugin_menu_set_item_hidden(pMenu, 0, false);
// lv_plugin_menu_set_item_hidden(pMenu, 1, false);
// // lv_label_set_text(plabel, "");
// itemIndex = 0;
// #if 1
// for (i = 0; i < pItem->Count; i++) {
// DBG_DUMP("%s enableIndex=%d :%d\r\n", __func__,i,enableIndex[i]);
// //check option if disable
// TM_CheckOptionStatus(pMenu, &itemIndex, TRUE);
// if(itemIndex > pItem->Count){
// break;
// }
// enableIndex[i] = itemIndex;
// OptionEN_Num = i;
// if(enableIndex[i] == SelOption){
// Selindex = i;
// }
// itemIndex++;
// }
// printf("Selindex:%d OptionEN_Num:%d pItem->Count:%d\n",Selindex,OptionEN_Num,pItem->Count);
// if(Selindex){
// if((Selindex / OPTION_PAGE_NUM) == 0){
// Selindex = 0;
// }else{
// Selindex = (Selindex / OPTION_PAGE_NUM);
// }
// }
// for(i = 0; i < OPTION_PAGE_NUM; i++){
// pOption = &pItem->pOptions[enableIndex[i + (Selindex * OPTION_PAGE_NUM)]];
// if (((enableIndex[i + (Selindex * OPTION_PAGE_NUM)]) > (pItem->Count -1)) && (i < OPTION_PAGE_NUM)) {
// printf("\033[33m[LV_MenuCommonOption_UpdateContent] 1 \033[0m\n");
// lv_plugin_menu_set_item_string_id(menu_option, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pOption->TextId);
// lv_plugin_menu_set_item_img_id(menu_option, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED, pOption->IconId);
// lv_plugin_menu_set_item_hidden(menu_option, i, true);
// ui_hidden = true;
// }else if((i + (Selindex * OPTION_PAGE_NUM)) > OptionEN_Num){
// printf("\033[33m[LV_MenuCommonOption_UpdateContent] 2 \033[0m\n");
// lv_plugin_menu_set_item_string_id(menu_option, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pOption->TextId);
// lv_plugin_menu_set_item_img_id(menu_option, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED, pOption->IconId);
// lv_plugin_menu_set_item_hidden(menu_option, i, true);
// ui_hidden = true;
// }else{
// printf("\033[33m[LV_MenuCommonOption_UpdateContent] 3 \033[0m\n");
// lv_plugin_menu_set_item_string_id(menu_option, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pOption->TextId);
// lv_plugin_menu_set_item_img_id(menu_option, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED, pOption->IconId);
// lv_plugin_menu_set_item_hidden(menu_option, i, false);
// ui_hidden = true;
// if(enableIndex[i+(Selindex * OPTION_PAGE_NUM)] == SelOption){
// printf("\033[33m[LV_MenuCommonOption_UpdateContent] 4 %d %d \033[0m\n", i, Selindex);
// s_SelOption = i + (Selindex * OPTION_PAGE_NUM);
// lv_plugin_menu_select_item(menu_option, i);
// ui_hidden = false;
// }
// }
// DBG_DUMP("%s ui_hidden=%d\r\n", __func__,ui_hidden);
// if(i==0){
// lv_obj_set_hidden(image_option1_scr_uiflowmenucommonoption, ui_hidden);
// }else if(i == 1){
// lv_obj_set_hidden(image_option2_scr_uiflowmenucommonoption, ui_hidden);
// }else if(i == 2){
// lv_obj_set_hidden(image_option3_scr_uiflowmenucommonoption, ui_hidden);
// }else if(i == 3){
// lv_obj_set_hidden(image_option4_scr_uiflowmenucommonoption, ui_hidden);
// }else if(i == 4){
// lv_obj_set_hidden(image_option5_scr_uiflowmenucommonoption, ui_hidden);
// }
// }
// lv_plugin_string_t*test = (lv_plugin_string_t*)lv_plugin_get_string(IDS_MOVIE_MJPG);
// char* str = (char*)test->ptr;
// snprintf(str, test->size, "6565");
}
static void checkfile_task_end(void)
{
if(checkfile_task)
if(pMenu == NULL || plabel == NULL)
{
lv_task_del(checkfile_task);
checkfile_task = NULL;
printf("[error]Network Selection abnormal operation\n");
return;
}
if(ProfileSelected > PROFILE_MAX)
{
printf("[error]ProfileSelected exceed the limit\n");
ProfileSelected = 0;
}
// int selectedIndex = ProfileSelected % ITEMS_PER_PAGE;
int selectedPage = ProfileSelected / ITEMS_PER_PAGE;
int ishidden = 0;
for(int i = 0; i < ITEMS_PER_PAGE; i++)
{
printf("i:%d data:%d\n", i, (IDS_NETWORK_SELECTION_1 + (ITEMS_PER_PAGE * selectedPage) + i));
// lv_plugin_menu_set_item_string_id(pMenu, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, (IDS_NETWORK_SELECTION_1 + (ITEMS_PER_PAGE * selectedPage) + i));
lv_plugin_menu_set_item_string_id(pMenu, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM,
(IDS_NETWORK_SELECTION_1 + (ITEMS_PER_PAGE * selectedPage) + i));
lv_plugin_menu_set_item_img_id(pMenu, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED, LV_PLUGIN_IMG_ID_ICON_OK);
ishidden = true;
if((ITEMS_PER_PAGE * selectedPage) + i < ProfileTotal)
{
lv_plugin_menu_set_item_hidden(pMenu, i, false);//整项
if((ITEMS_PER_PAGE * selectedPage) + i == ProfileSelected)
{
ishidden = false;
lv_plugin_menu_select_item(pMenu, i);//白条
}
}
else
{
lv_plugin_menu_set_item_hidden(pMenu, i, true);//整项
}
if(i==0){
lv_obj_set_hidden(image_option1_scr_uiflowmenucommonoption, ishidden);//打钩
}else if(i == 1){
lv_obj_set_hidden(image_option2_scr_uiflowmenucommonoption, ishidden);
}else if(i == 2){
lv_obj_set_hidden(image_option3_scr_uiflowmenucommonoption, ishidden);
}else if(i == 3){
lv_obj_set_hidden(image_option4_scr_uiflowmenucommonoption, ishidden);
}else if(i == 4){
lv_obj_set_hidden(image_option5_scr_uiflowmenucommonoption, ishidden);
}
}
}
static void checkfile_task_cb(lv_task_t* task)
static void network_scan_task_end(void)
{
if(network_scan_task)
{
lv_task_del(network_scan_task);
network_scan_task = NULL;
}
}
static void network_scan_task_cb(lv_task_t* task)
{
struct stat statBuf;
int fd = -1;
@ -335,7 +330,7 @@ static void checkfile_task_cb(lv_task_t* task)
if(sf_cardv_get_sim_insert() == 0)
{
checkfile_task_end();
network_scan_task_end();
lv_label_set_text(plabel, "\n\nCheck SIM");
@ -347,7 +342,7 @@ static void checkfile_task_cb(lv_task_t* task)
}
else if(sf_cardv_get_is_esim() == 0)
{
checkfile_task_end();
network_scan_task_end();
lv_label_set_text(plabel, "\n\nNetwork selection is only available with SIM cards that have multiple networks.");
@ -367,7 +362,7 @@ static void checkfile_task_cb(lv_task_t* task)
stMessageBuf.arg3 = 1;
stMessageBuf.cmdId = CMD_DEV;
sf_com_message_send_to_app(&stMessageBuf);
usleep(100);
// usleep(100);
}
if(sf_file_IsExsit(NETMSGPATH))
@ -403,10 +398,47 @@ static void checkfile_task_cb(lv_task_t* task)
printf("%s\n", ProfileNameList[i]);
}
checkfile_task_end();
network_scan_task_end();
lv_label_set_text(plabel, "");
lv_plugin_string_t* tmpPluginStr = NULL;
char* tmpstr = NULL;
for(int i = 0; i < ProfileTotal; i++)
{
tmpPluginStr = (lv_plugin_string_t*)lv_plugin_get_string(IDS_NETWORK_SELECTION_1 + i);
tmpstr = (char*)tmpPluginStr->ptr;
snprintf(tmpstr, PROFILE_NAME_SIZE, "%s", ProfileNameList[i]);
printf("i:%d tmpstr:%s len:%d p:%p\n", i, tmpstr, tmpPluginStr->size, tmpstr);
}
// lv_plugin_string_t*test = (lv_plugin_string_t*)lv_plugin_get_string(8);
// char* str = (char*)test->ptr;
// snprintf(str, test->size, "");
// printf("//////////////////////\n\n");
// lv_plugin_string_t* tmpPluginStr1 = (lv_plugin_string_t*)lv_plugin_get_string(IDS_NETWORK_SELECTION_1);
// lv_plugin_string_t* tmpPluginStr2 = (lv_plugin_string_t*)lv_plugin_get_string(IDS_NETWORK_SELECTION_2);
// lv_plugin_string_t* tmpPluginStr3 = (lv_plugin_string_t*)lv_plugin_get_string(IDS_NETWORK_SELECTION_3);
// lv_plugin_string_t* tmpPluginStr4 = (lv_plugin_string_t*)lv_plugin_get_string(IDS_NETWORK_SELECTION_4);
// lv_plugin_string_t* tmpPluginStr5 = (lv_plugin_string_t*)lv_plugin_get_string(IDS_NETWORK_SELECTION_5);
// printf("%p\n%p\n%p\n%p\n%p\n\n", tmpPluginStr1, tmpPluginStr2, tmpPluginStr3, tmpPluginStr4, tmpPluginStr5);
// printf("%p\n%p\n%p\n%p\n%p\n\n", tmpPluginStr1->ptr, tmpPluginStr2->ptr, tmpPluginStr3->ptr, tmpPluginStr4->ptr, tmpPluginStr5->ptr);
// char* tmpstr1 = (char*)tmpPluginStr1->ptr;
// char* tmpstr2 = (char*)tmpPluginStr2->ptr;
// char* tmpstr3 = (char*)tmpPluginStr3->ptr;
// char* tmpstr4 = (char*)tmpPluginStr4->ptr;
// char* tmpstr5 = (char*)tmpPluginStr5->ptr;
// printf("%p\n%p\n%p\n%p\n%p\n\n", tmpstr1, tmpstr2, tmpstr3, tmpstr4, tmpstr5);
// printf("//////////////////////\n\n");
update_Network_Selection_msg(obj);
lv_obj_set_hidden(container_main_menu_scr_uiflowmenucommonoption, false);
}
return;
}
@ -414,28 +446,72 @@ static void checkfile_task_cb(lv_task_t* task)
}
}
static void network_select_task_end(void)
{
if(network_select_task)
{
lv_task_del(network_select_task);
network_select_task = NULL;
}
}
static void network_select_task_cb(lv_task_t* task)
{
lv_obj_t* obj = (lv_obj_t*)task->user_data;
int resp = sf_cardv_get_operationSelectResp();
printf("network_select_task_cb:%d\n",resp);
switch (resp)
{
case 0x00:/*CMD_SUCCESS*/
network_select_task_end();
lv_label_set_text(plabel, "\n\nCompleted");
sleep(3);
lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0));
hidde_Network_Selection_page();
break;
case 0x34:/*NETWORK_NOT_NEED_SET*/
network_select_task_end();
lv_label_set_text(plabel, "\n\nProfile is enabled");
sleep(3);
lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0));
hidde_Network_Selection_page();
break;
case 0xff:
break;
default:
network_select_task_end();
lv_label_set_text(plabel, "\n\nCurrently network is busy, Please try it later");
sleep(3);
lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0));
hidde_Network_Selection_page();
break;
}
}
void show_Network_Selection_page(lv_obj_t* obj, lv_obj_t* menu_obj)
{
pMenu = menu_obj;
// sf_cardv_set_operationSelectResp(0xff);
init_Matrix_style();
plabel = lv_label_create(obj, NULL);
lv_label_set_long_mode(plabel, LV_LABEL_LONG_BREAK);
// lv_label_set_align(plabel, LV_LABEL_ALIGN_CENTER);
lv_label_set_text(plabel, "1\n2\nSearching...");
lv_label_set_text(plabel, "");
lv_obj_set_pos(plabel, 32, 55);
lv_obj_set_width(plabel, 256);
lv_obj_add_style(plabel, 0, &gMatrixStylebtn);
if(checkfile_task == NULL){
checkfile_task = lv_task_create(checkfile_task_cb, 1000, LV_TASK_PRIO_MID, (void*)obj);
if(network_scan_task == NULL){
network_scan_task = lv_task_create(network_scan_task_cb, 1000, LV_TASK_PRIO_MID, (void*)obj);
}
}
void hidde_Network_Selection_page(void)
{
checkfile_task_end();
network_scan_task_end();
network_select_task_end();
pMenu = NULL;
@ -447,7 +523,59 @@ void hidde_Network_Selection_page(void)
void Option_Network_Selection_Key(lv_obj_t* obj, uint32_t key)
{
// UIMenuStoreInfo *puiPara = sf_ui_para_get();
// char result[2];
// char tmpchar;
// char* p;
printf("key:%d\n",key);
switch(key)
{
case LV_USER_KEY_NEXT:
if(ProfileSelected >= 0 && ProfileSelected < (ProfileTotal - 1))
{
ProfileSelected++;
}
else
{
ProfileSelected = 0;
}
update_Network_Selection_msg(obj);
break;
case LV_USER_KEY_PREV:
if(ProfileSelected > 0 && ProfileSelected < ProfileTotal)
{
ProfileSelected--;
}
else
{
ProfileSelected = 0;
}
update_Network_Selection_msg(obj);
break;
case LV_USER_KEY_LEFT:
lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0));
hidde_Network_Selection_page();
break;
case LV_USER_KEY_RIGHT:
break;
case LV_KEY_ENTER:
lv_obj_set_hidden(container_main_menu_scr_uiflowmenucommonoption, true);
lv_label_set_text(plabel, "\n\nNetwork Switching...");
sf_cardv_set_operationSelectResp(0xff);
SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.arg1 = SF_DEV_CMD_ESIM_OPERATION_SELECT;
stMessageBuf.arg2 = SF_CONTROL_TYPE_LOCAL;
stMessageBuf.arg3 = ProfileSelected;
stMessageBuf.cmdId = CMD_DEV;
sf_com_message_send_to_app(&stMessageBuf);
if(network_select_task == NULL){
network_select_task = lv_task_create(network_select_task_cb, 1000, LV_TASK_PRIO_MID, (void*)obj);
}
break;
default:
break;
}
}
// --------------------------------------------------------------------------

View File

@ -844,7 +844,7 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event)
switch(itemID)
{
case IDM_NETWORK_SELECTION:
UIFlowMenuCommonOption_Key(obj, *key);
Option_Network_Selection_Key(obj, *key);
break;
case IDM_QR_PICTURE:
UIFlowMenuCommonOption_Key(obj, *key);

View File

@ -1018,7 +1018,7 @@ lv_obj_t* UIFlowPhoto_create(){
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&button_2_s0, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_2_s0, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_2_s0, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_2_s0, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_2_s0, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_2_s0, LV_STATE_DEFAULT, color);
@ -1026,42 +1026,42 @@ lv_obj_t* UIFlowPhoto_create(){
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_bg_color(&button_2_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_2_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_2_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_2_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_2_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_2_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&button_2_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_2_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_2_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_2_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_2_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_2_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&button_2_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_2_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_2_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x13, 0x44, 0xd1, 0xb6) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_2_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_2_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_2_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&button_2_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_2_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_2_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_2_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_2_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_2_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0xbc, 0xcc, 0xec, 0xef) ; lv_style_set_bg_color(&button_2_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_2_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_2_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_2_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_2_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_2_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&button_2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x9c, 0x88, 0x88, 0x88) ; lv_style_set_border_color(&button_2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_outline_color(&button_2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_2_s0, LV_STATE_DISABLED, color);
@ -1146,7 +1146,7 @@ lv_obj_t* UIFlowPhoto_create(){
lv_style_set_opa_scale(&button_3_s0,LV_STATE_DEFAULT,120);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&button_3_s0, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_3_s0, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_border_color(&button_3_s0, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_3_s0, LV_STATE_DEFAULT, color);
lv_style_set_border_width(&button_3_s0,LV_STATE_DEFAULT,0);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_3_s0, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_3_s0, LV_STATE_DEFAULT, color);
@ -1155,42 +1155,42 @@ lv_obj_t* UIFlowPhoto_create(){
lv_style_set_value_font(&button_3_s0,LV_STATE_DEFAULT,&lv_font_montserrat_16);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_bg_color(&button_3_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_3_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_border_color(&button_3_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_3_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_3_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_3_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_3_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_3_s0, LV_STATE_CHECKED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&button_3_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_3_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_border_color(&button_3_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_3_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_3_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_3_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_3_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_3_s0, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&button_3_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_3_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_border_color(&button_3_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_3_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_3_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_3_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_3_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_3_s0, LV_STATE_EDITED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&button_3_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_3_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_border_color(&button_3_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_3_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_3_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_3_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_3_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_3_s0, LV_STATE_HOVERED, color);
STYLE_COLOR_PROP(0xbc, 0xcc, 0xec, 0xef) ; lv_style_set_bg_color(&button_3_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_3_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_border_color(&button_3_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x3a, 0x01, 0xa2, 0xb1) ; lv_style_set_border_color(&button_3_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_3_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_3_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_3_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_value_color(&button_3_s0, LV_STATE_PRESSED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&button_3_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&button_3_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_border_color(&button_3_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x9c, 0x88, 0x88, 0x88) ; lv_style_set_border_color(&button_3_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_outline_color(&button_3_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_shadow_color(&button_3_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_pattern_recolor(&button_3_s0, LV_STATE_DISABLED, color);