From: CCC <2393524978@qq.com> Date: Tue, 23 May 2023 06:21:05 +0000 (+0800) Subject: alipay X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=c28dc1adbf7f492ccbefecfad3196d1dc5a6b030;p=mirrors%2FASR3603_Z5.git alipay --- diff --git a/2.sdk/gui/lv_watch/CMakeLists.txt b/2.sdk/gui/lv_watch/CMakeLists.txt index 16868624..e4ab7a96 100644 --- a/2.sdk/gui/lv_watch/CMakeLists.txt +++ b/2.sdk/gui/lv_watch/CMakeLists.txt @@ -184,7 +184,7 @@ set(lv_watch_sources lv_apps/alipay/alipay_adapter.c ]] #alipay - lv_apps/alipay/upay.c + lv_apps/alipay/alipay.c lv_apps/alipay/upay_interface.c #SensorHub upgrade lv_apps/bt_SensorHub_upgrade/bt_SensorHub_upgrade.c @@ -750,9 +750,10 @@ target_include_directories(lv_watch PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE $ if("x${CMAKE_C_COMPILER_ID}" STREQUAL "xARMCC") target_link_libraries(lv_watch PRIVATE lvgl juphoon zbar - ${CMAKE_CURRENT_SOURCE_DIR}/lv_apps/alipay/swupay.a + ${CMAKE_CURRENT_SOURCE_DIR}/lv_apps/alipay/alipay.a + #${CMAKE_CURRENT_SOURCE_DIR}/lv_apps/alipay/swupay.a ${CMAKE_CURRENT_SOURCE_DIR}/lv_apps/alipay/alipay_core.a - ${CMAKE_CURRENT_SOURCE_DIR}/lv_apps/alipay/alipay_adapter.a + #${CMAKE_CURRENT_SOURCE_DIR}/lv_apps/alipay/alipay_adapter.a ${CMAKE_CURRENT_SOURCE_DIR}/modem/gps/lib_mmi_modem_gps_access_net.a ) else() diff --git a/2.sdk/gui/lv_watch/framework/message/message_sw_ui/sw_ui_msg_handle.c b/2.sdk/gui/lv_watch/framework/message/message_sw_ui/sw_ui_msg_handle.c index bc553491..80655f1e 100644 --- a/2.sdk/gui/lv_watch/framework/message/message_sw_ui/sw_ui_msg_handle.c +++ b/2.sdk/gui/lv_watch/framework/message/message_sw_ui/sw_ui_msg_handle.c @@ -116,11 +116,11 @@ void normal_ui_message_handle_impl(uint16_t msgid, void * msg) break; -#if USE_LV_WATCH_ALIPAY != 0 - case MMI_ALIPAY_MSG_HANDLE: - aos_watch_alipay_msg_handle(msg); - break; -#endif +//#if USE_LV_WATCH_ALIPAY != 0 +// case MMI_ALIPAY_MSG_HANDLE: +// aos_watch_alipay_msg_handle(msg); +// break; +//#endif default: break; } diff --git a/2.sdk/gui/lv_watch/framework/message/message_sw_ui/sw_ui_msg_handle_interface.h b/2.sdk/gui/lv_watch/framework/message/message_sw_ui/sw_ui_msg_handle_interface.h index 962e8730..f7215eec 100644 --- a/2.sdk/gui/lv_watch/framework/message/message_sw_ui/sw_ui_msg_handle_interface.h +++ b/2.sdk/gui/lv_watch/framework/message/message_sw_ui/sw_ui_msg_handle_interface.h @@ -39,9 +39,9 @@ enum { MMI_APP_ADAPTOR_NORMAL_UI_START = UI_MSG_SW_NORMAL_UI_BASE, MMI_KEY_MSG_CMD, -#if USE_LV_WATCH_ALIPAY != 0 - MMI_ALIPAY_MSG_HANDLE, -#endif +//#if USE_LV_WATCH_ALIPAY != 0 +// MMI_ALIPAY_MSG_HANDLE, +//#endif MMI_APP_ADAPTOR_NORMAL_UI_END, }; diff --git a/2.sdk/gui/lv_watch/framework/message/watch_msg_handle.c b/2.sdk/gui/lv_watch/framework/message/watch_msg_handle.c index 9c565e1d..e6417c58 100644 --- a/2.sdk/gui/lv_watch/framework/message/watch_msg_handle.c +++ b/2.sdk/gui/lv_watch/framework/message/watch_msg_handle.c @@ -351,6 +351,14 @@ void watch_ui_message_handle(uint16_t msgid, void * msg) case MMI_APP_ADAPTOR_SOS_KEY_UI_HANDLE_CMD: sos_key_ui_handle(); break; + + #ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + case MMI_ALIPAY_MSG_HANDLE: + printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + aos_watch_alipay_msg_handle(msg); + break; + #endif + default: break; } /* switch */ diff --git a/2.sdk/gui/lv_watch/framework/message/watch_msg_handle.h b/2.sdk/gui/lv_watch/framework/message/watch_msg_handle.h index b7d62f7b..298603d2 100644 --- a/2.sdk/gui/lv_watch/framework/message/watch_msg_handle.h +++ b/2.sdk/gui/lv_watch/framework/message/watch_msg_handle.h @@ -94,6 +94,9 @@ enum #endif MMI_MODEM_RECV_SMS_NOTIFY_UI_CMD, MMI_APP_ADAPTOR_SOS_KEY_UI_HANDLE_CMD, +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + MMI_ALIPAY_MSG_HANDLE, +#endif }; typedef struct diff --git a/2.sdk/gui/lv_watch/lv_apps/alipay/alipay.a b/2.sdk/gui/lv_watch/lv_apps/alipay/alipay.a new file mode 100644 index 00000000..e3528bb0 Binary files /dev/null and b/2.sdk/gui/lv_watch/lv_apps/alipay/alipay.a differ diff --git a/2.sdk/gui/lv_watch/lv_apps/alipay/upay.c b/2.sdk/gui/lv_watch/lv_apps/alipay/alipay.c similarity index 70% rename from 2.sdk/gui/lv_watch/lv_apps/alipay/upay.c rename to 2.sdk/gui/lv_watch/lv_apps/alipay/alipay.c index fa42fac4..bd48849a 100644 --- a/2.sdk/gui/lv_watch/lv_apps/alipay/upay.c +++ b/2.sdk/gui/lv_watch/lv_apps/alipay/alipay.c @@ -1,5 +1,5 @@ /** - * @file upay.c + * @file alipay.c * */ @@ -11,10 +11,10 @@ #include #include #include "lv_drv_conf.h" -#include "kernel.h" -//#include "../../../../product/craneg_modem/alios/upay/include/upay.h" +//#include "kernel.h" +#include "../../../../product/craneg_modem/alios/common/include/kernel.h" +#include "../../../../product/craneg_modem/alios/upay/include/upay.h" #include "../../../../product/craneg_modem/3g_ps/rls/tplgsm/bldstore/hsiupdlibdev/build/lib/hsiupdlibdev_BldIncCache/UART.h" - /********************* * DEFINES *********************/ @@ -23,11 +23,6 @@ #define USE_ASR_WATCH_MSG 1 -#if 0 -#undef printf -#define printf(fmt, args...) do {} while(0) -#endif - /********************** * TYPEDEFS **********************/ @@ -50,11 +45,10 @@ static void upay_show_paycode_btn_prepare_destory(lv_obj_t * activity_obj); static void upay_show_collect_qrcode_prepare_destory(lv_obj_t * activity_obj); static void upay_show_bind_protocol(lv_obj_t * obj); +void upay_show_bind_fail(lv_obj_t * obj); static void upay_show_menu(lv_obj_t * obj); -#if 0 static void upay_show_collect_qrcode(lv_obj_t * obj); -#endif -void upay_show_menu_del_activeobj(void); +lv_obj_t * upay_show_menu_del_activeobj(); static lv_obj_t *upay_bitmap_show(lv_obj_t *par, char bitmap[32][14], int x_start, int y_start); static void jump_menu_loader(lv_task_t * task); @@ -64,10 +58,11 @@ static void upay_parent_list_prepare_destory(lv_obj_t * activity_obj); /********************** * STATIC VARIABLES **********************/ -#if USE_LV_WATCH_UI_360_360 != 0 -#define QRCODE_WIDTH 188 -#define PARENT_CTRL_QRCODE_WIDTH 225 -#define BIND_QRCODE_WIDTH 188 +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ +#define QRCODE_WIDTH 150 +#define PARENT_CTRL_QRCODE_WIDTH 150 +#define BIND_QRCODE_WIDTH 150 +#define COLLECT_QRCODE_WIDTH 150 #else #define QRCODE_WIDTH 125 #define PARENT_CTRL_QRCODE_WIDTH 150 @@ -79,15 +74,11 @@ static lv_task_t * check_upay_init_task = NULL; static lv_task_t * show_bind_code_task = NULL; static lv_task_t * show_bind_success_task = NULL; static lv_task_t * show_binding_task = NULL; -#if 0 static lv_task_t * show_alert_task = NULL; -#endif static lv_task_t * show_paycode_creat_task = NULL; static lv_task_t * show_paycode_flush_task = NULL; static lv_task_t * show_pay_result_task = NULL; -#if 1 static lv_task_t * retry_get_bind_code_task = NULL; -#endif gif_info_t * upay_binding_gif = NULL; @@ -119,9 +110,6 @@ extern long long upay_get_now_ms(void); extern void alipay_init(void *param); extern void alipay_deinit(void); extern void alipay_reinit(void); - -extern const char* lwip_get_default_nw_ifname(void); - /********************** * MACROS **********************/ @@ -196,7 +184,7 @@ void alipay_register_screen_sleep_function(alipay_disable_screen_sleep_func disa void upay_create_event_cb(lv_obj_t * btn, lv_event_t e) { (void)btn; - //uart_printf("[%s %d] e is %d\n\r",__func__,__LINE__, e); + uart_printf("[%s %d] e is %d\n\r",__func__,__LINE__, e); if(LV_EVENT_CLICKED == e) { lv_img_cache_invalidate_src(NULL); lv_obj_t * obj = upay_create(NULL); @@ -204,11 +192,73 @@ void upay_create_event_cb(lv_obj_t * btn, lv_event_t e) } } +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ +void mmi_identify_info_do(void) +{ + int32_t ret = 0; + aos_identify_info_t identify_info = {0}; + + memset(&identify_info, 0x0, sizeof(aos_identify_info_t)); + + //imei + char imei[AOS_IMEI_LEN + 1] = {0}; + app_adp_get_imei_req(imei); + strcpy(identify_info.imei, imei); + + //iccid + char * p_iccid = app_adaptor_get_iccid_info_req(); + strncpy(identify_info.iccid, p_iccid, AOS_ICCID_LEN + 1); + + //imsi + char imsi[AOS_IMSI_LEN + 1] = {0}; + app_adp_get_imsi_req(imsi); + strcpy(identify_info.imsi, imsi); + + //mac + identify_info.mac[0] = 0x00; + identify_info.mac[1] = 0x27; + identify_info.mac[2] = 0x15; + identify_info.mac[3] = 0x52; + identify_info.mac[4] = 0x57; + identify_info.mac[5] = 0xa5; + + //sn + strcpy(identify_info.sn, imei); + strcat(identify_info.sn, "b"); + + // + strcpy(identify_info.vendor, "SELF_CONFIG"); // "ZHSX"); + strcpy(identify_info.product_name, "3603S"); + strcpy(identify_info.product_model, "Z5"); + + // + strcpy(identify_info.pk,"voPuTFiLcdA"); //strcpy(identify_info.pk_alipay,"voPuTFiLcdA"); + strcpy(identify_info.iot_pk,"a1c7Ojs6HMR"); //strcpy(identify_info.pk_aliyun,"a1c7Ojs6HMR"); + strcpy(identify_info.iot_ps,"TxPFIJ5F1kwa0zO3"); //strcpy(identify_info.ps_aliyun,"TxPFIJ5F1kwa0zO3"); + + //identify_info.ota_id2_flag = 1; + + //type + identify_info.prd_type = prd_type_watch; + + //company + strcpy(identify_info.company_name, "ZHIHSX"); + + ret = aos_set_identify_info(&identify_info); + ALIPAY_DEBUG_PRINTF("[%s][%d]: ret=%d\n", __FUNCTION__, __LINE__, ret); +} +#endif + lv_obj_t * upay_create(lv_obj_t * activity_obj) { +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + upay_rc_t bind_st = UPAY_RC_FALSE; - static int init_lock_st = 0; + //upay_set_log_limit(0); + mmi_identify_info_do(); + + static init_lock_st = 0; if(!init_lock_st) { aos_mutex_new(&alipay_init_task_lock); aos_sem_new(&alipay_init_task_sem, 0); @@ -216,8 +266,82 @@ lv_obj_t * upay_create(lv_obj_t * activity_obj) } bind_st = upay_check_bind_status(); + ALIPAY_DEBUG_PRINTF("[%s][%d]: bind_st=%d\n", __FUNCTION__, __LINE__, bind_st); + + if( !((netif_get_default_nw() == NULL) && (bind_st != UPAY_RC_TRUE)) ) { + int32_t ret = aos_start_simcard_identify(); + ALIPAY_DEBUG_PRINTF("[%s][%d]: ret=%d\n", __FUNCTION__, __LINE__, ret); + + ret = aos_upay_check_id2(); + ALIPAY_DEBUG_PRINTF("[%s][%d]: ret=%d\n", __FUNCTION__, __LINE__, ret); + if(ret) { + if(alipay_init_flag == UPAY_ALIPAY_IDE) + { + aos_mutex_lock(&alipay_init_task_lock, AOS_WAIT_FOREVER); + alipay_task_id = uos_create_task(alipay_init, NULL, 64, 0xA000, 209, "alipay_task"); + if(alipay_task_id != NULL) { + alipay_init_flag = UPAY_ALIPAY_INITING; + aos_sem_signal(&alipay_init_task_sem); + } + aos_mutex_unlock(&alipay_init_task_lock); + } + } else { + uart_printf("ID2 error, do not init."); + } + } else { + uart_printf("network not ok and alipay is unbind, do not create init task"); + } - if( !((lwip_get_default_nw_ifname() == NULL) && (bind_st != UPAY_RC_TRUE)) ) { + if(activity_obj == NULL) { + lv_watch_activity_ext_t activity_ext; + memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t)); + activity_ext.actId = ACT_ID_UPAY; + activity_ext.create = upay_create; + activity_ext.prepare_destory = upay_prepare_destory; + activity_obj = lv_watch_creat_activity_obj(&activity_ext); + LV_ASSERT_MEM(activity_obj); + if(activity_obj == NULL) return NULL; + } + + lv_obj_t * obj = lv_watch_obj_create(activity_obj); + LV_ASSERT_MEM(obj); + if(obj == NULL) return NULL; + lv_watch_obj_set_anim_mode(obj, LV_WATCH_ANIM_HOR_RIGHT_HIDE); + upay_login_active_obj = activity_obj; + + paycode_active_obj = NULL; + upay_paycode_result_obj = NULL; + upay_menu_list = NULL; + + lv_obj_t * img = lv_img_create(obj, NULL); + LV_ASSERT_MEM(img); + lv_img_set_src(img, ICON_UPAY_LOGIN); + lv_obj_align(img, obj, LV_ALIGN_CENTER, 0, 0); + + binding_obj = obj; + ALIPAY_DEBUG_PRINTF("[%s][%d]: binding_obj=%p\n", __FUNCTION__, __LINE__, binding_obj); + + if (check_upay_init_task == NULL) + { + check_upay_init_task = lv_task_create(upay_init_task, 500, LV_TASK_PRIO_LOWEST, (void *)obj); + } + + return obj; + +#else + + upay_rc_t bind_st = UPAY_RC_FALSE; + + static init_lock_st = 0; + if(!init_lock_st) { + aos_mutex_new(&alipay_init_task_lock); + aos_sem_new(&alipay_init_task_sem, 0); + init_lock_st = 1; + } + + bind_st = upay_check_bind_status(); + + if( !((netif_get_default_nw() == NULL) && (bind_st != UPAY_RC_TRUE)) ) { if(aos_upay_check_id2()) { if(alipay_init_flag == UPAY_ALIPAY_IDE) { @@ -259,6 +383,7 @@ lv_obj_t * upay_create(lv_obj_t * activity_obj) upay_show_bind_protocol(obj); return obj; +#endif } static void upay_show_bind_protocol(lv_obj_t * obj) @@ -297,8 +422,8 @@ void show_bindcode_success_task(void * param) } lv_img_cache_invalidate_src(NULL); lv_obj_t * img = lv_img_create(binding_obj, NULL); - lv_obj_set_width(img, LV_HOR_RES); - lv_obj_set_height(img, LV_HOR_RES); + lv_obj_set_width(img, 240); + lv_obj_set_height(img, 240); printf("upay_show_bind_success, show img upay_bind_success\n"); lv_img_set_src(img, ICON_UPAY_BIND_SUCCESS); @@ -326,16 +451,10 @@ void upay_show_bind_success(void * param) gif_close(upay_binding_gif); upay_binding_gif = NULL; } - - if(show_binding_task != NULL) { - lv_task_del(show_binding_task); - show_binding_task = NULL; - } - lv_img_cache_invalidate_src(NULL); lv_obj_t * img = lv_img_create(binding_obj, NULL); - lv_obj_set_width(img, LV_HOR_RES); - lv_obj_set_height(img, LV_HOR_RES); + lv_obj_set_width(img, 240); + lv_obj_set_height(img, 240); printf("upay_show_bind_success, show img upay_bind_success\n"); lv_img_set_src(img, ICON_UPAY_BIND_SUCCESS); @@ -367,8 +486,6 @@ void upay_retry_get_bindcode_task(lv_task_t * task) msg.args = NULL; upay_msg_send(&msg); printf("upay_show_bind_timeout, out the fun\n"); - lv_task_del(retry_get_bind_code_task); - retry_get_bind_code_task = NULL; } void upay_show_bind_timeout(lv_obj_t * obj) @@ -386,17 +503,16 @@ void upay_show_bind_timeout(lv_obj_t * obj) upay_binding_gif = NULL; } lv_obj_t * img = lv_img_create(binding_obj, NULL); - lv_obj_set_width(img, LV_HOR_RES); - lv_obj_set_height(img, LV_HOR_RES); +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + lv_obj_set_size(img, LV_HOR_RES, LV_VER_RES); +#else + lv_obj_set_width(img, 240); + lv_obj_set_height(img, 240); +#endif printf("upay_show_bind_timeout, show image upay_bind_timeout\n"); lv_img_set_src(img, ICON_UPAY_BIND_TIMEOUT); -#if 1 retry_get_bind_code_task = lv_task_create(upay_retry_get_bindcode_task, 2000, LV_TASK_PRIO_HIGHEST, (void *)obj); - lv_task_once(retry_get_bind_code_task); -#else - lv_task_create(upay_retry_get_bindcode_task, 2000, LV_TASK_PRIO_HIGHEST, (void *)obj); -#endif } #else void upay_show_bind_timeout(lv_obj_t * obj) @@ -415,8 +531,8 @@ void upay_show_bind_timeout(lv_obj_t * obj) } upay_msg_t msg; lv_obj_t * img = lv_img_create(binding_obj, NULL); - lv_obj_set_width(img, LV_HOR_RES); - lv_obj_set_height(img, LV_HOR_RES); + lv_obj_set_width(img, 240); + lv_obj_set_height(img, 240); printf("upay_show_bind_timeout, show image upay_bind_timeout\n"); lv_img_set_src(img, ICON_UPAY_BIND_TIMEOUT); @@ -448,8 +564,12 @@ void upay_show_bind_fail(lv_obj_t * obj) } upay_msg_t msg; lv_obj_t * img = lv_img_create(binding_obj, NULL); - lv_obj_set_width(img, LV_HOR_RES); - lv_obj_set_height(img, LV_HOR_RES); +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + lv_obj_set_size(img, LV_HOR_RES, LV_VER_RES); +#else + lv_obj_set_width(img, 240); + lv_obj_set_height(img, 240); +#endif printf("upay_show_bind_fail, show image upay_bind_fail\n"); lv_img_set_src(img, ICON_UPAY_BIND_FAIL); @@ -483,9 +603,10 @@ static void upay_init_task(lv_task_t * task) bind_st = upay_check_bind_status(); printf("upay_init_task, upay_check_bind_status is %d\n", bind_st); - if( (lwip_get_default_nw_ifname() == NULL) && (bind_st != UPAY_RC_TRUE)) + if( (netif_get_default_nw() == NULL) && (bind_st != UPAY_RC_TRUE)) { - printf("[%s %d] network error\n\r",__func__,__LINE__); + //printf("[%s %d] network error\n\r",__func__,__LINE__); + ALIPAY_DEBUG_PRINTF("[%s][%d]: \n", __FUNCTION__, __LINE__); if ((lv_obj_t *)task->user_data == NULL) { @@ -499,11 +620,11 @@ static void upay_init_task(lv_task_t * task) #else lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font20); #endif - lv_label_set_text(label, "#ff0000 网络异常,无法使用"); + lv_label_set_text(label, "#ff0000 网络异常,无法使用 "); #ifdef CUSTORMER_NEWINGS lv_obj_align(label, (lv_obj_t *)task->user_data, LV_ALIGN_IN_TOP_MID, 0, 25); #else - lv_obj_align(label, (lv_obj_t *)task->user_data, LV_ALIGN_IN_TOP_MID, 0, 16); + lv_obj_align(label, (lv_obj_t *)task->user_data, LV_ALIGN_IN_TOP_MID, 0, 8); #endif } else @@ -512,7 +633,12 @@ static void upay_init_task(lv_task_t * task) msg.userdata = (lv_obj_t *)task->user_data; msg.args = NULL; ret = upay_msg_send(&msg); - printf("upay_init_task ret = %d count = %d\n",ret,count); + //printf("upay_init_task ret = %d count = %d\n",ret,count); + ALIPAY_DEBUG_PRINTF("[%s][%d]: ret=%d,count=%d\n", __FUNCTION__, __LINE__, ret, count); + + //int32_t check_ret = aos_start_simcard_identify(); + //ALIPAY_DEBUG_PRINTF("[%s][%d]: check_ret=%d\n", __FUNCTION__, __LINE__, check_ret); + if(ret == UPAY_RC_ERROR) { count++; @@ -532,12 +658,13 @@ static void upay_init_task(lv_task_t * task) if (bind_st == UPAY_RC_TRUE) { - printf("upay_init_task task->user_data = %p\n", task->user_data); + //printf("upay_init_task task->user_data = %p\n", task->user_data); + ALIPAY_DEBUG_PRINTF("[%s][%d]: \n", __FUNCTION__, __LINE__); upay_show_menu((lv_obj_t *)task->user_data); } else { - + ALIPAY_DEBUG_PRINTF("[%s][%d]: \n", __FUNCTION__, __LINE__); msg.cmd = UPAY_MSG_GET_BIND_CODE; msg.userdata = (lv_obj_t *)task->user_data; msg.args = NULL; @@ -549,27 +676,6 @@ static void upay_init_task(lv_task_t * task) check_upay_init_task = NULL; } -lv_obj_t * upay_list_add(lv_obj_t * obj, const void * img_src, lv_event_cb_t rel_event_cb) -{ - lv_watch_list_ext_t * ext = lv_obj_get_ext_attr(obj); - lv_obj_t * list = ext->list; - if(list == NULL) return NULL; - - lv_obj_t * btn; - - btn = lv_list_add_btn(list, img_src, NULL); - lv_obj_set_event_cb(btn, rel_event_cb); - lv_watch_obj_add_element(btn); - - lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); - lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); - lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); - lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); - lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); - - return btn; -} - static void upay_show_menu(lv_obj_t * obj) { if (obj == NULL) @@ -584,7 +690,7 @@ static void upay_show_menu(lv_obj_t * obj) if (upay_login_active_obj != NULL) { printf("upay_show_menu destory upay_login_active_obj, and upay_login_active_obj is %p\n", upay_login_active_obj); - //lv_watch_obj_hor_hide_action(upay_login_active_obj, LV_HOR_RES); + //lv_watch_obj_hor_hide_action(upay_login_active_obj, 240); lv_obj_del(upay_login_active_obj); upay_login_active_obj = NULL; } @@ -593,21 +699,21 @@ static void upay_show_menu(lv_obj_t * obj) if (upay_paycode_result_obj != NULL) { printf("upay_show_menu destory upay_paycode_result_obj, and upay_paycode_result_obj is %p\n", upay_paycode_result_obj); - lv_watch_obj_hor_hide_action(upay_paycode_result_obj, LV_HOR_RES); + lv_watch_obj_hor_hide_action(upay_paycode_result_obj, LV_HOR_RES); // 240); upay_paycode_result_obj = NULL; } if (paycode_active_obj != NULL) { printf("upay_show_menu destory paycode_active_obj, and paycode_active_obj is %p\n", paycode_active_obj); - lv_watch_obj_hor_hide_action(paycode_active_obj, LV_HOR_RES); + lv_watch_obj_hor_hide_action(paycode_active_obj, LV_HOR_RES); // 240); paycode_active_obj = NULL; } if (upay_menu_list != NULL) { printf("upay_show_menu destory paycode_active_obj, and upay_menu_list is %p\n", upay_menu_list); - lv_watch_obj_hor_hide_action(upay_menu_list, LV_HOR_RES); + lv_watch_obj_hor_hide_action(upay_menu_list, LV_HOR_RES); // 240); upay_menu_list = NULL; } @@ -635,15 +741,105 @@ static void upay_show_menu(lv_obj_t * obj) return; } +lv_obj_t * upay_list_add(lv_obj_t * obj, const void * img_src, lv_event_cb_t rel_event_cb) +{ + lv_watch_list_ext_t * ext = lv_obj_get_ext_attr(obj); + lv_obj_t * list = ext->list; + if(list == NULL) return NULL; + + lv_obj_t * btn; + + btn = lv_list_add_btn(list, img_src, NULL); + lv_obj_set_event_cb(btn, rel_event_cb); + lv_watch_obj_add_element(btn); + + lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + + return btn; +} + void upay_show_bind_qrcode(lv_obj_t * obj, char *bind_code) { +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + if (binding_obj == NULL) + return; + + ALIPAY_DEBUG_PRINTF("[%s][%d]: binding_obj=%p,bind_code=%s\n", __FUNCTION__, __LINE__, binding_obj, bind_code); + +#if 1 + lv_obj_t * content = lv_cont_create(binding_obj, NULL); + lv_cont_set_fit(content, LV_FIT_NONE); + lv_obj_set_size(content, LV_HOR_RES, LV_VER_RES); + lv_obj_set_style_local_bg_color(content, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, lv_color_make(17, 148, 235)); + lv_cont_set_layout(content, LV_LAYOUT_OFF); + lv_obj_set_click(content, false); + //lv_obj_align(content, img, LV_ALIGN_CENTER, 0, 15); + + lv_obj_t * label = lv_label_create(content, NULL); + lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font20); + lv_label_set_text_id(label, WATCH_TEXT_ID_ZFB_BIND_PROMPT); + lv_obj_align(label, content, LV_ALIGN_IN_TOP_MID, 0, 15 + 40); + + lv_obj_t * cont = lv_cont_create(content, NULL); + lv_cont_set_fit(cont, LV_FIT_NONE); + lv_obj_set_size(cont, 180, 180); + lv_obj_set_style_local_bg_color(cont, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE); + lv_cont_set_layout(cont, LV_LAYOUT_OFF); + lv_obj_set_click(cont, false); + lv_obj_align(cont, content, LV_ALIGN_CENTER, 0, 15); + + lv_obj_t * qrcode = qrcode_gen(cont, bind_code, 0, 0, BIND_QRCODE_WIDTH); + lv_obj_align(qrcode, cont, LV_ALIGN_CENTER, 0, 0); // 15); + +#else + lv_obj_t * img = lv_img_create(binding_obj, NULL); + if (img == NULL) + return; + + ALIPAY_DEBUG_PRINTF("[%s][%d]: \n", __FUNCTION__, __LINE__); + + lv_img_set_src(img, ICON_UPAY_BIND_QRCODE_BG); + lv_obj_align(img, obj, LV_ALIGN_CENTER, 0, 0); + + lv_obj_t * label = lv_label_create(img, NULL); + lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font20); + lv_label_set_text_id(label, WATCH_TEXT_ID_ZFB_BIND_PROMPT); + lv_obj_align(label, img, LV_ALIGN_IN_TOP_MID, 0, 15); + + lv_obj_t * cont = lv_cont_create(img, NULL); + lv_cont_set_fit(cont, LV_FIT_NONE); + lv_obj_set_size(cont, 180, 180); + lv_obj_set_style_local_bg_color(cont, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE); + lv_cont_set_layout(cont, LV_LAYOUT_OFF); + lv_obj_set_click(cont, false); + lv_obj_align(cont, img, LV_ALIGN_CENTER, 0, 15); + + lv_obj_t * qrcode = qrcode_gen(img, bind_code, 0, 0, BIND_QRCODE_WIDTH); + lv_obj_align(qrcode, img, LV_ALIGN_CENTER, 0, 15); +#endif + + ALIPAY_DEBUG_PRINTF("[%s][%d]: \n", __FUNCTION__, __LINE__); + + upay_msg_t msg; + + msg.cmd = UPAY_MSG_GET_BINDING_RESULT; + msg.userdata = (void *)(binding_obj); + msg.args = NULL; + upay_msg_send(&msg); + + upay_screen_sleep_timer_disable(); + +#else if (binding_obj == NULL) { printf("[%s %d]\n\r",__func__,__LINE__); return; } - lv_obj_clean(binding_obj); printf("[%s %d], binding_obj is %p, bind_code is %s\n\r",__func__,__LINE__,binding_obj, bind_code); upay_msg_t msg; @@ -663,11 +859,7 @@ void upay_show_bind_qrcode(lv_obj_t * obj, char *bind_code) lv_obj_t * qrcode = qrcode_gen(img, bind_code, 0, 0, BIND_QRCODE_WIDTH); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_align(qrcode, img, LV_ALIGN_CENTER, 0, 22); -#else lv_obj_align(qrcode, img, LV_ALIGN_CENTER, 0, 15); -#endif printf("[%s %d]\n\r",__func__,__LINE__); msg.cmd = UPAY_MSG_GET_BINDING_RESULT; @@ -678,6 +870,7 @@ void upay_show_bind_qrcode(lv_obj_t * obj, char *bind_code) upay_screen_sleep_timer_disable(); printf("upay_show_bind_qrcode, out*********\n\n\n"); +#endif } void upay_alert_show_bindqrcode() @@ -686,12 +879,12 @@ void upay_alert_show_bindqrcode() if (upay_login_active_obj == NULL) { if (upay_menu_list != NULL) { - lv_watch_obj_hor_hide_action(upay_menu_list, LV_HOR_RES); + lv_watch_obj_hor_hide_action(upay_menu_list, LV_HOR_RES); // 240); upay_menu_list = NULL; } if (paycode_active_obj != NULL) { - lv_watch_obj_hor_hide_action(paycode_active_obj, LV_HOR_RES); + lv_watch_obj_hor_hide_action(paycode_active_obj, LV_HOR_RES); // 240); paycode_active_obj = NULL; } @@ -729,16 +922,34 @@ void upay_alert_show_bindqrcode() msg.userdata = (void *)binding_obj; msg.args = NULL; ret = upay_msg_send(&msg); - printf("ret %d\n", ret); } -void upay_alert_show_menu(void) +void upay_alert_show_menu() { - printf("\n[%s %d]\n\r",__func__,__LINE__); +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + upay_rc_t bind_st = UPAY_RC_FALSE; - if(paycode_active_obj != NULL){ - return; + bind_st = upay_check_bind_status(); + if (bind_st == UPAY_RC_TRUE) + { + ALIPAY_DEBUG_PRINTF("[%s][%d]: \n", __FUNCTION__, __LINE__); + upay_show_menu((lv_obj_t *)binding_obj); } + else + { + ALIPAY_DEBUG_PRINTF("[%s][%d]: \n", __FUNCTION__, __LINE__); + + upay_rc_t ret; + upay_msg_t msg; + msg.cmd = UPAY_MSG_GET_BIND_CODE; + msg.userdata = (lv_obj_t *)binding_obj; + msg.args = NULL; + ret = upay_msg_send(&msg); + } + +#else + + printf("\n[%s %d]\n\r",__func__,__LINE__); jum2bindcode_from_alert = true; upay_screen_sleep_timer_enable(); @@ -753,7 +964,7 @@ void upay_alert_show_menu(void) if (upay_menu_list != NULL) { - lv_watch_obj_hor_hide_action(upay_menu_list, LV_HOR_RES); + lv_watch_obj_hor_hide_action(upay_menu_list, LV_HOR_RES); // 240); printf("upay_alert_show_menu, lv_watch_obj_hor_hide_action upay_menu_list\n"); upay_menu_list = NULL; } @@ -786,10 +997,10 @@ void upay_alert_show_menu(void) msg.userdata = (void *)binding_obj; msg.args = NULL; ret = upay_msg_send(&msg); - printf("ret %d\n", ret); +#endif } -void upay_show_alert_create(lv_obj_t * obj, upay_rsp_code_t rsp_code) +lv_obj_t * upay_show_alert_create(lv_obj_t * obj, upay_rsp_code_t rsp_code) { upay_screen_sleep_timer_disable(); @@ -803,6 +1014,7 @@ void upay_show_alert_create(lv_obj_t * obj, upay_rsp_code_t rsp_code) return; } + lv_obj_t * mbox1 = lv_msgbox_create(obj, NULL); printf("[%s %d]\n\r",__func__,__LINE__); static const char * btns[] ={"关闭", ""}; @@ -810,9 +1022,7 @@ void upay_show_alert_create(lv_obj_t * obj, upay_rsp_code_t rsp_code) if (rsp_code == UPAY_RSP_UNBIND_BY_USER) { printf("[%s %d]\n\r",__func__,__LINE__); - char tips_str[64] = {0}; - snprintf(tips_str, 64, "%s", (char *)lv_lang_get_text(WATCH_TEXT_ID_ALIPAY_UNBIND_TIPS)); - lv_msgbox_set_text(mbox1, tips_str); + lv_msgbox_set_text(mbox1, "已在手机端解绑 请重新绑定 "); lv_obj_set_event_cb(mbox1, upay_alert_show_bindqrcode_event_cb); } else if ((rsp_code == UPAY_RSP_PAYMENT_FAIL) || (rsp_code == UPAY_RSP_PAYMENT_UNKNOWN) || (rsp_code == UPAY_RSP_FUNCTION_OFF)) @@ -822,13 +1032,8 @@ void upay_show_alert_create(lv_obj_t * obj, upay_rsp_code_t rsp_code) lv_obj_set_event_cb(mbox1, upay_show_menu_del_activeobj_event_cb); } printf("[%s %d]\n\r",__func__,__LINE__); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_set_width(mbox1, 270); - lv_obj_set_height(mbox1, 270); -#else lv_obj_set_width(mbox1, 180); lv_obj_set_height(mbox1, 180); -#endif lv_obj_align(mbox1, obj, LV_ALIGN_CENTER, 0, 0); printf("[%s %d]\n\r",__func__,__LINE__); } @@ -854,11 +1059,7 @@ void upay_show_binding_task(lv_task_t * task) lv_obj_set_size(img1, 80, 80); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_align(img1, img , LV_ALIGN_CENTER, 0, -30); -#else lv_obj_align(img1, img , LV_ALIGN_CENTER, 0, -20); -#endif printf("upay_show_binding, out*********\n\n\n"); lv_task_del(show_binding_task); @@ -880,14 +1081,14 @@ void upay_show_binding(lv_obj_t * obj) void setting_show_paycode_btn_action(lv_obj_t * obj, lv_event_t e) { - //printf("[%s %d]\n\r",__func__,__LINE__); + (void)obj; + upay_msg_t msg; + printf("[%s %d]\n\r",__func__,__LINE__); if(LV_EVENT_CLICKED != e) { return; } - (void)obj; - upay_msg_t msg; printf("[%s %d]\n\r",__func__,__LINE__); @@ -906,7 +1107,7 @@ void setting_show_paycode_btn_action(lv_obj_t * obj, lv_event_t e) last_flush_ms = aos_now_ms(); } - //return LV_RES_OK; + return LV_RES_OK; } void upay_show_menu_event_cb(lv_obj_t * btn, lv_event_t e) @@ -918,11 +1119,69 @@ void upay_show_menu_event_cb(lv_obj_t * btn, lv_event_t e) lv_obj_t * upay_show_paycode_result_create(lv_obj_t * activity_obj, char result[32][14]) { +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + if (NULL == activity_obj) { + lv_watch_activity_ext_t activity_ext; + memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t)); + activity_ext.actId = ACT_ID_SETTING_UPAY_SHOW_PAYCODE_RESULT; + activity_ext.create = upay_show_paycode_result_create; + activity_ext.prepare_destory = upay_show_paycode_result_prepare_destory; + activity_obj = lv_watch_creat_activity_obj(&activity_ext); + LV_ASSERT_MEM(activity_obj); + if(NULL == activity_obj) + return NULL; + } + upay_paycode_result_obj = activity_obj; + + lv_obj_t * obj = lv_watch_obj_create(activity_obj); + LV_ASSERT_MEM(obj); + if (NULL == obj) + return NULL; + + lv_obj_t * img = lv_img_create(obj, NULL); + LV_ASSERT_MEM(img); + if(img == NULL) + return NULL; + + lv_img_set_src(img, ICON_UPAY_PAYCODE_RESULT); + lv_obj_set_size(img, LV_HOR_RES, 240); + lv_obj_align(img, obj, LV_ALIGN_CENTER, 0, 0); + + lv_obj_t * bitmap_obj = upay_bitmap_show(img, result, 0, 0); + lv_obj_align(bitmap_obj, img , LV_ALIGN_CENTER, 30, 20 + 5); + + //lv_obj_t * btn = lv_btn_create(obj, NULL); + //lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + //lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + //lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + //lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + //lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + //lv_obj_set_style_local_bg_opa(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_0); + //lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + //lv_obj_set_size(btn, LV_HOR_RES, 60); + //lv_obj_align(btn, obj, LV_ALIGN_IN_BOTTOM_LEFT, 10, -10); + //lv_obj_set_event_cb(btn, upay_show_menu_event_cb); + + lv_obj_t * btn = lv_btn_create(img, NULL); + lv_obj_set_size(btn, 120, 50); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, lv_color_make(5, 141, 248)); + lv_obj_set_style_local_radius(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 30); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, lv_color_make(5, 141, 248)); + lv_obj_set_style_local_radius(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 30); + lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, 0); + lv_obj_set_event_cb(btn, upay_show_menu_event_cb); + + lv_obj_t * btn_label = lv_label_create(btn, NULL); + lv_label_set_text_id(btn_label, WATCH_TEXT_ID_ZFB_FINISH); + lv_obj_add_style(btn_label, LV_LABEL_PART_MAIN, &lv_watch_font26); + +#else + if (NULL == activity_obj) { lv_watch_activity_ext_t activity_ext; memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t)); activity_ext.actId = ACT_ID_SETTING_UPAY_SHOW_PAYCODE_RESULT; - activity_ext.create = (lv_watch_activity_create_f_t)upay_show_paycode_result_create; + activity_ext.create = upay_show_paycode_result_create; activity_ext.prepare_destory = upay_show_paycode_result_prepare_destory; activity_obj = lv_watch_creat_activity_obj(&activity_ext); LV_ASSERT_MEM(activity_obj); @@ -958,22 +1217,16 @@ lv_obj_t * upay_show_paycode_result_create(lv_obj_t * activity_obj, char result[ lv_obj_set_style_local_bg_opa(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_0); lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_set_size(btn, 330, 90); - lv_obj_align(btn, obj, LV_ALIGN_IN_BOTTOM_LEFT, 15, -15); -#else lv_obj_set_size(btn, 220, 60); lv_obj_align(btn, obj, LV_ALIGN_IN_BOTTOM_LEFT, 10, -10); -#endif lv_obj_set_event_cb(btn, upay_show_menu_event_cb); - - return obj; +#endif } void upay_show_payresult_task(lv_task_t *task) { - upay_show_paycode_result_create(NULL,(char(*)[14]) task->user_data); + upay_show_paycode_result_create(NULL,(char* ) task->user_data); lv_mem_free(task->user_data); lv_task_del(show_pay_result_task); show_pay_result_task = NULL; @@ -1001,18 +1254,19 @@ void upay_show_menu_del_activeobj_event_cb(lv_obj_t * btn, lv_event_t e) } } -void upay_show_menu_del_activeobj(void) +lv_obj_t * upay_show_menu_del_activeobj() { if (paycode_active_obj == NULL) { printf("upay_show_menu_del_activeobj, paycode_active_obj is NULL\n"); - return; + return NULL; } - lv_watch_obj_hor_hide_action(paycode_active_obj, LV_HOR_RES); + lv_watch_obj_hor_hide_action(paycode_active_obj, LV_HOR_RES); // 240); + paycode_active_obj = NULL; } -void upay_refresh_paycode(lv_obj_t * tabview, char * paycode) +lv_obj_t * upay_refresh_paycode(lv_obj_t * tabview, char * paycode) { if ((upay_paycode_barcode != NULL) && (upay_paycode_qrcode != NULL)) { @@ -1033,11 +1287,7 @@ void upay_refresh_paycode(lv_obj_t * tabview, char * paycode) printf("upay_refresh_paycode, qrcode is %s\n", paycode); lv_obj_align(qrcode, qrcode_img, LV_ALIGN_CENTER, 0, 0); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_t * barcode = barcode_create(barcode_img, 324, 130, paycode); -#else lv_obj_t * barcode = barcode_create(barcode_img, 216, 87, paycode); -#endif lv_obj_align(barcode, barcode_img, LV_ALIGN_CENTER, 0, 0); upay_paycode_barcode = barcode; @@ -1050,15 +1300,11 @@ void upay_refresh_paycode(lv_obj_t * tabview, char * paycode) lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_upay_barcode); lv_label_set_text(label, paycode); lv_obj_set_click(label, false); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_align(label, barcode_img, LV_ALIGN_CENTER, 0, 90); -#else lv_obj_align(label, barcode_img, LV_ALIGN_CENTER, 0, 60); -#endif } - if(lwip_get_default_nw_ifname() != NULL) + if(netif_get_default_nw() != NULL) { printf("%s: ---------------------------- get payment result\n", __func__); upay_msg_t msg; @@ -1071,7 +1317,14 @@ void upay_refresh_paycode(lv_obj_t * tabview, char * paycode) printf("upay_refresh_paycode, someone click the page\n"); } -//static int i = 0; +void upay_check_paycode_event_cb(lv_obj_t * tabview, lv_event_t e) +{ + if(LV_EVENT_CLICKED == e) { + upay_check_paycode_click(tabview); + } +} + +static int i = 0; void upay_check_paycode_click(lv_obj_t * obj) { @@ -1091,16 +1344,50 @@ void upay_check_paycode_click(lv_obj_t * obj) } } -void upay_check_paycode_event_cb(lv_obj_t * tabview, lv_event_t e) +void upay_show_menu_paycode_bar_code(lv_obj_t * tabview, char *paycode) { - if(LV_EVENT_CLICKED == e) { - upay_check_paycode_click(tabview); - } -} +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + lv_obj_t * tab = lv_watch_tabview_add_tab(tabview); + lv_obj_add_style(tab, LV_PAGE_PART_BG, &lv_style_transp_tight); + lv_obj_add_style(tab, LV_PAGE_PART_SCROLLABLE, &lv_style_transp_tight); + + lv_obj_set_style_local_pad_top(tab, LV_PAGE_PART_BG, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_bottom(tab, LV_PAGE_PART_BG, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_left(tab, LV_PAGE_PART_BG, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_right(tab, LV_PAGE_PART_BG, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_inner(tab, LV_PAGE_PART_BG, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_top(tab, LV_PAGE_PART_SCROLLABLE, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_bottom(tab, LV_PAGE_PART_SCROLLABLE, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_left(tab, LV_PAGE_PART_SCROLLABLE, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_right(tab, LV_PAGE_PART_SCROLLABLE, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_inner(tab, LV_PAGE_PART_SCROLLABLE, LV_STATE_DEFAULT, 0); + LV_ASSERT_MEM(tab); + if (tab == NULL) + return; + + lv_obj_t * img = lv_img_create(tab, NULL); + if (img == NULL) + return; + + lv_img_set_src(img, ICON_UPAY_BARCODE); + lv_obj_set_size(img, LV_HOR_RES, LV_VER_RES); // 240); + lv_obj_align(img, NULL, LV_ALIGN_CENTER, 0, 0); + + lv_obj_t * barcode = barcode_create(img, 216, 87, paycode); + lv_obj_align(barcode, img, LV_ALIGN_CENTER, 0, 0); + + upay_paycode_barcode = barcode; + //lv_obj_set_event_cb(barcode, upay_check_paycode_event_cb); + + lv_obj_t * label = lv_label_create(img, NULL); + lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font20_black); + lv_label_set_text(label, paycode); + lv_obj_set_click(label, false); + lv_obj_align(label, img, LV_ALIGN_CENTER, 0, 60); + +#else -void upay_show_menu_paycode_bar_code(lv_obj_t * tabview, char *paycode) -{ lv_obj_t * tab = lv_watch_tabview_add_tab(tabview); lv_obj_add_style(tab, LV_PAGE_PART_BG, &lv_style_transp_tight); @@ -1130,11 +1417,7 @@ void upay_show_menu_paycode_bar_code(lv_obj_t * tabview, char *paycode) lv_img_set_src(img1, ICON_UPAY_BARCODE); lv_obj_set_size(img1, LV_HOR_RES, LV_VER_RES); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_t * barcode = barcode_create(img1, 324, 130, paycode); -#else lv_obj_t * barcode = barcode_create(img1, 216, 87, paycode); -#endif lv_obj_align(barcode, img1, LV_ALIGN_CENTER, 0, 0); upay_paycode_barcode = barcode; //lv_obj_set_event_cb(barcode, upay_check_paycode_event_cb); @@ -1148,16 +1431,34 @@ void upay_show_menu_paycode_bar_code(lv_obj_t * tabview, char *paycode) lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_upay_barcode); lv_label_set_text(label, paycode); lv_obj_set_click(label, false); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_align(label, img1, LV_ALIGN_CENTER, 0, 90); -#else lv_obj_align(label, img1, LV_ALIGN_CENTER, 0, 60); -#endif return; +#endif } void upay_show_menu_paycode_qr_code(lv_obj_t * tabview, char *paycode) { +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + lv_obj_t * tab = lv_watch_tabview_add_tab(tabview); + if (tab == NULL) + { + return; + } + lv_obj_add_style(tab, LV_PAGE_PART_BG, &lv_style_transp_tight); + lv_obj_add_style(tab, LV_PAGE_PART_SCROLLABLE, &lv_style_transp_tight); + + lv_obj_t * img = lv_img_create(tab, NULL); + lv_img_set_src(img, ICON_UPAY_QRCODE); + lv_obj_set_size(img, LV_HOR_RES, LV_VER_RES); // 240); + lv_obj_align(img, NULL, LV_ALIGN_CENTER, 0, 0); + + lv_obj_t * qrcode = qrcode_gen(img, paycode, 0, 0, QRCODE_WIDTH); + lv_obj_align(qrcode, img, LV_ALIGN_CENTER, 0, 0); + + upay_paycode_qrcode = qrcode; + +#else + lv_obj_t * tab1 = lv_watch_tabview_add_tab(tabview); lv_obj_add_style(tab1, LV_PAGE_PART_BG, &lv_style_transp_tight); lv_obj_add_style(tab1, LV_PAGE_PART_SCROLLABLE, &lv_style_transp_tight); @@ -1170,7 +1471,7 @@ void upay_show_menu_paycode_qr_code(lv_obj_t * tabview, char *paycode) lv_obj_t * content = lv_cont_create(tab1, NULL); lv_cont_set_fit(content, LV_FIT_NONE); - lv_obj_set_size(content, LV_HOR_RES, LV_HOR_RES); + lv_obj_set_size(content, 240, 240); lv_obj_add_style(content, LV_OBJ_PART_MAIN, &lv_watch_image); lv_obj_set_style_local_bg_color(content,LV_OBJ_PART_MAIN,LV_STATE_DEFAULT,LV_COLOR_WHITE); lv_cont_set_layout(content, LV_LAYOUT_OFF); @@ -1187,18 +1488,81 @@ void upay_show_menu_paycode_qr_code(lv_obj_t * tabview, char *paycode) upay_paycode_qrcode = qrcode; return; +#endif } -#if 0 static void auto_jump_paycode_loader(lv_task_t * task) { printf("[%s %d]\n\r",__func__,__LINE__); upay_check_paycode_click((lv_obj_t *)task->user_data); } -#endif lv_obj_t * upay_show_paycode_btn_create(lv_obj_t * activity_obj, char *paycode) { +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + ALIPAY_DEBUG_PRINTF("[%s][%d]: paycode=%s\n", __FUNCTION__, __LINE__, paycode); + upay_screen_sleep_timer_disable(); + + if(paycode == NULL) + return NULL; + + if (NULL == activity_obj) { + lv_watch_activity_ext_t activity_ext; + memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t)); + activity_ext.actId = ACT_ID_SETTING_UPAY_SHOW_PAYCODE; + activity_ext.create = upay_show_paycode_btn_create; + activity_ext.prepare_destory = upay_show_paycode_btn_prepare_destory; + activity_obj = lv_watch_creat_activity_obj(&activity_ext); + if(NULL == activity_obj) + return NULL; + } + ALIPAY_DEBUG_PRINTF("[%s][%d]: \n", __FUNCTION__, __LINE__); + + paycode_active_obj = activity_obj; + + lv_obj_t * tabview = lv_watch_tabview_create(activity_obj); + lv_watch_tabview_ext_t * ext = lv_obj_get_ext_attr(tabview); + ext->anim_time = 50; + ext->hor_sliding_loop_en = 0; + //lv_watch_tabview_set_edge_flash(tabview, true); + lv_watch_tabview_set_edge_flash(tabview, false); + //lv_obj_set_style_local_bg_color(tabview, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + ALIPAY_DEBUG_PRINTF("[%s][%d]: activity_obj=%p, tabview=%p\n", __FUNCTION__, __LINE__, activity_obj, tabview); + + lv_obj_t * btn = lv_btn_create(tabview, NULL); + lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_bg_opa(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_0); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, LV_COLOR_BLACK); + lv_obj_set_size(btn, LV_HOR_RES, 35); + lv_obj_align(btn, tabview, LV_ALIGN_IN_TOP_MID, 0, 0); + lv_obj_set_event_cb(btn, upay_show_menu_del_activeobj_event_cb); + + lv_obj_t * btn_label = lv_label_create(btn, NULL); + lv_obj_add_style(btn_label, LV_LABEL_PART_MAIN, &lv_watch_font26); + lv_label_set_text_id(btn_label, WATCH_TEXT_ID_BACK); + + upay_show_menu_paycode_bar_code(tabview, paycode); + upay_show_menu_paycode_qr_code(tabview, paycode); + + //lv_task_create(auto_jump_paycode_loader, 3000, LV_TASK_PRIO_LOWEST, (void *)tabview); + + if(netif_get_default_nw() != NULL) + { + ALIPAY_DEBUG_PRINTF("[%s][%d]: \n", __FUNCTION__, __LINE__); + upay_msg_t msg; + msg.cmd = UPAY_MSG_GET_PAYMENT_RESULT; + msg.userdata = (void*)tabview; + msg.args = NULL; + upay_msg_send(&msg); + } + +#else + printf("[%s %d] paycode = %s \n\r",__func__,__LINE__,paycode); upay_screen_sleep_timer_disable(); @@ -1209,7 +1573,7 @@ lv_obj_t * upay_show_paycode_btn_create(lv_obj_t * activity_obj, char *paycode) lv_watch_activity_ext_t activity_ext; memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t)); activity_ext.actId = ACT_ID_SETTING_UPAY_SHOW_PAYCODE; - activity_ext.create = (lv_watch_activity_create_f_t)upay_show_paycode_btn_create; + activity_ext.create = upay_show_paycode_btn_create; activity_ext.prepare_destory = upay_show_paycode_btn_prepare_destory; activity_obj = lv_watch_creat_activity_obj(&activity_ext); LV_ASSERT_MEM(activity_obj); @@ -1240,11 +1604,7 @@ lv_obj_t * upay_show_paycode_btn_create(lv_obj_t * activity_obj, char *paycode) lv_obj_set_style_local_bg_opa(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_0); lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_set_size(btn, 90, 45); -#else lv_obj_set_size(btn, 60, 30); -#endif lv_obj_align(btn, tabview, LV_ALIGN_IN_TOP_MID, 0, 0); lv_obj_set_event_cb(btn, upay_show_menu_del_activeobj_event_cb); @@ -1252,7 +1612,7 @@ lv_obj_t * upay_show_paycode_btn_create(lv_obj_t * activity_obj, char *paycode) //lv_task_create(auto_jump_paycode_loader, 3000, LV_TASK_PRIO_LOWEST, (void *)tabview); - if(lwip_get_default_nw_ifname() != NULL) + if(netif_get_default_nw() != NULL) { printf("%s: ---------------------------- get payment result\n", __func__); upay_msg_t msg; @@ -1261,8 +1621,7 @@ lv_obj_t * upay_show_paycode_btn_create(lv_obj_t * activity_obj, char *paycode) msg.args = NULL; upay_msg_send(&msg); } - - return paycode_active_obj; +#endif } void upay_show_paycode_creat_task(lv_task_t *task) @@ -1320,15 +1679,14 @@ void upay_paycode_flush(lv_obj_t * tabview, char * paycode) void setting_show_receive_red_envelopes_btn_action(lv_obj_t * btn, lv_event_t e) { - //printf("[%s %d], e is %d\n\r",__func__,__LINE__, e); + (void)btn; + printf("[%s %d], e is %d\n\r",__func__,__LINE__, e); + lv_img_cache_invalidate_src(NULL); if(LV_EVENT_CLICKED != e) { return; } - (void)btn; - lv_img_cache_invalidate_src(NULL); - printf("[%s %d]\n\r",__func__,__LINE__); if(upay_check_bind_status() != UPAY_RC_TRUE) @@ -1347,19 +1705,19 @@ void setting_show_receive_red_envelopes_btn_action(lv_obj_t * btn, lv_event_t e) #endif } - //return LV_RES_OK; + return LV_RES_OK; } void setting_show_parent_ctrl_btn_action(lv_obj_t * btn, lv_event_t e) { - //printf("[%s %d], e is %d\n\r",__func__,__LINE__, e); + (void)btn; + printf("[%s %d], e is %d\n\r",__func__,__LINE__, e); if(LV_EVENT_CLICKED != e) { return; } - (void)btn; if(upay_check_bind_status() != UPAY_RC_TRUE) { @@ -1374,29 +1732,93 @@ void setting_show_parent_ctrl_btn_action(lv_obj_t * btn, lv_event_t e) upay_msg_send(&msg); } - //return LV_RES_OK; + return LV_RES_OK; } -void upay_parent_ctrl_del_activeobj(void) +void upay_parent_ctrl_del_activeobj_event_cb(lv_obj_t * btn, lv_event_t e) +{ + if(LV_EVENT_CLICKED == e) { + upay_parent_ctrl_del_activeobj(); + } +} + +lv_obj_t * upay_parent_ctrl_del_activeobj() { if (upay_parent_ctrl_obj == NULL) { printf("upay_parent_ctrl_del_activeobj, upay_parent_ctrl_obj is NULL\n"); - return; + return NULL; } - lv_watch_obj_hor_hide_action(upay_parent_ctrl_obj, LV_HOR_RES); + lv_watch_obj_hor_hide_action(upay_parent_ctrl_obj, LV_HOR_RES); // 240); upay_parent_ctrl_obj = NULL; } -void upay_parent_ctrl_del_activeobj_event_cb(lv_obj_t * btn, lv_event_t e) +lv_obj_t * upay_show_parent_ctrl_create(lv_obj_t * activity_obj, char * result) { - if(LV_EVENT_CLICKED == e) { - upay_parent_ctrl_del_activeobj(); - } -} +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + char buffer[100] = {0}; + int len = 0; + memset(buffer, 0, sizeof(buffer)); + len = sizeof(buffer); + upay_get_logon_id(buffer, &len); + + ALIPAY_DEBUG_PRINTF("[%s][%d]: result=%s\n", __FUNCTION__, __LINE__, result); + ALIPAY_DEBUG_PRINTF("[%s][%d]: buffer=%s\n", __FUNCTION__, __LINE__, buffer); + + lv_obj_t * list = upay_parent_list_create(NULL); + lv_watch_list_ext_t * ext = lv_obj_get_ext_attr(list); + list = ext->list; + if(list == NULL) + return NULL; + + lv_obj_t * btn1 = lv_list_add_btn(list, NULL, NULL); + lv_watch_obj_add_element(btn1); + + lv_obj_set_style_local_pad_top(btn1, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_bottom(btn1, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_left(btn1, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_right(btn1, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_inner(btn1, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + + lv_obj_set_size(btn1, LV_HOR_RES, 360); + lv_obj_set_click(btn1, false); + + lv_obj_t * img = lv_img_create(btn1, NULL); + lv_img_set_src(img, ICON_UPAY_PARENT_CTRL); + lv_obj_set_click(img, false); + + lv_obj_t * btn = lv_btn_create(img, NULL); + lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_bg_opa(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_0); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, LV_COLOR_BLACK); + lv_obj_set_size(btn, LV_HOR_RES, 35); + lv_obj_align(btn, img, LV_ALIGN_IN_TOP_MID, 0, 0); + lv_obj_set_event_cb(btn, upay_parent_ctrl_del_activeobj_event_cb); + + lv_obj_t * btn_label = lv_label_create(btn, NULL); + lv_obj_add_style(btn_label, LV_LABEL_PART_MAIN, &lv_watch_font26); + lv_label_set_text_id(btn_label, WATCH_TEXT_ID_BACK); + + lv_obj_t * label = lv_label_create(img, NULL); + //lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font20); + static lv_style_t lv_buffer_name; + lv_style_init(&lv_buffer_name); + lv_style_copy(&lv_buffer_name, &lv_watch_font20); + lv_style_set_text_color(&lv_buffer_name, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_buffer_name); + lv_label_set_text(label, buffer); + lv_obj_align(label, img, LV_ALIGN_IN_TOP_MID, 0, 150); + + lv_obj_t * qrcode = qrcode_gen(img, result, 0, 0, PARENT_CTRL_QRCODE_WIDTH); + lv_obj_align(qrcode, img, LV_ALIGN_IN_TOP_MID, 0, 180); + +#else -void upay_show_parent_ctrl_create(lv_obj_t * activity_obj, char * result) -{ printf("[%s %d]\n\r",__func__,__LINE__); char buffer[100] = {0}; int len = 0; @@ -1408,7 +1830,7 @@ void upay_show_parent_ctrl_create(lv_obj_t * activity_obj, char * result) lv_obj_t * list = upay_parent_list_create(NULL); lv_watch_list_ext_t * ext = lv_obj_get_ext_attr(list); list = ext->list; - if(list == NULL) return; + if(list == NULL) return NULL; lv_obj_t * btn1 = lv_list_add_btn(list, NULL, NULL); lv_watch_obj_add_element(btn1); @@ -1421,7 +1843,7 @@ void upay_show_parent_ctrl_create(lv_obj_t * activity_obj, char * result) printf("[%s %d]\n\r",__func__,__LINE__); - lv_obj_set_size(btn1, LV_HOR_RES, LV_HOR_RES); + lv_obj_set_size(btn1, 240, 360); lv_obj_set_click(btn1, false); printf("[%s %d]\n\r",__func__,__LINE__); @@ -1441,19 +1863,11 @@ void upay_show_parent_ctrl_create(lv_obj_t * activity_obj, char * result) lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_buffer_name); lv_label_set_text(label, buffer); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_align(label, img, LV_ALIGN_IN_TOP_MID, 0, 225); -#else lv_obj_align(label, img, LV_ALIGN_IN_TOP_MID, 0, 150); -#endif printf("[%s %d] result is %s\n\r",__func__,__LINE__, result); lv_obj_t * qrcode = qrcode_gen(img, result, 0, 0, PARENT_CTRL_QRCODE_WIDTH); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_align(qrcode, img, LV_ALIGN_IN_TOP_MID, 0, 270); -#else lv_obj_align(qrcode, img, LV_ALIGN_IN_TOP_MID, 0, 180); -#endif lv_obj_t * btn = lv_btn_create(img, NULL); @@ -1465,24 +1879,30 @@ void upay_show_parent_ctrl_create(lv_obj_t * activity_obj, char * result) lv_obj_set_style_local_bg_opa(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_0); lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_set_size(btn, 90, 45); -#else lv_obj_set_size(btn, 60, 30); -#endif lv_obj_align(btn, img, LV_ALIGN_IN_TOP_MID, 0, 0); lv_obj_set_event_cb(btn, upay_parent_ctrl_del_activeobj_event_cb); printf("[%s %d]\n\r",__func__,__LINE__); +#endif } -void upay_collect_qrcode_del_activeobj() +void upay_collect_qrcode_del_activeobj_event_cb(lv_obj_t * btn, lv_event_t e) +{ + printf("[%s %d] e is %d\n\r",__func__,__LINE__, e); + if(LV_EVENT_CLICKED == e) { + printf("[%s %d]\n\r",__func__,__LINE__); + upay_collect_qrcode_del_activeobj(); + } +} + +lv_obj_t * upay_collect_qrcode_del_activeobj() { printf("[%s %d]\n\r",__func__,__LINE__); if (upay_collect_qrcode_obj == NULL) { printf("upay_collect_qrcode_del_activeobj, upay_collect_qrcode_obj is NULL\n"); - return; + return NULL; } printf("[%s %d]\n\r",__func__,__LINE__); //lv_obj_clean(collect_img); @@ -1494,23 +1914,61 @@ void upay_collect_qrcode_del_activeobj() printf("[%s %d]\n\r",__func__,__LINE__); } -void upay_collect_qrcode_del_activeobj_event_cb(lv_obj_t * btn, lv_event_t e) -{ - //printf("[%s %d] e is %d\n\r",__func__,__LINE__, e); - if(LV_EVENT_CLICKED == e) { - printf("[%s %d]\n\r",__func__,__LINE__); - upay_collect_qrcode_del_activeobj(); - } -} - lv_obj_t * upay_show_collect_qrcode_create(lv_obj_t * activity_obj, char *result) { +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + if (NULL == activity_obj) { + lv_watch_activity_ext_t activity_ext; + memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t)); + activity_ext.actId = ACT_ID_SETTING_UPAY_COLLECT_QRCODE; + activity_ext.create = upay_show_collect_qrcode_create; + activity_ext.prepare_destory = upay_show_collect_qrcode_prepare_destory; + activity_obj = lv_watch_creat_activity_obj(&activity_ext); + LV_ASSERT_MEM(activity_obj); + if(NULL == activity_obj) { + return NULL; + } + } + upay_collect_qrcode_obj = activity_obj; + + lv_obj_t * obj = lv_watch_obj_create(activity_obj); + LV_ASSERT_MEM(obj); + if (NULL == obj) + return NULL; + + lv_obj_t * img = lv_img_create(obj, NULL); + lv_img_set_src(img, ICON_UPAY_COLLECT_QRCODE); + lv_obj_set_size(img, LV_HOR_RES, LV_VER_RES); + lv_obj_align(img, NULL, LV_ALIGN_CENTER, 0, 0); + + lv_obj_t * btn = lv_btn_create(img, NULL); + lv_obj_set_style_local_pad_top(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_bottom(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_left(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_right(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_pad_inner(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 0); + lv_obj_set_style_local_bg_opa(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_0); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); + lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, LV_COLOR_BLACK); + lv_obj_set_size(btn, LV_HOR_RES, 35); + lv_obj_align(btn, img, LV_ALIGN_IN_TOP_MID, 0, 0); + lv_obj_set_event_cb(btn, upay_collect_qrcode_del_activeobj_event_cb); + + lv_obj_t * btn_label = lv_label_create(btn, NULL); + lv_obj_add_style(btn_label, LV_LABEL_PART_MAIN, &lv_watch_font26); + lv_label_set_text_id(btn_label, WATCH_TEXT_ID_BACK); + + lv_obj_t * qrcode = qrcode_gen(img, result, 0, 0, COLLECT_QRCODE_WIDTH); + lv_obj_align(qrcode, img, LV_ALIGN_CENTER, 0, -10); + +#else + printf("[%s %d]\n\r",__func__,__LINE__); if (NULL == activity_obj) { lv_watch_activity_ext_t activity_ext; memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t)); activity_ext.actId = ACT_ID_SETTING_UPAY_COLLECT_QRCODE; - activity_ext.create = (lv_watch_activity_create_f_t)upay_show_collect_qrcode_create; + activity_ext.create = upay_show_collect_qrcode_create; activity_ext.prepare_destory = upay_show_collect_qrcode_prepare_destory; activity_obj = lv_watch_creat_activity_obj(&activity_ext); LV_ASSERT_MEM(activity_obj); @@ -1531,7 +1989,7 @@ lv_obj_t * upay_show_collect_qrcode_create(lv_obj_t * activity_obj, char *result lv_obj_t * content = lv_cont_create(obj, NULL); lv_cont_set_fit(content, LV_FIT_NONE); - lv_obj_set_size(content, LV_HOR_RES, LV_HOR_RES); + lv_obj_set_size(content, 240, 240); lv_obj_add_style(content, LV_OBJ_PART_MAIN, &lv_watch_image); lv_obj_set_style_local_bg_color(content,LV_OBJ_PART_MAIN,LV_STATE_DEFAULT,LV_COLOR_WHITE); lv_cont_set_layout(content, LV_LAYOUT_OFF); @@ -1557,15 +2015,10 @@ lv_obj_t * upay_show_collect_qrcode_create(lv_obj_t * activity_obj, char *result lv_obj_set_style_local_bg_opa(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_0); lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); -#if USE_LV_WATCH_UI_360_360 != 0 - lv_obj_set_size(btn, 90, 45); -#else lv_obj_set_size(btn, 60, 30); -#endif lv_obj_align(btn, content, LV_ALIGN_IN_TOP_MID, 0, 0); lv_obj_set_event_cb(btn, upay_collect_qrcode_del_activeobj_event_cb); - - return obj; +#endif } static lv_obj_t *upay_bitmap_show(lv_obj_t *par, char bitmap[32][14], int x_start, int y_start) @@ -1719,6 +2172,7 @@ lv_obj_t * upay_list_create(lv_obj_t * activity_obj) LV_ASSERT_MEM(content); if(content == NULL) return NULL; lv_obj_add_style(content, LV_CONT_PART_MAIN, &lv_watch_style_transp); + lv_obj_set_style_local_bg_color(content, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK); lv_obj_set_click(content, false); lv_obj_align(content, obj, LV_ALIGN_CENTER, 0, 0); @@ -1895,7 +2349,7 @@ static void upay_parent_list_prepare_destory(lv_obj_t * activity_obj) if (upay_parent_ctrl_obj == NULL) { printf("upay_parent_ctrl_del_activeobj, upay_parent_ctrl_obj is NULL\n"); - return; + return NULL; } upay_parent_ctrl_obj = NULL; diff --git a/2.sdk/gui/lv_watch/lv_apps/alipay/upay.h b/2.sdk/gui/lv_watch/lv_apps/alipay/alipay.h similarity index 68% rename from 2.sdk/gui/lv_watch/lv_apps/alipay/upay.h rename to 2.sdk/gui/lv_watch/lv_apps/alipay/alipay.h index ffc8b1c8..b8103e46 100644 --- a/2.sdk/gui/lv_watch/lv_apps/alipay/upay.h +++ b/2.sdk/gui/lv_watch/lv_apps/alipay/alipay.h @@ -20,11 +20,19 @@ extern "C" { #include "../../../lvgl/lvgl.h" #include "../../../lv_ex_conf.h" #endif -#include "../../../../product/craneg_modem/alios/upay/include/upay.h" /********************* * DEFINES *********************/ +#ifdef __MMI_ZHSX_SUPPORT_ALIPAY__ + +#define __MMI_ALIPAY_DEBUG__ +#ifdef __MMI_ALIPAY_DEBUG__ +#define ALIPAY_DEBUG_PRINTF(fmt, ...) printf("[ALIPAY][@CHENG_DEBUG]"fmt, ##__VA_ARGS__) +#else +#define ALIPAY_DEBUG_PRINTF(fmt, ...) +#endif +#endif /********************** * TYPEDEFS @@ -43,7 +51,7 @@ void setting_show_paycode_btn_action(lv_obj_t * obj, lv_event_t e); lv_obj_t * upay_create(lv_obj_t * activity_obj); lv_res_t upay_create_btn_action(lv_obj_t * btn); -void upay_show_parent_ctrl_create(lv_obj_t * activity_obj, char *result); +lv_obj_t * upay_show_parent_ctrl_create(lv_obj_t * activity_obj, char *result); lv_obj_t * upay_show_paycode_btn_create(lv_obj_t * activity_obj, char *paycode); @@ -57,17 +65,6 @@ lv_obj_t * upay_list_create(lv_obj_t * activity_obj); lv_obj_t * upay_parent_list_create(lv_obj_t * activity_obj); -void upay_show_bind_success(void * param); -void upay_show_binding(lv_obj_t * obj); -void upay_show_bind_timeout(lv_obj_t * obj); -void upay_show_bind_fail(lv_obj_t * obj); -void upay_alert_show_menu(void); -void upay_show_alert_create(lv_obj_t * obj, upay_rsp_code_t rsp_code); -void upay_refresh_paycode(lv_obj_t * tabview, char * paycode); - -typedef void (* alipay_disable_screen_sleep_func) (void); -typedef void (* alipay_enable_screen_sleep_func) (void); -void alipay_register_screen_sleep_function(alipay_disable_screen_sleep_func disable_sleep_func, alipay_enable_screen_sleep_func enable_sleep_func); /********************** * MACROS @@ -84,8 +81,7 @@ enum{ enum{ UPAY_ALIPAY_IDE = 0, UPAY_ALIPAY_INITING = 1, - UPAY_ALIPAY_INIT_FAILED = 2, - UPAY_ALIPAY_SUCCESS = 3, + UPAY_ALIPAY_INTED = 2, }; diff --git a/2.sdk/gui/lv_watch/lv_apps/alipay/alipay_adapter.a b/2.sdk/gui/lv_watch/lv_apps/alipay/alipay_adapter.a deleted file mode 100644 index baf80787..00000000 Binary files a/2.sdk/gui/lv_watch/lv_apps/alipay/alipay_adapter.a and /dev/null differ diff --git a/2.sdk/gui/lv_watch/lv_apps/alipay/alipay_adapter.h b/2.sdk/gui/lv_watch/lv_apps/alipay/alipay_adapter.h deleted file mode 100644 index 25609573..00000000 --- a/2.sdk/gui/lv_watch/lv_apps/alipay/alipay_adapter.h +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @file language.h - * - */ -#ifndef LANGUAGE_H -#define LANGUAGE_H - -#ifdef __cplusplus -extern "C" { -#endif - -/********************* - * INCLUDES - *********************/ - -#ifdef LV_CONF_INCLUDE_SIMPLE -#include "lvgl.h" -#include "lv_watch_conf.h" -#else -#include "../../../lvgl/lvgl.h" -#include "../../../lv_watch_conf.h" -#endif - -#if USE_LV_WATCH_ALIPAY != 0 - -/********************* - * DEFINES - *********************/ - -/********************** - * TYPEDEFS - **********************/ -typedef struct { - lv_watch_obj_ext_t lv_watch_obj; - /*New data for this type */ - lv_obj_t * cb_ch; - lv_obj_t * cb_en; - lv_obj_t * label_lang; -} lv_language_obj_ext_t; - -/********************** - * GLOBAL PROTOTYPES - **********************/ -bool do_upay_init(void); - -/********************** - * MACROS - **********************/ - -#endif /*USE_LV_WATCH_ALIPAY*/ - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /*LANGUAGE_H*/ diff --git a/2.sdk/gui/lv_watch/lv_apps/alipay/swupay.a b/2.sdk/gui/lv_watch/lv_apps/alipay/swupay.a deleted file mode 100644 index b496dd57..00000000 Binary files a/2.sdk/gui/lv_watch/lv_apps/alipay/swupay.a and /dev/null differ diff --git a/2.sdk/gui/lv_watch/lv_apps/alipay/upay_interface.c b/2.sdk/gui/lv_watch/lv_apps/alipay/upay_interface.c index 8c8ac5c0..36aa62cc 100644 --- a/2.sdk/gui/lv_watch/lv_apps/alipay/upay_interface.c +++ b/2.sdk/gui/lv_watch/lv_apps/alipay/upay_interface.c @@ -12,9 +12,10 @@ #include #include "lv_drv_conf.h" #include "../../../../product/craneg_modem/alios/upay/include/upay.h" -#include "kernel.h" +//#include "kernel.h" +#include "../../../../product/craneg_modem/alios/common/include/kernel.h" #include "upay_interface.h" -#include "lv_watch.h" +//#include "lv_watch.h" /********************* * DEFINES *********************/ @@ -39,8 +40,6 @@ static int paycode_flush_st = PAYCOD_UI_CREAT; /********************** * MACROS **********************/ -extern const char* lwip_get_default_nw_ifname(void); - /********************** * GLOBAL FUNCTIONS ***********************/ @@ -59,7 +58,7 @@ static void alipay_send_msg_cmd(int32_t msg_id) } void upay_set_paycode_flush(int st) { - paycode_flush_st = st; + paycode_flush_st = st; } void alipay_show_bind_qrcode(char *bind_qrcode) @@ -105,6 +104,7 @@ void alipay_show_bind_timeout() void alipay_show_menu() { + ALIPAY_DEBUG_PRINTF("[%s][%d]: \n", __FUNCTION__, __LINE__); alipay_send_msg_cmd(ALIPAY_UI_SHOW_MENU); return; } @@ -169,8 +169,9 @@ void alipay_show_paycode_result_create(char result[32][14]) return; } memset(send_msg_info->msg_data, 0, 32*14); - memcpy(send_msg_info->msg_data, result, 32*14); - //strcpy(send_msg_info->msg_data, (char*)result); + /*memcpy(send_msg_info->msg_data, result);*/ + //strcpy(send_msg_info->msg_data, result); + memcpy(send_msg_info->msg_data, result, 32*14); send_msg_info->alipay_msg_id = ALIPAY_UI_SHOW_PAY_RESULT; UI_Send_Inter_Msg(UI_SUB_MODULE_WATCH_UI, MMI_ALIPAY_MSG_HANDLE, send_msg_info); @@ -212,7 +213,7 @@ void alipay_return_bind_qrcode() } /* TODO adds alipay itf by dsp */ -void alipay_show_unbind_success(uint8_t unbind_st) +void alipay_show_unbind_success(uint8 unbind_st) { if(unbind_st) { //由手机端APP解绑,无需处理 @@ -236,7 +237,7 @@ void alipay_alert_pay_fail() // 有网返回1,无网返回0 int aos_watch_alipay_network_check() { - if(lwip_get_default_nw_ifname() == NULL){ + if(netif_get_default_nw() == NULL){ return 0; }else{ return 1; @@ -247,8 +248,10 @@ void aos_watch_alipay_msg_handle(void *msg) { UI_Os_Msg_t *recv_uis_msg = (UI_Os_Msg_t*)msg; alipay_ui_msg_t *msg_info = recv_uis_msg->pMsg; - printf("msg id = %d",msg_info->alipay_msg_id); + //printf("msg id = %d",msg_info->alipay_msg_id); // printf("result %s",(char*)msg_info->msg_data); + ALIPAY_DEBUG_PRINTF("[%s][%d]: id=%d\n", __FUNCTION__, __LINE__, msg_info->alipay_msg_id); + ALIPAY_DEBUG_PRINTF("[%s][%d]: data=%s\n", __FUNCTION__, __LINE__, msg_info->msg_data); switch (msg_info->alipay_msg_id) { @@ -288,23 +291,23 @@ void aos_watch_alipay_msg_handle(void *msg) break; case ALIPAY_UI_SHOW_PAY_RESULT: lv_img_cache_invalidate_src(NULL); - upay_show_paycode_result_create(NULL,(char(*)[14])msg_info->msg_data); + upay_show_paycode_result_create(NULL,(char*)msg_info->msg_data); break; case ALIPAY_UI_ALERT_UNBIND: //TODO: 获取当前obj - upay_show_alert_create(lv_watch_get_top_activity_obj(), UPAY_RSP_UNBIND_BY_USER); + upay_show_alert_create((lv_obj_t *)g_userdata_ptr,UPAY_RSP_UNBIND_BY_USER); break; case ALIPAY_UI_ALERT_PAYMENT_FAIL: //TODO: 获取当前obj - upay_show_alert_create(lv_watch_get_top_activity_obj(), UPAY_RSP_PAYMENT_FAIL); + upay_show_alert_create((lv_obj_t *)g_userdata_ptr, UPAY_RSP_PAYMENT_FAIL); break; case ALIPAY_UI_ALERT_PAYMENT_UNKNOWN: //TODO: 获取当前obj - upay_show_alert_create(lv_watch_get_top_activity_obj(), UPAY_RSP_PAYMENT_UNKNOWN); + upay_show_alert_create((lv_obj_t *)g_userdata_ptr, UPAY_RSP_PAYMENT_UNKNOWN); break; case ALIPAY_UI_ALERT_FUNCTION_OFF: //TODO: 获取当前obj - upay_show_alert_create(lv_watch_get_top_activity_obj(), UPAY_RSP_FUNCTION_OFF); + upay_show_alert_create((lv_obj_t *)g_userdata_ptr, UPAY_RSP_FUNCTION_OFF); break; case ALIPAY_UI_SHOW_COLLECTCODE: lv_img_cache_invalidate_src(NULL); diff --git a/2.sdk/gui/lv_watch/lv_apps/alipay/upay_interface.h b/2.sdk/gui/lv_watch/lv_apps/alipay/upay_interface.h index f4d68486..d0d3aa75 100644 --- a/2.sdk/gui/lv_watch/lv_apps/alipay/upay_interface.h +++ b/2.sdk/gui/lv_watch/lv_apps/alipay/upay_interface.h @@ -5,9 +5,6 @@ #ifndef UPAY_INTERFACE_H #define UPAY_INTERFACE_H -void upay_set_paycode_flush(int st); -void aos_watch_alipay_msg_handle(void *msg); - typedef struct { uint32_t alipay_msg_id; diff --git a/2.sdk/gui/lv_watch/lv_watch.c b/2.sdk/gui/lv_watch/lv_watch.c index 05784015..eab1cf8d 100644 --- a/2.sdk/gui/lv_watch/lv_watch.c +++ b/2.sdk/gui/lv_watch/lv_watch.c @@ -80,7 +80,7 @@ static bool watch_ambient = false; /********************** * MACROS **********************/ -extern void do_upay_init(void); +//extern void do_upay_init(void); /********************** * GLOBAL FUNCTIONS diff --git a/2.sdk/gui/lv_watch/lv_watch.h b/2.sdk/gui/lv_watch/lv_watch.h index 06197736..1ab3e389 100644 --- a/2.sdk/gui/lv_watch/lv_watch.h +++ b/2.sdk/gui/lv_watch/lv_watch.h @@ -147,7 +147,7 @@ extern "C" { #include "app_adaptor/bt_SensorHub_adaptor/bt_SensorHub_adaptor_send_api.h" #endif #if USE_LV_WATCH_ALIPAY != 0 -#include "lv_apps/alipay/upay.h" +#include "lv_apps/alipay/alipay.h" #include "lv_apps/alipay/upay_interface.h" #include "../../product/craneg_modem/alios/upay/include/upay.h" #include "../../product/craneg_modem/alios/linkkit/include/aos_identify.h" diff --git a/2.sdk/gui/lv_watch/modem/mmi_modem_adaptor_sim.c b/2.sdk/gui/lv_watch/modem/mmi_modem_adaptor_sim.c index 6f175e56..c2a0a78d 100644 --- a/2.sdk/gui/lv_watch/modem/mmi_modem_adaptor_sim.c +++ b/2.sdk/gui/lv_watch/modem/mmi_modem_adaptor_sim.c @@ -2244,9 +2244,9 @@ VOID MMI_ModemAdp_Ril_Sim_Rsp_Get_Iccid_Handler(UI_Inter_Msg_t * Msg) Hal_Mem_Set(g_ModemSimMng.Iccid[MMI_ModemAdp_Get_UI_SimId(GetIccidRsp->SimId)], 0, strlen(GetIccidRsp->p_iccid) + 1); Hal_Mem_Copy(g_ModemSimMng.Iccid[MMI_ModemAdp_Get_UI_SimId(GetIccidRsp->SimId)], GetIccidRsp->p_iccid, strlen(GetIccidRsp->p_iccid)); printf("Iccid is %s in MMI_ModemAdp_Ril_Sim_Rsp_Get_Iccid_Handler\n", g_ModemSimMng.Iccid[MMI_ModemAdp_Get_UI_SimId(GetIccidRsp->SimId)]); -#if USE_LV_WATCH_ALIPAY != 0 - do_upay_init(); -#endif +//#if USE_LV_WATCH_ALIPAY != 0 +// do_upay_init(); +//#endif } } diff --git a/2.sdk/product/craneg_modem/config/watch/lv_watch_conf.h b/2.sdk/product/craneg_modem/config/watch/lv_watch_conf.h index 202e3df6..5ff36087 100644 --- a/2.sdk/product/craneg_modem/config/watch/lv_watch_conf.h +++ b/2.sdk/product/craneg_modem/config/watch/lv_watch_conf.h @@ -174,6 +174,7 @@ #define __MMI_ZHSX_SUPPORT_SMS__ +#define __MMI_ZHSX_SUPPORT_ALIPAY__ #if 1 //def MMI_WECHAT_SUPPORT #define __MMI_WECHAT_SUPPORT__ diff --git a/2.sdk/product/craneg_modem/lv_gui_main.c b/2.sdk/product/craneg_modem/lv_gui_main.c index 5c853f43..f94752f4 100644 --- a/2.sdk/product/craneg_modem/lv_gui_main.c +++ b/2.sdk/product/craneg_modem/lv_gui_main.c @@ -1127,17 +1127,17 @@ static void backlight_task(lv_task_t * task) } } -#if (USE_LV_WATCH_ALIPAY != 0) || (USE_LV_WATCH_SW_ALIPAY != 0) -extern bool do_upay_init(void); -static lv_task_t * upay_init_task = NULL; -static void upayinit_task(lv_task_t * param) -{ - if(do_upay_init()) { - lv_task_del(upay_init_task); - upay_init_task = NULL; - } -} -#endif +//#if (USE_LV_WATCH_ALIPAY != 0) || (USE_LV_WATCH_SW_ALIPAY != 0) +//extern bool do_upay_init(void); +//static lv_task_t * upay_init_task = NULL; +//static void upayinit_task(lv_task_t * param) +//{ +// if(do_upay_init()) { +// lv_task_del(upay_init_task); +// upay_init_task = NULL; +// } +//} +//#endif static void mmi_init(void) { @@ -1216,11 +1216,11 @@ static void gui_main(void *param) prmode_pm_init(); #endif } -#if (USE_LV_WATCH_ALIPAY != 0) || (USE_LV_WATCH_SW_ALIPAY != 0) - if(NULL == upay_init_task) { - upay_init_task = lv_task_create(upayinit_task, 150, LV_TASK_PRIO_MID, NULL); - } -#endif +//#if (USE_LV_WATCH_ALIPAY != 0) || (USE_LV_WATCH_SW_ALIPAY != 0) +// if(NULL == upay_init_task) { +// upay_init_task = lv_task_create(upayinit_task, 150, LV_TASK_PRIO_MID, NULL); +// } +//#endif app_sensor_task_init();