${CMAKE_CURRENT_SOURCE_DIR}/nativeui/UIInitializer/
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/InitComponent/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/uisample/uitest/framework/include
+
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/include/AlipayList
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/include/AlipayTrans
+
${UI_SAMPLE_ROOT}/components
${CMAKE_CURRENT_SOURCE_DIR}/../service/smart_voice/smart_voice_service/interfaces/innerkits/native_c/include
${CMAKE_CURRENT_SOURCE_DIR}/../service/smart_voice/voice_engine_hal/interfaces/innerkits/native_c/include
${ROOT_DIR}/open_source/openharmony/foundation/graphic/surface/interfaces/kits
${ROOT_DIR}/open_source/openharmony/foundation/graphic/ui/interfaces/kits/components
${ROOT_DIR}/open_source/openharmony/foundation/multimedia/player/interfaces/kits/
+ ${ROOT_DIR}/open_source/openharmony/third_party/qrcodegen/cpp
+ ${ROOT_DIR}/include/middleware/services/bts/common
+ ${ROOT_DIR}/include/middleware/services/bts/ble
+ ${ROOT_DIR}/include/middleware/services/bts/br
+
${ROOT_DIR}/include/middleware/services/bts/common
${ROOT_DIR}/include/middleware/services/bts/ble
${UI_SAMPLE_ROOT}/components/ui_test_video_play/ui_test_video_play.cpp
# ${UI_SAMPLE_ROOT}/components/ui_test_video_play/media_video_play.cpp
)
+if("SUPPORT_ALIPAY_SEC" IN_LIST DEFINES)
+set(SOURCES
+ ${SOURCES}
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayMainView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayModel.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayPresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayBind.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayExitBind.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayBindRes.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayBindAni.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayPayCode.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayBarCode.cpp
+
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipaySetting.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayHelp.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayUnbindFinish.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayUnbind.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayList/AlipayListAdapter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayList/AlipayListView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayList/AlipayListItemView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayTrans/AlipayGetTransList.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayTrans/AlipayTransTips.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayTrans/AlipayTransCode.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayTrans/AlipayTransEnable.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayTrans/AlipayTransRes.cpp
+
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayTrans/AlipayTransListAdapter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayTrans/AlipayTransListView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayTrans/AlipayTransListItemView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/alipay/src/AlipayTrans/AlipayTransAni.cpp
+)
+endif()
set(COMPONENT_PUBLIC_CCFLAGS
)
{
VIEW_INVALID = 0, // 无效视图
/* ----------------------------- 每一个id对应一个slice ----------------------------- */
- VIEW_MAIN = 1, // 主界面
- VIEW_SETTING, // 设置
- VIEW_APPLIST, // App应用
- VIEW_MAIN_ALARM, // 闹钟
- VIEW_ALARM_POP_UP, // 闹铃界面
- VIEW_BLUETOOTH_EARPHONE, // 连接蓝牙耳机界面
- VIEW_CALLER_LOG, // 通话记录界面
- VIEW_INCOMING_CALL, // 来电界面
- VIEW_BLOODOXY, // 血氧饱和度界面
- VIEW_COMPASS, // 指南针界面
- VIEW_CONNECT_PHONE, // 连接手机界面
- VIEW_INDOORWALK, // 室内步行
- VIEW_SHUTDOWN_OR_REBOOT, // 关机或重启界面
- VIEW_WEATHER, // 天气
- VIEW_WEATHER_REPORT, // 气象报告
- VIEW_FUTURE_WEATHER, // 未来天气
- VIEW_GET_WEATHER_DATA_ERROR, // 获取天气数据失败
- VIEW_SYSTEM, // 系统
- VIEW_SOUND_VIBRATION, // 声音与震动
- VIEW_SYSTEM_VOLUME, // 系统音量
- VIEW_CALL_VOLUME, // 通话音量
- VIEW_MEDIA_VOLUME, // 媒体音量
- VIEW_DISPLAY_BRIGHTNESS, // 屏幕与亮度
- VIEW_BRIGHTNESS_CONTROL, // 亮度调节
- VIEW_SCREEN_DURATION, // 亮屏时长
- VIEW_SECONDARY_FUNCTION, // 辅助功能
- VIEW_QUICK_ACCESS, // 快速访问
- VIEW_FAST_TRAINING, // 快速训练
- VIEW_FAST_TRAINING_ATTENTION,// 快速训练项目选择超出提示
+ VIEW_MAIN = 1, // 主界面
+ VIEW_SETTING, // 设置
+ VIEW_APPLIST, // App应用
+ VIEW_MAIN_ALARM, // 闹钟
+ VIEW_ALARM_POP_UP, // 闹铃界面
+ VIEW_BLUETOOTH_EARPHONE, // 连接蓝牙耳机界面
+ VIEW_CALLER_LOG, // 通话记录界面
+ VIEW_INCOMING_CALL, // 来电界面
+ VIEW_BLOODOXY, // 血氧饱和度界面
+ VIEW_COMPASS, // 指南针界面
+ VIEW_CONNECT_PHONE, // 连接手机界面
+ VIEW_INDOORWALK, // 室内步行
+ VIEW_SHUTDOWN_OR_REBOOT, // 关机或重启界面
+ VIEW_WEATHER, // 天气
+ VIEW_WEATHER_REPORT, // 气象报告
+ VIEW_FUTURE_WEATHER, // 未来天气
+ VIEW_GET_WEATHER_DATA_ERROR, // 获取天气数据失败
+ VIEW_SYSTEM, // 系统
+ VIEW_SOUND_VIBRATION, // 声音与震动
+ VIEW_SYSTEM_VOLUME, // 系统音量
+ VIEW_CALL_VOLUME, // 通话音量
+ VIEW_MEDIA_VOLUME, // 媒体音量
+ VIEW_DISPLAY_BRIGHTNESS, // 屏幕与亮度
+ VIEW_BRIGHTNESS_CONTROL, // 亮度调节
+ VIEW_SCREEN_DURATION, // 亮屏时长
+ VIEW_SECONDARY_FUNCTION, // 辅助功能
+ VIEW_QUICK_ACCESS, // 快速访问
+ VIEW_FAST_TRAINING, // 快速训练
+ VIEW_FAST_TRAINING_ATTENTION, // 快速训练项目选择超出提示
/* ---------------------------------- 测试界面 ---------------------------------- */
VIEW_DIAL, // 切换表盘
VIEW_MESSAGE, // 信息通知
VIEW_OFFLINEVOICE, // 语音助手界面(暂时不用)
VIEW_MAIN_ACTIVITY, // 记录步数界面(暂时不用)
VIEW_UISAMPLE, // 示例(暂时不用)
- /* -------------------------------------------------------------------------- */
+/* -------------------------------------------------------------------------- */
+#ifdef SUPPORT_ALIPAY_SEC
+ VIEW_MAIN_ALIPAY,
+#endif
VIEW_MAX_INTER_APP, // 在此之前添加native应用ID.
VIEW_EXTERN_APP = 0xFFFE, // 三方应用
VIEW_INVALIDE_APP = 0xFFFF,
/* --------------------------------测试界面------------------------------------ */
void InitDialSlice(void);
void InitBloodSlice(void);
+ void InitMainAlipaySlice(void);
/* -------------------------------------------------------------------------- */
void InitSecondaryFunction(void);
- void InitQuickAccessSlice(void);
+ void InitQuickAccessSlice(void);
void InitFastTrainingSlice(void);
void InitFastTrainingAttentionSlice(void);
static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_88 = APP_RES_PATH "/Blood/SPO2H/BLOOD_IMAGE_89.bin";
static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_89 = APP_RES_PATH "/Blood/SPO2H/BLOOD_IMAGE_90.bin";
+ /* -------------------------------------------------------------------------- */
+ static constexpr const char *PNG_APPLIST_ALIPAY_IMAGE = APP_RES_PATH "/alipay/ailipy_logo.bin"; // 支付宝
+ static constexpr const char *PNG_ALIPAY_BIND_FAILURE = APP_RES_PATH "/alipay/ALIPAY_BIND_FAILURE.bin";
+ static constexpr const char *PNG_ALIPAY_BIND_SUCCESS = APP_RES_PATH "/alipay/ALIPAY_BIND_SUCCESS.bin";
+ static constexpr const char *PNG_ALIPAY_LIST_PAY = APP_RES_PATH "/alipay/ALIPAY_LIST_PAY.bin";
+ static constexpr const char *PNG_ALIPAY_LIST_TRANS = APP_RES_PATH "/alipay/ALIPAY_LIST_TRANS.bin";
+ static constexpr const char *PNG_ALIPAY_LIST_SETTING = APP_RES_PATH "/alipay/ALIPAY_LIST_SETTING.bin";
+ static constexpr const char *PNG_ALIPAY_LIST_HELP = APP_RES_PATH "/alipay/ALIPAY_LIST_HELP.bin";
+ static constexpr const char *PNG_ALIPAY_PAY_ICON_WHITE = APP_RES_PATH "/alipay/ALIPAY_PAY_ICON_WHITE.bin";
+ static constexpr const char *PNG_ALIPAY_PAY_ICON_GREY = APP_RES_PATH "/alipay/ALIPAY_PAY_ICON_GREY.bin";
+ /* -------------------------------------------------------------------------- */
+
/* ---------------------------------- 闹钟图片 ---------------------------------- */
static constexpr const char *ALARM_ADD_BUTTON_PATH = APP_RES_PATH "/BLUE_ADD.bin";
static constexpr const char *ALARM_CLOCK_CLOSE_ADD_PATH = APP_RES_PATH "/CLOSE_RING_CLOCK.bin";
static constexpr const char *PNG_Message_Wechat = APP_RES_PATH "/message/WeChat-icon.bin"; // 微信消息
static constexpr const char *PNG_Message_QQ = APP_RES_PATH "/message/QQ-icon.bin"; // QQ消息
/* ---------------------------------- 通用图片 ---------------------------------- */
- static constexpr const char *PNG_CHECKBOX_OFF_IMAGE = APP_RES_PATH "/CHECKBOX_OFF.bin"; // checkbox未选中图片
- static constexpr const char *PNG_CHECKBOX_ON_IMAGE = APP_RES_PATH "/CHECKBOX_ON.bin"; // checkbox选中图片
- static constexpr const char *PNG_SETTING_NEXT_IMAGE = APP_RES_PATH "/SETTING_NEXT.bin"; // 箭头图片
- static constexpr const char *PNG_SETTING_BACKGROUND_IMAGE = APP_RES_PATH "/SETTING_BACKGROUND.bin"; // 按钮的背景图片
- static constexpr const char *PNG_VOLUME_CONTROL_VECTOR = APP_RES_PATH "/VolumeControlVector.bin"; // 调节音量图片
- static constexpr const char *PNG_BRIGHTNESS_CONTROL_VECTOR = APP_RES_PATH "/BringhtnessContuolVector.bin"; // 调节亮度图片
- static constexpr const char *PNG_SYSTEM_CHECK_ON_IMAGE = APP_RES_PATH "/SYSTEM_CheckOn.bin"; // 勾
- static constexpr const char *PNG_SYSTEM_CHECK_OFF_IMAGE = APP_RES_PATH "/SYSTEM_CheckOff.bin"; // 叉
- static constexpr const char *PNG_TOGGLEBUTTON_OFF_IMAGE = APP_RES_PATH "/TOGGLEBUTTON_OFF.bin"; // togglebuttton未选中图片
- static constexpr const char *PNG_TOGGLEBUTTON_ON_IMAGE = APP_RES_PATH "/TOGGLEBUTTON_ON.bin"; // togglebuttton选中图片
-
+ static constexpr const char *PNG_CHECKBOX_OFF_IMAGE = APP_RES_PATH "/CHECKBOX_OFF.bin"; // checkbox未选中图片
+ static constexpr const char *PNG_CHECKBOX_ON_IMAGE = APP_RES_PATH "/CHECKBOX_ON.bin"; // checkbox选中图片
+ static constexpr const char *PNG_SETTING_NEXT_IMAGE = APP_RES_PATH "/SETTING_NEXT.bin"; // 箭头图片
+ static constexpr const char *PNG_SETTING_BACKGROUND_IMAGE = APP_RES_PATH "/SETTING_BACKGROUND.bin"; // 按钮的背景图片
+ static constexpr const char *PNG_VOLUME_CONTROL_VECTOR = APP_RES_PATH "/VolumeControlVector.bin"; // 调节音量图片
+ static constexpr const char *PNG_BRIGHTNESS_CONTROL_VECTOR = APP_RES_PATH "/BringhtnessContuolVector.bin"; // 调节亮度图片
+ static constexpr const char *PNG_SYSTEM_CHECK_ON_IMAGE = APP_RES_PATH "/SYSTEM_CheckOn.bin"; // 勾
+ static constexpr const char *PNG_SYSTEM_CHECK_OFF_IMAGE = APP_RES_PATH "/SYSTEM_CheckOff.bin"; // 叉
+ static constexpr const char *PNG_TOGGLEBUTTON_OFF_IMAGE = APP_RES_PATH "/TOGGLEBUTTON_OFF.bin"; // togglebuttton未选中图片
+ static constexpr const char *PNG_TOGGLEBUTTON_ON_IMAGE = APP_RES_PATH "/TOGGLEBUTTON_ON.bin"; // togglebuttton选中图片
+
static constexpr const char *PNG_ORANGE_ATTENTION_VECTOR_IMAGE = APP_RES_PATH "/OrangeAttentionVector.bin"; // 橘黄色感叹号图标
static constexpr const char *PNG_ANIMATOR1_IMAGE = APP_RES_PATH "/Record/animator1.bin";
static constexpr const char *PNG_ANIMATOR2_IMAGE = APP_RES_PATH "/Record/animator2.bin";
#include "font/ui_font.h"
#include "font/font_global_manager.h"
-
+#ifdef SUPPORT_ALIPAY_SEC
+#include "AlipayMainView.h"
+#include "AlipayPresenter.h"
+#endif
namespace OHOS
{
struct AppViewMapper
{VIEW_FAST_TRAINING_ATTENTION, &NativeLauncher::InitFastTrainingAttentionSlice},
{VIEW_MESSAGE, &NativeLauncher::InitMessageSlice},
+#ifdef SUPPORT_ALIPAY_SEC
+ {VIEW_MAIN_ALIPAY, &NativeLauncher::InitMainAlipaySlice},
+#endif
#if 0
{VIEW_MAIN_ACTIVITY, &NativeLauncher::InitActivitySlice},
void NativeLauncher::InitNativeLauncher()
{
- //初始化语言
+ // 初始化语言
GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::VECTOR_FONT_DIR, DEFAULT_VECTOR_FONT_FILENAME);
WEARABLE_LOGI(WEARABLE_LOG_MODULE_LAUNCHER_FWK, "NativeLauncher::InitNativeLauncher");
/* -------------------------------------------------------------------------- */
- //注册中文和英语两种语言包
+ // 注册中文和英语两种语言包
static const char *BIN_LANG_EN = RES_PATH "font/en.lang";
static const char *BIN_LANG_ZH = RES_PATH "font/zh.lang";
const char *resFiles[] = {BIN_LANG_ZH, BIN_LANG_EN};
}
return;
}
-
+#ifdef SUPPORT_ALIPAY_SEC
+ void NativeLauncher::InitMainAlipaySlice(void)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "NativeLauncher::InitMainAlipaySlice");
+ SliceProxy *mainAlipayView = new AbilitySliceProxy<AlipayMainView, AlipayPresenter>;
+ if (mainAlipayView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "mainAlipayView is nullptr");
+ return;
+ }
+ NativeAbility::GetInstance().AddSliceProxy(VIEW_MAIN_ALIPAY, mainAlipayView);
+ }
+#endif
void NativeLauncher::InitMainSampleSlice(void)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "NativeLauncher::InitMainSampleSlice");
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay barcode view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_BARCODE_H\r
+#define ALIPAY_BARCODE_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "components/ui_barcode.h"\r
+#include "AlipayPresenter.h"\r
+\r
+namespace OHOS {\r
+class AlipayBarCode : public UIViewGroup {\r
+public:\r
+ AlipayBarCode(AlipayPresenter *presenter);\r
+ virtual ~AlipayBarCode();\r
+ static AlipayBarCode *GetInstance();\r
+ bool InitView();\r
+ void AlipayRefreshBarcode(const char *refreshStr);\r
+\r
+private:\r
+ bool AlipayInitImage(void);\r
+ bool AlipayInitLabel(void);\r
+ bool AlipayInitButton();\r
+ bool AlipayInitBarcode();\r
+ void AlipayBarcodeReformat(uint8_t *str, uint8_t *strBarcode);\r
+ AlipayPresenter *presenter_;\r
+ UILabel *labelBarCode { nullptr };\r
+ UILabel *labelPay { nullptr };\r
+ UILabelButton *buttonBarCode { nullptr };\r
+ UIBarcode *alipayBarcode { nullptr };\r
+ UIImageView *alipayImageGrey { nullptr };\r
+ UIImageView *alipayImageWhite { nullptr };\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay bind view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_BIND_H\r
+#define ALIPAY_BIND_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "AlipayPresenter.h"\r
+#include "components/ui_qrcode.h"\r
+\r
+namespace OHOS {\r
+class AlipayBind : public UIViewGroup {\r
+public:\r
+ AlipayBind(AlipayPresenter *presenter);\r
+ virtual ~AlipayBind();\r
+ bool InitView();\r
+\r
+private:\r
+ bool AlipayInitImage(void);\r
+ bool AlipayInitLabel(void);\r
+ AlipayPresenter *presenter_;\r
+ UILabel *labelBind { nullptr };\r
+ UIQrcode *qrcodeGroup { nullptr };\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay bind animate view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_BIND_ANI_H\r
+#define ALIPAY_BIND_ANI_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "components/ui_image_animator.h"\r
+#include "AlipayPresenter.h"\r
+\r
+#define ALIPAY_BIND_SEARCH_IMAGE_NUM 8\r
+\r
+namespace OHOS {\r
+class AlipayBindAni : public UIViewGroup {\r
+public:\r
+ AlipayBindAni(AlipayPresenter *presenter);\r
+ virtual ~AlipayBindAni();\r
+ bool InitView();\r
+\r
+private:\r
+ bool AlipayInitLabel(void);\r
+ bool AlipayInitImageAni(void);\r
+ AlipayPresenter *presenter_;\r
+ UILabel *alipayLabel { nullptr };\r
+ UIImageAnimatorView *alipayImageAni { nullptr };\r
+ ImageAnimatorInfo searchImageInfo[ALIPAY_BIND_SEARCH_IMAGE_NUM];\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay bind result view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_BIND_RES_H\r
+#define ALIPAY_BIND_RES_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "AlipayPresenter.h"\r
+\r
+namespace OHOS {\r
+class AlipayBindRes : public UIViewGroup {\r
+public:\r
+ AlipayBindRes(AlipayPresenter *presenter);\r
+ virtual ~AlipayBindRes();\r
+ bool InitView();\r
+ void AlipayRefreshBindRes(void);\r
+\r
+private:\r
+ AlipayPresenter *presenter_;\r
+ bool AlipayInitLabel(const char *resStr);\r
+ bool AlipayInitImage(const char *imageSrc);\r
+ UILabel *alipayLabel { nullptr };\r
+ UIImageView *alipayImage { nullptr };\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay binding process exit binding view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_EXIT_BIND_H\r
+#define ALIPAY_EXIT_BIND_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "AlipayPresenter.h"\r
+\r
+namespace OHOS {\r
+class AlipayExitBind : public UIViewGroup {\r
+public:\r
+ AlipayExitBind(AlipayPresenter *presenter);\r
+ virtual ~AlipayExitBind();\r
+ bool InitView();\r
+\r
+private:\r
+ bool AlipayInitLabel();\r
+ bool AlipayInitButton();\r
+ bool InitSimilarButton(int16 num, int16 alipayX, int16 alipayY, const char *buttonStr, const char *viewId);\r
+ AlipayPresenter *presenter_;\r
+ UILabel *alipayLabel[ALIPAY_SET_TWO] { nullptr };\r
+ UILabelButton *alipayButton[ALIPAY_SET_TWO] { nullptr };\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay help qrcode view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_HELP_H\r
+#define ALIPAY_HELP_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "AlipayPresenter.h"\r
+#include "components/ui_qrcode.h"\r
+\r
+namespace OHOS {\r
+class AlipayHelp : public UIViewGroup {\r
+public:\r
+ AlipayHelp(AlipayPresenter *presenter);\r
+ virtual ~AlipayHelp();\r
+ bool InitView();\r
+\r
+private:\r
+ bool AlipayInitImage(void);\r
+ bool AlipayInitLabel(void);\r
+ AlipayPresenter *presenter_;\r
+ UILabel *labelHelp { nullptr };\r
+ UIQrcode *qrcodeGroup { nullptr };\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay list adapt.
+ * Author:
+ * Create:
+ */
+
+#ifndef ALIPAY_LIST_ADAPTER_H
+#define ALIPAY_LIST_ADAPTER_H
+
+#include <list>
+#include <string>
+#include "components/ui_list.h"
+#include "components/ui_label.h"
+#include "components/ui_view_group.h"
+#include "components/ui_image_view.h"
+#include "components/abstract_adapter.h"
+#include "wearable_log.h"
+#include "UiConfig.h"
+#include "AlipayListItem.h"
+
+namespace OHOS {
+class AlipayListAdapter : public AbstractAdapter {
+public:
+ explicit AlipayListAdapter();
+ virtual ~AlipayListAdapter();
+
+ /* *
+ * @brief Sets the UIView adapter data, which is a AlipayListItem linked list.
+ *
+ * @param data Indicates the AlipayListItem linked list data.
+ * @since 1.0
+ * @version 1.0
+ */
+ void SetData(std::list<AlipayListItem> &data);
+
+ /* *
+ * @brief Obtains the <b>data</b> size of the UILabel adapter.
+ *
+ * @return Returns the <b>data</b> size of the UILabel adapter.
+ * @since 1.0
+ * @version 1.0
+ */
+ virtual uint16_t GetCount(void) override;
+
+ virtual UIView *GetView(UIView *inView, int16_t index) override;
+
+ virtual void AddListItem(const AlipayListItem &item);
+
+ void SetItemClickListener(UIView::OnClickListener *itemclicklistener)
+ {
+ itemClickListener = itemclicklistener;
+ }
+
+private:
+ std::list<AlipayListItem> listData;
+ UIView::OnClickListener *itemClickListener { nullptr };
+};
+}
+
+#endif
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay list.
+ * Author:
+ * Create:
+ */
+
+#ifndef ALIPAY_LIST_ITEM_H
+#define ALIPAY_LIST_ITEM_H
+
+#include <cstdint>
+#include <string>
+
+namespace OHOS {
+/*
+ * alipayList id.
+ */
+typedef enum : uint16_t {
+ // alipayList item index
+ ALIPAY_LIST_ITEM_PAY,
+ ALIPAY_LIST_ITEM_TRANS,
+ ALIPAY_LIST_ITEM_SETTING,
+ ALIPAY_LIST_ITEM_HELP,
+ ALIPAY_LIST_ITEM_MAX
+} AlipayListIndex;
+
+typedef struct {
+ AlipayListIndex index;
+ const char *viewId;
+ const char *icon;
+ const char *label;
+ bool hasSecondMenu;
+} AlipayListItem;
+}
+#endif
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay list item view.
+ * Author:
+ * Create:
+ */
+
+#ifndef ALIPAY_LIST_ITEM_VIEW_H
+#define ALIPAY_LIST_ITEM_VIEW_H
+
+#include "components/ui_label.h"
+#include "components/ui_view_group.h"
+#include "components/ui_image_view.h"
+
+#include "UiConfig.h"
+#include "AlipayListItem.h"
+#include "AlipayListView.h"
+
+namespace OHOS {
+class AlipayListItemView : public UIViewGroup {
+public:
+ explicit AlipayListItemView();
+ virtual ~AlipayListItemView();
+ virtual void SetItemInfo(const AlipayListItem &itemInfo);
+ virtual void SetUpChild();
+
+private:
+ AlipayListItemView(const AlipayListItemView &);
+
+ UIImageView sIcon;
+ UILabel sLabel;
+ UIImageView sNextImage;
+ AlipayListItem sItemInfo;
+};
+}
+
+#endif
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay list.
+ * Author:
+ * Create:
+ */
+
+#ifndef ALIPAY_LIST_H
+#define ALIPAY_LIST_H
+
+#include <cstdint>
+#include <map>
+#include "components/ui_image_view.h"
+#include "components/ui_label.h"
+#include "components/ui_label_button.h"
+#include "components/ui_scroll_view.h"
+#include "components/ui_list.h"
+#include "components/icon_adapter.h"
+#include "AlipayPresenter.h"
+#include "AppViewIDs.h"
+#include "UiConfig.h"
+#include "AlipayListAdapter.h"
+#include "AlipayListItem.h"
+
+namespace OHOS {
+class AlipayListAdapter;
+class AlipayList : public UIViewGroup {
+public:
+ AlipayList(AlipayPresenter *presenter);
+ virtual ~AlipayList();
+ bool InitListView();
+
+private:
+ void InitAlipayListItem();
+ bool AlipayInitList();
+ void AddAlipayListItemToList(void);
+ AlipayPresenter *presenter_;
+ AlipayListAdapter *listAdapter { nullptr };
+ UIList *contentList { nullptr };
+ AlipayListItem alipayLists[ALIPAY_LIST_ITEM_MAX];
+};
+}
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay main view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_MAIN_VIEW_H\r
+#define ALIPAY_MAIN_VIEW_H\r
+\r
+#include <string>\r
+#include "View.h"\r
+#include "window/window.h"\r
+#include "components/ui_view_group.h"\r
+#include "ChangeSliceListener.h"\r
+#include "components/ui_swipe_view.h"\r
+#include "AlipayPresenter.h"\r
+#include "AlipayModel.h"\r
+#include "AlipayBind.h"\r
+#include "AlipayExitBind.h"\r
+#include "AlipayBindRes.h"\r
+#include "AlipayBindAni.h"\r
+#include "AlipayListView.h"\r
+#include "AlipayBarCode.h"\r
+#include "AlipayPayCode.h"\r
+#include "AlipaySetting.h"\r
+#include "AlipayHelp.h"\r
+#include "AlipayUnbindFinish.h"\r
+#include "AlipayUnbind.h"\r
+\r
+#include "AlipayGetTransList.h"\r
+#include "AlipayTransTips.h"\r
+#include "AlipayTransCode.h"\r
+#include "AlipayTransEnable.h"\r
+#include "AlipayTransRes.h"\r
+#include "AlipayTransListView.h"\r
+#include "AlipayTransAni.h"\r
+\r
+namespace OHOS {\r
+class AlipayMainView;\r
+class AlipayMainView : public View<AlipayPresenter> {\r
+public:\r
+ AlipayMainView();\r
+ virtual ~AlipayMainView();\r
+ static AlipayMainView *GetInstance(void);\r
+ void OnStart() override;\r
+ void OnSetUpView() override;\r
+ void OnTearDownView() override;\r
+ void OnStop() override;\r
+ void DropView(UIView &view);\r
+ void SwitchView(UIView &view);\r
+\r
+ void ChangeView(int16 hideView, int16 showView);\r
+ bool ChangePayView(int16 thisView);\r
+ bool ChangeSettingView(int16 thisView);\r
+ bool ChangeHelpView(int16 thisView);\r
+ bool ChangeListView(int16 thisView);\r
+ bool ChangeBindAniView(int16 thisView);\r
+ bool ChangeBindExitView(int16 thisView);\r
+ bool ChangeBindResView(int16 thisView);\r
+ bool ChangeUnbindView(int16 thisView);\r
+ bool ChangeUnbindFinishView(int16 thisView);\r
+ bool ChangeBindView(int16 thisView);\r
+ bool ChangeBarCodeView(int16 thisView);\r
+\r
+ bool ChangeTransView(int16 thisView);\r
+ bool ChangeTransListView(int16 thisView);\r
+ bool ChangeTransEnableView(int16 thisView);\r
+ bool ChangeTransTipsView(int16 thisView);\r
+ bool ChangeTransResView(int16 thisView);\r
+ bool ChangeGetTransListView(int16 thisView);\r
+ bool ChangeTransAniView(int16 thisView);\r
+\r
+ int16 GetListenInter(void);\r
+ int16 GetWhichInter(void);\r
+ bool ClickFunc(int16 interface);\r
+\r
+private:\r
+ bool SetSwipeInter(int16 num);\r
+ void DeleteViceInter(void);\r
+ void DestroyTempView(int16 hideView);\r
+ UIViewGroup *group { nullptr };\r
+ UIViewGroup *container[ALIPAY_INTERFACES_MAX] { nullptr };\r
+\r
+ AlipayBind *alipayBind { nullptr };\r
+ AlipayExitBind *alipayExitBind { nullptr };\r
+ AlipayBindRes *alipayBindRes { nullptr };\r
+ AlipayBindAni *alipayBindAni { nullptr };\r
+ AlipayPayCode *alipayPayCode { nullptr };\r
+ AlipayBarCode *alipayBarCode { nullptr };\r
+ AlipaySetting *alipaySetting { nullptr };\r
+ AlipayUnbind *alipayExitBindSetting { nullptr };\r
+ AlipayUnbindFinish *alipayUnbindFinish { nullptr };\r
+ AlipayHelp *alipayHelp { nullptr };\r
+ AlipayList *alipayList { nullptr };\r
+\r
+ AlipayGetTransList *alipayGetTransList { nullptr };\r
+ AlipayTransTips *alipayTransTips { nullptr };\r
+ AlipayTransCode *alipayTransCode { nullptr };\r
+ AlipayTransEnable *alipayTransEnable { nullptr };\r
+ AlipayTransRes *alipayTransRes { nullptr };\r
+ AlipayTransList *alipayTransList { nullptr };\r
+ AlipayTransAni *alipayTransAni { nullptr };\r
+\r
+ int16 interListen { -1 }; // 监测上一个界面,-1用于还没获得监测界面时的初始化\r
+ int16 alipayWhichInter { 0 }; // 监测当前是哪一个温度界面\r
+ int16 alipayWhichMea { -1 }; // 监测当前处于哪一个监测界面\r
+};\r
+} // namespace OHOS\r
+#endif // MAIN_ALARM_VIEW_Ha
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay model.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_MODEL_H\r
+#define ALIPAY_MODEL_H\r
+\r
+#include "ohos_types.h"\r
+#include "list.h"\r
+#include "source.h"\r
+#include "cmsis_os.h"\r
+#include "ChangeSliceListener.h"\r
+#include "alipay_feature.h"\r
+\r
+namespace OHOS {\r
+void AlipayBindTimerCallBack(void *argument);\r
+void AlipaySwitchTimerCallBack(void *argument);\r
+void AlipayBindCallBackProc(void *argument);\r
+void AlipaySwitchTimerCallBackProc(void *argument);\r
+void AlipayMsgCallBack(uint32_t msgId, uint32_t actionRes);\r
+\r
+#define ALIPAY_BIND_STATUS_TIMER_LENGTH 2000\r
+#define ALIPAY_GET_BIND_STR_MAX_LENGTH 256\r
+#define ALIPAY_GET_PAY_STR_MAX_LENGTH 20\r
+#define ALIPAY_GET_AID_STR_MAX_LENGTH 256\r
+#define ALIPAY_GET_ID_STR_MAX_LENGTH 128\r
+#define ALIPAY_GET_NICKNAME_MAX_LENGTH 128\r
+\r
+#define ALIPAY_TRANS_READ_LOCAL_ERR 5\r
+#define ALIPAY_TRANS_READ_BUFF_SHORT 15\r
+#define ALIPAY_TRANS_READ_NETWORK_ERR 7\r
+\r
+#define ALIPAY_TRANS_CODE_LIMITED 40\r
+#define ALIPAY_TRANS_CODE_UNSUPPORTED 43\r
+#define ALIPAY_TRANS_CODE_INVALID 54\r
+#define ALIPAY_TRANS_CODE_COMMON_ERR 56\r
+#define ALIPAY_TRANS_NETWORK_ERR 5\r
+#define ALIPAY_TRANS_STATUS_TIMER_LENGTH 10000\r
+\r
+class AlipayModel {\r
+public:\r
+ AlipayModel();\r
+ virtual ~AlipayModel();\r
+ static AlipayModel *GetInstance(void);\r
+\r
+ bool AlipayInitModel(void);\r
+ void AlipayDeinitModel(void);\r
+ void SetAlipayInterLis(int16 interListen);\r
+ int16 GetAlipayInterLis(void);\r
+ bool AlipayGetBindstate(void);\r
+ int32_t AlipayGetBindCode(uint8_t *bindStr);\r
+ int32_t AlipayGetPayCode(uint8_t *payStr);\r
+ int32_t AlipayGetNickName(uint8_t *nickName);\r
+ int32_t AlipayGetIdName(uint8_t *idStr);\r
+ int32_t AlipayGetAidCode(int8_t *aidStr);\r
+ void AlipayUnbind(void);\r
+ bool AlipayStartBind(void);\r
+ bool AlipayStartSwitchTimer(uint16_t time);\r
+ void AlipayStopBindTimer(void);\r
+ void AlipayStopSwitchTimer();\r
+ void AlipayEnterLpm();\r
+ void AlipayExitLpm();\r
+ int32_t AlipayGetLastTranscode();\r
+ int32_t AlipayGetLocalTranslist();\r
+ int32_t AlipayGetOnlineTranslist();\r
+ int32_t AlipayUpdateTransCard(uint32_t index);\r
+ int32_t AlipayCheckTransCard(uint32_t index);\r
+ int32_t AlipayGetTransCode(uint32_t index);\r
+ bool AlipayTransStartGetListsTimer(void);\r
+ void AlipayTransStopGetListsTimer(void);\r
+ uint32_t AlipaySendMsg(uint32_t msgId);\r
+ mc_alipay_trans_card_info_t* AlipayTransGetCardList(void);\r
+ int32_t AlipayTransGetCardNum(void);\r
+ bool AlipayGetBindFlag(void);\r
+ void AlipaySetBindFlag(bool bindFlag);\r
+ uint32_t AlipayGetSwitchIndex(void);\r
+ void AlipaySetSwitchIndex(uint32_t switchIndex);\r
+ uint32_t AlipayGetRefreshFlag(void);\r
+ void AlipaySetRefreshFlag(uint32_t refreshFlag);\r
+ uint32_t AlipayGetCardNum(void);\r
+ void AlipaySetCardNum(uint32_t cardNum);\r
+ uint32_t AlipayGetCardSum(void);\r
+ void AlipaySetCardSum(uint32_t cardSum);\r
+ char* AlipayGetCardTitle(uint32_t index);\r
+ uint8_t* AlipayGetTransCode(void);\r
+ uint32_t AlipayGetTransCodeLen(void);\r
+ char* AlipayGetCardTitle(void);\r
+private:\r
+ osTimerId_t bindTimerId = NULL;\r
+ osTimerId_t switchTimerId = NULL;\r
+ osTimerId_t transTimerId = NULL;\r
+ int16 alipayInterLis;\r
+ const alipay_svr_api_t *alipayApi;\r
+ bool bindFlag_;\r
+ uint32_t switchIndex_ = 0;\r
+ uint32_t refreshFlag_ = 0;\r
+ uint32_t cardNum_ = 0;\r
+ uint32_t cardSum_ = 0;\r
+ mc_alipay_trans_card_info_t *cardInfo_ = NULL;\r
+ uint8_t* transCode_ = NULL;\r
+ uint32_t transCodeLen_;\r
+ char cardTitle_[ALIPAY_TRANS_CARD_MEMBER_LEN];\r
+};\r
+}\r
+\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay pay view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+#ifndef ALIPAY_PAYCODE_H\r
+#define ALIPAY_PAYCODE_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "components/ui_button.h"\r
+#include "components/ui_qrcode.h"\r
+#include "AlipayPresenter.h"\r
+\r
+namespace OHOS {\r
+class AlipayPayCode : public UIViewGroup {\r
+public:\r
+ AlipayPayCode(AlipayPresenter *presenter);\r
+ virtual ~AlipayPayCode();\r
+ static AlipayPayCode *GetInstance();\r
+ bool InitView();\r
+ void AlipayRefreshQrcode(const char *refreshStr);\r
+\r
+private:\r
+ AlipayPresenter *presenter_;\r
+ bool AlipayInitImage(void);\r
+ bool AlipayInitLabel(void);\r
+ bool AlipayInitButton();\r
+ bool AlipayInitQrcode();\r
+ UILabel *labelPayCode { nullptr };\r
+ UIQrcode *qrcodeGroup { nullptr };\r
+ UILabelButton *buttonPayCode { nullptr };\r
+ UIImageView *alipayImageGrey { nullptr };\r
+ UIImageView *alipayImageWhite { nullptr };\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay presenter.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_PRESENTER_H\r
+#define ALIPAY_PRESENTER_H\r
+\r
+#include "Presenter.h"\r
+#include "BaseView.h"\r
+#include "UiConfig.h"\r
+#include "wearable_log.h"\r
+#include "color.h"\r
+#include "AlipayModel.h"\r
+\r
+namespace OHOS {\r
+constexpr char *ALIPAY_LIST_PAY_BUTTON = (char *)"alipaylistpay";\r
+constexpr char *ALIPAY_LIST_TRANS_BUTTON = (char *)"alipaylisttrans";\r
+constexpr char *ALIPAY_LIST_SETTING_BUTTON = (char *)"alipaylistsetting";\r
+constexpr char *ALIPAY_LIST_HELP_BUTTON = (char *)"alipaylisthelp";\r
+\r
+constexpr char *ALIPAY_PAY_JUMP = (char *)"alipaypayjump";\r
+constexpr char *ALIPAY_BIND_BUTTON = (char *)"bindbutton";\r
+constexpr char *ALIPAY_UNBIND_BUTTON = (char *)"unbindbutton";\r
+constexpr char *ALIPAY_BIND_CONTINUE = (char *)"alipaybindcontinue";\r
+constexpr char *ALIPAY_INTER_EXIT = (char *)"alipayexit";\r
+\r
+constexpr char *ALIPAY_SETTING_UNBIND = (char *)"alipaysettingunbind";\r
+constexpr char *ALIPAY_SETTING_CANCEL = (char *)"alipaysettingcancel";\r
+constexpr char *ALIPAY_SETTING_FINISH = (char *)"alipaysettingfinish";\r
+\r
+constexpr char *ALIPAY_PAY_QRCODE = (char *)"alipaypayqrcode";\r
+constexpr char *ALIPAY_PAY_BARCODE = (char *)"alipaypaybarcode";\r
+constexpr char *ALIPAY_PAY_SWITCH_BAR = (char *)"alipaypayswitchbar";\r
+constexpr char *ALIPAY_PAY_SWITCH_QR = (char *)"alipaypayswitchqrcode";\r
+\r
+constexpr char *ALIPAY_TRANS_LIST_BUTTON = (char *)"alipaytranslistbutton";\r
+constexpr char *ALIPAY_TRANS_REFRESH_LIST = (char *)"alipaytransrefreshlist";\r
+constexpr char *ALIPAY_TRANS_GET_LIST_EXIT = (char *)"alipaytransgetlistexit";\r
+constexpr char *ALIPAY_TRANS_GET_LIST_FINISH = (char *)"alipaytransgetlistfin";\r
+constexpr char *ALIPAY_TRANS_GET_LIST_RETRY = (char *)"alipaytransgetlistre";\r
+constexpr char *ALIPAY_TRANS_GET_LIST_DETAIL = (char *)"alipaytransgetlistdet";\r
+constexpr char *ALIPAY_TRANS_CERTAIN_BACK_LIST = (char *)"alipaytransbacklist";\r
+constexpr char *ALIPAY_TRANS_CERTAIN_TO_TRANS = (char *)"alipaytranstotranslist";\r
+constexpr char *ALIPAY_TRANS_RETRY_TRANS_CODE = (char *)"alipaytransretrycode";\r
+constexpr char *ALIPAY_TRANS_CODE_RES_DETAIL = (char *)"alipaytranscoderesde";\r
+constexpr char *ALIPAY_TRANS_LIST_RES_DETAIL = (char *)"alipaytranslistresde";\r
+constexpr char *ALIPAY_TRANS_CODE_BACK_LIST = (char *)"alipaytranscodebacklist";\r
+\r
+#define ALIPAY_SET_ZERO 0\r
+#define ALIPAY_SET_ONE 1\r
+#define ALIPAY_SET_TWO 2\r
+\r
+typedef enum {\r
+ ALIPAY_BIND_VIEW = 0,\r
+ ALIPAY_BIND_ANI_VIEW,\r
+ ALIPAY_BIND_EXIT_VIEW,\r
+ ALIPAY_BIND_RES_VIEW,\r
+ ALIPAY_LIST_VIEW,\r
+ ALIPAY_PAY_VIEW,\r
+\r
+ ALIPAY_PAY_BARCODE_VIEW,\r
+ ALIPAY_TRANS_VIEW,\r
+ ALIPAY_SETTING_VIEW,\r
+ ALIPAY_HELP_VIEW,\r
+ ALIPAY_SETTING_UNBIND_VIEW,\r
+\r
+ ALIPAY_SETTING_FINISH_VIEW,\r
+ ALIPAY_GET_BIND_FAILURE_VIEW,\r
+ ALIPAY_TRANS_LIST_VIEW,\r
+ ALIPAY_TRANS_ENABLE_VIEW,\r
+ ALIPAY_TRANS_TIPS_VIEW,\r
+\r
+ ALIPAY_TRANS_RES_VIEW,\r
+ ALIPAY_GET_TRANS_LIST_VIEW,\r
+ ALIPAY_TRANS_ANI_VIEW,\r
+\r
+ ALIPAY_INTERFACES_MAX\r
+} alipayInterfacesId;\r
+\r
+typedef enum {\r
+ ALIPAY_TRANS_TIPS_UNKNOW = 0,\r
+ ALIPAY_TRANS_TIPS_TO_MUCH,\r
+ ALIPAY_TRANS_TIPS_SECURE,\r
+ ALIPAY_TRANS_TIPS_LIST_UNKNOW,\r
+ ALIPAY_TRANS_TIPS_NOT_SUPPORT,\r
+} alipayTransTipsId;\r
+\r
+typedef enum {\r
+ ALIPAY_TRANS_RES_LIST = 0,\r
+ ALIPAY_TRANS_RES_CODE,\r
+} alipayTransResId;\r
+\r
+typedef enum {\r
+ ALIPAY_TRANS_GET_LIST_FIRST = 0,\r
+ ALIPAY_TRANS_GET_LIST_CLICK_DETAIL,\r
+ ALIPAY_TRANS_GET_LIST_CODE_DETAIL,\r
+} alipayTransGetListId;\r
+\r
+class AlipayMainView;\r
+class AlipayPresenter : public Presenter<AlipayMainView>,\r
+ public UIView::OnClickListener,\r
+ public UIView::OnDragListener {\r
+public:\r
+ AlipayPresenter();\r
+ virtual ~AlipayPresenter();\r
+ void OnStart() override;\r
+ void OnPause() override;\r
+ void OnResume() override;\r
+ void OnStop() override;\r
+ static AlipayPresenter *GetInstance();\r
+\r
+ void ClickExitAlipay(UIView &view);\r
+ void ClickJumpSetting(UIView &view);\r
+ void ClickJumpPay(UIView &view);\r
+ void ClickJumpHelp(UIView &view);\r
+ void ClickJumpBindAni(UIView &view);\r
+ void ClickJumpUnbind(UIView &view);\r
+ void ClickJumpBindFinish(UIView &view);\r
+ void ClickBackUnbind(UIView &view);\r
+ void ClickBackBindCode(UIView &view);\r
+ void ClickRefreshQrcode(UIView &view);\r
+ void ClickRefreshBarcode(UIView &view);\r
+ void ClickGetBindStr(UIView &view);\r
+ void ClickSwitchBar(UIView &view);\r
+ void ClickSwitchQr(UIView &view);\r
+ void ClickJumpTrans(UIView &view);\r
+\r
+ void ClickRefreshList(UIView &view);\r
+ void ClickBackList(UIView &view);\r
+ void ClickUpdateList(UIView &view);\r
+ void ClickTransToTransList(UIView &view);\r
+ void ClickRetryTransCode(UIView &view);\r
+ void ClickTransJumpHelp(UIView &view);\r
+ void ClickTranstBackList(UIView &view);\r
+ void ClickTransToTransCode(UIView &view);\r
+ void ClickTransJumpGetList(UIView &view);\r
+ void ClickTransJumpGetCode(UIView &view);\r
+ void ClickTransCodeBackList(UIView &view);\r
+ ColorType CyanColor(void);\r
+ bool OnClick(UIView &view, const ClickEvent &event) override;\r
+ bool OnDrag(UIView &view, const DragEvent &event) override;\r
+ bool ClickFuncId(UIView &view);\r
+ int32_t AlipayGetPayCode(uint8_t *payStr);\r
+ int32_t AlipayGetNickName(uint8_t *nickName);\r
+ int32_t AlipayGetBindCode(uint8_t *bindStr);\r
+ int32_t AlipayGetIdName(uint8_t *idStr);\r
+ int32_t AlipayGetAidCode(int8_t *aidStr);\r
+ bool AlipayGetBindFlag(void);\r
+ void AlipaySetBindFlag(bool bindFlag);\r
+ uint32_t AlipayGetSwitchIndex(void);\r
+ void AlipaySetSwitchIndex(uint32_t switchIndex);\r
+ uint32_t AlipayGetCardNum(void);\r
+ void AlipaySetCardNum(uint32_t cardNum);\r
+ uint32_t AlipayGetCardSum(void);\r
+ void AlipaySetCardSum(uint32_t cardSum);\r
+ char* AlipayGetCardTitle(uint32_t index);\r
+ uint8_t* AlipayGetTransCode(void);\r
+ uint32_t AlipayGetTransCodeLen(void);\r
+ char* AlipayGetCardTitle(void);\r
+private:\r
+ AlipayModel *alipayMode_;\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay get bindstr fail view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_REFRESH_BIND_CODE_H\r
+#define ALIPAY_REFRESH_BIND_CODE_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "AlipayPresenter.h"\r
+#include "components/ui_qrcode.h"\r
+\r
+namespace OHOS {\r
+class AlipayRefreshBind : public UIViewGroup {\r
+public:\r
+ AlipayRefreshBind();\r
+ virtual ~AlipayRefreshBind();\r
+ bool InitView();\r
+\r
+private:\r
+ bool AlipayInitImage(void);\r
+ bool AlipayInitLabel(void);\r
+ bool AlipayInitButton();\r
+ UILabel *labelBind { nullptr };\r
+ UIImageView *imageBind[ALIPAY_SET_THREE] { nullptr };\r
+ UILabelButton *buttonBind { nullptr };\r
+ UILabelButton *backgroudButton { nullptr };\r
+ UIQrcode *qrcodeGroup { nullptr };\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay setting view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_SETTING_H\r
+#define ALIPAY_SETTING_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "AlipayPresenter.h"\r
+#include "components/ui_qrcode.h"\r
+\r
+namespace OHOS {\r
+class AlipaySetting : public UIViewGroup {\r
+public:\r
+ AlipaySetting(AlipayPresenter *presenter);\r
+ virtual ~AlipaySetting();\r
+ bool InitView();\r
+\r
+private:\r
+ bool AlipayInitButton();\r
+ bool AlipayInitLabel(void);\r
+ AlipayPresenter *presenter_;\r
+ UILabel *labelTitle { nullptr };\r
+ UILabel *labelName { nullptr };\r
+ UILabel *labelId { nullptr };\r
+ UILabelButton *buttonSetting { nullptr };\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay get trans list view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_GET_TRANS_LIST_H\r
+#define ALIPAY_GET_TRANS_LIST_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "AlipayPresenter.h"\r
+\r
+namespace OHOS {\r
+class AlipayGetTransList : public UIViewGroup {\r
+public:\r
+ AlipayGetTransList(AlipayPresenter *presenter);\r
+ virtual ~AlipayGetTransList();\r
+ bool InitGetView(uint32_t index);\r
+private:\r
+ AlipayPresenter *presenter_;\r
+ bool AlipayInitLabel(uint32_t index);\r
+ bool AlipayInitButton(uint32_t index);\r
+ bool InitSimilarButton(int16 num, int16 alipayX, int16 alipayY, const char *buttonStr, const char *viewId);\r
+ UILabel *alipayLabel { nullptr };\r
+ UILabelButton *alipayButton[ALIPAY_SET_TWO] { nullptr };\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay bind animate view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_TRANS_ANI_H\r
+#define ALIPAY_TRANS_ANI_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "components/ui_image_animator.h"\r
+#include "AlipayPresenter.h"\r
+\r
+#define ALIPAY_TRANS_SEARCH_IMAGE_NUM 8\r
+\r
+namespace OHOS {\r
+class AlipayTransAni : public UIViewGroup {\r
+public:\r
+ AlipayTransAni(AlipayPresenter *presenter);\r
+ virtual ~AlipayTransAni();\r
+ bool InitView();\r
+\r
+private:\r
+ bool AlipayInitLabel(void);\r
+ bool AlipayInitImageAni(void);\r
+ AlipayPresenter *presenter_;\r
+ UILabel *alipayLabel { nullptr };\r
+ UIImageAnimatorView *alipayImageAni { nullptr };\r
+ ImageAnimatorInfo searchImageInfo[ALIPAY_TRANS_SEARCH_IMAGE_NUM];\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay transcode view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+#ifndef ALIPAY_TRANS_CODE_H\r
+#define ALIPAY_TRANS_CODE_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "components/ui_button.h"\r
+#include "components/ui_qrcode.h"\r
+#include "AlipayPresenter.h"\r
+\r
+namespace OHOS {\r
+class AlipayTransCode : public UIViewGroup {\r
+public:\r
+ AlipayTransCode(AlipayPresenter *presenter);\r
+ virtual ~AlipayTransCode();\r
+ bool InitView();\r
+\r
+private:\r
+ bool AlipayInitImage(void);\r
+ bool AlipayInitLabel(void);\r
+ bool AlipayInitButton();\r
+ bool AlipayInitQrcode();\r
+ AlipayPresenter *presenter_;\r
+ UILabel *labelPayCode { nullptr };\r
+ UIQrcode *qrcodeGroup { nullptr };\r
+ UILabelButton *buttonPayCode { nullptr };;\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay trans enable view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+#ifndef ALIPAY_TRANS_ENABLE_H\r
+#define ALIPAY_TRANS_ENABLE_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "components/ui_button.h"\r
+#include "components/ui_qrcode.h"\r
+#include "AlipayPresenter.h"\r
+\r
+namespace OHOS {\r
+class AlipayTransEnable : public UIViewGroup {\r
+public:\r
+ AlipayTransEnable(AlipayPresenter *presenter);\r
+ virtual ~AlipayTransEnable();\r
+ bool InitView();\r
+\r
+private:\r
+ bool AlipayInitLabel(void);\r
+ bool AlipayInitQrcode();\r
+ AlipayPresenter *presenter_;\r
+ UILabel *labelEnableCode { nullptr };\r
+ UIQrcode *qrcodeGroup { nullptr };\r
+ UILabel *labelTips { nullptr };;\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay list adapt.
+ * Author:
+ * Create:
+ */
+
+#ifndef ALIPAY_TRANS_LIST_ADAPTER_H
+#define ALIPAY_TRANS_LIST_ADAPTER_H
+
+#include <list>
+#include <string>
+#include "components/ui_list.h"
+#include "components/ui_label.h"
+#include "components/ui_view_group.h"
+#include "components/ui_image_view.h"
+#include "components/abstract_adapter.h"
+#include "wearable_log.h"
+#include "UiConfig.h"
+#include "AlipayTransListItem.h"
+
+namespace OHOS {
+class AlipayTransListAdapter : public AbstractAdapter {
+public:
+ explicit AlipayTransListAdapter();
+ virtual ~AlipayTransListAdapter();
+
+ /* *
+ * @brief Sets the UIView adapter data, which is a AlipayTransListItem linked list.
+ *
+ * @param data Indicates the AlipayTransListItem linked list data.
+ * @since 1.0
+ * @version 1.0
+ */
+ void SetData(std::list<AlipayTransListItem> &data);
+
+ /* *
+ * @brief Obtains the <b>data</b> size of the UILabel adapter.
+ *
+ * @return Returns the <b>data</b> size of the UILabel adapter.
+ * @since 1.0
+ * @version 1.0
+ */
+ virtual uint16_t GetCount(void) override;
+
+ virtual UIView *GetView(UIView *inView, int16_t index) override;
+
+ virtual void AddListItem(const AlipayTransListItem &item);
+
+ void SetItemClickListener(UIView::OnClickListener *itemclicklistener)
+ {
+ itemClickListener = itemclicklistener;
+ }
+
+ void ClearItem(void);
+
+private:
+ std::list<AlipayTransListItem> listData;
+ UIView::OnClickListener *itemClickListener { nullptr };
+};
+}
+
+#endif
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay list.
+ * Author:
+ * Create:
+ */
+
+#ifndef ALIPAY_TRANS_LIST_ITEM_H
+#define ALIPAY_TRANS_LIST_ITEM_H
+
+#include <cstdint>
+
+namespace OHOS {
+/*
+ * alipayTransList id.
+ */
+
+typedef struct {
+ uint8_t index;
+ char *viewId;
+ char *cardNo;
+ char *label;
+ char *title;
+} AlipayTransListItem;
+}
+#endif
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay list item view.
+ * Author:
+ * Create:
+ */
+
+#ifndef ALIPAY_TRANS_LIST_ITEM_VIEW_H
+#define ALIPAY_TRANS_LIST_ITEM_VIEW_H
+
+#include "components/ui_label.h"
+#include "components/ui_view_group.h"
+#include "components/ui_image_view.h"
+
+#include "UiConfig.h"
+#include "AlipayTransListItem.h"
+#include "AlipayTransListView.h"
+
+namespace OHOS {
+class AlipayTransListItemView : public UIViewGroup {
+public:
+ explicit AlipayTransListItemView();
+ virtual ~AlipayTransListItemView();
+ virtual void SetItemInfo(const AlipayTransListItem &itemInfo);
+ virtual void SetUpChild();
+ uint8_t GetAlipayTransListIndex();
+
+private:
+ AlipayTransListItemView(const AlipayTransListItemView &);
+
+ UILabel sLabel;
+ UIImageView sNextImage;
+ AlipayTransListItem sItemInfo;
+};
+}
+
+#endif
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay list.
+ * Author:
+ * Create:
+ */
+
+#ifndef ALIPAY_TRANS_LIST_H
+#define ALIPAY_TRANS_LIST_H
+
+#include <cstdint>
+#include <map>
+#include "components/ui_image_view.h"
+#include "components/ui_label.h"
+#include "components/ui_label_button.h"
+#include "components/ui_scroll_view.h"
+#include "components/ui_list.h"
+#include "components/ui_button.h"
+#include "components/icon_adapter.h"
+#include "AlipayPresenter.h"
+#include "AppViewIDs.h"
+#include "UiConfig.h"
+#include "AlipayTransListAdapter.h"
+#include "AlipayTransListItem.h"
+
+namespace OHOS {
+
+/* alipay sdk 支持最多20张公交卡 */
+static const uint8_t ALIPAY_TRANS_LIST_ITEM_LEN = 20;
+
+class AlipayTransListAdapter;
+class AlipayTransList : public UIViewGroup {
+public:
+ AlipayTransList(AlipayPresenter *presenter);
+ virtual ~AlipayTransList();
+ bool InitListView();
+ void AlipayTransListUpdate();
+
+private:
+ void InitAlipayTransListItem();
+ bool AlipayInitList();
+ bool AlipayInitButton();
+ bool AlipayInitScroll(void);
+ void AddAlipayTransListItemToList(void);
+ AlipayPresenter *presenter_;
+ AlipayTransListAdapter *listAdapter { nullptr };
+ UIList *contentList { nullptr };
+ AlipayTransListItem alipayTransLists[ALIPAY_TRANS_LIST_ITEM_LEN];
+ uint8_t listLen = 0;
+ UILabelButton *buttonRefresh { nullptr };
+};
+}
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay trans action res view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_TRANS_RES_H\r
+#define ALIPAY_TRANS_RES_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "AlipayPresenter.h"\r
+\r
+namespace OHOS {\r
+class AlipayTransRes : public UIViewGroup {\r
+public:\r
+ AlipayTransRes(AlipayPresenter *presenter);\r
+ virtual ~AlipayTransRes();\r
+ bool InitResView(uint32_t index);\r
+ void AlipayTransRefreshRes(void);\r
+private:\r
+ bool AlipayInitLabel(const char *resStr);\r
+ bool AlipayInitImage(const char *imageSrc);\r
+ bool AlipayInitButton(uint32_t index);\r
+ AlipayPresenter *presenter_;\r
+ UILabel *alipayLabel { nullptr };\r
+ UIImageView *alipayImage { nullptr };\r
+ UILabelButton *alipayButton { nullptr };\r
+ UILabelButton *alipayButtonSec { nullptr };\r
+};\r
+ \r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay trans tips view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_TRANS_TIPS_H\r
+#define ALIPAY_TRANS_TIPS_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "AlipayPresenter.h"\r
+\r
+namespace OHOS {\r
+class AlipayTransTips : public UIViewGroup {\r
+public:\r
+ AlipayTransTips(AlipayPresenter *presenter);\r
+ virtual ~AlipayTransTips();\r
+ bool InitTipsView(uint32_t index);\r
+ void AlipayTransRefreshTips(void);\r
+private:\r
+ bool AlipayInitLabel(const char *resStr);\r
+ bool AlipayInitImage(const char *imageSrc);\r
+ bool AlipayInitButton(uint32_t index);\r
+ AlipayPresenter *presenter_;\r
+ UILabel *alipayLabel { nullptr };\r
+ UIImageView *alipayImage { nullptr };\r
+ UILabelButton *alipayButton { nullptr };\r
+};\r
+ \r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay remove bind view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_UNBIND_H\r
+#define ALIPAY_UNBIND_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "AlipayPresenter.h"\r
+\r
+namespace OHOS {\r
+class AlipayUnbind : public UIViewGroup {\r
+public:\r
+ AlipayUnbind(AlipayPresenter *presenter);\r
+ virtual ~AlipayUnbind();\r
+ bool InitView();\r
+\r
+private:\r
+ bool AlipayInitLabel();\r
+ bool AlipayInitButton();\r
+ bool InitSimilarButton(int16 num, int16 alipayX, int16 alipayY, const char *buttonStr, const char *viewId);\r
+ AlipayPresenter *presenter_;\r
+ UILabel *alipayLabel[ALIPAY_SET_TWO] { nullptr };\r
+ UILabelButton *alipayButton[ALIPAY_SET_TWO] { nullptr };\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay removie bind finish view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#ifndef ALIPAY_UNBIND_FINISH_CODE_H\r
+#define ALIPAY_UNBIND_FINISH_CODE_H\r
+\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_label.h"\r
+#include "components/ui_label_button.h"\r
+#include "AlipayPresenter.h"\r
+#include "components/ui_qrcode.h"\r
+\r
+namespace OHOS {\r
+class AlipayUnbindFinish : public UIViewGroup {\r
+public:\r
+ AlipayUnbindFinish(AlipayPresenter *presenter);\r
+ virtual ~AlipayUnbindFinish();\r
+ bool InitView();\r
+\r
+private:\r
+ bool AlipayInitImage(void);\r
+ bool AlipayInitLabel(void);\r
+ bool AlipayInitButton();\r
+ AlipayPresenter *presenter_;\r
+ UILabel *titleUnbind { nullptr };\r
+ UILabel *textUnbind { nullptr };\r
+ UILabelButton *buttonUnbind { nullptr };\r
+};\r
+}\r
+#endif
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay barcode view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayBarCode.h"\r
+#include "AlipayModel.h"\r
+\r
+namespace OHOS {\r
+#define ALIPAY_BARCODE_SPACE 32\r
+#define ALIPAY_BARCODE_SPACE_INTER 4\r
+#define ALIPAY_BARCODE_SPACE_NUM 3\r
+#define ALIPAY_BARCODE_LABEL_NUM 23\r
+\r
+static AlipayBarCode *g_alipayBarCode = nullptr;\r
+\r
+static const char *BARCODE_TITLE = (char *)"付款码";\r
+static const char *BARCODE_BUTTON = (char *)"切换二维码";\r
+\r
+static const int16 BARCODE_TITLE_FONT = 38;\r
+static const int16 BARCODE_BUTTON_FONT = 35;\r
+\r
+static const int16 BARCODE_TITLE_X = 170;\r
+static const int16 BARCODE_TITLE_Y = 23;\r
+static const int16 BARCODE_TITLE_WIDTH = 114;\r
+static const int16 BARCODE_TITLE_HEIGHT = 53;\r
+\r
+static const int16 BARCODE_BUTTON_X = 139;\r
+static const int16 BARCODE_BUTTON_Y = 380;\r
+static const int16 BARCODE_BUTTON_WIDTH = 176;\r
+static const int16 BARCODE_BUTTON_HEIGHT = 50;\r
+\r
+static const int16 RES_IMAGE_X_GREY = 207;\r
+static const int16 RES_IMAGE_X_WHITE = 232;\r
+static const int16 RES_IMAGE_Y = 13;\r
+static const int16 RES_IMAGE_WIDTH = 15;\r
+static const int16 RES_IMAGE_HEIGHT = 15;\r
+\r
+AlipayBarCode::AlipayBarCode(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::AlipayBarCode");\r
+ g_alipayBarCode = this;\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayBarCode::~AlipayBarCode()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::~AlipayBarCode");\r
+ RemoveAll();\r
+\r
+ if (labelBarCode != nullptr) {\r
+ delete labelBarCode;\r
+ labelBarCode = nullptr;\r
+ }\r
+ if (buttonBarCode != nullptr) {\r
+ delete buttonBarCode;\r
+ buttonBarCode = nullptr;\r
+ }\r
+ if (alipayImageGrey != nullptr) {\r
+ delete alipayImageGrey;\r
+ alipayImageGrey = nullptr;\r
+ }\r
+ if (alipayImageWhite != nullptr) {\r
+ delete alipayImageWhite;\r
+ alipayImageWhite = nullptr;\r
+ }\r
+ if (alipayBarcode != nullptr) {\r
+ delete alipayBarcode;\r
+ alipayBarcode = nullptr;\r
+ }\r
+ if (labelPay != nullptr) {\r
+ delete labelPay;\r
+ labelPay = nullptr;\r
+ }\r
+ g_alipayBarCode = nullptr;\r
+}\r
+\r
+AlipayBarCode *AlipayBarCode::GetInstance(void)\r
+{\r
+ return g_alipayBarCode;\r
+}\r
+\r
+bool AlipayBarCode::AlipayInitImage(void)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::AlipayInitImage");\r
+\r
+ alipayImageGrey = new UIImageView();\r
+ if (alipayImageGrey == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::AlipayInitImage new Grey fail");\r
+ return false;\r
+ }\r
+ alipayImageGrey->SetPosition(RES_IMAGE_X_GREY, RES_IMAGE_Y, RES_IMAGE_WIDTH, RES_IMAGE_HEIGHT);\r
+ alipayImageGrey->SetSrc(PNG_ALIPAY_PAY_ICON_GREY);\r
+\r
+ // Set additional property\r
+ alipayImageGrey->SetAutoEnable(false);\r
+ alipayImageGrey->SetResizeMode(UIImageView::FILL);\r
+\r
+ Add(alipayImageGrey);\r
+\r
+ alipayImageWhite = new UIImageView();\r
+ if (alipayImageWhite == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::AlipayInitImage new White fail");\r
+ return false;\r
+ }\r
+ alipayImageWhite->SetPosition(RES_IMAGE_X_WHITE, RES_IMAGE_Y, RES_IMAGE_WIDTH, RES_IMAGE_HEIGHT);\r
+ alipayImageWhite->SetSrc(PNG_ALIPAY_PAY_ICON_WHITE);\r
+\r
+ // Set additional property\r
+ alipayImageWhite->SetAutoEnable(false);\r
+ alipayImageWhite->SetResizeMode(UIImageView::FILL);\r
+\r
+ Add(alipayImageWhite);\r
+ return true;\r
+}\r
+\r
+bool AlipayBarCode::AlipayInitLabel(void)\r
+{\r
+ labelBarCode = new UILabel();\r
+ if (labelBarCode == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::AlipayInitLabel new label fail");\r
+ return false;\r
+ }\r
+ labelBarCode->SetText(BARCODE_TITLE);\r
+ labelBarCode->SetFont(DEFAULT_VECTOR_FONT_FILENAME, BARCODE_TITLE_FONT);\r
+ labelBarCode->SetPosition(BARCODE_TITLE_X, BARCODE_TITLE_Y, BARCODE_TITLE_WIDTH, BARCODE_TITLE_HEIGHT);\r
+ Add(labelBarCode);\r
+\r
+ return true;\r
+}\r
+\r
+void AlipayBarCode::AlipayBarcodeReformat(uint8_t *str, uint8_t *strBarcode)\r
+{\r
+ for (uint8_t i = 0, j = 0; i < ALIPAY_GET_PAY_STR_MAX_LENGTH && j < ALIPAY_BARCODE_LABEL_NUM; i++, j++) {\r
+ if ((i % ALIPAY_BARCODE_SPACE_INTER == 0) && i != 0 &&\r
+ i <= ALIPAY_BARCODE_SPACE_INTER * ALIPAY_BARCODE_SPACE_NUM) {\r
+ strBarcode[j] = ALIPAY_BARCODE_SPACE;\r
+ j++;\r
+ }\r
+ strBarcode[j] = str[i];\r
+ }\r
+ return;\r
+}\r
+\r
+bool AlipayBarCode::AlipayInitBarcode()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::AlipayInitBarcode");\r
+ alipayBarcode = new UIBarcode();\r
+ if (alipayBarcode == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::AlipayInitBarcode new UIBarcode fail");\r
+ return false;\r
+ }\r
+ alipayBarcode->SetPosition(43, 159, 348, 124);\r
+ alipayBarcode->SetStyle(STYLE_PADDING_TOP, 6);\r
+ alipayBarcode->SetStyle(STYLE_PADDING_BOTTOM, 6);\r
+ alipayBarcode->SetStyle(STYLE_PADDING_LEFT, 10);\r
+ alipayBarcode->SetStyle(STYLE_PADDING_RIGHT, 10);\r
+ alipayBarcode->EnableStretch(true);\r
+ uint8_t str[ALIPAY_GET_PAY_STR_MAX_LENGTH] = {0};\r
+ presenter_->AlipayGetPayCode(str);\r
+ alipayBarcode->SetBarcodeInfo((const char *)str);\r
+ alipayBarcode->SetTouchable(true);\r
+ alipayBarcode->SetOnClickListener(presenter_);\r
+ alipayBarcode->SetViewId(ALIPAY_PAY_BARCODE);\r
+\r
+ Add(alipayBarcode);\r
+\r
+ labelPay = new UILabel();\r
+ if (labelPay == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::InitBarCode new labelPay fail");\r
+ return false;\r
+ }\r
+ uint8_t strBarcode[ALIPAY_BARCODE_LABEL_NUM] = {0};\r
+ AlipayBarcodeReformat(str, strBarcode);\r
+ labelPay->SetText((char *)strBarcode);\r
+ labelPay->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+ labelPay->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ labelPay->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ labelPay->SetPosition(36, 297, 381, 42);\r
+ Add(labelPay);\r
+ return true;\r
+}\r
+\r
+void AlipayBarCode::AlipayRefreshBarcode(const char *refreshStr)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::AlipayRefreshBarcode");\r
+\r
+ if (alipayBarcode == nullptr || labelPay == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::AlipayRefreshBarcode alipayBarcode or labelPay nullptr");\r
+ return;\r
+ }\r
+ alipayBarcode->SetBarcodeInfo(refreshStr);\r
+ uint8_t strBarcode[ALIPAY_BARCODE_LABEL_NUM] = {0};\r
+ AlipayBarcodeReformat((uint8_t *)refreshStr, strBarcode);\r
+ labelPay->SetText((char *)strBarcode);\r
+ labelPay->Invalidate();\r
+\r
+ return;\r
+}\r
+\r
+bool AlipayBarCode::AlipayInitButton()\r
+{\r
+ buttonBarCode = new UILabelButton();\r
+ if (buttonBarCode == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::InitBarCode new label fail");\r
+ return false;\r
+ }\r
+ buttonBarCode->SetPosition(BARCODE_BUTTON_X, BARCODE_BUTTON_Y, BARCODE_BUTTON_WIDTH, BARCODE_BUTTON_HEIGHT);\r
+ buttonBarCode->SetText(BARCODE_BUTTON);\r
+ buttonBarCode->SetFont(DEFAULT_VECTOR_FONT_FILENAME, BARCODE_BUTTON_FONT);\r
+ buttonBarCode->SetViewId(ALIPAY_PAY_SWITCH_QR);\r
+ buttonBarCode->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+ buttonBarCode->SetOnClickListener(presenter_);\r
+ Add(buttonBarCode);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayBarCode::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::InitView");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ SetStyle(STYLE_BACKGROUND_COLOR, 0xff1677ff);\r
+ SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+\r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitButton() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::InitView AlipayInitButton() false");\r
+ return false;\r
+ }\r
+\r
+ if (AlipayInitBarcode() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::InitView AlipayInitQrcode() false");\r
+ return false;\r
+ }\r
+\r
+ if (AlipayInitImage() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBarCode::InitView AlipayInitImage() false");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay bind view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+#include "UiConfig.h"\r
+#include <string>\r
+#include "AlipayBind.h"\r
+#include "AlipayModel.h"\r
+\r
+namespace OHOS {\r
+static const char *BIND_TITLE = (char *)"使用支付宝扫码绑定";\r
+static const char *BIND_BUTTON = (char *)"重新获取";\r
+static const int16 BIND_TITLE_FONT = 30;\r
+static const int16 BIND_BUTTON_FONT = 38;\r
+static const int16 BIND_TITLE_X = 0;\r
+static const int16 BIND_TITLE_Y = 52;\r
+static const int16 BIND_TITLE_WIDTH = 454;\r
+static const int16 BIND_TITLE_HEIGHT = 42;\r
+static const int16 BIND_IMAGE_X = 130;\r
+static const int16 BIND_IMAGE_Y = 126;\r
+static const int16 BIND_IMAGE_WAITING_X = 114;\r
+static const int16 BIND_IMAGE_WAITING_Y = 111;\r
+static const int16 BACKGROUND_IMAGE_X = 135;\r
+static const int16 BACKGROUND_IMAGE_Y = 125;\r
+static const int16 BIND_WIDTH = 80;\r
+static const int16 BIND_DROP_WIDTH = 45;\r
+static const int16 BIND_DROP_X = 200;\r
+static const int16 BIND_DROP_Y = 415;\r
+static const int16 BIND_BUTTON_X = 120;\r
+static const int16 BIND_BUTTON_Y = 320;\r
+static const int16 BIND_BUTTON_WIDTH = 212;\r
+static const int16 BIND_BUTTON_HEIGHT = 73;\r
+static const int16 ALIPAY_IMAGE_MAX = 2;\r
+static const int16 ALIPAY_IMAGE_Y = 35;\r
+static const int16 ALIPAY_COLD_IMAGE_X = 120;\r
+static const int16 ALIPAY_HOT_IMAGE_X = 275;\r
+static const int16 ALIPAY_IMAGE_WIDTH = 60;\r
+static const int16 ALIPAY_IMAGE_HEIGHT = 58;\r
+\r
+AlipayBind::AlipayBind(AlipayPresenter *present)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBind::AlipayBind");\r
+ presenter_ = present;\r
+}\r
+\r
+AlipayBind::~AlipayBind()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBind::~AlipayBind");\r
+ RemoveAll();\r
+ if (labelBind != nullptr) {\r
+ delete labelBind;\r
+ labelBind = nullptr;\r
+ }\r
+ if (qrcodeGroup != nullptr) {\r
+ delete qrcodeGroup;\r
+ qrcodeGroup = nullptr;\r
+ }\r
+}\r
+\r
+bool AlipayBind::AlipayInitImage(void)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBind::AlipayInitImage");\r
+ qrcodeGroup = new UIQrcode();\r
+ qrcodeGroup->SetPosition(88, 100, 277, 277);\r
+ qrcodeGroup->SetAutoEnable(false);\r
+ qrcodeGroup->SetResizeMode(UIImageView::ImageResizeMode::FILL);\r
+ uint8_t str[ALIPAY_GET_BIND_STR_MAX_LENGTH] = { 0 };\r
+ presenter_->AlipayGetBindCode(str);\r
+ qrcodeGroup->SetQrcodeInfo((const char *)str);\r
+ Add(qrcodeGroup);\r
+ return true;\r
+}\r
+\r
+bool AlipayBind::AlipayInitLabel(void)\r
+{\r
+ labelBind = new UILabel();\r
+ if (labelBind == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBind::InitBind new label fail");\r
+ return false;\r
+ }\r
+ labelBind->SetText(BIND_TITLE);\r
+ labelBind->SetFont(DEFAULT_VECTOR_FONT_FILENAME, BIND_TITLE_FONT);\r
+ labelBind->SetPosition(BIND_TITLE_X, BIND_TITLE_Y, BIND_TITLE_WIDTH, BIND_TITLE_HEIGHT);\r
+ labelBind->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+ labelBind->SetTextColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0xff));\r
+ labelBind->SetStyle(STYLE_TEXT_FONT, BIND_TITLE_FONT);\r
+ labelBind->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ Add(labelBind);\r
+ return true;\r
+}\r
+\r
+\r
+bool AlipayBind::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBind::InitView");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ SetStyle(STYLE_BACKGROUND_COLOR, Color::White().full);\r
+\r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBind::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+\r
+ if (AlipayInitImage() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBind::InitView AlipayInitImage() false");\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay bind animate view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include "layout/grid_layout.h"\r
+#include "font/ui_font.h"\r
+#include <string>\r
+#include "AlipayBindAni.h"\r
+#include "common/image_cache_manager.h"\r
+#include "graphic_service.h"\r
+\r
+namespace OHOS {\r
+static const int16 ANILABEL_X_FIRST = 151;\r
+static const int16 ANILABEL_Y_FIRST = 257;\r
+static const int16 ANILABEL_WIDTH_FIRST = 151;\r
+static const int16 ANILABEL_HEIGHT_FIRST = 48;\r
+static const char *ANILABEL_TEXT_FIRST = (char *)"正在绑定";\r
+static const int16 ANILABEL_FONT_FIRST = 38;\r
+\r
+const char *searchImagePath[ALIPAY_BIND_SEARCH_IMAGE_NUM] = {\r
+ PNG_A019_080_IMAGE_PATH,\r
+ PNG_A019_081_IMAGE_PATH,\r
+ PNG_A019_082_IMAGE_PATH,\r
+ PNG_A019_083_IMAGE_PATH,\r
+ PNG_A019_084_IMAGE_PATH,\r
+ PNG_A019_085_IMAGE_PATH,\r
+ PNG_A019_086_IMAGE_PATH,\r
+ PNG_A019_087_IMAGE_PATH,\r
+};\r
+\r
+static const int16 ALIPAY_BIND_IMAGE_X = 162;\r
+static const int16 ALIPAY_BIND_IMAGE_Y = 112;\r
+static const int16 ALIPAY_BIND_IMAGE_WIDTH = 128;\r
+static const int16 ALIPAY_BIND_IMAGE_HEIGHT = 128;\r
+\r
+static const int16 ALIPAY_BIND_IMAGE_DELAY = 200;\r
+\r
+static const int16 RES_IMAGE_X = 162;\r
+static const int16 RES_IMAGE_Y = 112;\r
+static const int16 RES_IMAGE_WIDTH = 128;\r
+static const int16 RES_IMAGE_HEIGHT = 128;\r
+\r
+AlipayBindAni::AlipayBindAni(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindAni::AlipayBindAni");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayBindAni::~AlipayBindAni()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindAni::~AlipayBindAni");\r
+ RemoveAll();\r
+ if (alipayLabel != nullptr) {\r
+ delete alipayLabel;\r
+ alipayLabel = nullptr;\r
+ }\r
+\r
+ if (alipayImageAni != nullptr) {\r
+ delete alipayImageAni;\r
+ alipayImageAni = nullptr;\r
+ }\r
+}\r
+\r
+bool AlipayBindAni::AlipayInitLabel(void)\r
+{\r
+ alipayLabel = new UILabel();\r
+ if (alipayLabel == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBindAni::InitExit new alipayLabel fail");\r
+ return false;\r
+ }\r
+ alipayLabel->SetPosition(ANILABEL_X_FIRST, ANILABEL_Y_FIRST, ANILABEL_WIDTH_FIRST, ANILABEL_HEIGHT_FIRST);\r
+ alipayLabel->SetText(ANILABEL_TEXT_FIRST);\r
+ alipayLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, ANILABEL_FONT_FIRST);\r
+ alipayLabel->SetStyle(STYLE_TEXT_FONT, ANILABEL_FONT_FIRST);\r
+ alipayLabel->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ alipayLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ Add(alipayLabel);\r
+ return true;\r
+}\r
+\r
+bool AlipayBindAni::AlipayInitImageAni(void)\r
+{\r
+ alipayImageAni = new UIImageAnimatorView();\r
+ if (alipayImageAni == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBindAni::AlipayInitImageAni new alipayImageAni fail");\r
+ return false;\r
+ }\r
+ for (uint8_t i = 0; i < ALIPAY_BIND_SEARCH_IMAGE_NUM; i++) {\r
+ searchImageInfo[i].imageInfo = ImageCacheManager::GetInstance().LoadSingleRes(searchImagePath[i]);\r
+ searchImageInfo[i].imageType = IMG_SRC_IMAGE_INFO;\r
+ searchImageInfo[i].pos.x = ALIPAY_BIND_IMAGE_X;\r
+ searchImageInfo[i].pos.y = ALIPAY_BIND_IMAGE_Y;\r
+ searchImageInfo[i].width = ALIPAY_BIND_IMAGE_WIDTH;\r
+ searchImageInfo[i].height = ALIPAY_BIND_IMAGE_HEIGHT;\r
+ }\r
+\r
+ alipayImageAni->SetPosition(RES_IMAGE_X, RES_IMAGE_Y, RES_IMAGE_WIDTH, RES_IMAGE_HEIGHT);\r
+ alipayImageAni->SetImageAnimatorSrc(searchImageInfo, ALIPAY_BIND_SEARCH_IMAGE_NUM, ALIPAY_BIND_IMAGE_DELAY);\r
+ alipayImageAni->SetRepeat(true);\r
+ alipayImageAni->SetAutoEnable(false);\r
+ alipayImageAni->SetResizeMode(UIImageView::FILL);\r
+ Add(alipayImageAni);\r
+\r
+ alipayImageAni->Start();\r
+ return true;\r
+}\r
+\r
+bool AlipayBindAni::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindAni::Init");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBindAni::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitImageAni() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBindAni::InitView AlipayInitImageAni() false");\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay bind result view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include "layout/grid_layout.h"\r
+#include "font/ui_font.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayBindRes.h"\r
+#include "AlipayModel.h"\r
+\r
+namespace OHOS {\r
+static const int16 EXIT_LABEL_X_FIRST = 151;\r
+static const int16 EXIT_LABEL_Y_FIRST = 257;\r
+static const int16 EXIT_LABEL_WIDTH_FIRST = 151;\r
+static const int16 EXIT_LABEL_HEIGHT_FIRST = 48;\r
+static const char *EXIT_LABEL_TEXT_FIRST = (char *)"绑定失败";\r
+static const int16 EXIT_LABEL_FONT_FIRST = 38;\r
+\r
+static const char *EXIT_LABEL_TEXT_SEC = (char *)"绑定成功";\r
+\r
+static const int16 RES_IMAGE_X = 161;\r
+static const int16 RES_IMAGE_Y = 110;\r
+static const int16 RES_IMAGE_WIDTH = 135;\r
+static const int16 RES_IMAGE_HEIGHT = 135;\r
+\r
+AlipayBindRes::AlipayBindRes(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindRes::AlipayBindRes");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayBindRes::~AlipayBindRes()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindRes::~AlipayBindRes");\r
+ RemoveAll();\r
+\r
+ if (alipayLabel != nullptr) {\r
+ delete alipayLabel;\r
+ alipayLabel = nullptr;\r
+ }\r
+\r
+ if (alipayImage != nullptr) {\r
+ delete alipayImage;\r
+ alipayImage = nullptr;\r
+ }\r
+}\r
+\r
+void AlipayBindRes::AlipayRefreshBindRes(void)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindRes::AlipayRefreshBindRes");\r
+\r
+ if (alipayLabel == nullptr || alipayImage == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBindRes::AlipayRefreshBindRes nullptr");\r
+ return;\r
+ }\r
+ // alipayLabel->Set\r
+ if (presenter_->AlipayGetBindFlag()) {\r
+ alipayLabel->SetText(EXIT_LABEL_TEXT_SEC);\r
+ alipayImage->SetSrc(PNG_ALIPAY_BIND_SUCCESS);\r
+ } else {\r
+ alipayLabel->SetText(EXIT_LABEL_TEXT_FIRST);\r
+ alipayImage->SetSrc(PNG_ALIPAY_BIND_FAILURE);\r
+ }\r
+ alipayLabel->Invalidate();\r
+ alipayImage->Invalidate();\r
+\r
+ return;\r
+}\r
+\r
+bool AlipayBindRes::AlipayInitLabel(const char *resStr)\r
+{\r
+ alipayLabel = new UILabel();\r
+ if (alipayLabel == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBindRes::InitExit new alipayLabel fail");\r
+ return false;\r
+ }\r
+ alipayLabel->SetPosition(EXIT_LABEL_X_FIRST, EXIT_LABEL_Y_FIRST, EXIT_LABEL_WIDTH_FIRST, EXIT_LABEL_HEIGHT_FIRST);\r
+ alipayLabel->SetText(resStr);\r
+ alipayLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, EXIT_LABEL_FONT_FIRST);\r
+ alipayLabel->SetStyle(STYLE_TEXT_FONT, EXIT_LABEL_FONT_FIRST);\r
+ alipayLabel->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ alipayLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+\r
+ Add(alipayLabel);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayBindRes::AlipayInitImage(const char *imageSrc)\r
+{\r
+ alipayImage = new UIImageView();\r
+ if (alipayImage == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBindRes::AlipayInitImage new alipayImage fail");\r
+ return false;\r
+ }\r
+ alipayImage->SetPosition(RES_IMAGE_X, RES_IMAGE_Y, RES_IMAGE_WIDTH, RES_IMAGE_HEIGHT);\r
+ alipayImage->SetSrc(imageSrc);\r
+\r
+ // Set additional property\r
+ alipayImage->SetAutoEnable(false);\r
+ alipayImage->SetResizeMode(UIImageView::FILL);\r
+\r
+ Add(alipayImage);\r
+ return true;\r
+}\r
+\r
+bool AlipayBindRes::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindRes::InitExit");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+\r
+ const char *resStr = EXIT_LABEL_TEXT_SEC;\r
+ if (AlipayInitLabel(resStr) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBindRes::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitImage(PNG_ALIPAY_BIND_SUCCESS) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayBindRes::InitView AlipayInitImage() false");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay binding process exit binding view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include "layout/grid_layout.h"\r
+#include "font/ui_font.h"\r
+#include <string>\r
+#include "AlipayExitBind.h"\r
+\r
+namespace OHOS {\r
+static const int16 EXIT_LABEL_X_FIRST = 132;\r
+static const int16 EXIT_LABEL_X_SEC = 0;\r
+static const int16 EXIT_LABEL_WIDTH_FIRST = 189;\r
+static const int16 EXIT_LABEL_HEIGHT_FIRST = 48;\r
+\r
+static const int16 EXIT_LABEL_Y_FIRST = 57;\r
+static const int16 EXIT_LABEL_Y_SECOND = 154;\r
+static const int16 EXIT_LABEL_WIDTH_SEC = 454;\r
+static const int16 EXIT_LABEL_HEIGHT_SEC = 83;\r
+static const int16 EXIT_LABEL_FONT_FIRST = 38;\r
+static const int16 EXIT_LABEL_FONT_SEC = 30;\r
+\r
+static const char *EXIT_LABEL_TEXT_FIRST = (char *)"未完成绑定";\r
+static const char *EXIT_LABEL_TEXT_SECOND = (char *)"当前未完成绑定,退出在进来\n需要重新扫码绑定";\r
+\r
+static const int16 EXIT_BUTTON_EXIT_X = 50;\r
+static const int16 EXIT_BUTTON_EXIT_Y = 312;\r
+\r
+static const int16 EXIT_BUTTON_BIND_X = 233;\r
+static const int16 EXIT_BUTTON_BIND_Y = 312;\r
+\r
+static const char *EXIT_BUTTON_TEXT_FIRST = (char *)"退出";\r
+static const char *EXIT_BUTTON_TEXT_SECOND = (char *)"去绑定";\r
+\r
+static const int16 EXIT_BUTTON_WIDTH = 169;\r
+static const int16 EXIT_BUTTON_HEIGHT = 73;\r
+static const int16 EXIT_BUTTON_FONT = 38;\r
+\r
+AlipayExitBind::AlipayExitBind(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayExitBind::AlipayExitBind");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayExitBind::~AlipayExitBind()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayExitBind::~AlipayExitBind");\r
+ RemoveAll();\r
+ for (int32_t labelNum = ALIPAY_SET_ZERO; labelNum < ALIPAY_SET_TWO; labelNum++) {\r
+ if (alipayLabel[labelNum] != nullptr) {\r
+ delete alipayLabel[labelNum];\r
+ alipayLabel[labelNum] = nullptr;\r
+ }\r
+ }\r
+ for (int32_t buttonNum = ALIPAY_SET_ZERO; buttonNum < ALIPAY_SET_TWO; buttonNum++) {\r
+ if (alipayButton[buttonNum] != nullptr) {\r
+ delete alipayButton[buttonNum];\r
+ alipayButton[buttonNum] = nullptr;\r
+ }\r
+ }\r
+}\r
+\r
+bool AlipayExitBind::AlipayInitLabel()\r
+{\r
+ alipayLabel[ALIPAY_SET_ZERO] = new UILabel();\r
+ if (alipayLabel[ALIPAY_SET_ZERO] == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayExitBind::InitExit new alipayLabel[ALIPAY_SET_ZERO] fail");\r
+ return false;\r
+ }\r
+\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetPosition(EXIT_LABEL_X_FIRST, EXIT_LABEL_Y_FIRST, EXIT_LABEL_WIDTH_FIRST,\r
+ EXIT_LABEL_HEIGHT_FIRST);\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetText(EXIT_LABEL_TEXT_FIRST);\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, EXIT_LABEL_FONT_FIRST);\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetStyle(STYLE_TEXT_FONT, EXIT_LABEL_FONT_FIRST);\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+\r
+ Add(alipayLabel[ALIPAY_SET_ZERO]);\r
+\r
+ alipayLabel[ALIPAY_SET_ONE] = new UILabel();\r
+ if (alipayLabel[ALIPAY_SET_ONE] == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayExitBind::InitExit new alipayLabel[ALIPAY_SET_ONE] fail");\r
+ return false;\r
+ }\r
+ alipayLabel[ALIPAY_SET_ONE]->SetPosition(EXIT_LABEL_X_SEC, EXIT_LABEL_Y_SECOND, EXIT_LABEL_WIDTH_SEC,\r
+ EXIT_LABEL_HEIGHT_SEC);\r
+ alipayLabel[ALIPAY_SET_ONE]->SetText(EXIT_LABEL_TEXT_SECOND);\r
+ alipayLabel[ALIPAY_SET_ONE]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, EXIT_LABEL_FONT_SEC);\r
+ alipayLabel[ALIPAY_SET_ONE]->SetStyle(STYLE_LINE_SPACE, 6);\r
+ alipayLabel[ALIPAY_SET_ONE]->SetStyle(STYLE_TEXT_FONT, EXIT_LABEL_FONT_SEC);\r
+ alipayLabel[ALIPAY_SET_ONE]->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ alipayLabel[ALIPAY_SET_ONE]->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);\r
+ Add(alipayLabel[ALIPAY_SET_ONE]);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayExitBind::InitSimilarButton(int16 num, int16 alipayX, int16 alipayY, const char *buttonStr,\r
+ const char *viewId)\r
+{\r
+ alipayButton[num] = new UILabelButton();\r
+ if (alipayButton[num] == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayExitBind::InitSimilarButton new alipayButton[%d] fail", num);\r
+ return false;\r
+ }\r
+ int64_t backColor = 0;\r
+\r
+ if (num == 0) {\r
+ backColor = 0xff4a83bf;\r
+ alipayButton[num]->SetTextColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0xff));\r
+ alipayButton[num]->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ } else if (num == 1) {\r
+ backColor = 0xff0b1928;\r
+ }\r
+ alipayButton[num]->SetPosition(alipayX, alipayY, EXIT_BUTTON_WIDTH, EXIT_BUTTON_HEIGHT);\r
+ alipayButton[num]->SetText(buttonStr);\r
+ alipayButton[num]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, EXIT_BUTTON_FONT);\r
+ alipayButton[num]->SetViewId(viewId);\r
+ alipayButton[num]->SetStyleForState(STYLE_BORDER_COLOR, backColor, UIButton::RELEASED);\r
+ alipayButton[num]->SetOnClickListener(presenter_);\r
+\r
+ Add(alipayButton[num]);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayExitBind::AlipayInitButton()\r
+{\r
+ if (InitSimilarButton(ALIPAY_SET_ZERO, EXIT_BUTTON_EXIT_X, EXIT_BUTTON_EXIT_Y, EXIT_BUTTON_TEXT_FIRST,\r
+ ALIPAY_INTER_EXIT) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "AlipayExitBind::AlipayInitButton new alipayButton[ALIPAY_SET_ZERO] fail");\r
+ return false;\r
+ }\r
+ if (InitSimilarButton(ALIPAY_SET_ONE, EXIT_BUTTON_BIND_X, EXIT_BUTTON_BIND_Y, EXIT_BUTTON_TEXT_SECOND,\r
+ ALIPAY_BIND_CONTINUE) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "AlipayExitBind::AlipayInitButton new alipayButton[ALIPAY_SET_ONE] fail");\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayExitBind::InitView()\r
+{\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+\r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayExitBind::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitButton() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayExitBind::InitView AlipayInitButton() false");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay help qrcode view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayHelp.h"\r
+#include "AlipayModel.h"\r
+\r
+namespace OHOS {\r
+static const char *HELP_TITLE = (char*)"使用支付宝扫码求助";\r
+static const int16 HELP_TITLE_FONT = 30;\r
+static const int16 HELP_TITLE_X = 0;\r
+static const int16 HELP_TITLE_Y = 52;\r
+static const int16 HELP_TITLE_WIDTH = 454;\r
+static const int16 HELP_TITLE_HEIGHT = 42;\r
+\r
+static const int16 ALIPAY_IMAGE_MAX = 2;\r
+static const int16 ALIPAY_IMAGE_Y = 35;\r
+static const int16 ALIPAY_IMAGE_WIDTH = 60;\r
+static const int16 ALIPAY_IMAGE_HEIGHT = 58;\r
+\r
+AlipayHelp::AlipayHelp(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayHelp::AlipayHelp");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayHelp::~AlipayHelp()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayHelp::~AlipayHelp");\r
+ RemoveAll();\r
+\r
+ if (labelHelp != nullptr) {\r
+ delete labelHelp;\r
+ labelHelp = nullptr;\r
+ }\r
+ if (qrcodeGroup != nullptr) {\r
+ delete qrcodeGroup;\r
+ qrcodeGroup = nullptr;\r
+ }\r
+}\r
+\r
+bool AlipayHelp::AlipayInitImage(void)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayHelp::AlipayInitImage");\r
+\r
+ qrcodeGroup = new UIQrcode();\r
+ if (qrcodeGroup == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayHelp::AlipayInitImage qrcodeGroup nullptr");\r
+ return false;\r
+ }\r
+ qrcodeGroup->SetPosition(78, 96, 278, 278);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_LEFT, 10);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_RIGHT, 10);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_TOP, 10);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_BOTTOM, 10);\r
+ qrcodeGroup->SetAutoEnable(false);\r
+ qrcodeGroup->SetResizeMode(UIImageView::ImageResizeMode::FILL);\r
+ int8_t strAid[ALIPAY_GET_AID_STR_MAX_LENGTH] = { 0 };\r
+ presenter_->AlipayGetAidCode(strAid);\r
+ qrcodeGroup->SetQrcodeInfo((const char *)strAid);\r
+\r
+ Add(qrcodeGroup);\r
+\r
+ return true;\r
+}\r
+\r
+\r
+bool AlipayHelp::AlipayInitLabel(void)\r
+{\r
+ labelHelp = new UILabel();\r
+ if (labelHelp == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayHelp::AlipayInitLabel new labelHelp fail");\r
+ return false;\r
+ }\r
+ labelHelp->SetText(HELP_TITLE);\r
+ labelHelp->SetFont(DEFAULT_VECTOR_FONT_FILENAME, HELP_TITLE_FONT);\r
+ labelHelp->SetPosition(HELP_TITLE_X, HELP_TITLE_Y, HELP_TITLE_WIDTH, HELP_TITLE_HEIGHT);\r
+ labelHelp->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+ labelHelp->SetStyle(STYLE_TEXT_FONT, HELP_TITLE_FONT);\r
+ labelHelp->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ \r
+ Add(labelHelp);\r
+\r
+ return true;\r
+}\r
+\r
+\r
+bool AlipayHelp::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayHelp::InitView");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ SetStyle(STYLE_BACKGROUND_COLOR, 0xff1677ff);\r
+ SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+\r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayHelp::InitView AlipayInitImage() false");\r
+ return false;\r
+ }\r
+ \r
+ if (AlipayInitImage() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayHelp::InitView AlipayInitImage() false");\r
+ return false;\r
+ }\r
+ \r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay list adapt.
+ * Author:
+ * Create:
+ */
+
+#include "AlipayListAdapter.h"
+#include "AlipayListItemView.h"
+
+namespace OHOS {
+AlipayListAdapter::AlipayListAdapter()
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayListAdapter::AlipayListAdapter()");
+}
+
+AlipayListAdapter::~AlipayListAdapter()
+{
+ listData.clear();
+}
+
+uint16_t AlipayListAdapter::GetCount(void)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayListAdapter::GetCount(), size:%u", listData.size());
+ return listData.size();
+}
+
+void AlipayListAdapter::SetData(std::list<AlipayListItem> &data)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayListAdapter::SetData()");
+ if (!listData.empty()) {
+ listData.clear();
+ }
+ std::list<AlipayListItem>::iterator it;
+ for (it = data.begin(); it != data.end(); it++) {
+ listData.push_back(*it);
+ }
+}
+
+UIView *AlipayListAdapter::GetView(UIView *inView, int16_t index)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayListAdapter::GetView(), addr %x, index:%u", inView, index);
+ if (listData.empty()) {
+ return nullptr;
+ }
+ if (index < 0) {
+ return nullptr;
+ }
+ size_t uindex = index;
+ if (uindex >= listData.size()) {
+ return nullptr;
+ }
+
+ std::list<AlipayListItem>::iterator it = listData.begin();
+ for (int i = 0; i < index; i++) {
+ it++;
+ }
+ AlipayListItem itemData = *it;
+ AlipayListItemView *item = nullptr;
+ if (inView == nullptr) {
+ item = new AlipayListItemView();
+ } else {
+ item = static_cast<AlipayListItemView *>(inView);
+ }
+
+ item->SetItemInfo(itemData);
+ item->SetViewId(itemData.viewId);
+ item->SetOnClickListener(itemClickListener);
+ return item;
+}
+
+void AlipayListAdapter::AddListItem(const AlipayListItem &item)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayListAdapter::AddListItem()");
+ listData.push_back(item);
+}
+} // namespace OHOS
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay list item view.
+ * Author:
+ * Create:
+ */
+
+#include "wearable_log.h"
+#include "AlipayListItemView.h"
+
+namespace OHOS {
+static constexpr int16 ALIPAY_LIST_ICON_X = 20;
+static constexpr int16 NUM_22 = 22;
+static constexpr int16_t ALIPAY_LIST_ICON_WIDTH = 64;
+static constexpr int16_t ALIPAY_LIST_ICON_HEIGHT = 64;
+static constexpr int16_t ALIPAY_LIST_ITEM_BUTTON_HEIGHT = 100;
+static constexpr int16_t ALIPAY_LIST_ITEM_LABEL_WIDTH = 122;
+static constexpr int16_t ALIPAY_LIST_ITEM_LABEL_HEIGHT = 100;
+static constexpr int16_t ALIPAY_LIST_ITEM_FONT_SIZE = 40;
+static constexpr int16_t ALIPAY_LISTS_RESIZE_SIZE = 100;
+static constexpr int16_t ALIPAY_LIST_SICON_Y = 15;
+static constexpr int16 NUMS_2 = 2;
+static constexpr int16 NUMS_50 = 50;
+
+AlipayListItemView::AlipayListItemView()
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayListItemView::AlipayListItemView()");
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, ALIPAY_LIST_ITEM_BUTTON_HEIGHT);
+ SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+ SetStyle(STYLE_BACKGROUND_OPA, UN_OPACITY);
+ SetTouchable(true);
+ SetUpChild();
+
+ Add(&sIcon);
+ Add(&sLabel);
+ Add(&sNextImage);
+}
+
+AlipayListItemView::~AlipayListItemView()
+{
+ Remove(&sIcon);
+ Remove(&sLabel);
+ Remove(&sNextImage);
+}
+
+void AlipayListItemView::SetItemInfo(const AlipayListItem &itemInfo)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayListItemView::SetItemInfo()");
+ sItemInfo = itemInfo;
+ sIcon.SetSrc(itemInfo.icon);
+ sLabel.SetText(itemInfo.label);
+ sNextImage.SetVisible(itemInfo.hasSecondMenu);
+}
+
+void AlipayListItemView::SetUpChild()
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayListItemView::SetUpChild()");
+ sIcon.SetPosition(ALIPAY_LIST_ICON_X, ALIPAY_LIST_SICON_Y);
+ sIcon.Resize(ALIPAY_LIST_ICON_WIDTH, ALIPAY_LIST_ICON_HEIGHT);
+
+ sIcon.SetAutoEnable(false);
+ sIcon.SetResizeMode(UIImageView::FILL);
+ sIcon.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE);
+
+ sLabel.SetPosition(ALIPAY_LIST_ITEM_LABEL_WIDTH, 0);
+ sLabel.Resize(ALIPAY_LIST_ITEM_LABEL_WIDTH, ALIPAY_LIST_ITEM_LABEL_HEIGHT);
+ sLabel.SetFont(DEFAULT_VECTOR_FONT_FILENAME, ALIPAY_LIST_ITEM_FONT_SIZE);
+ sLabel.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ sLabel.SetStyle(STYLE_TEXT_OPA, OPA_OPAQUE);
+ sLabel.SetStyle(STYLE_TEXT_COLOR, Color::White().full);
+ sLabel.SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+ sLabel.SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
+
+ sNextImage.SetSrc(PNG_SETTING_NEXT_IMAGE);
+ sNextImage.SetPosition(LA_HORIZONTAL_RESOLUTION - NUMS_50, (SETTING_ITEM_HEIGHT - sNextImage.GetHeight()) / NUMS_2);
+ sNextImage.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE);
+}
+
+}
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay list view.
+ * Author:
+ * Create:
+ */
+
+#include <string>
+#include "AlipayListView.h"
+#include "AlipayListItem.h"
+#include "cmsis_os2.h"
+
+namespace OHOS {
+static constexpr int16_t ALIPAY_LIST_POSITION_X = 33;
+static constexpr int16_t ALIPAY_LIST_POSITION_Y = 59;
+static constexpr int16_t ALIPAY_LIST_SCROLLBLANKSIZE = 100;
+static constexpr int16 MAX_SCR_DIS = 1000;
+static constexpr int16 LIST_POS = 20;
+static constexpr int16 SNUM_2 = 2;
+
+AlipayList::AlipayList(AlipayPresenter *presenter)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayList::AlipayList");
+ presenter_ = presenter;
+}
+
+AlipayList::~AlipayList()
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayList::~AlipayList");
+ RemoveAll();
+
+ if (listAdapter != nullptr) {
+ delete listAdapter;
+ listAdapter = nullptr;
+ }
+ if (contentList != nullptr) {
+ delete contentList;
+ contentList = nullptr;
+ }
+}
+
+bool AlipayList::AlipayInitList()
+{
+ listAdapter = new AlipayListAdapter();
+ if (listAdapter == nullptr) {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayList::OnStart::listAdapter is nullptr");
+ return false;
+ }
+ listAdapter->SetItemClickListener(presenter_);
+ InitAlipayListItem();
+ contentList = new UIList();
+ if (contentList == nullptr) {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayList::OnStart::contentList is nullptr");
+ return false;
+ }
+ contentList->SetPosition(ALIPAY_LIST_POSITION_X, ALIPAY_LIST_POSITION_Y);
+ contentList->Resize(HORIZONTAL_RESOLUTION - ALIPAY_LIST_POSITION_X, VERTICAL_RESOLUTION - ALIPAY_LIST_POSITION_Y);
+ contentList->SetScrollBlankSize(ALIPAY_LIST_SCROLLBLANKSIZE);
+ contentList->SetSelectPosition(ALIPAY_LIST_POSITION_Y);
+ contentList->SetDraggable(true);
+ contentList->SetThrowDrag(false);
+ contentList->EnableAutoAlign(true);
+ contentList->SetMaxScrollDistance(MAX_SCR_DIS);
+
+ AddAlipayListItemToList();
+ Add(contentList);
+ contentList->SetAdapter(listAdapter);
+ return true;
+}
+
+void AlipayList::InitAlipayListItem()
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayListModel::InitAlipayListItem()");
+ alipayLists[0] = {ALIPAY_LIST_ITEM_PAY, ALIPAY_LIST_PAY_BUTTON, PNG_ALIPAY_LIST_PAY, "付款码", true};
+ alipayLists[1] = {ALIPAY_LIST_ITEM_TRANS, ALIPAY_LIST_TRANS_BUTTON, PNG_ALIPAY_LIST_TRANS, "乘车码", true};
+ alipayLists[2] = {ALIPAY_LIST_ITEM_SETTING, ALIPAY_LIST_SETTING_BUTTON, PNG_ALIPAY_LIST_SETTING, "设置", true};
+ alipayLists[3] = {ALIPAY_LIST_ITEM_HELP, ALIPAY_LIST_HELP_BUTTON, PNG_ALIPAY_LIST_HELP, "帮助", true};
+}
+
+bool AlipayList::InitListView()
+{
+ SetDraggable(true);
+ SetTouchable(true);
+ SetOnDragListener(presenter_);
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
+ SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+ SetStyle(STYLE_BACKGROUND_OPA, UN_OPACITY);
+
+ if (AlipayInitList() == false) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayList::InitView AlipayInitList() false");
+ return false;
+ }
+
+ return true;
+}
+
+void AlipayList::AddAlipayListItemToList(void)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayList::AddAlipayListItemToList");
+ for (uint8_t i = 0; i < ALIPAY_LIST_ITEM_MAX; i++) {
+ listAdapter->AddListItem(alipayLists[i]);
+ }
+}
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay app main view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "AlipayMainView.h"\r
+#include "UiConfig.h"\r
+#include "alipay_feature.h"\r
+\r
+namespace OHOS {\r
+#define ALIPAY_BIND_SUCCESS_RES_TIMER_LENGTH 3000\r
+#define ALIPAY_BIND_FAILURE_RES_TIMER_LENGTH 8000\r
+\r
+static AlipayMainView *g_alipayMainView = nullptr;\r
+\r
+static const int16 LABEL_FIRST_X = 200;\r
+static const int16 LABEL_FIRST_Y = 60;\r
+static const int16 LABEL_FIRST_WIDTH = 150;\r
+static const int16 LABEL_FIRST_HEIGHT = 45;\r
+static const int16 LABEL_FIRST_FONT = 35;\r
+\r
+AlipayMainView::AlipayMainView()\r
+{\r
+ g_alipayMainView = this;\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::AlipayMainView");\r
+}\r
+\r
+AlipayMainView::~AlipayMainView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::~AlipayMainView");\r
+ int16 numGroup;\r
+ for (numGroup = ALIPAY_SET_ZERO; numGroup < ALIPAY_INTERFACES_MAX; numGroup++) {\r
+ if (container[numGroup] != nullptr) {\r
+ container[numGroup] = nullptr;\r
+ }\r
+ }\r
+ DeleteViceInter();\r
+ group = nullptr;\r
+ g_alipayMainView = nullptr;\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::~AlipayMainView");\r
+}\r
+\r
+AlipayMainView *AlipayMainView::GetInstance(void)\r
+{\r
+ return g_alipayMainView;\r
+}\r
+\r
+void AlipayMainView::OnStart()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::OnStart");\r
+ View<AlipayPresenter>::OnStart();\r
+ BaseView::RootView(Color::Black().full);\r
+ alipayInterfacesId startView;\r
+ bool bindFlag = AlipayModel::GetInstance()->AlipayGetBindstate();\r
+ if (!bindFlag) {\r
+ alipayBind = new AlipayBind(presenter_);\r
+ if (alipayBind == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView:: OnStart alipayBind null error!");\r
+ return;\r
+ }\r
+ alipayBind->InitView();\r
+ startView = ALIPAY_BIND_VIEW;\r
+ container[startView] = alipayBind;\r
+ AlipayModel::GetInstance()->AlipayStartBind();\r
+ } else {\r
+ alipayList = new AlipayList(presenter_);\r
+ if (alipayList == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView:: OnStart alipayList null error!");\r
+ return;\r
+ }\r
+ alipayList->InitListView();\r
+ startView = ALIPAY_LIST_VIEW;\r
+ container[startView] = alipayList;\r
+ }\r
+ AlipayModel::GetInstance()->SetAlipayInterLis(startView);\r
+ group = container[startView];\r
+ alipayWhichInter = startView;\r
+\r
+ RootView::GetInstance()->Add(container[startView]);\r
+\r
+ return;\r
+}\r
+\r
+void AlipayMainView::OnSetUpView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::OnSetUpView");\r
+ View<AlipayPresenter>::OnSetUpView();\r
+\r
+ if (group == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::OnSetUpView group null error!");\r
+ return;\r
+ }\r
+\r
+ RootView::GetInstance()->Add(group);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RootView::GetInstance()->Add");\r
+\r
+ // show timerView\r
+ Draw();\r
+}\r
+\r
+void AlipayMainView::OnTearDownView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::OnTearDownView");\r
+ View<AlipayPresenter>::OnTearDownView();\r
+\r
+ return;\r
+}\r
+\r
+void AlipayMainView::OnStop()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::OnStop");\r
+ View<AlipayPresenter>::OnStop();\r
+ if (container_ != nullptr) {\r
+ container_->RemoveAll();\r
+ delete container_;\r
+ container_ = nullptr;\r
+ }\r
+ group->RemoveAll();\r
+ RootView::GetInstance()->ClearOnKeyActListener();\r
+ RootView::GetInstance()->RemoveAll();\r
+ return;\r
+}\r
+\r
+void AlipayMainView::DeleteViceInter(void)\r
+{\r
+ if (alipayBind != nullptr) {\r
+ delete alipayBind;\r
+ alipayBind = nullptr;\r
+ }\r
+ if (alipayExitBind != nullptr) {\r
+ delete alipayExitBind;\r
+ alipayExitBind = nullptr;\r
+ }\r
+ if (alipayBindRes != nullptr) {\r
+ delete alipayBindRes;\r
+ alipayBindRes = nullptr;\r
+ }\r
+ if (alipayBindAni != nullptr) {\r
+ delete alipayBindAni;\r
+ alipayBindAni = nullptr;\r
+ }\r
+\r
+ if (alipayPayCode != nullptr) {\r
+ delete alipayPayCode;\r
+ alipayPayCode = nullptr;\r
+ }\r
+ if (alipayBarCode != nullptr) {\r
+ delete alipayBarCode;\r
+ alipayBarCode = nullptr;\r
+ }\r
+ if (alipaySetting != nullptr) {\r
+ delete alipaySetting;\r
+ alipaySetting = nullptr;\r
+ }\r
+ if (alipayExitBindSetting != nullptr) {\r
+ delete alipayExitBindSetting;\r
+ alipayExitBindSetting = nullptr;\r
+ }\r
+ if (alipayUnbindFinish != nullptr) {\r
+ delete alipayUnbindFinish;\r
+ alipayUnbindFinish = nullptr;\r
+ }\r
+\r
+ if (alipayHelp != nullptr) {\r
+ delete alipayHelp;\r
+ alipayHelp = nullptr;\r
+ }\r
+\r
+ if (alipayList != nullptr) {\r
+ delete alipayList;\r
+ alipayList = nullptr;\r
+ }\r
+\r
+ if (alipayGetTransList != nullptr) {\r
+ delete alipayGetTransList;\r
+ alipayGetTransList = nullptr;\r
+ }\r
+ if (alipayTransTips != nullptr) {\r
+ delete alipayTransTips;\r
+ alipayTransTips = nullptr;\r
+ }\r
+ if (alipayTransCode != nullptr) {\r
+ delete alipayTransCode;\r
+ alipayTransCode = nullptr;\r
+ }\r
+ if (alipayTransEnable != nullptr) {\r
+ delete alipayTransEnable;\r
+ alipayTransEnable = nullptr;\r
+ }\r
+ if (alipayTransRes != nullptr) {\r
+ delete alipayTransRes;\r
+ alipayTransRes = nullptr;\r
+ }\r
+ if (alipayTransList != nullptr) {\r
+ delete alipayTransList;\r
+ alipayTransList = nullptr;\r
+ }\r
+\r
+ if (alipayTransAni != nullptr) {\r
+ delete alipayTransAni;\r
+ alipayTransAni = nullptr;\r
+ }\r
+\r
+ return;\r
+}\r
+\r
+int16 AlipayMainView::GetWhichInter(void)\r
+{\r
+ return alipayWhichInter;\r
+}\r
+\r
+int16 AlipayMainView::GetListenInter(void)\r
+{\r
+ return interListen;\r
+}\r
+\r
+void AlipayMainView::DropView(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView");\r
+ if (&view == container[ALIPAY_PAY_BARCODE_VIEW]) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_PAY_BARCODE_VIEW]");\r
+ ChangeView(ALIPAY_PAY_BARCODE_VIEW, ALIPAY_PAY_VIEW);\r
+ } else if (&view == container[ALIPAY_PAY_VIEW]) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_PAY_VIEW]");\r
+ AlipayModel::GetInstance()->AlipayStopSwitchTimer();\r
+ ChangeView(ALIPAY_PAY_VIEW, ALIPAY_LIST_VIEW);\r
+ } else if (&view == container[ALIPAY_SETTING_VIEW]) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_SETTING_VIEW]");\r
+ ChangeView(ALIPAY_SETTING_VIEW, ALIPAY_LIST_VIEW);\r
+ } else if (&view == container[ALIPAY_HELP_VIEW]) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_HELP_VIEW]");\r
+ ChangeView(ALIPAY_HELP_VIEW, ALIPAY_LIST_VIEW);\r
+ } else if (&view == container[ALIPAY_BIND_ANI_VIEW]) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_BIND_ANI_VIEW]");\r
+ ChangeView(ALIPAY_BIND_ANI_VIEW, ALIPAY_BIND_EXIT_VIEW);\r
+ } else if (&view == container[ALIPAY_LIST_VIEW] || &view == container[ALIPAY_BIND_VIEW]) {\r
+ AlipayModel::GetInstance()->AlipayStopSwitchTimer();\r
+ AlipayModel::GetInstance()->AlipayStopBindTimer();\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
+ } else if (&view == container[ALIPAY_TRANS_LIST_VIEW]) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_TRANS_LIST_VIEW]");\r
+ ChangeView(ALIPAY_TRANS_LIST_VIEW, ALIPAY_LIST_VIEW);\r
+ } else if (&view == container[ALIPAY_TRANS_VIEW]) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_TRANS_VIEW]");\r
+ ChangeView(ALIPAY_TRANS_VIEW, ALIPAY_TRANS_LIST_VIEW);\r
+ } else if (&view == container[ALIPAY_TRANS_ENABLE_VIEW]) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_TRANS_ENABLE_VIEW]");\r
+ AlipayModel::GetInstance()->AlipayTransStopGetListsTimer();\r
+ ChangeView(ALIPAY_TRANS_ENABLE_VIEW, ALIPAY_LIST_VIEW);\r
+ }\r
+\r
+ return;\r
+}\r
+\r
+void AlipayMainView::SwitchView(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::SwitchView");\r
+ if (&view == container[ALIPAY_PAY_VIEW]) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_PAY_VIEW]");\r
+ ChangeView(ALIPAY_PAY_VIEW, ALIPAY_PAY_BARCODE_VIEW);\r
+ } else if (&view == container[ALIPAY_BIND_RES_VIEW] && presenter_->AlipayGetBindFlag()) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_BIND_VIEW]");\r
+ AlipayModel::GetInstance()->AlipayStopSwitchTimer();\r
+ ChangeView(ALIPAY_BIND_RES_VIEW, ALIPAY_LIST_VIEW);\r
+ }\r
+ return;\r
+}\r
+\r
+bool AlipayMainView::ChangePayView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangePayView");\r
+ AlipayModel::GetInstance()->AlipayStartSwitchTimer(60000);\r
+ if (container[thisView] == nullptr) {\r
+ alipayPayCode = new AlipayPayCode(presenter_);\r
+ if (alipayPayCode == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangePayView alipayPayCode null error!");\r
+ return false;\r
+ }\r
+ if (alipayPayCode->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangePayView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayPayCode;\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ } else {\r
+ uint8_t payStr[ALIPAY_GET_PAY_STR_MAX_LENGTH] = { 0 };\r
+ presenter_->AlipayGetPayCode(payStr);\r
+ alipayPayCode->AlipayRefreshQrcode((const char *)payStr);\r
+ }\r
+\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeSettingView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeSettingView");\r
+ if (container[thisView] == nullptr) {\r
+ alipaySetting = new AlipaySetting(presenter_);\r
+ if (alipaySetting == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeSettingView alipayPayCode null error!");\r
+ return false;\r
+ }\r
+ if (alipaySetting->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeSettingView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipaySetting;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeHelpView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeHelpView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayHelp = new AlipayHelp(presenter_);\r
+ if (alipayHelp == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeHelpView alipayHelp null error!");\r
+ return false;\r
+ }\r
+ if (alipayHelp->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeHelpView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayHelp;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeBindAniView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindAniView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayBindAni = new AlipayBindAni(presenter_);\r
+ if (alipayBindAni == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindAniView alipayBindAni null error!");\r
+ return false;\r
+ }\r
+ if (alipayBindAni->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindAniView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayBindAni;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeBindExitView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindExitView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayExitBind = new AlipayExitBind(presenter_);\r
+ if (alipayExitBind == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindExitView alipayExitBind null error!");\r
+ return false;\r
+ }\r
+ if (alipayExitBind->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindExitView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayExitBind;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeBindResView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindResView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayBindRes = new AlipayBindRes(presenter_);\r
+ if (alipayBindRes == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindResView alipayBindRes null error!");\r
+ return false;\r
+ }\r
+ if (alipayBindRes->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindResView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayBindRes;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayBindRes->AlipayRefreshBindRes();\r
+ if (presenter_->AlipayGetBindFlag()) {\r
+ AlipayModel::GetInstance()->AlipayStartSwitchTimer(ALIPAY_BIND_SUCCESS_RES_TIMER_LENGTH);\r
+ } else {\r
+ AlipayModel::GetInstance()->AlipayStartSwitchTimer(ALIPAY_BIND_FAILURE_RES_TIMER_LENGTH);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeUnbindView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeUnbindView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayExitBindSetting = new AlipayUnbind(presenter_);\r
+ if (alipayExitBindSetting == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "AlipayMainView::ChangeUnbindView alipayExitBindSetting null error!");\r
+ return false;\r
+ }\r
+ if (alipayExitBindSetting->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeUnbindView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayExitBindSetting;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeUnbindFinishView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeUnbindFinishView");\r
+ AlipayModel::GetInstance()->AlipayUnbind();\r
+ if (container[thisView] == nullptr) {\r
+ alipayUnbindFinish = new AlipayUnbindFinish(presenter_);\r
+ if (alipayUnbindFinish == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "AlipayMainView::ChangeUnbindFinishView alipayUnbindFinish null error!");\r
+ return false;\r
+ }\r
+ if (alipayUnbindFinish->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeUnbindFinishView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayUnbindFinish;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeBindView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindView");\r
+ AlipayModel::GetInstance()->AlipayStartBind();\r
+ if (container[thisView] == nullptr) {\r
+ alipayBind = new AlipayBind(presenter_);\r
+ if (alipayBind == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindView alipayBind null error!");\r
+ return false;\r
+ }\r
+ if (alipayBind->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayBind;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeTransView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayTransCode = new AlipayTransCode(presenter_);\r
+ if (alipayTransCode == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransView alipayTransCode null error!");\r
+ return false;\r
+ }\r
+ if (alipayTransCode->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayTransCode;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeTransListView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransListView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayTransList = new AlipayTransList(presenter_);\r
+ if (alipayTransList == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransListView alipayTransList null error!");\r
+ return false;\r
+ }\r
+ if (alipayTransList->InitListView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransListView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayTransList;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeTransEnableView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransEnableView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayTransEnable = new AlipayTransEnable(presenter_);\r
+ if (alipayTransEnable == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "AlipayMainView::ChangeTransEnableView alipayTransEnable null error!");\r
+ return false;\r
+ }\r
+ if (alipayTransEnable->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransEnableView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayTransEnable;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeTransTipsView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransTipsView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayTransTips = new AlipayTransTips(presenter_);\r
+ if (alipayTransTips == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransTipsView alipayTransTips null error!");\r
+ return false;\r
+ }\r
+ if (alipayTransTips->InitTipsView(presenter_->AlipayGetSwitchIndex()) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransTipsView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayTransTips;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeTransResView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransResView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayTransRes = new AlipayTransRes(presenter_);\r
+ if (alipayTransRes == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransResView alipayTransRes null error!");\r
+ return false;\r
+ }\r
+ if (alipayTransRes->InitResView(presenter_->AlipayGetSwitchIndex()) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransResView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayTransRes;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeGetTransListView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeGetTransListView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayGetTransList = new AlipayGetTransList(presenter_);\r
+ if (alipayGetTransList == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "AlipayMainView::ChangeGetTransListView alipayGetTransList null error!");\r
+ return false;\r
+ }\r
+ if (alipayGetTransList->InitGetView(presenter_->AlipayGetSwitchIndex()) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeGetTransListView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayGetTransList;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeTransAniView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransProcessView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayTransAni = new AlipayTransAni(presenter_);\r
+ if (alipayTransAni == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransProcessView alipayTransAni null error!");\r
+ return false;\r
+ }\r
+ if (alipayTransAni->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeTransProcessView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayTransAni;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeBarCodeView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBarView");\r
+ AlipayModel::GetInstance()->AlipayStartSwitchTimer(60000);\r
+ if (container[thisView] == nullptr) {\r
+ alipayBarCode = new AlipayBarCode(presenter_);\r
+ if (alipayBarCode == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBarView alipayPayCode null error!");\r
+ return false;\r
+ }\r
+ if (alipayBarCode->InitView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBarView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayBarCode;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ } else {\r
+ uint8_t barStr[ALIPAY_GET_PAY_STR_MAX_LENGTH] = { 0 };\r
+ presenter_->AlipayGetPayCode(barStr);\r
+ AlipayBarCode::GetInstance()->AlipayRefreshBarcode((const char *)barStr);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+bool AlipayMainView::ChangeListView(int16 thisView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeListView");\r
+ if (container[thisView] == nullptr) {\r
+ alipayList = new AlipayList(presenter_);\r
+ if (alipayList == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeListView alipayList null error!");\r
+ return false;\r
+ }\r
+ if (alipayList->InitListView() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeListView InitView null error!");\r
+ return false;\r
+ }\r
+\r
+ container[thisView] = alipayList;\r
+\r
+ RootView::GetInstance()->Add(container[thisView]);\r
+ }\r
+ alipayWhichInter = thisView;\r
+ alipayWhichMea = thisView;\r
+ return true;\r
+}\r
+\r
+struct AlipayViewMapper {\r
+ const int16 viewId;\r
+ bool (AlipayMainView::*func)(int16 thisView);\r
+};\r
+\r
+static const AlipayViewMapper ViewMapper[] = {\r
+ {ALIPAY_PAY_VIEW, &AlipayMainView::ChangePayView},\r
+ {ALIPAY_SETTING_VIEW, &AlipayMainView::ChangeSettingView},\r
+ {ALIPAY_PAY_BARCODE_VIEW, &AlipayMainView::ChangeBarCodeView},\r
+ {ALIPAY_LIST_VIEW, &AlipayMainView::ChangeListView},\r
+ {ALIPAY_HELP_VIEW, &AlipayMainView::ChangeHelpView},\r
+ {ALIPAY_BIND_ANI_VIEW, &AlipayMainView::ChangeBindAniView},\r
+ {ALIPAY_BIND_EXIT_VIEW, &AlipayMainView::ChangeBindExitView},\r
+ {ALIPAY_BIND_RES_VIEW, &AlipayMainView::ChangeBindResView},\r
+ {ALIPAY_SETTING_UNBIND_VIEW, &AlipayMainView::ChangeUnbindView},\r
+ {ALIPAY_SETTING_FINISH_VIEW, &AlipayMainView::ChangeUnbindFinishView},\r
+ {ALIPAY_BIND_VIEW, &AlipayMainView::ChangeBindView},\r
+ {ALIPAY_TRANS_VIEW, &AlipayMainView::ChangeTransView},\r
+ {ALIPAY_TRANS_LIST_VIEW, &AlipayMainView::ChangeTransListView},\r
+ {ALIPAY_TRANS_ENABLE_VIEW, &AlipayMainView::ChangeTransEnableView},\r
+ {ALIPAY_TRANS_TIPS_VIEW, &AlipayMainView::ChangeTransTipsView},\r
+ {ALIPAY_TRANS_RES_VIEW, &AlipayMainView::ChangeTransResView},\r
+ {ALIPAY_GET_TRANS_LIST_VIEW, &AlipayMainView::ChangeGetTransListView},\r
+ {ALIPAY_TRANS_ANI_VIEW, &AlipayMainView::ChangeTransAniView},\r
+\r
+};\r
+\r
+bool AlipayMainView::ClickFunc(int16 interface)\r
+{\r
+ int funcSize = sizeof(ViewMapper) / sizeof(ViewMapper[0]);\r
+ for (int i = 0; i < funcSize; i++) {\r
+ if (interface == ViewMapper[i].viewId) {\r
+ bool jug = (this->*(ViewMapper[i].func))(interface);\r
+ if (jug == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: ChangeInterFace[%d] false", interface);\r
+ return false;\r
+ }\r
+ return true;\r
+ }\r
+ }\r
+ return false;\r
+}\r
+\r
+static const int16 DestroyMapper[] = {\r
+ ALIPAY_TRANS_TIPS_VIEW,\r
+ ALIPAY_TRANS_RES_VIEW,\r
+ ALIPAY_GET_TRANS_LIST_VIEW,\r
+ ALIPAY_TRANS_VIEW,\r
+ ALIPAY_TRANS_LIST_VIEW,\r
+};\r
+\r
+void AlipayMainView::DestroyTempView(int16 hideView)\r
+{\r
+ int viewSize = sizeof(DestroyMapper) / sizeof(DestroyMapper[0]);\r
+ for (int i = 0; i < viewSize; i++) {\r
+ if (hideView == DestroyMapper[i]) {\r
+ RootView::GetInstance()->Remove(container[hideView]);\r
+ container[hideView] = nullptr;\r
+ break;\r
+ }\r
+ }\r
+ if (hideView == ALIPAY_TRANS_TIPS_VIEW) {\r
+ delete alipayTransTips;\r
+ alipayTransTips = nullptr;\r
+ } else if (hideView == ALIPAY_TRANS_RES_VIEW) {\r
+ delete alipayTransRes;\r
+ alipayTransRes = nullptr;\r
+ } else if (hideView == ALIPAY_GET_TRANS_LIST_VIEW) {\r
+ delete alipayGetTransList;\r
+ alipayGetTransList = nullptr;\r
+ } else if (hideView == ALIPAY_TRANS_VIEW) {\r
+ delete alipayTransCode;\r
+ alipayTransCode = nullptr;\r
+ } else if (hideView == ALIPAY_TRANS_LIST_VIEW) {\r
+ delete alipayTransList;\r
+ alipayTransList = nullptr;\r
+ }\r
+}\r
+\r
+void AlipayMainView::ChangeView(int16 hideView, int16 showView)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeView hideView = %d, showView = %d", hideView,\r
+ showView);\r
+ if (container[hideView] == nullptr) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeView hideView container is null: %x.",\r
+ container[hideView]);\r
+ return;\r
+ }\r
+ if (hideView > ALIPAY_INTERFACES_MAX) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeView Overstep ones bounds");\r
+ return;\r
+ }\r
+ interListen = hideView;\r
+ if (ClickFunc(showView) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeView ClickFunc error");\r
+ return;\r
+ }\r
+\r
+ container[hideView]->SetVisible(false);\r
+ container[showView]->SetVisible(true);\r
+\r
+ AlipayModel::GetInstance()->SetAlipayInterLis(showView);\r
+\r
+ Draw();\r
+ DestroyTempView(hideView);\r
+ return;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay model.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include "alipay_feature.h"\r
+#include "AlipayModel.h"\r
+#include "AlipayMainView.h"\r
+#include "graphic_service.h"\r
+\r
+namespace OHOS {\r
+AlipayModel::AlipayModel() : alipayApi(alipay_svr_get_api())\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayModel");\r
+}\r
+\r
+AlipayModel::~AlipayModel()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::~AlipayModel");\r
+}\r
+\r
+AlipayModel *AlipayModel::GetInstance(void)\r
+{\r
+ static AlipayModel alipayModel;\r
+ return &alipayModel;\r
+}\r
+\r
+void AlipayModel::SetAlipayInterLis(int16 interListen)\r
+{\r
+ alipayInterLis = interListen;\r
+}\r
+\r
+int16 AlipayModel::GetAlipayInterLis(void)\r
+{\r
+ return alipayInterLis;\r
+}\r
+\r
+void AlipayBindCallBackProc(void *argument)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindCallBackProc in.");\r
+ const alipay_svr_api_t *alipay_api = alipay_svr_get_api();\r
+ int32_t status = 0;\r
+ int32_t ret = alipay_api->get_bind_status(&status);\r
+ if (AlipayMainView::GetInstance() == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::GetInstance is null, do nothing.");\r
+ return;\r
+ }\r
+\r
+ int16_t currentView = AlipayModel::GetInstance()->GetAlipayInterLis();\r
+ uint32_t reFlag = AlipayModel::GetInstance()->AlipayGetRefreshFlag();\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
+ "AlipayModel::AlipayBindProc get_bind_status fail,ret :%d,status:%u,flag:%u.", ret, status, reFlag);\r
+ if (status == ALIPAY_INTER_STATUS_START_BINDING && currentView == ALIPAY_BIND_VIEW) {\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_BIND_VIEW, ALIPAY_BIND_ANI_VIEW);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindCallBackProc ALIPAY_INTER_STATUS_START_BINDING");\r
+ AlipayModel::GetInstance()->AlipaySetRefreshFlag(1);\r
+ return;\r
+ } else if (ALIPAY_INTER_STATUS_BINDING_OK == status && reFlag == 1) {\r
+ AlipayModel::GetInstance()->AlipaySetRefreshFlag(0);\r
+ AlipayModel::GetInstance()->AlipayStopBindTimer();\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindCallBackProc ALIPAY_INTER_STATUS_BINDING_OK");\r
+ AlipayModel::GetInstance()->AlipaySetBindFlag(true);\r
+ \r
+ AlipayMainView::GetInstance()->ChangeView(currentView, ALIPAY_BIND_RES_VIEW);\r
+ } else if (ALIPAY_INTER_STATUS_BINDING_FAIL == status && reFlag == 1) {\r
+ AlipayModel::GetInstance()->AlipayStopBindTimer();\r
+ AlipayModel::GetInstance()->AlipaySetBindFlag(false);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindCallBackProc ALIPAY_INTER_STATUS_BINDING_FAIL");\r
+ AlipayModel::GetInstance()->AlipaySetRefreshFlag(0);\r
+ AlipayMainView::GetInstance()->ChangeView(currentView, ALIPAY_BIND_RES_VIEW);\r
+ }\r
+}\r
+\r
+void AlipayBindTimerCallBack(void *argument)\r
+{\r
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(&AlipayBindCallBackProc, argument));\r
+}\r
+\r
+bool AlipayModel::AlipayStartBind(void)\r
+{\r
+ if (bindTimerId == NULL) {\r
+ bindTimerId = osTimerNew(AlipayBindTimerCallBack, osTimerPeriodic, (void *)0, NULL);\r
+ if (bindTimerId == NULL) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayStartBind Create timer fail.");\r
+ return false;\r
+ }\r
+ }\r
+\r
+ int32_t retcode = osTimerStart(bindTimerId, ALIPAY_BIND_STATUS_TIMER_LENGTH);\r
+ if (retcode != 0) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayStartBind Start timer fail");\r
+ return false;\r
+ }\r
+\r
+ alipayApi->bind_start();\r
+ uint8_t str[ALIPAY_GET_BIND_STR_MAX_LENGTH] = { 0 };\r
+ AlipayGetBindCode(str);\r
+ return true;\r
+}\r
+\r
+void AlipaySwitchTimerCallBackProc(void *argument)\r
+{\r
+ UNUSED(argument);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipaySwitchTimerCallBackProc in.");\r
+ if (AlipayMainView::GetInstance() == nullptr) {\r
+ return;\r
+ }\r
+ int16 alipayLis = AlipayModel::GetInstance()->GetAlipayInterLis();\r
+ int16 bindState = AlipayModel::GetInstance()->AlipayGetBindFlag();\r
+ if (alipayLis == ALIPAY_BIND_RES_VIEW && bindState == true) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ALIPAY_BIND_RES_VIEW bindState true in.");\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_BIND_RES_VIEW, ALIPAY_LIST_VIEW);\r
+ } else if (alipayLis == ALIPAY_BIND_RES_VIEW && bindState == false) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ALIPAY_BIND_RES_VIEW bindState false in.");\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_BIND_RES_VIEW, ALIPAY_BIND_VIEW);\r
+ } else if (alipayLis == ALIPAY_PAY_VIEW) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ALIPAY_PAY_VIEW in.");\r
+ uint8_t payStr[ALIPAY_GET_PAY_STR_MAX_LENGTH] = { 0 };\r
+ AlipayModel::GetInstance()->AlipayGetPayCode(payStr);\r
+ if (AlipayPayCode::GetInstance() != nullptr) {\r
+ AlipayPayCode::GetInstance()->AlipayRefreshQrcode((const char *)payStr);\r
+ AlipayModel::GetInstance()->AlipayStartSwitchTimer(60000);\r
+ }\r
+ } else if (alipayLis == ALIPAY_PAY_BARCODE_VIEW) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ALIPAY_PAY_BARCODE_VIEW in.");\r
+ uint8_t barStr[ALIPAY_GET_PAY_STR_MAX_LENGTH] = { 0 };\r
+ AlipayModel::GetInstance()->AlipayGetPayCode(barStr);\r
+ if (AlipayBarCode::GetInstance() != nullptr) {\r
+ AlipayBarCode::GetInstance()->AlipayRefreshBarcode((const char *)barStr);\r
+ AlipayModel::GetInstance()->AlipayStartSwitchTimer(60000);\r
+ }\r
+ }\r
+\r
+ return;\r
+}\r
+\r
+void AlipaySwitchTimerCallBack(void *argument)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipaySwitchTimerCallBack in.");\r
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(&AlipaySwitchTimerCallBackProc, argument));\r
+}\r
+\r
+bool AlipayModel::AlipayStartSwitchTimer(uint16_t time)\r
+{\r
+ if (switchTimerId == NULL) {\r
+ switchTimerId = osTimerNew(AlipaySwitchTimerCallBack, osTimerOnce, (void *)0, NULL);\r
+ if (switchTimerId == NULL) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayStartSwitchTimer Create timer fail.");\r
+ return false;\r
+ }\r
+ } else {\r
+ osTimerStop(switchTimerId);\r
+ }\r
+\r
+ int32_t retcode = osTimerStart(switchTimerId, time);\r
+ if (retcode != 0) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayStartSwitchTimer Start timer fail");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+\r
+void AlipayModel::AlipayStopSwitchTimer()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayStopSwitchTimer stop timer.");\r
+ if (switchTimerId != NULL) {\r
+ osTimerStop(switchTimerId);\r
+ }\r
+ return;\r
+}\r
+\r
+bool AlipayModel::AlipayGetBindstate(void)\r
+{\r
+ bool state = alipayApi->get_bind_state();\r
+ return state;\r
+}\r
+\r
+int32_t AlipayModel::AlipayGetBindCode(uint8_t *bindStr)\r
+{\r
+ int32_t bindStrLen = ALIPAY_GET_BIND_STR_MAX_LENGTH;\r
+ int32_t ret = alipayApi->get_bind_str(bindStr, &bindStrLen);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetBindCode Get bind str.%s-%d", (char *)bindStr, ret);\r
+ return ret;\r
+}\r
+\r
+int32_t AlipayModel::AlipayGetPayCode(uint8_t *payStr)\r
+{\r
+ uint32_t payStrLen = ALIPAY_GET_PAY_STR_MAX_LENGTH;\r
+ int32_t ret = alipayApi->get_pay_str(payStr, &payStrLen);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetPayCode Get pay str:%s.", (char *)payStr);\r
+ return ret;\r
+}\r
+\r
+int32_t AlipayModel::AlipayGetNickName(uint8_t *nickName)\r
+{\r
+ uint32_t nickNameLen = ALIPAY_GET_NICKNAME_MAX_LENGTH;\r
+ int32_t ret = alipayApi->get_nickname(nickName, &nickNameLen);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetNickName Get nickstr:%s.", (char *)nickName);\r
+ return ret;\r
+}\r
+\r
+int32_t AlipayModel::AlipayGetIdName(uint8_t *idStr)\r
+{\r
+ uint32_t idStrLen = ALIPAY_GET_ID_STR_MAX_LENGTH;\r
+ int32_t ret = alipayApi->get_logon_id(idStr, &idStrLen);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetIdName Get Idname:%s.", (char *)idStr);\r
+ return ret;\r
+}\r
+\r
+int32_t AlipayModel::AlipayGetAidCode(int8_t *aidStr)\r
+{\r
+ uint32_t aidStrLen = ALIPAY_GET_AID_STR_MAX_LENGTH;\r
+ int32_t ret = alipayApi->get_aid_str(aidStr, &aidStrLen);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetAidCode Get aidstr:%s.", (char *)aidStr);\r
+ return ret;\r
+}\r
+\r
+void AlipayModel::AlipayUnbind(void)\r
+{\r
+ int32_t ret = alipayApi->remove_bind();\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetAidCode unbind ret:%u.", ret);\r
+ return;\r
+}\r
+\r
+void AlipayModel::AlipayStopBindTimer(void)\r
+{\r
+ if (bindTimerId == NULL) {\r
+ return;\r
+ }\r
+ int32_t ret = osTimerStop(bindTimerId);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayStopBindTimer in,%u.", ret);\r
+ return;\r
+}\r
+\r
+void AlipayModel::AlipayEnterLpm(void)\r
+{\r
+ alipayApi->enter_lpm();\r
+ return;\r
+}\r
+\r
+void AlipayModel::AlipayExitLpm(void)\r
+{\r
+ alipayApi->exit_lpm();\r
+ return;\r
+}\r
+\r
+int32_t AlipayModel::AlipayGetLastTranscode()\r
+{\r
+ memset_s(transCode_, ALIPAY_TRANS_CODE_MAX_LEN, 0, ALIPAY_TRANS_CODE_MAX_LEN);\r
+ memset_s(cardTitle_, ALIPAY_TRANS_CARD_MEMBER_LEN, 0, ALIPAY_TRANS_CARD_MEMBER_LEN);\r
+ uint32_t len = ALIPAY_TRANS_CODE_MAX_LEN;\r
+\r
+ int32_t ret = alipayApi->get_last_transcode(cardTitle_, transCode_, &len);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetLastTranscode in:ret:%u,len:%u.", ret, len);\r
+ return ret;\r
+}\r
+\r
+int32_t AlipayModel::AlipayGetLocalTranslist()\r
+{\r
+ cardInfo_ = AlipayTransGetCardList();\r
+ memset_s(cardInfo_, sizeof(mc_alipay_trans_card_info_t) * ALIPAY_TRANS_CARD_MAX_LENGTH, 0,\r
+ sizeof(mc_alipay_trans_card_info_t) * ALIPAY_TRANS_CARD_MAX_LENGTH);\r
+ uint32_t localListSize = sizeof(mc_alipay_trans_card_info_t) * ALIPAY_TRANS_CARD_MAX_LENGTH;\r
+ int32_t ret = alipayApi->get_local_translist(cardInfo_, &localListSize, &cardSum_);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetLastTranscode in:%u.", ret);\r
+ return ret;\r
+}\r
+\r
+int32_t AlipayModel::AlipayGetOnlineTranslist()\r
+{\r
+ cardInfo_ = AlipayTransGetCardList();\r
+ mc_alipay_trans_card_info_t *onLineList = NULL;\r
+\r
+ onLineList = (mc_alipay_trans_card_info_t *)malloc(sizeof(mc_alipay_trans_card_info_t) * ALIPAY_TRANS_CARD_MAX_LENGTH);\r
+ if (onLineList == NULL) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetOnlineTranslist alloc fail.");\r
+ return -1;\r
+ }\r
+ memset_s(onLineList, sizeof(mc_alipay_trans_card_info_t) * ALIPAY_TRANS_CARD_MAX_LENGTH, 0,\r
+ sizeof(mc_alipay_trans_card_info_t) * ALIPAY_TRANS_CARD_MAX_LENGTH);\r
+\r
+ uint32_t onListSize = sizeof(mc_alipay_trans_card_info_t) * ALIPAY_TRANS_CARD_MAX_LENGTH;\r
+ uint32_t onLineNum = 0;\r
+ int32_t ret = alipayApi->get_online_translist(onLineList, &onListSize, &onLineNum);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetOnlineTranslist in,ret:%u,num:%u.", ret, onLineNum);\r
+\r
+ if (ret == 0) {\r
+ memset_s(cardInfo_, sizeof(mc_alipay_trans_card_info_t) * ALIPAY_TRANS_CARD_MAX_LENGTH, 0,\r
+ sizeof(mc_alipay_trans_card_info_t) * ALIPAY_TRANS_CARD_MAX_LENGTH);\r
+ memcpy_s(cardInfo_, sizeof(mc_alipay_trans_card_info_t) * ALIPAY_TRANS_CARD_MAX_LENGTH, onLineList, onListSize);\r
+ cardSum_ = onLineNum;\r
+ }\r
+ free(onLineList);\r
+ onLineList = NULL;\r
+ return ret;\r
+}\r
+\r
+int32_t AlipayModel::AlipayUpdateTransCard(uint32_t index)\r
+{\r
+ int32_t ret = alipayApi->update_trans_cardinfo(&cardInfo_[index]);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayUpdateTransCard in:%u.", ret);\r
+ return ret;\r
+}\r
+\r
+int32_t AlipayModel::AlipayCheckTransCard(uint32_t index)\r
+{\r
+ mc_alipay_tans_card_status_t cardStatus = { 0 };\r
+ int32_t ret = alipayApi->check_trans_cartstatus(&cardInfo_[index], &cardStatus);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayCheckTransCard in:%u.", ret);\r
+ if (cardStatus.card_exits == true && cardStatus.remain_use_count >= ALIPAY_TRANS_CARD_MIN_VALID_NUM) {\r
+ return 0;\r
+ }\r
+ return -1;\r
+}\r
+\r
+int32_t AlipayModel::AlipayGetTransCode(uint32_t index)\r
+{\r
+ cardInfo_ = AlipayTransGetCardList();\r
+ memset_s(transCode_, ALIPAY_TRANS_CODE_MAX_LEN, 0, ALIPAY_TRANS_CODE_MAX_LEN);\r
+ memset_s(cardTitle_, ALIPAY_TRANS_CARD_MEMBER_LEN, 0, ALIPAY_TRANS_CARD_MEMBER_LEN);\r
+ transCodeLen_ = ALIPAY_TRANS_CODE_MAX_LEN;\r
+ int32_t ret = alipayApi->get_transcode(&cardInfo_[index], transCode_, &transCodeLen_);\r
+ if (ret == 0) {\r
+ memcpy_s(cardTitle_, ALIPAY_TRANS_CARD_MEMBER_LEN, cardInfo_[index].title, ALIPAY_TRANS_CARD_MEMBER_LEN);\r
+ }\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayCheckTransCard in:%u.", ret);\r
+ return ret;\r
+}\r
+\r
+void AlipayTransGetListsCallBackProc(void *argument)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransGetListsCallBackProc in.");\r
+ if (AlipayMainView::GetInstance() == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::GetInstance is null, do nothing.");\r
+ return;\r
+ }\r
+\r
+ int32_t ret = AlipayModel::GetInstance()->AlipayGetOnlineTranslist();\r
+ if (ret != 0) {\r
+ return;\r
+ }\r
+ int16_t currentView = AlipayModel::GetInstance()->GetAlipayInterLis();\r
+ if (currentView != ALIPAY_TRANS_ENABLE_VIEW) {\r
+ return;\r
+ }\r
+ if (AlipayModel::GetInstance()->AlipayGetCardSum() == 0) {\r
+ return;\r
+ }\r
+ AlipayModel::GetInstance()->AlipayTransStopGetListsTimer();\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ENABLE_VIEW, ALIPAY_TRANS_LIST_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayTransGetListsTimerCallBack(void *argument)\r
+{\r
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(&AlipayTransGetListsCallBackProc, argument));\r
+}\r
+\r
+bool AlipayModel::AlipayTransStartGetListsTimer(void)\r
+{\r
+ if (transTimerId == NULL) {\r
+ transTimerId = osTimerNew(AlipayTransGetListsTimerCallBack, osTimerPeriodic, (void *)0, NULL);\r
+ if (transTimerId == NULL) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayTransStartGetLists Create timer fail.");\r
+ return false;\r
+ }\r
+ }\r
+\r
+ int32_t retcode = osTimerStart(transTimerId, ALIPAY_TRANS_STATUS_TIMER_LENGTH);\r
+ if (retcode != 0) {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayTransStartGetLists Start timer fail");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+void AlipayModel::AlipayTransStopGetListsTimer(void)\r
+{\r
+ if (transTimerId == NULL) {\r
+ return;\r
+ }\r
+ int32_t ret = osTimerStop(transTimerId);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayTransStopGetListsTimer in,%u.", ret);\r
+ return;\r
+}\r
+\r
+void AlipayMsgTransListCallBackProcFunc(uint32_t actionRes)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMsgTransListCallBackProcFunc in.");\r
+ if (AlipayMainView::GetInstance() == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::GetInstance is null, do nothing.");\r
+ return;\r
+ }\r
+\r
+ if (actionRes == 0) {\r
+ uint32_t cardSum = AlipayModel::GetInstance()->AlipayTransGetCardNum();\r
+ AlipayModel::GetInstance()->AlipaySetCardSum(cardSum);\r
+ if (cardSum == 0) {\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_ENABLE_VIEW);\r
+ } else {\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_LIST_VIEW);\r
+ }\r
+ } else if (actionRes == ALIPAY_TRANS_CARD_LIST_NET_ERROR) {\r
+ AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_RES_LIST);\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_RES_VIEW);\r
+ } else {\r
+ if (actionRes == ALIPAY_TRANS_CARD_LIST_OWN_TOO_MANY_CARD) {\r
+ AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_TO_MUCH);\r
+ } else {\r
+ AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_UNKNOW);\r
+ }\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_TIPS_VIEW);\r
+ }\r
+ return;\r
+}\r
+\r
+void AlipayMsgTransSpeCardCallBackProcFunc(uint32_t actionRes)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMsgTransSpeCardCallBackProcFunc in.");\r
+ if (AlipayMainView::GetInstance() == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::GetInstance is null, do nothing.");\r
+ return;\r
+ }\r
+ uint32_t index = AlipayModel::GetInstance()->AlipayGetCardNum();\r
+ if (actionRes == 0) {\r
+ int32_t ret = AlipayModel::GetInstance()->AlipayGetTransCode(index);\r
+ if (ret != 0) {\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_LIST_VIEW);\r
+ } else {\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_VIEW);\r
+ }\r
+ } else if (actionRes == ALIPAY_TRANS_CODE_NET_ERROR) {\r
+ AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_RES_CODE);\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_RES_VIEW);\r
+ } else {\r
+ if (actionRes == ALIPAY_TRANS_CODE_DATA_LIMIT) {\r
+ AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_SECURE);\r
+ } else if (actionRes == ALIPAY_TRANS_CODE_NOT_SUPPORT) {\r
+ AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_NOT_SUPPORT);\r
+ } else {\r
+ AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_LIST_UNKNOW);\r
+ }\r
+ AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_TIPS_VIEW);\r
+ }\r
+ return;\r
+}\r
+\r
+void AlipayMsgCallBack(uint32_t msgId, uint32_t actionRes)\r
+{\r
+ if (msgId == ALIPAY_MSG_UPDATA_TRANS_LIST) {\r
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(&AlipayMsgTransListCallBackProcFunc, actionRes));\r
+ } else if (msgId == ALIPAY_MSG_UPDATA_SPECIAL_CARD) {\r
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(&AlipayMsgTransSpeCardCallBackProcFunc, actionRes));\r
+ }\r
+\r
+ return;\r
+}\r
+\r
+uint32_t AlipayModel::AlipaySendMsg(uint32_t msgId)\r
+{\r
+ uint32_t msg = cardNum_;\r
+ uint16_t msg_len = sizeof(uint32_t);\r
+ errcode_t retcode = svr_alipay_msg_write(msgId, (uint8_t *)&msg, msg_len, false);\r
+ return (uint32_t)retcode;\r
+}\r
+\r
+mc_alipay_trans_card_info_t *AlipayModel::AlipayTransGetCardList(void)\r
+{\r
+ mc_alipay_trans_context_t *alipayTransContext = svr_alipay_get_trans_context();\r
+ return alipayTransContext->card_info;\r
+}\r
+\r
+int32_t AlipayModel::AlipayTransGetCardNum(void)\r
+{\r
+ mc_alipay_trans_context_t *alipayTransContext = svr_alipay_get_trans_context();\r
+ return alipayTransContext->card_len;\r
+}\r
+\r
+bool AlipayModel::AlipayInitModel(void)\r
+{\r
+ transCode_ = (uint8_t *)malloc(ALIPAY_TRANS_CODE_MAX_LEN);\r
+ if (transCode_ == NULL) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayInitModel transCode_ alloc failure.");\r
+ return false;\r
+ }\r
+ uint32_t retCode = svr_alipay_init_trans_context();\r
+ if (retCode != 0) {\r
+ free(transCode_);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayInitModel svr_alipay_init_trans_context failure.");\r
+ return false;\r
+ }\r
+ svr_alipay_register_cb(AlipayMsgCallBack);\r
+ return true;\r
+}\r
+\r
+void AlipayModel::AlipayDeinitModel(void)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayDeinitModel in.");\r
+ if (transCode_ != NULL) {\r
+ free(transCode_);\r
+ transCode_ = NULL;\r
+ }\r
+ svr_alipay_deinit_trans_context();\r
+ return;\r
+}\r
+\r
+bool AlipayModel::AlipayGetBindFlag(void)\r
+{\r
+ return bindFlag_;\r
+}\r
+void AlipayModel::AlipaySetBindFlag(bool bindFlag)\r
+{\r
+ bindFlag_ = bindFlag;\r
+}\r
+\r
+uint32_t AlipayModel::AlipayGetSwitchIndex(void)\r
+{\r
+ return switchIndex_;\r
+}\r
+\r
+void AlipayModel::AlipaySetSwitchIndex(uint32_t switchIndex)\r
+{\r
+ switchIndex_ = switchIndex;\r
+}\r
+\r
+uint32_t AlipayModel::AlipayGetRefreshFlag(void)\r
+{\r
+ return refreshFlag_;\r
+}\r
+\r
+void AlipayModel::AlipaySetRefreshFlag(uint32_t refreshFlag)\r
+{\r
+ refreshFlag_ = refreshFlag;\r
+}\r
+\r
+uint32_t AlipayModel::AlipayGetCardNum(void)\r
+{\r
+ return cardNum_;\r
+}\r
+\r
+void AlipayModel::AlipaySetCardNum(uint32_t cardNum)\r
+{\r
+ cardNum_ = cardNum;\r
+}\r
+\r
+uint32_t AlipayModel::AlipayGetCardSum(void)\r
+{\r
+ return cardSum_;\r
+}\r
+\r
+void AlipayModel::AlipaySetCardSum(uint32_t cardSum)\r
+{\r
+ cardSum_ = cardSum;\r
+}\r
+\r
+char* AlipayModel::AlipayGetCardTitle(uint32_t index)\r
+{\r
+ return cardInfo_[index].title;\r
+}\r
+\r
+uint8_t* AlipayModel::AlipayGetTransCode(void)\r
+{\r
+ return transCode_;\r
+}\r
+\r
+uint32_t AlipayModel::AlipayGetTransCodeLen(void)\r
+{\r
+ return transCodeLen_;\r
+}\r
+\r
+char* AlipayModel::AlipayGetCardTitle(void)\r
+{\r
+ return cardTitle_;\r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay pay view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayPayCode.h"\r
+#include "AlipayModel.h"\r
+\r
+namespace OHOS {\r
+static AlipayPayCode *g_alipayPayCode = nullptr;\r
+\r
+static const char *PAYCODE_TITLE = (char *)"付款码";\r
+static const char *PAYCODE_BUTTON = (char *)"切换条形码";\r
+static const int16 PAYCODE_TITLE_FONT = 38;\r
+static const int16 PAYCODE_BUTTON_FONT = 35;\r
+static const int16 PAYCODE_TITLE_X = 170;\r
+static const int16 PAYCODE_TITLE_Y = 23;\r
+static const int16 PAYCODE_TITLE_WIDTH = 114;\r
+static const int16 PAYCODE_TITLE_HEIGHT = 53;\r
+\r
+static const int16 PAYCODE_BUTTON_X = 139;\r
+static const int16 PAYCODE_BUTTON_Y = 380;\r
+static const int16 PAYCODE_BUTTON_WIDTH = 176;\r
+static const int16 PAYCODE_BUTTON_HEIGHT = 50;\r
+\r
+static const int16 QRCODE_BUTTON_X = 139;\r
+static const int16 QRCODE_BUTTON_Y = 382;\r
+static const int16 QRCODE_BUTTON_WIDTH = 176;\r
+static const int16 QRCODE_BUTTON_HEIGHT = 50;\r
+\r
+static const int16 PAYCODE_IMAGE_X = 76;\r
+static const int16 PAYCODE_IMAGE_Y = 76;\r
+static const int16 PAYCODE_IMAGE_WAITING_X = 302;\r
+static const int16 PAYCODE_IMAGE_WAITING_Y = 302;\r
+\r
+static const int16 PAYCODE_WIDTH = 80;\r
+static const int16 PAYCODE_DROP_WIDTH = 45;\r
+static const int16 PAYCODE_DROP_X = 200;\r
+static const int16 PAYCODE_DROP_Y = 415;\r
+\r
+static const int16 RES_IMAGE_X_GREY = 232;\r
+static const int16 RES_IMAGE_X_WHITE = 207;\r
+static const int16 RES_IMAGE_Y = 13;\r
+static const int16 RES_IMAGE_WIDTH = 15;\r
+static const int16 RES_IMAGE_HEIGHT = 15;\r
+\r
+AlipayPayCode::AlipayPayCode(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::AlipayPayCode");\r
+ g_alipayPayCode = this;\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayPayCode::~AlipayPayCode()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::~AlipayPayCode");\r
+ RemoveAll();\r
+ if (labelPayCode != nullptr) {\r
+ delete labelPayCode;\r
+ labelPayCode = nullptr;\r
+ }\r
+ if (buttonPayCode != nullptr) {\r
+ delete buttonPayCode;\r
+ buttonPayCode = nullptr;\r
+ }\r
+ if (qrcodeGroup != nullptr) {\r
+ delete qrcodeGroup;\r
+ qrcodeGroup = nullptr;\r
+ }\r
+ if (alipayImageGrey != nullptr) {\r
+ delete alipayImageGrey;\r
+ alipayImageGrey = nullptr;\r
+ }\r
+ if (alipayImageWhite != nullptr) {\r
+ delete alipayImageWhite;\r
+ alipayImageWhite = nullptr;\r
+ }\r
+ g_alipayPayCode = nullptr;\r
+}\r
+\r
+AlipayPayCode *AlipayPayCode::GetInstance(void)\r
+{\r
+ return g_alipayPayCode;\r
+}\r
+\r
+bool AlipayPayCode::AlipayInitImage(void)\r
+{\r
+ alipayImageGrey = new UIImageView();\r
+ if (alipayImageGrey == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::AlipayInitImage new tempImage fail");\r
+ return false;\r
+ }\r
+ alipayImageGrey->SetPosition(RES_IMAGE_X_GREY, RES_IMAGE_Y, RES_IMAGE_WIDTH, RES_IMAGE_HEIGHT);\r
+ alipayImageGrey->SetSrc(PNG_ALIPAY_PAY_ICON_GREY);\r
+\r
+ // Set additional property\r
+ alipayImageGrey->SetAutoEnable(false);\r
+ alipayImageGrey->SetResizeMode(UIImageView::FILL);\r
+\r
+ Add(alipayImageGrey);\r
+\r
+ alipayImageWhite = new UIImageView();\r
+ if (alipayImageWhite == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::AlipayInitImage new tempImage fail");\r
+ return false;\r
+ }\r
+ alipayImageWhite->SetPosition(RES_IMAGE_X_WHITE, RES_IMAGE_Y, RES_IMAGE_WIDTH, RES_IMAGE_HEIGHT);\r
+ alipayImageWhite->SetSrc(PNG_ALIPAY_PAY_ICON_WHITE);\r
+\r
+ // Set additional property\r
+ alipayImageWhite->SetAutoEnable(false);\r
+ alipayImageWhite->SetResizeMode(UIImageView::FILL);\r
+\r
+ Add(alipayImageWhite);\r
+ return true;\r
+}\r
+\r
+bool AlipayPayCode::AlipayInitQrcode()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::AlipayInitQrcode");\r
+ qrcodeGroup = new UIQrcode();\r
+ if (qrcodeGroup == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::AlipayInitQrcode qrcodeGroup nullptr");\r
+ return false;\r
+ }\r
+ qrcodeGroup->SetPosition(76, 76, 282, 282);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_LEFT, 10);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_RIGHT, 10);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_TOP, 10);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_BOTTOM, 10);\r
+ qrcodeGroup->SetAutoEnable(false);\r
+ qrcodeGroup->SetResizeMode(UIImageView::ImageResizeMode::FILL);\r
+ uint8_t str[ALIPAY_GET_PAY_STR_MAX_LENGTH] = {0};\r
+ presenter_->AlipayGetPayCode(str);\r
+ qrcodeGroup->SetECCLevel(QrCode::Ecc::QUARTILE);\r
+ qrcodeGroup->SetQrcodeInfo((const char *)str);\r
+ qrcodeGroup->SetTouchable(true);\r
+ qrcodeGroup->SetOnClickListener(presenter_);\r
+ qrcodeGroup->SetViewId(ALIPAY_PAY_QRCODE);\r
+\r
+ Add(qrcodeGroup);\r
+\r
+ return true;\r
+}\r
+\r
+void AlipayPayCode::AlipayRefreshQrcode(const char *refreshStr)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::AlipayRefreshQrcode");\r
+\r
+ if (qrcodeGroup == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::AlipayRefreshQrcode qrcodeGroup nullptr");\r
+ return;\r
+ }\r
+ qrcodeGroup->SetECCLevel(QrCode::Ecc::QUARTILE);\r
+ qrcodeGroup->SetQrcodeInfo(refreshStr);\r
+\r
+ return;\r
+}\r
+\r
+bool AlipayPayCode::AlipayInitLabel(void)\r
+{\r
+ labelPayCode = new UILabel();\r
+ if (labelPayCode == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::AlipayInitLabel new label fail");\r
+ return false;\r
+ }\r
+ labelPayCode->SetText(PAYCODE_TITLE);\r
+ labelPayCode->SetFont(DEFAULT_VECTOR_FONT_FILENAME, PAYCODE_TITLE_FONT);\r
+ labelPayCode->SetPosition(PAYCODE_TITLE_X, PAYCODE_TITLE_Y, PAYCODE_TITLE_WIDTH, PAYCODE_TITLE_HEIGHT);\r
+ Add(labelPayCode);\r
+\r
+ return true;\r
+}\r
+\r
+\r
+bool AlipayPayCode::AlipayInitButton()\r
+{\r
+ buttonPayCode = new UILabelButton();\r
+ if (buttonPayCode == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::AlipayInitButton new labelbutton fail");\r
+ return false;\r
+ }\r
+ buttonPayCode->SetPosition(PAYCODE_BUTTON_X, PAYCODE_BUTTON_Y, PAYCODE_BUTTON_WIDTH, PAYCODE_BUTTON_HEIGHT);\r
+ buttonPayCode->SetText(PAYCODE_BUTTON);\r
+ buttonPayCode->SetFont(DEFAULT_VECTOR_FONT_FILENAME, PAYCODE_BUTTON_FONT);\r
+ buttonPayCode->SetViewId(ALIPAY_PAY_SWITCH_BAR);\r
+ buttonPayCode->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+ buttonPayCode->SetOnClickListener(presenter_);\r
+ Add(buttonPayCode);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayPayCode::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::InitView");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ SetStyle(STYLE_BACKGROUND_COLOR, 0xff1677ff);\r
+ SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+\r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitImage() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::InitView AlipayInitImage() false");\r
+ return false;\r
+ }\r
+\r
+ if (AlipayInitQrcode() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::InitView AlipayInitQrcode() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitButton() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPayCode::InitView AlipayInitButton() false");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay presenter.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "AlipayPresenter.h"\r
+#include "AlipayMainView.h"\r
+#include "ChangeSliceListener.h"\r
+#include "graphic_service.h"\r
+#include "string"\r
+#include "iostream"\r
+#include "sstream"\r
+#include "errcode.h"\r
+#include "pm_definition.h"\r
+#include "AlipayListView.h"\r
+#include "AlipayListItemView.h"\r
+#include "AlipayTransListItemView.h"\r
+#include "AlipayTransListView.h"\r
+\r
+namespace OHOS {\r
+static AlipayPresenter *g_alipayPresenter = nullptr;\r
+\r
+ColorType AlipayPresenter::CyanColor()\r
+{\r
+ return Color::GetColorFromRGB(0x1C, 0xF4, 0xED);\r
+}\r
+\r
+AlipayPresenter::AlipayPresenter()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter new");\r
+ alipayMode_ = AlipayModel::GetInstance();\r
+ g_alipayPresenter = this;\r
+}\r
+\r
+AlipayPresenter::~AlipayPresenter()\r
+{\r
+ g_alipayPresenter = nullptr;\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::~AlipayPresenter");\r
+}\r
+\r
+AlipayPresenter *AlipayPresenter::GetInstance()\r
+{\r
+ return g_alipayPresenter;\r
+}\r
+\r
+void AlipayPresenter::OnStart()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter OnStart");\r
+ Presenter<AlipayMainView>::OnStart();\r
+ alipayMode_->AlipayExitLpm();\r
+ if (alipayMode_->AlipayInitModel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::OnStart AlipayInitModel fail.");\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
+ return;\r
+ }\r
+ svr_alipay_create_task();\r
+}\r
+\r
+void AlipayPresenter::OnPause(void) {}\r
+\r
+void AlipayPresenter::OnResume(void) {}\r
+\r
+void AlipayPresenter::OnStop(void)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter OnStop");\r
+ svr_alipay_destroy_task();\r
+ alipayMode_->AlipayDeinitModel();\r
+ alipayMode_->AlipayEnterLpm();\r
+}\r
+\r
+bool AlipayPresenter::OnDrag(UIView &view, const DragEvent &event)\r
+{\r
+ if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) &&\r
+ (event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) {\r
+ view_->DropView(view);\r
+ }\r
+ if (event.GetDragDirection() == DragEvent::DIRECTION_RIGHT_TO_LEFT) {\r
+ view_->SwitchView(view);\r
+ }\r
+ return true;\r
+}\r
+\r
+void AlipayPresenter::ClickExitAlipay(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickExitAlipay start");\r
+ uint16 preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+ NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickJumpPay(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickPromptWear start");\r
+ view_->ChangeView(ALIPAY_LIST_VIEW, ALIPAY_PAY_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickJumpTrans(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickJumpTrans start");\r
+ int32_t ret = alipayMode_->AlipayGetLocalTranslist();\r
+ if (ret != 0) {\r
+ AlipaySetSwitchIndex(ALIPAY_TRANS_GET_LIST_FIRST);\r
+ view_->ChangeView(ALIPAY_LIST_VIEW, ALIPAY_GET_TRANS_LIST_VIEW);\r
+ } else if (ret == 0) {\r
+ int32_t get_res = alipayMode_->AlipayGetLastTranscode();\r
+ if (get_res == 0) {\r
+ view_->ChangeView(ALIPAY_LIST_VIEW, ALIPAY_TRANS_VIEW);\r
+ } else {\r
+ view_->ChangeView(ALIPAY_LIST_VIEW, ALIPAY_TRANS_LIST_VIEW);\r
+ }\r
+ }\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickRefreshList(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickRefreshList start");\r
+ alipayMode_->AlipaySendMsg(ALIPAY_MSG_UPDATA_TRANS_LIST);\r
+ view_->ChangeView(ALIPAY_TRANS_LIST_VIEW, ALIPAY_TRANS_ANI_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickBackList(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickBackList start");\r
+ view_->ChangeView(ALIPAY_GET_TRANS_LIST_VIEW, ALIPAY_LIST_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickUpdateList(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickUpdateList start");\r
+ alipayMode_->AlipaySendMsg(ALIPAY_MSG_UPDATA_TRANS_LIST);\r
+ view_->ChangeView(ALIPAY_GET_TRANS_LIST_VIEW, ALIPAY_TRANS_ANI_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickTransJumpHelp(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickTransJumpHelp start");\r
+ view_->ChangeView(ALIPAY_GET_TRANS_LIST_VIEW, ALIPAY_HELP_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickTranstBackList(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickTranstBackList start");\r
+ int16_t currentView = alipayMode_->GetAlipayInterLis();\r
+ view_->ChangeView(currentView, ALIPAY_LIST_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickTransToTransList(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickTransJumpHelp start");\r
+ int16_t currentView = alipayMode_->GetAlipayInterLis();\r
+ view_->ChangeView(currentView, ALIPAY_TRANS_LIST_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickTransToTransCode(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickTransToTransCode start");\r
+ AlipayTransListItemView *alipayTransListItemView = static_cast<AlipayTransListItemView *>(&view);\r
+ uint32_t index = alipayTransListItemView->GetAlipayTransListIndex();\r
+ if (index >= AlipayGetCardSum()) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickTransToTransCode index error:%u", index);\r
+ return;\r
+ }\r
+ AlipaySetCardNum(index);\r
+ int32_t ret = alipayMode_->AlipayCheckTransCard(index);\r
+ if (ret != 0) {\r
+ alipayMode_->AlipaySendMsg(ALIPAY_MSG_UPDATA_SPECIAL_CARD);\r
+ view_->ChangeView(ALIPAY_TRANS_LIST_VIEW, ALIPAY_TRANS_ANI_VIEW);\r
+ return;\r
+ }\r
+ \r
+ ret = alipayMode_->AlipayGetTransCode(index);\r
+ if (ret == 0) {\r
+ view_->ChangeView(ALIPAY_TRANS_LIST_VIEW, ALIPAY_TRANS_VIEW);\r
+ } else if (ret == ALIPAY_TRANS_CODE_NET_ERROR) {\r
+ AlipaySetSwitchIndex(ALIPAY_TRANS_RES_CODE);\r
+ view_->ChangeView(ALIPAY_TRANS_LIST_VIEW, ALIPAY_TRANS_RES_VIEW);\r
+ } else {\r
+ if (ret == ALIPAY_TRANS_CODE_DATA_LIMIT) {\r
+ AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_SECURE);\r
+ } else if (ret == ALIPAY_TRANS_CODE_NOT_SUPPORT) {\r
+ AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_NOT_SUPPORT);\r
+ } else {\r
+ AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_LIST_UNKNOW);\r
+ }\r
+ view_->ChangeView(ALIPAY_TRANS_LIST_VIEW, ALIPAY_TRANS_TIPS_VIEW);\r
+ }\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickRetryTransCode(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickRetryTransCode start");\r
+ uint32_t index = AlipayGetCardNum();\r
+ int32_t ret = alipayMode_->AlipayGetTransCode(index);\r
+ if (ret == 0) {\r
+ view_->ChangeView(ALIPAY_GET_TRANS_LIST_VIEW, ALIPAY_TRANS_VIEW);\r
+ } else if (ret == ALIPAY_TRANS_CODE_NET_ERROR) {\r
+ AlipaySetSwitchIndex(ALIPAY_TRANS_RES_CODE);\r
+ view_->ChangeView(ALIPAY_GET_TRANS_LIST_VIEW, ALIPAY_TRANS_RES_VIEW);\r
+ } else {\r
+ if (ret == ALIPAY_TRANS_CODE_DATA_LIMIT) {\r
+ AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_SECURE);\r
+ } else if (ret == ALIPAY_TRANS_CODE_NOT_SUPPORT) {\r
+ AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_NOT_SUPPORT);\r
+ } else {\r
+ AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_LIST_UNKNOW);\r
+ }\r
+ view_->ChangeView(ALIPAY_GET_TRANS_LIST_VIEW, ALIPAY_TRANS_TIPS_VIEW);\r
+ }\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickTransJumpGetList(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickTransJumpGetList start");\r
+ AlipaySetSwitchIndex(ALIPAY_TRANS_GET_LIST_CLICK_DETAIL);\r
+ view_->ChangeView(ALIPAY_TRANS_RES_VIEW, ALIPAY_GET_TRANS_LIST_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickTransJumpGetCode(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickTransJumpGetCode start");\r
+ AlipaySetSwitchIndex(ALIPAY_TRANS_GET_LIST_CODE_DETAIL);\r
+ view_->ChangeView(ALIPAY_TRANS_RES_VIEW, ALIPAY_GET_TRANS_LIST_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickTransCodeBackList(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickTransCodeBackList start");\r
+ view_->ChangeView(ALIPAY_TRANS_VIEW, ALIPAY_TRANS_LIST_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickJumpSetting(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickJumpSetting start");\r
+ view_->ChangeView(ALIPAY_LIST_VIEW, ALIPAY_SETTING_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickJumpHelp(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickJumpHelp start");\r
+ view_->ChangeView(ALIPAY_LIST_VIEW, ALIPAY_HELP_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickJumpBindAni(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickJumpBindAni start");\r
+ view_->ChangeView(ALIPAY_BIND_EXIT_VIEW, ALIPAY_BIND_ANI_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickJumpUnbind(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickJumpUnbind start");\r
+ view_->ChangeView(ALIPAY_SETTING_VIEW, ALIPAY_SETTING_UNBIND_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickJumpBindFinish(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickJumpBindFinish start");\r
+ view_->ChangeView(ALIPAY_SETTING_UNBIND_VIEW, ALIPAY_SETTING_FINISH_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickBackUnbind(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickBackUnbind start");\r
+ view_->ChangeView(ALIPAY_SETTING_UNBIND_VIEW, ALIPAY_SETTING_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickBackBindCode(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickBackBindCode start");\r
+ view_->ChangeView(ALIPAY_SETTING_FINISH_VIEW, ALIPAY_BIND_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickRefreshQrcode(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickRefreshQrcode start");\r
+ AlipayPayCode *alipayPayCodeView = AlipayPayCode::GetInstance();\r
+ if (alipayPayCodeView == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "AlipayPresenter::ClickRefreshQrcode AlipayPayCode::GetInstance() nullptr");\r
+ return;\r
+ }\r
+ alipayMode_->AlipayStartSwitchTimer(60000);\r
+ uint8_t str[ALIPAY_GET_PAY_STR_MAX_LENGTH] = {0};\r
+ AlipayGetPayCode(str);\r
+ alipayPayCodeView->AlipayRefreshQrcode((const char *)str);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickRefreshBarcode(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickRefreshBarcode start");\r
+ AlipayBarCode *alipayBarCodeView = AlipayBarCode::GetInstance();\r
+ if (alipayBarCodeView == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "AlipayPresenter::ClickRefreshBarcode AlipayBarCode::GetInstance() nullptr");\r
+ return;\r
+ }\r
+ alipayMode_->AlipayStartSwitchTimer(60000);\r
+ uint8_t str[ALIPAY_GET_PAY_STR_MAX_LENGTH] = {0};\r
+ AlipayGetPayCode(str);\r
+ alipayBarCodeView->AlipayRefreshBarcode((const char *)str);\r
+\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickGetBindStr(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickGetBindStr start");\r
+ uint8_t str[ALIPAY_GET_BIND_STR_MAX_LENGTH] = {0};\r
+ int32_t ret = AlipayGetBindCode(str);\r
+ if (ret == 0) {\r
+ view_->ChangeView(ALIPAY_GET_BIND_FAILURE_VIEW, ALIPAY_BIND_VIEW);\r
+ }\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickSwitchBar(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickSwitchBar start");\r
+ view_->ChangeView(ALIPAY_PAY_VIEW, ALIPAY_PAY_BARCODE_VIEW);\r
+ return;\r
+}\r
+\r
+void AlipayPresenter::ClickSwitchQr(UIView &view)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickSwitchQR start");\r
+ view_->ChangeView(ALIPAY_PAY_BARCODE_VIEW, ALIPAY_PAY_VIEW);\r
+ return;\r
+}\r
+\r
+struct AlipayPresentMapper1 {\r
+ const char *viewId;\r
+ void (AlipayPresenter::*func)(UIView &view);\r
+};\r
+\r
+static const AlipayPresentMapper1 PresentMapper[] = {\r
+ {ALIPAY_INTER_EXIT, &AlipayPresenter::ClickExitAlipay},\r
+ {ALIPAY_LIST_PAY_BUTTON, &AlipayPresenter::ClickJumpPay},\r
+ {ALIPAY_PAY_SWITCH_BAR, &AlipayPresenter::ClickSwitchBar},\r
+ {ALIPAY_PAY_SWITCH_QR, &AlipayPresenter::ClickSwitchQr},\r
+ {ALIPAY_LIST_SETTING_BUTTON, &AlipayPresenter::ClickJumpSetting},\r
+ {ALIPAY_LIST_HELP_BUTTON, &AlipayPresenter::ClickJumpHelp},\r
+ {ALIPAY_BIND_CONTINUE, &AlipayPresenter::ClickJumpBindAni},\r
+ {ALIPAY_UNBIND_BUTTON, &AlipayPresenter::ClickJumpUnbind},\r
+ {ALIPAY_SETTING_UNBIND, &AlipayPresenter::ClickJumpBindFinish},\r
+ {ALIPAY_SETTING_CANCEL, &AlipayPresenter::ClickBackUnbind},\r
+ {ALIPAY_SETTING_FINISH, &AlipayPresenter::ClickBackBindCode},\r
+ {ALIPAY_PAY_QRCODE, &AlipayPresenter::ClickRefreshQrcode},\r
+ {ALIPAY_BIND_BUTTON, &AlipayPresenter::ClickGetBindStr},\r
+ {ALIPAY_PAY_BARCODE, &AlipayPresenter::ClickRefreshBarcode},\r
+ {ALIPAY_LIST_TRANS_BUTTON, &AlipayPresenter::ClickJumpTrans},\r
+ {ALIPAY_TRANS_REFRESH_LIST, &AlipayPresenter::ClickRefreshList},\r
+ {ALIPAY_TRANS_GET_LIST_EXIT, &AlipayPresenter::ClickBackList},\r
+ {ALIPAY_TRANS_GET_LIST_FINISH, &AlipayPresenter::ClickUpdateList},\r
+ {ALIPAY_TRANS_GET_LIST_DETAIL, &AlipayPresenter::ClickTransJumpHelp},\r
+ {ALIPAY_TRANS_CERTAIN_BACK_LIST, &AlipayPresenter::ClickTranstBackList},\r
+ {ALIPAY_TRANS_CERTAIN_TO_TRANS, &AlipayPresenter::ClickTransToTransList},\r
+ {ALIPAY_TRANS_LIST_BUTTON, &AlipayPresenter::ClickTransToTransCode},\r
+ {ALIPAY_TRANS_RETRY_TRANS_CODE, &AlipayPresenter::ClickRetryTransCode},\r
+ {ALIPAY_TRANS_LIST_RES_DETAIL, &AlipayPresenter::ClickTransJumpGetList},\r
+ {ALIPAY_TRANS_CODE_RES_DETAIL, &AlipayPresenter::ClickTransJumpGetCode},\r
+ {ALIPAY_TRANS_CODE_BACK_LIST, &AlipayPresenter::ClickTransCodeBackList},\r
+};\r
+\r
+bool AlipayPresenter::ClickFuncId(UIView &view)\r
+{\r
+ if (view.GetViewId() == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickFuncId buttonName nullptr error!");\r
+ return false;\r
+ }\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickFuncId buttonName = %s", view.GetViewId());\r
+ for (uint16 i = 0; i < sizeof(PresentMapper) / sizeof(PresentMapper[0]); i++) {\r
+ if (strcmp(view.GetViewId(), PresentMapper[i].viewId) == 0) {\r
+ (this->*(PresentMapper[i].func))(view);\r
+ return true;\r
+ }\r
+ }\r
+ return false;\r
+}\r
+\r
+bool AlipayPresenter::OnClick(UIView &view, const ClickEvent &event)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::OnClick %s", view.GetViewId());\r
+ UNUSED(event);\r
+\r
+ ClickFuncId(view);\r
+ return true;\r
+}\r
+\r
+int32_t AlipayPresenter::AlipayGetPayCode(uint8_t *payStr)\r
+{\r
+ return alipayMode_->AlipayGetPayCode(payStr);\r
+}\r
+\r
+int32_t AlipayPresenter::AlipayGetNickName(uint8_t *nickName)\r
+{\r
+ return alipayMode_->AlipayGetNickName(nickName);\r
+}\r
+\r
+int32_t AlipayPresenter::AlipayGetBindCode(uint8_t *bindStr)\r
+{\r
+ return alipayMode_->AlipayGetBindCode(bindStr);\r
+}\r
+\r
+int32_t AlipayPresenter::AlipayGetIdName(uint8_t *idStr)\r
+{\r
+ return alipayMode_->AlipayGetIdName(idStr);\r
+}\r
+\r
+int32_t AlipayPresenter::AlipayGetAidCode(int8_t *aidStr)\r
+{\r
+ return alipayMode_->AlipayGetAidCode(aidStr);\r
+}\r
+\r
+bool AlipayPresenter::AlipayGetBindFlag(void)\r
+{\r
+ return alipayMode_->AlipayGetBindFlag();\r
+}\r
+\r
+void AlipayPresenter::AlipaySetBindFlag(bool bindFlag)\r
+{\r
+ alipayMode_->AlipaySetBindFlag(bindFlag);\r
+}\r
+\r
+uint32_t AlipayPresenter::AlipayGetSwitchIndex(void)\r
+{\r
+ return alipayMode_->AlipayGetSwitchIndex();\r
+}\r
+void AlipayPresenter::AlipaySetSwitchIndex(uint32_t switchIndex)\r
+{\r
+ alipayMode_->AlipaySetSwitchIndex(switchIndex);\r
+}\r
+\r
+uint32_t AlipayPresenter::AlipayGetCardNum(void)\r
+{\r
+ return alipayMode_->AlipayGetCardNum();\r
+}\r
+\r
+void AlipayPresenter::AlipaySetCardNum(uint32_t cardNum)\r
+{\r
+ alipayMode_->AlipaySetCardNum(cardNum);\r
+}\r
+\r
+uint32_t AlipayPresenter::AlipayGetCardSum(void)\r
+{\r
+ return alipayMode_->AlipayGetCardSum();\r
+}\r
+\r
+void AlipayPresenter::AlipaySetCardSum(uint32_t cardSum)\r
+{\r
+ alipayMode_->AlipaySetCardSum(cardSum);\r
+}\r
+\r
+char* AlipayPresenter::AlipayGetCardTitle(uint32_t index)\r
+{\r
+ return alipayMode_->AlipayGetCardTitle(index);\r
+}\r
+\r
+uint8_t* AlipayPresenter::AlipayGetTransCode(void)\r
+{\r
+ return alipayMode_->AlipayGetTransCode();\r
+}\r
+\r
+uint32_t AlipayPresenter::AlipayGetTransCodeLen(void)\r
+{\r
+ return alipayMode_->AlipayGetTransCodeLen();\r
+}\r
+\r
+char* AlipayPresenter::AlipayGetCardTitle(void)\r
+{\r
+ return alipayMode_->AlipayGetCardTitle();\r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay setting view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipaySetting.h"\r
+#include "AlipayModel.h"\r
+\r
+namespace OHOS {\r
+static const char *SETTING_TITLE = (char *)"设置";\r
+static const char *SETTING_BUTTON = (char *)"解除绑定";\r
+\r
+static const int16 SETTING_TITLE_FONT = 38;\r
+static const int16 SETTING_TITLE_X = 0;\r
+static const int16 SETTING_TITLE_Y = 35;\r
+static const int16 SETTING_TITLE_WIDTH = 454;\r
+static const int16 SETTING_TITLE_HEIGHT = 53;\r
+\r
+static const int16 SETTING_NAME_FONT = 38;\r
+static const int16 SETTING_NAME_X = 0;\r
+static const int16 SETTING_NAME_Y = 142;\r
+static const int16 SETTING_NAME_WIDTH = 454;\r
+static const int16 SETTING_NAME_HEIGHT = 53;\r
+\r
+static const int16 SETTING_ID_FONT = 30;\r
+static const int16 SETTING_ID_X = 0;\r
+static const int16 SETTING_ID_Y = 198;\r
+static const int16 SETTING_ID_WIDTH = 454;\r
+static const int16 SETTING_ID_HEIGHT = 109;\r
+\r
+static const int16 SETTING_BUTTON_X = 121;\r
+static const int16 SETTING_BUTTON_Y = 320;\r
+static const int16 SETTING_BUTTON_WIDTH = 212;\r
+static const int16 SETTING_BUTTON_HEIGHT = 73;\r
+static const int16 SETTING_BUTTON_FONT = 38;\r
+\r
+AlipaySetting::AlipaySetting(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipaySetting::AlipaySetting");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipaySetting::~AlipaySetting()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipaySetting::~AlipaySetting");\r
+ RemoveAll();\r
+\r
+ if (labelTitle != nullptr) {\r
+ delete labelTitle;\r
+ labelTitle = nullptr;\r
+ }\r
+ if (labelName != nullptr) {\r
+ delete labelName;\r
+ labelName = nullptr;\r
+ }\r
+ if (labelId != nullptr) {\r
+ delete labelId;\r
+ labelId = nullptr;\r
+ }\r
+ if (buttonSetting != nullptr) {\r
+ delete buttonSetting;\r
+ buttonSetting = nullptr;\r
+ }\r
+}\r
+\r
+bool AlipaySetting::AlipayInitButton()\r
+{\r
+ buttonSetting = new UILabelButton();\r
+ if (buttonSetting == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipaySetting::AlipayInitButton new label fail");\r
+ return false;\r
+ }\r
+ buttonSetting->SetPosition(SETTING_BUTTON_X, SETTING_BUTTON_Y, SETTING_BUTTON_WIDTH, SETTING_BUTTON_HEIGHT);\r
+ buttonSetting->SetText(SETTING_BUTTON);\r
+ buttonSetting->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ buttonSetting->SetFont(DEFAULT_VECTOR_FONT_FILENAME, SETTING_BUTTON_FONT);\r
+ buttonSetting->SetViewId(ALIPAY_UNBIND_BUTTON);\r
+ buttonSetting->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+\r
+ buttonSetting->SetOnClickListener(presenter_);\r
+ Add(buttonSetting);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipaySetting::AlipayInitLabel(void)\r
+{\r
+ labelTitle = new UILabel();\r
+ if (labelTitle == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipaySetting::AlipayInitLabel new labelTitle fail");\r
+ return false;\r
+ }\r
+ labelTitle->SetText(SETTING_TITLE);\r
+ labelTitle->SetFont(DEFAULT_VECTOR_FONT_FILENAME, SETTING_TITLE_FONT);\r
+ labelTitle->SetPosition(SETTING_TITLE_X, SETTING_TITLE_Y, SETTING_TITLE_WIDTH, SETTING_TITLE_HEIGHT);\r
+ labelTitle->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+ labelTitle->SetStyle(STYLE_TEXT_FONT, SETTING_TITLE_FONT);\r
+ labelTitle->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+\r
+ Add(labelTitle);\r
+\r
+ labelName = new UILabel();\r
+ if (labelName == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipaySetting::AlipayInitLabel new labelName fail");\r
+ return false;\r
+ }\r
+ uint8_t str[ALIPAY_GET_NICKNAME_MAX_LENGTH] = {0};\r
+ presenter_->AlipayGetNickName(str);\r
+ labelName->SetText((const char *)str);\r
+ labelName->SetFont(DEFAULT_VECTOR_FONT_FILENAME, SETTING_NAME_FONT);\r
+ labelName->SetPosition(SETTING_NAME_X, SETTING_NAME_Y, SETTING_NAME_WIDTH, SETTING_NAME_HEIGHT);\r
+ labelName->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ labelName->SetStyle(STYLE_TEXT_FONT, SETTING_NAME_FONT);\r
+ labelName->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ labelName->SetRollSpeed(30);\r
+ labelName->SetRollStartPos(SETTING_NAME_X);\r
+\r
+ Add(labelName);\r
+\r
+ labelId = new UILabel();\r
+ if (labelTitle == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipaySetting::AlipayInitLabel new labelId fail");\r
+ return false;\r
+ }\r
+ uint8_t strID[ALIPAY_GET_ID_STR_MAX_LENGTH] = {0};\r
+ presenter_->AlipayGetIdName(strID);\r
+ labelId->SetText((const char *)strID);\r
+ labelId->SetFont(DEFAULT_VECTOR_FONT_FILENAME, SETTING_ID_FONT);\r
+ labelId->SetPosition(SETTING_ID_X, SETTING_ID_Y, SETTING_ID_WIDTH, SETTING_ID_HEIGHT);\r
+ labelId->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ labelId->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
+ labelId->SetStyle(STYLE_TEXT_FONT, SETTING_ID_FONT);\r
+ labelId->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ labelId->SetRollSpeed(30);\r
+ labelId->SetRollStartPos(SETTING_ID_X);\r
+\r
+ Add(labelId);\r
+\r
+ return true;\r
+}\r
+\r
+\r
+bool AlipaySetting::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipaySetting::InitView");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
+\r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipaySetting::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitButton() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipaySetting::InitView AlipayInitButton() false");\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay get trans list view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include "layout/grid_layout.h"\r
+#include "font/ui_font.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayGetTransList.h"\r
+\r
+namespace OHOS {\r
+static const int16 EXIT_LABEL_X_FIRST = 60;\r
+static const int16 EXIT_LABEL_Y_FIRST = 79;\r
+static const int16 EXIT_LABEL_WIDTH_FIRST = 333;\r
+static const int16 EXIT_LABEL_HEIGHT_FIRST = 238;\r
+\r
+static const int16 EXIT_LABEL_FONT_FIRST = 30;\r
+static const char *GET_TRANS_LIST_TEXT_1 =\r
+ (char *)"初次使用,完成以下步骤\n1.手机设置-蓝牙,打开并与手表连接配对;\n2.手机“运动健康”确保设备已连接;";\r
+static const char *GET_TRANS_LIST_TEXT_2 =\r
+ (char *)"完成以下步骤,请重试\n1.手机设置-蓝牙,打开并与手表连接配对;\n2.手机“运动健康”确保设备已连接;";\r
+static const int16 EXIT_BUTTON_EXIT_X = 50;\r
+static const int16 EXIT_BUTTON_EXIT_Y = 312;\r
+\r
+static const int16 EXIT_BUTTON_BIND_X = 233;\r
+static const int16 EXIT_BUTTON_BIND_Y = 312;\r
+\r
+static const char *GET_TRANS_LISTBUTTON_TEXT_LEFT1 = (char *)"退出";\r
+static const char *GET_TRANS_LISTBUTTON_TEXT_RIGHT1 = (char *)"已完成";\r
+\r
+static const char *GET_TRANS_LISTBUTTON_TEXT_LEFT2 = (char *)"重试";\r
+static const char *GET_TRANS_LISTBUTTON_TEXT_RIGHT2 = (char *)"详情";\r
+\r
+static const int16 EXIT_BUTTON_WIDTH = 169;\r
+static const int16 EXIT_BUTTON_HEIGHT = 73;\r
+static const int16 EXIT_BUTTON_FONT = 38;\r
+\r
+typedef struct AlipayTransGetListInfo {\r
+ const char *str;\r
+ const char *button_left;\r
+ const char *button_right;\r
+ const char *label_left;\r
+ const char *label_right;\r
+} AlipayTransGetListInfo;\r
+static const AlipayTransGetListInfo g_AlipayTransGetListMapper[] = {\r
+ {GET_TRANS_LIST_TEXT_1, ALIPAY_TRANS_CERTAIN_BACK_LIST, ALIPAY_TRANS_GET_LIST_FINISH, GET_TRANS_LISTBUTTON_TEXT_LEFT1, GET_TRANS_LISTBUTTON_TEXT_RIGHT1},\r
+ {GET_TRANS_LIST_TEXT_2, ALIPAY_TRANS_GET_LIST_FINISH, ALIPAY_TRANS_GET_LIST_DETAIL, GET_TRANS_LISTBUTTON_TEXT_LEFT2, GET_TRANS_LISTBUTTON_TEXT_RIGHT2},\r
+ {GET_TRANS_LIST_TEXT_2, ALIPAY_TRANS_RETRY_TRANS_CODE, ALIPAY_TRANS_GET_LIST_DETAIL, GET_TRANS_LISTBUTTON_TEXT_LEFT2, GET_TRANS_LISTBUTTON_TEXT_RIGHT2},\r
+\r
+};\r
+\r
+AlipayGetTransList::AlipayGetTransList(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayGetTransList::AlipayGetTransList");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayGetTransList::~AlipayGetTransList()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayGetTransList::~AlipayGetTransList");\r
+ RemoveAll();\r
+ int ButtonNum;\r
+\r
+ if (alipayLabel != nullptr) {\r
+ delete alipayLabel;\r
+ alipayLabel = nullptr;\r
+ }\r
+\r
+ for (ButtonNum = ALIPAY_SET_ZERO; ButtonNum < ALIPAY_SET_TWO; ButtonNum++) {\r
+ if (alipayButton[ButtonNum] != nullptr) {\r
+ delete alipayButton[ButtonNum];\r
+ alipayButton[ButtonNum] = nullptr;\r
+ }\r
+ }\r
+}\r
+\r
+bool AlipayGetTransList::AlipayInitLabel(uint32_t index)\r
+{\r
+ alipayLabel = new UILabel();\r
+ if (alipayLabel == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayGetTransList::InitExit new alipayLabel fail");\r
+ return false;\r
+ }\r
+\r
+ alipayLabel->SetPosition(EXIT_LABEL_X_FIRST, EXIT_LABEL_Y_FIRST, EXIT_LABEL_WIDTH_FIRST, EXIT_LABEL_HEIGHT_FIRST);\r
+ alipayLabel->SetText(g_AlipayTransGetListMapper[index].str);\r
+ alipayLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, EXIT_LABEL_FONT_FIRST);\r
+ alipayLabel->SetStyle(STYLE_TEXT_FONT, EXIT_LABEL_FONT_FIRST);\r
+ alipayLabel->SetAlign(TEXT_ALIGNMENT_LEFT);\r
+ alipayLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+ alipayLabel->SetStyle(STYLE_LINE_SPACE, 6);\r
+\r
+ Add(alipayLabel);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayGetTransList::InitSimilarButton(int16 num, int16 alipayX, int16 alipayY, const char *buttonStr,\r
+ const char *viewId)\r
+{\r
+ alipayButton[num] = new UILabelButton();\r
+ if (alipayButton[num] == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayGetTransList::InitSimilarButton new alipayButton[%d] fail", num);\r
+ return false;\r
+ }\r
+ int64_t backColor = 0;\r
+ if (num == 0) {\r
+ backColor = 0xff4a83bf;\r
+ alipayButton[num]->SetTextColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0xff));\r
+ alipayButton[num]->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ } else if (num == 1) {\r
+ backColor = 0xff0b1928;\r
+ }\r
+ alipayButton[num]->SetPosition(alipayX, alipayY, EXIT_BUTTON_WIDTH, EXIT_BUTTON_HEIGHT);\r
+ alipayButton[num]->SetText(buttonStr);\r
+ alipayButton[num]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, EXIT_BUTTON_FONT);\r
+ alipayButton[num]->SetViewId(viewId);\r
+ alipayButton[num]->SetStyleForState(STYLE_BORDER_COLOR, backColor, UIButton::RELEASED);\r
+ alipayButton[num]->SetOnClickListener(presenter_);\r
+\r
+ Add(alipayButton[num]);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayGetTransList::AlipayInitButton(uint32_t index)\r
+{\r
+ if (InitSimilarButton(ALIPAY_SET_ZERO, EXIT_BUTTON_EXIT_X, EXIT_BUTTON_EXIT_Y,\r
+ g_AlipayTransGetListMapper[index].label_left, g_AlipayTransGetListMapper[index].button_left) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "AlipayGetTransList::AlipayInitButton new alipayButton[ALIPAY_SET_ZERO] fail");\r
+ return false;\r
+ }\r
+ if (InitSimilarButton(ALIPAY_SET_ONE, EXIT_BUTTON_BIND_X, EXIT_BUTTON_BIND_Y,\r
+ g_AlipayTransGetListMapper[index].label_right, g_AlipayTransGetListMapper[index].button_right) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "AlipayGetTransList::AlipayInitButton new alipayButton[ALIPAY_SET_ONE] fail");\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayGetTransList::InitGetView(uint32_t index)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayGetTransList::InitGetView index:%u", index);\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+\r
+ if (AlipayInitLabel(index) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayGetTransList::InitView AlipayInitLabel false");\r
+ return false;\r
+ }\r
+ if (AlipayInitButton(index) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayGetTransList::InitView AlipayInitButton false");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay bind animate view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include "layout/grid_layout.h"\r
+#include "font/ui_font.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayTransAni.h"\r
+#include "common/image_cache_manager.h"\r
+#include "graphic_service.h"\r
+\r
+namespace OHOS {\r
+static const int16 ANILABEL_X_FIRST = 151;\r
+static const int16 ANILABEL_Y_FIRST = 257;\r
+static const int16 ANILABEL_WIDTH_FIRST = 151;\r
+static const int16 ANILABEL_HEIGHT_FIRST = 48;\r
+static const char *ANILABEL_TEXT_FIRST = (char *)"正在获取";\r
+static const int16 ANILABEL_FONT_FIRST = 38;\r
+\r
+const char *transSearchImagePath[ALIPAY_TRANS_SEARCH_IMAGE_NUM] = {\r
+ PNG_A019_080_IMAGE_PATH,\r
+ PNG_A019_081_IMAGE_PATH,\r
+ PNG_A019_082_IMAGE_PATH,\r
+ PNG_A019_083_IMAGE_PATH,\r
+ PNG_A019_084_IMAGE_PATH,\r
+ PNG_A019_085_IMAGE_PATH,\r
+ PNG_A019_086_IMAGE_PATH,\r
+ PNG_A019_087_IMAGE_PATH,\r
+};\r
+\r
+static const int16 ALIPAY_TRANS_IMAGE_X = 162;\r
+static const int16 ALIPAY_TRANS_IMAGE_Y = 112;\r
+static const int16 ALIPAY_TRANS_IMAGE_WIDTH = 128;\r
+static const int16 ALIPAY_TRANS_IMAGE_HEIGHT = 128;\r
+\r
+static const int16 ALIPAY_TRANS_IMAGE_DELAY = 200;\r
+\r
+static const int16 RES_IMAGE_X = 162;\r
+static const int16 RES_IMAGE_Y = 112;\r
+static const int16 RES_IMAGE_WIDTH = 128;\r
+static const int16 RES_IMAGE_HEIGHT = 128;\r
+\r
+AlipayTransAni::AlipayTransAni(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransAni::AlipayTransAni");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayTransAni::~AlipayTransAni()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransAni::~AlipayTransAni");\r
+ RemoveAll();\r
+\r
+ if (alipayLabel != nullptr) {\r
+ delete alipayLabel;\r
+ alipayLabel = nullptr;\r
+ }\r
+\r
+ if (alipayImageAni != nullptr) {\r
+ delete alipayImageAni;\r
+ alipayImageAni = nullptr;\r
+ }\r
+}\r
+\r
+bool AlipayTransAni::AlipayInitLabel(void)\r
+{\r
+ alipayLabel = new UILabel();\r
+ if (alipayLabel == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransAni::InitExit new alipayLabel fail");\r
+ return false;\r
+ }\r
+ alipayLabel->SetPosition(ANILABEL_X_FIRST, ANILABEL_Y_FIRST, ANILABEL_WIDTH_FIRST, ANILABEL_HEIGHT_FIRST);\r
+ alipayLabel->SetText(ANILABEL_TEXT_FIRST);\r
+ alipayLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, ANILABEL_FONT_FIRST);\r
+ alipayLabel->SetStyle(STYLE_TEXT_FONT, ANILABEL_FONT_FIRST);\r
+ alipayLabel->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ alipayLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+\r
+ Add(alipayLabel);\r
+\r
+ return true;\r
+}\r
+\r
+\r
+bool AlipayTransAni::AlipayInitImageAni(void)\r
+{\r
+ alipayImageAni = new UIImageAnimatorView();\r
+ if (alipayImageAni == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransAni::AlipayInitImageAni new alipayImageAni fail");\r
+ return false;\r
+ }\r
+ for (uint8_t i = 0; i < ALIPAY_TRANS_SEARCH_IMAGE_NUM; i++) {\r
+ searchImageInfo[i].imageInfo = ImageCacheManager::GetInstance().LoadSingleRes(transSearchImagePath[i]);\r
+ searchImageInfo[i].imageType = IMG_SRC_IMAGE_INFO;\r
+ searchImageInfo[i].pos.x = ALIPAY_TRANS_IMAGE_X;\r
+ searchImageInfo[i].pos.y = ALIPAY_TRANS_IMAGE_Y;\r
+ searchImageInfo[i].width = ALIPAY_TRANS_IMAGE_WIDTH;\r
+ searchImageInfo[i].height = ALIPAY_TRANS_IMAGE_HEIGHT;\r
+ }\r
+\r
+ alipayImageAni->SetPosition(RES_IMAGE_X, RES_IMAGE_Y, RES_IMAGE_WIDTH, RES_IMAGE_HEIGHT);\r
+ alipayImageAni->SetImageAnimatorSrc(searchImageInfo, ALIPAY_TRANS_SEARCH_IMAGE_NUM, ALIPAY_TRANS_IMAGE_DELAY);\r
+ alipayImageAni->SetRepeat(true);\r
+ alipayImageAni->SetAutoEnable(false);\r
+ alipayImageAni->SetResizeMode(UIImageView::FILL);\r
+ Add(alipayImageAni);\r
+\r
+ alipayImageAni->Start();\r
+ return true;\r
+}\r
+\r
+bool AlipayTransAni::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransAni::Init");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+\r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransAni::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitImageAni() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransAni::InitView AlipayInitImageAni() false");\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay transcode view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayTransCode.h"\r
+#include "AlipayModel.h"\r
+\r
+namespace OHOS {\r
+static const char *TRANSCODE_BUTTON = (char *)"切换交通卡";\r
+static const int16 TRANSCODE_TITLE_FONT = 30;\r
+static const int16 TRANSCODE_BUTTON_FONT = 35;\r
+static const int16 TRANSCODE_TITLE_X = 120;\r
+static const int16 TRANSCODE_TITLE_Y = 24;\r
+static const int16 TRANSCODE_TITLE_WIDTH = 212;\r
+static const int16 TRANSCODE_TITLE_HEIGHT = 42;\r
+\r
+static const int16 TRANSCODE_BUTTON_X = 139;\r
+static const int16 TRANSCODE_BUTTON_Y = 386;\r
+static const int16 TRANSCODE_BUTTON_WIDTH = 176;\r
+static const int16 TRANSCODE_BUTTON_HEIGHT = 50;\r
+\r
+AlipayTransCode::AlipayTransCode(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransCode::AlipayTransCode");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayTransCode::~AlipayTransCode()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransCode::~AlipayTransCode");\r
+ RemoveAll();\r
+ if (labelPayCode != nullptr) {\r
+ delete labelPayCode;\r
+ labelPayCode = nullptr;\r
+ }\r
+ if (buttonPayCode != nullptr) {\r
+ delete buttonPayCode;\r
+ buttonPayCode = nullptr;\r
+ }\r
+ if (qrcodeGroup != nullptr) {\r
+ delete qrcodeGroup;\r
+ qrcodeGroup = nullptr;\r
+ }\r
+}\r
+\r
+bool AlipayTransCode::AlipayInitQrcode()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransCode::AlipayInitQrcode");\r
+\r
+ qrcodeGroup = new UIQrcode();\r
+ if (qrcodeGroup == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransCode::AlipayInitQrcode qrcodeGroup nullptr");\r
+ return false;\r
+ }\r
+ qrcodeGroup->SetPosition(70, 70, 298, 298);\r
+ qrcodeGroup->SetECCLevel(QrCode::Ecc::LOW);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_LEFT, 8);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_RIGHT, 8);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_TOP, 8);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_BOTTOM, 8);\r
+ qrcodeGroup->SetAutoEnable(false);\r
+ qrcodeGroup->SetResizeMode(UIImageView::ImageResizeMode::FILL);\r
+ qrcodeGroup->SetQrcodeInfo(presenter_->AlipayGetTransCode(), presenter_->AlipayGetTransCodeLen());\r
+\r
+ Add(qrcodeGroup);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayTransCode::AlipayInitLabel(void)\r
+{\r
+ labelPayCode = new UILabel();\r
+ if (labelPayCode == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransCode::AlipayInitLabel new label fail");\r
+ return false;\r
+ }\r
+ labelPayCode->SetText((const char *)presenter_->AlipayGetCardTitle());\r
+ labelPayCode->SetFont(DEFAULT_VECTOR_FONT_FILENAME, TRANSCODE_TITLE_FONT);\r
+ labelPayCode->SetPosition(TRANSCODE_TITLE_X, TRANSCODE_TITLE_Y, TRANSCODE_TITLE_WIDTH, TRANSCODE_TITLE_HEIGHT);\r
+ labelPayCode->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ labelPayCode->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ labelPayCode->SetRollSpeed(30);\r
+ labelPayCode->SetRollStartPos(TRANSCODE_TITLE_X);\r
+ Add(labelPayCode);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayTransCode::AlipayInitButton()\r
+{\r
+ buttonPayCode = new UILabelButton();\r
+ if (buttonPayCode == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransCode::AlipayInitButton new button fail");\r
+ return false;\r
+ }\r
+ buttonPayCode->SetPosition(TRANSCODE_BUTTON_X, TRANSCODE_BUTTON_Y, TRANSCODE_BUTTON_WIDTH, TRANSCODE_BUTTON_HEIGHT);\r
+ buttonPayCode->SetText(TRANSCODE_BUTTON);\r
+ buttonPayCode->SetFont(DEFAULT_VECTOR_FONT_FILENAME, TRANSCODE_BUTTON_FONT);\r
+ buttonPayCode->SetViewId(ALIPAY_TRANS_CODE_BACK_LIST);\r
+\r
+ buttonPayCode->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+ buttonPayCode->SetOnClickListener(presenter_);\r
+ Add(buttonPayCode);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayTransCode::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransCode::InitView");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ SetStyle(STYLE_BACKGROUND_COLOR, 0xff1677ff);\r
+ SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+\r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransCode::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+\r
+ if (AlipayInitQrcode() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransCode::InitView AlipayInitQrcode() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitButton() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransCode::InitView AlipayInitButton() false");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay trans enable view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayTransEnable.h"\r
+#include "AlipayModel.h"\r
+\r
+namespace OHOS {\r
+static const char *TRANSCODE_TITLE = (char *)"乘车码未开通";\r
+static const int16 TRANSCODE_TITLE_FONT = 30;\r
+static const int16 TRANSCODE_TITLE_X = 136;\r
+static const int16 TRANSCODE_TITLE_Y = 45;\r
+static const int16 TRANSCODE_TITLE_WIDTH = 182;\r
+static const int16 TRANSCODE_TITLE_HEIGHT = 42;\r
+\r
+static const char *TRANSCODE_TIPS = (char *)"使用支付宝扫码开通";\r
+static const char *TRANSCODE_URL = (char *)"alipays://platformapi/startapp?appId=20002047&scene=bus";\r
+static const int16 TRANSCODE_TIPS_FONT = 30;\r
+static const int16 TRANSCODE_TIPS_X = 91;\r
+static const int16 TRANSCODE_TIPS_Y = 362;\r
+static const int16 TRANSCODE_TIPS_WIDTH = 270;\r
+static const int16 TRANSCODE_TIPS_HEIGHT = 42;\r
+\r
+AlipayTransEnable::AlipayTransEnable(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransEnable::AlipayTransEnable");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayTransEnable::~AlipayTransEnable()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransEnable::~AlipayTransEnable");\r
+ RemoveAll();\r
+ if (labelEnableCode != nullptr) {\r
+ delete labelEnableCode;\r
+ labelEnableCode = nullptr;\r
+ }\r
+ if (qrcodeGroup != nullptr) {\r
+ delete qrcodeGroup;\r
+ qrcodeGroup = nullptr;\r
+ }\r
+ if (labelTips != nullptr) {\r
+ delete labelTips;\r
+ labelTips = nullptr;\r
+ }\r
+}\r
+\r
+bool AlipayTransEnable::AlipayInitQrcode()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransEnable::AlipayInitQrcode");\r
+ qrcodeGroup = new UIQrcode();\r
+ if (qrcodeGroup == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransEnable::AlipayInitQrcode qrcodeGroup nullptr");\r
+ return false;\r
+ }\r
+ qrcodeGroup->SetPosition(102, 100, 231, 231);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_LEFT, 10);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_RIGHT, 10);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_TOP, 10);\r
+ qrcodeGroup->SetStyle(STYLE_PADDING_BOTTOM, 10);\r
+ qrcodeGroup->SetAutoEnable(false);\r
+ qrcodeGroup->SetResizeMode(UIImageView::ImageResizeMode::FILL);\r
+ qrcodeGroup->SetQrcodeInfo(TRANSCODE_URL);\r
+ qrcodeGroup->SetTouchable(true);\r
+ qrcodeGroup->SetOnClickListener(presenter_);\r
+ qrcodeGroup->SetViewId(ALIPAY_PAY_QRCODE);\r
+\r
+ Add(qrcodeGroup);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayTransEnable::AlipayInitLabel(void)\r
+{\r
+ labelEnableCode = new UILabel();\r
+ if (labelEnableCode == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransEnable::AlipayInitLabel new labelEnableCode fail");\r
+ return false;\r
+ }\r
+ labelEnableCode->SetText(TRANSCODE_TITLE);\r
+ labelEnableCode->SetFont(DEFAULT_VECTOR_FONT_FILENAME, TRANSCODE_TITLE_FONT);\r
+ labelEnableCode->SetPosition(TRANSCODE_TITLE_X, TRANSCODE_TITLE_Y, TRANSCODE_TITLE_WIDTH, TRANSCODE_TITLE_HEIGHT);\r
+ Add(labelEnableCode);\r
+\r
+ labelTips = new UILabel();\r
+ if (labelTips == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransEnable::AlipayInitLabel new labelTips fail");\r
+ return false;\r
+ }\r
+ labelTips->SetText(TRANSCODE_TIPS);\r
+ labelTips->SetFont(DEFAULT_VECTOR_FONT_FILENAME, TRANSCODE_TIPS_FONT);\r
+ labelTips->SetPosition(TRANSCODE_TIPS_X, TRANSCODE_TIPS_Y, TRANSCODE_TIPS_WIDTH, TRANSCODE_TIPS_HEIGHT);\r
+ Add(labelTips);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayTransEnable::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransEnable::InitView");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ SetStyle(STYLE_BACKGROUND_COLOR, 0xff1677ff);\r
+ SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+\r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransEnable::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+\r
+ if (AlipayInitQrcode() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransEnable::InitView AlipayInitQrcode() false");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay trans list adapt.
+ * Author:
+ * Create:
+ */
+
+#include "AlipayTransListAdapter.h"
+#include "AlipayTransListItemView.h"
+
+namespace OHOS {
+AlipayTransListAdapter::AlipayTransListAdapter()
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransListAdapter::AlipayTransListAdapter()");
+}
+
+AlipayTransListAdapter::~AlipayTransListAdapter()
+{
+ listData.clear();
+}
+
+uint16_t AlipayTransListAdapter::GetCount(void)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransListAdapter::GetCount(), size:%u", listData.size());
+ return listData.size();
+}
+
+void AlipayTransListAdapter::ClearItem(void)
+{
+ listData.clear();
+}
+
+void AlipayTransListAdapter::SetData(std::list<AlipayTransListItem> &data)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransListAdapter::SetData()");
+ if (!listData.empty()) {
+ listData.clear();
+ }
+ std::list<AlipayTransListItem>::iterator it;
+ for (it = data.begin(); it != data.end(); it++) {
+ listData.push_back(*it);
+ }
+}
+
+UIView *AlipayTransListAdapter::GetView(UIView *inView, int16_t index)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransListAdapter::GetView(), addr %x, index:%u", inView, index);
+ if (listData.empty()) {
+ return nullptr;
+ }
+ if (index < 0) {
+ return nullptr;
+ }
+ size_t uindex = index;
+ if (uindex >= listData.size()) {
+ return nullptr;
+ }
+
+ std::list<AlipayTransListItem>::iterator it = listData.begin();
+ for (int i = 0; i < index; i++) {
+ it++;
+ }
+ AlipayTransListItem itemData = *it;
+ AlipayTransListItemView *item = nullptr;
+ if (inView == nullptr) {
+ item = new AlipayTransListItemView();
+ } else {
+ item = static_cast<AlipayTransListItemView *>(inView);
+ }
+
+ item->SetItemInfo(itemData);
+ item->SetViewId(itemData.viewId);
+ item->SetOnClickListener(itemClickListener);
+ return item;
+}
+
+void AlipayTransListAdapter::AddListItem(const AlipayTransListItem &item)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransListAdapter::AddListItem()");
+ listData.push_back(item);
+}
+} // namespace OHOS
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay trans list item view.
+ * Author:
+ * Create:
+ */
+
+#include "wearable_log.h"
+#include "AlipayTransListItemView.h"
+
+namespace OHOS {
+static constexpr int16_t ALIPAY_TRANS_LIST_ITEM_BUTTON_HEIGHT = 95;
+static constexpr int16_t ALIPAY_TRANS_LIST_ITEM_LABEL_X = 53;
+
+static constexpr int16_t ALIPAY_TRANS_LIST_ITEM_LABEL_WIDTH = 347;
+static constexpr int16_t ALIPAY_TRANS_LIST_ITEM_LABEL_HEIGHT = 90;
+
+static constexpr int16_t ALIPAY_TRANS_LIST_ITEM_FONT_SIZE = 35;
+
+AlipayTransListItemView::AlipayTransListItemView()
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransListItemView::AlipayTransListItemView()");
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, ALIPAY_TRANS_LIST_ITEM_BUTTON_HEIGHT);
+ SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+ SetStyle(STYLE_BACKGROUND_OPA, UN_OPACITY);
+ SetTouchable(true);
+ SetUpChild();
+
+ Add(&sLabel);
+}
+
+AlipayTransListItemView::~AlipayTransListItemView()
+{
+ Remove(&sLabel);
+}
+
+void AlipayTransListItemView::SetItemInfo(const AlipayTransListItem &itemInfo)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransListItemView::SetItemInfo()");
+ sItemInfo = itemInfo;
+ sLabel.SetText(itemInfo.label);
+}
+
+void AlipayTransListItemView::SetUpChild()
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransListItemView::SetUpChild()");
+
+ sLabel.SetPosition(ALIPAY_TRANS_LIST_ITEM_LABEL_X, 0);
+ sLabel.Resize(ALIPAY_TRANS_LIST_ITEM_LABEL_WIDTH, ALIPAY_TRANS_LIST_ITEM_LABEL_HEIGHT);
+ sLabel.SetFont(DEFAULT_VECTOR_FONT_FILENAME, ALIPAY_TRANS_LIST_ITEM_FONT_SIZE);
+ sLabel.SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_CENTER);
+ sLabel.SetStyle(STYLE_TEXT_OPA, OPA_OPAQUE);
+ sLabel.SetStyle(STYLE_TEXT_COLOR, Color::White().full);
+ sLabel.SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+ sLabel.SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
+}
+
+uint8_t AlipayTransListItemView::GetAlipayTransListIndex()
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransListItemView::GetAlipayTransListIndex()");
+ return sItemInfo.index;
+}
+}
\ No newline at end of file
--- /dev/null
+/**
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
+ * Description: alipay trans list view.
+ * Author:
+ * Create:
+ */
+
+#include <string>
+#include "AlipayTransListView.h"
+#include "AlipayTransListItem.h"
+#include "AlipayModel.h"
+#include "cmsis_os2.h"
+#include "common_def.h"
+
+namespace OHOS {
+static constexpr int16_t ALIPAY_TRANS_LIST_POSITION_X = 33;
+static constexpr int16_t ALIPAY_TRANS_LIST_POSITION_Y = 59;
+static constexpr int16_t ALIPAY_TRANS_LIST_SCROLLBLANKSIZE = 50;
+static constexpr int16 MAX_SCR_DIS = 900;
+static constexpr int16 LIST_POS = 20;
+static constexpr int16 SNUM_2 = 2;
+
+static const int16 REFRESH_BUTTON_FONT = 38;
+static const int16 REFRESH_BUTTON_X = 189;
+static const int16 REFRESH_BUTTON_Y = 400;
+static const int16 REFRESH_BUTTON_WIDTH = 76;
+static const int16 REFRESH_BUTTON_HEIGHT = 53;
+static const char *REFRESH_BUTTON = (char *)"刷新";
+
+AlipayTransList::AlipayTransList(AlipayPresenter *presenter)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransList::AlipayTransList");
+ presenter_ = presenter;
+}
+
+AlipayTransList::~AlipayTransList()
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransList::~AlipayTransList");
+ RemoveAll();
+
+ if (listAdapter != nullptr) {
+ delete listAdapter;
+ listAdapter = nullptr;
+ }
+ if (contentList != nullptr) {
+ delete contentList;
+ contentList = nullptr;
+ }
+ if (buttonRefresh != nullptr) {
+ delete buttonRefresh;
+ buttonRefresh = nullptr;
+ }
+}
+
+bool AlipayTransList::AlipayInitList()
+{
+ listAdapter = new AlipayTransListAdapter();
+ if (listAdapter == nullptr) {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransList::AlipayInitList listAdapter is nullptr");
+ return false;
+ }
+ listAdapter->SetItemClickListener(presenter_);
+ InitAlipayTransListItem();
+ contentList = new UIList();
+ if (contentList == nullptr) {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransList::AlipayInitList contentList is nullptr");
+ return false;
+ }
+ contentList->SetPosition(ALIPAY_TRANS_LIST_POSITION_X, ALIPAY_TRANS_LIST_POSITION_Y);
+ contentList->Resize(HORIZONTAL_RESOLUTION - ALIPAY_TRANS_LIST_POSITION_X, VERTICAL_RESOLUTION - 115);
+ contentList->SetScrollBlankSize(ALIPAY_TRANS_LIST_SCROLLBLANKSIZE);
+ contentList->SetSelectPosition(HORIZONTAL_RESOLUTION / SNUM_2); // middle position
+ contentList->SetDraggable(true);
+ contentList->SetThrowDrag(false);
+ contentList->EnableAutoAlign(true);
+ contentList->SetMaxScrollDistance(MAX_SCR_DIS);
+ contentList->SetYScrollBarVisible(true);
+ AddAlipayTransListItemToList();
+ Add(contentList);
+ contentList->SetAdapter(listAdapter);
+ return true;
+}
+
+void AlipayTransList::InitAlipayTransListItem()
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransListModel::InitAlipayTransListItem()");
+ uint8_t cardCount = (uint8_t)min(presenter_->AlipayGetCardSum(), ALIPAY_TRANS_LIST_ITEM_LEN);
+ for (uint8_t i = 0; i < cardCount; i++) {
+ alipayTransLists[i].index = i;
+ alipayTransLists[i].viewId = ALIPAY_TRANS_LIST_BUTTON;
+ alipayTransLists[i].label = presenter_->AlipayGetCardTitle(i);
+ }
+ listLen = cardCount;
+}
+
+bool AlipayTransList::AlipayInitButton()
+{
+ buttonRefresh = new UILabelButton();
+ if (buttonRefresh == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransList::AlipayInitButton new label fail");
+ return false;
+ }
+ buttonRefresh->SetPosition(REFRESH_BUTTON_X, REFRESH_BUTTON_Y, REFRESH_BUTTON_WIDTH, REFRESH_BUTTON_HEIGHT);
+ buttonRefresh->SetText(REFRESH_BUTTON);
+ buttonRefresh->SetFont(DEFAULT_VECTOR_FONT_FILENAME, REFRESH_BUTTON_FONT);
+
+ buttonRefresh->SetViewId(ALIPAY_TRANS_REFRESH_LIST);
+
+ buttonRefresh->SetTextColor(Color::Blue());
+ buttonRefresh->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+ buttonRefresh->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
+
+ buttonRefresh->SetOnClickListener(presenter_);
+ Add(buttonRefresh);
+
+ return true;
+}
+
+
+bool AlipayTransList::InitListView()
+{
+ SetDraggable(true);
+ SetTouchable(true);
+ SetOnDragListener(presenter_);
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
+ SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+ SetStyle(STYLE_BACKGROUND_OPA, UN_OPACITY);
+
+ if (AlipayInitList() == false) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransList::InitView AlipayInitList() false");
+ return false;
+ }
+
+ if (AlipayInitButton() == false) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransList::InitView AlipayInitButton() false");
+ return false;
+ }
+
+ return true;
+}
+
+void AlipayTransList::AddAlipayTransListItemToList(void)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransList::AddAlipayTransListItemToList");
+ for (uint8_t i = 0; i < listLen; i++) {
+ listAdapter->AddListItem(alipayTransLists[i]);
+ }
+}
+
+void AlipayTransList::AlipayTransListUpdate(void)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransList::AlipayTransListUpdate");
+ listAdapter->ClearItem();
+ InitAlipayTransListItem();
+ AddAlipayTransListItemToList();
+ contentList->ScrollTo(0);
+ contentList->RefreshList();
+}
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay trans action res view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include "layout/grid_layout.h"\r
+#include "font/ui_font.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayTransRes.h"\r
+#include "AlipayModel.h"\r
+\r
+namespace OHOS {\r
+static const int16 EXIT_LABEL_X_FIRST = 38;\r
+static const int16 EXIT_LABEL_Y_FIRST = 179;\r
+static const int16 EXIT_LABEL_WIDTH_FIRST = 378;\r
+static const int16 EXIT_LABEL_HEIGHT_FIRST = 84;\r
+\r
+static const int16 EXIT_LABEL_FONT_FIRST = 30;\r
+\r
+static const char *EXIT_LABEL_TEXT_1 = (char *)"网络异常,请打开手机运动健康app,并确保设备已连接后再重试";\r
+\r
+static const int16 RES_IMAGE_X = 170;\r
+static const int16 RES_IMAGE_Y = 55;\r
+static const int16 RES_IMAGE_WIDTH = 112;\r
+static const int16 RES_IMAGE_HEIGHT = 112;\r
+\r
+static const char *RECOGNIZE_BUTTON = (char *)"确定";\r
+static const int16 RECOGNIZE_BUTTON_FONT = 38;\r
+static const int16 RECOGNIZE_BUTTON_X = 50;\r
+static const int16 RECOGNIZE_BUTTON_Y = 312;\r
+static const int16 RECOGNIZE_BUTTON_WIDTH = 169;\r
+static const int16 RECOGNIZE_BUTTON_HEIGHT = 73;\r
+\r
+static const char *RECOGNIZE_BUTTON_SEC = (char *)"详情";\r
+static const int16 RECOGNIZE_BUTTON_SEC_FONT = 38;\r
+static const int16 RECOGNIZE_BUTTON_SEC_X = 233;\r
+static const int16 RECOGNIZE_BUTTON_SEC_Y = 312;\r
+static const int16 RECOGNIZE_BUTTON_SEC_WIDTH = 169;\r
+static const int16 RECOGNIZE_BUTTON_SEC_HEIGHT = 73;\r
+\r
+typedef struct AlipayTransResInfo {\r
+ const char *str;\r
+ const char *button_left;\r
+ const char *button_right;\r
+} AlipayTransResInfo;\r
+static const AlipayTransResInfo g_AlipayTransResMapper[] = {\r
+ {EXIT_LABEL_TEXT_1, ALIPAY_TRANS_CERTAIN_BACK_LIST, ALIPAY_TRANS_LIST_RES_DETAIL},\r
+ {EXIT_LABEL_TEXT_1, ALIPAY_TRANS_CERTAIN_TO_TRANS, ALIPAY_TRANS_CODE_RES_DETAIL},\r
+\r
+};\r
+\r
+AlipayTransRes::AlipayTransRes(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::AlipayTransRes");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayTransRes::~AlipayTransRes()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::~AlipayTransRes");\r
+ RemoveAll();\r
+\r
+ if (alipayLabel != nullptr) {\r
+ delete alipayLabel;\r
+ alipayLabel = nullptr;\r
+ }\r
+\r
+ if (alipayImage != nullptr) {\r
+ delete alipayImage;\r
+ alipayImage = nullptr;\r
+ }\r
+\r
+ if (alipayButton != nullptr) {\r
+ delete alipayButton;\r
+ alipayButton = nullptr;\r
+ }\r
+ if (alipayButtonSec != nullptr) {\r
+ delete alipayButtonSec;\r
+ alipayButtonSec = nullptr;\r
+ }\r
+}\r
+\r
+void AlipayTransRes::AlipayTransRefreshRes(void)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::AlipayRefreshBindRes");\r
+\r
+ if (alipayLabel == nullptr || alipayImage == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::AlipayRefreshBindRes nullptr");\r
+ return;\r
+ }\r
+\r
+ return;\r
+}\r
+\r
+bool AlipayTransRes::AlipayInitLabel(const char *resStr)\r
+{\r
+ alipayLabel = new UILabel();\r
+ if (alipayLabel == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::AlipayInitLabel new alipayLabel fail");\r
+ return false;\r
+ }\r
+ alipayLabel->SetPosition(EXIT_LABEL_X_FIRST, EXIT_LABEL_Y_FIRST, EXIT_LABEL_WIDTH_FIRST, EXIT_LABEL_HEIGHT_FIRST);\r
+ alipayLabel->SetText(resStr);\r
+ alipayLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, EXIT_LABEL_FONT_FIRST);\r
+ alipayLabel->SetStyle(STYLE_TEXT_FONT, EXIT_LABEL_FONT_FIRST);\r
+ alipayLabel->SetAlign(TEXT_ALIGNMENT_LEFT);\r
+ alipayLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+\r
+ Add(alipayLabel);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayTransRes::AlipayInitImage(const char *imageSrc)\r
+{\r
+ alipayImage = new UIImageView();\r
+ if (alipayImage == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::AlipayInitImage new tempImage fail");\r
+ return false;\r
+ }\r
+ alipayImage->SetPosition(RES_IMAGE_X, RES_IMAGE_Y, RES_IMAGE_WIDTH, RES_IMAGE_HEIGHT);\r
+ alipayImage->SetSrc(imageSrc);\r
+\r
+ // Set additional property\r
+ alipayImage->SetAutoEnable(false);\r
+ alipayImage->SetResizeMode(UIImageView::FILL);\r
+\r
+ Add(alipayImage);\r
+ return true;\r
+}\r
+\r
+bool AlipayTransRes::AlipayInitButton(uint32_t index)\r
+{\r
+ alipayButton = new UILabelButton();\r
+ if (alipayButton == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::AlipayInitButton new alipayButton fail");\r
+ return false;\r
+ }\r
+ alipayButton->SetPosition(RECOGNIZE_BUTTON_X, RECOGNIZE_BUTTON_Y, RECOGNIZE_BUTTON_WIDTH,\r
+ RECOGNIZE_BUTTON_HEIGHT);\r
+ alipayButton->SetText(RECOGNIZE_BUTTON);\r
+ alipayButton->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ alipayButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, RECOGNIZE_BUTTON_FONT);\r
+ alipayButton->SetViewId(g_AlipayTransResMapper[index].button_left);\r
+ alipayButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff4a83bf, UIButton::PRESSED);\r
+ alipayButton->SetOnClickListener(presenter_);\r
+ alipayButton->SetTextColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0xff));\r
+ alipayButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ Add(alipayButton);\r
+\r
+ alipayButtonSec = new UILabelButton();\r
+ if (alipayButtonSec == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::AlipayInitButton new alipayButtonSec fail");\r
+ return false;\r
+ }\r
+ alipayButtonSec->SetPosition(RECOGNIZE_BUTTON_SEC_X, RECOGNIZE_BUTTON_SEC_Y, RECOGNIZE_BUTTON_WIDTH,\r
+ RECOGNIZE_BUTTON_HEIGHT);\r
+ alipayButtonSec->SetText(RECOGNIZE_BUTTON_SEC);\r
+ alipayButtonSec->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ alipayButtonSec->SetFont(DEFAULT_VECTOR_FONT_FILENAME, RECOGNIZE_BUTTON_FONT);\r
+ alipayButtonSec->SetViewId(g_AlipayTransResMapper[index].button_right);\r
+ alipayButtonSec->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+ alipayButtonSec->SetOnClickListener(presenter_);\r
+ Add(alipayButtonSec);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayTransRes::InitResView(uint32_t index)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::InitExit");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+\r
+ if (AlipayInitLabel(g_AlipayTransResMapper[index].str) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitImage(PNG_ALIPAY_BIND_FAILURE) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::InitView AlipayInitImage() false");\r
+ return false;\r
+ }\r
+\r
+ if (AlipayInitButton(index) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransRes::InitView AlipayInitButton() false");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay trans tips view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include "layout/grid_layout.h"\r
+#include "font/ui_font.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayTransTips.h"\r
+#include "AlipayModel.h"\r
+\r
+namespace OHOS {\r
+static const int16 TIPS_LABEL_X_FIRST = 38;\r
+static const int16 TIPS_LABEL_Y_FIRST = 179;\r
+static const int16 TIPS_LABEL_WIDTH_FIRST = 378;\r
+static const int16 TIPS_LABEL_HEIGHT_FIRST = 84;\r
+static const int16 TIPS_LABEL_FONT_FIRST = 30;\r
+\r
+static const char *TIPS_LABEL_TEXT_1 = (char *)"未知错误_具体错误码,请联系设备厂商解决";\r
+static const char *TIPS_LABEL_TEXT_2 = (char *)"开通的乘车码数量太多,清在手机支付宝-出行-管理中,管理后再用";\r
+static const char *TIPS_LABEL_TEXT_3 = (char *)"存在安全风险,12小时内不可用,请切换到手机侧使用";\r
+static const char *TIPS_LABEL_TEXT_4 = (char *)"未知错误_具体错误码,请联系设备厂商解决";\r
+static const char *TIPS_LABEL_TEXT_5 = (char *)"暂不支持,请切换到手机侧使用";\r
+\r
+static const int16 RES_IMAGE_X = 170;\r
+static const int16 RES_IMAGE_Y = 55;\r
+static const int16 RES_IMAGE_WIDTH = 112;\r
+static const int16 RES_IMAGE_HEIGHT = 112;\r
+\r
+static const char *RECOGNIZE_BUTTON = (char *)"确定";\r
+static const int16 RECOGNIZE_BUTTON_FONT = 38;\r
+static const int16 RECOGNIZE_BUTTON_X = 120;\r
+static const int16 RECOGNIZE_BUTTON_Y = 320;\r
+static const int16 RECOGNIZE_BUTTON_WIDTH = 212;\r
+static const int16 RECOGNIZE_BUTTON_HEIGHT = 73;\r
+\r
+typedef struct AlipayTransTipsInfo {\r
+ const char *str;\r
+ const char *button;\r
+} AlipayTransTipsInfo;\r
+static const AlipayTransTipsInfo g_AlipayTransTipsMapper[] = {\r
+ {TIPS_LABEL_TEXT_1, ALIPAY_TRANS_CERTAIN_BACK_LIST},\r
+ {TIPS_LABEL_TEXT_2, ALIPAY_TRANS_CERTAIN_BACK_LIST},\r
+ {TIPS_LABEL_TEXT_3, ALIPAY_TRANS_CERTAIN_TO_TRANS},\r
+ {TIPS_LABEL_TEXT_4, ALIPAY_TRANS_CERTAIN_TO_TRANS},\r
+ {TIPS_LABEL_TEXT_5, ALIPAY_TRANS_CERTAIN_TO_TRANS},\r
+};\r
+\r
+AlipayTransTips::AlipayTransTips(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::AlipayTransTips");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayTransTips::~AlipayTransTips()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::~AlipayTransTips");\r
+ RemoveAll();\r
+\r
+ if (alipayLabel != nullptr) {\r
+ delete alipayLabel;\r
+ alipayLabel = nullptr;\r
+ }\r
+\r
+ if (alipayImage != nullptr) {\r
+ delete alipayImage;\r
+ alipayImage = nullptr;\r
+ }\r
+\r
+ if (alipayButton != nullptr) {\r
+ delete alipayButton;\r
+ alipayButton = nullptr;\r
+ }\r
+}\r
+\r
+void AlipayTransTips::AlipayTransRefreshTips(void)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::AlipayTransRefreshTips");\r
+\r
+ if (alipayLabel == nullptr || alipayImage == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::AlipayTransRefreshTips nullptr");\r
+ return;\r
+ }\r
+\r
+ return;\r
+}\r
+\r
+bool AlipayTransTips::AlipayInitLabel(const char *resStr)\r
+{\r
+ alipayLabel = new UILabel();\r
+ if (alipayLabel == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::InitExit new alipayLabel fail");\r
+ return false;\r
+ }\r
+ alipayLabel->SetPosition(TIPS_LABEL_X_FIRST, TIPS_LABEL_Y_FIRST, TIPS_LABEL_WIDTH_FIRST, TIPS_LABEL_HEIGHT_FIRST);\r
+ alipayLabel->SetText((const char *)resStr);\r
+ alipayLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, TIPS_LABEL_FONT_FIRST);\r
+ alipayLabel->SetStyle(STYLE_TEXT_FONT, TIPS_LABEL_FONT_FIRST);\r
+ alipayLabel->SetAlign(TEXT_ALIGNMENT_LEFT);\r
+ alipayLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+\r
+ Add(alipayLabel);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayTransTips::AlipayInitImage(const char *imageSrc)\r
+{\r
+ alipayImage = new UIImageView();\r
+ if (alipayImage == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::AlipayInitImage new alipayImage fail");\r
+ return false;\r
+ }\r
+ alipayImage->SetPosition(RES_IMAGE_X, RES_IMAGE_Y, RES_IMAGE_WIDTH, RES_IMAGE_HEIGHT);\r
+ alipayImage->SetSrc(imageSrc);\r
+\r
+ // Set additional property\r
+ alipayImage->SetAutoEnable(false);\r
+ alipayImage->SetResizeMode(UIImageView::FILL);\r
+\r
+ Add(alipayImage);\r
+ return true;\r
+}\r
+\r
+bool AlipayTransTips::AlipayInitButton(uint32_t index)\r
+{\r
+ alipayButton = new UILabelButton();\r
+ if (alipayButton == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::AlipayInitButton new alipayButton fail");\r
+ return false;\r
+ }\r
+ alipayButton->SetPosition(RECOGNIZE_BUTTON_X, RECOGNIZE_BUTTON_Y, RECOGNIZE_BUTTON_WIDTH,\r
+ RECOGNIZE_BUTTON_HEIGHT);\r
+ alipayButton->SetText(RECOGNIZE_BUTTON);\r
+ alipayButton->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ alipayButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, RECOGNIZE_BUTTON_FONT);\r
+ alipayButton->SetViewId(g_AlipayTransTipsMapper[index].button);\r
+ alipayButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+ alipayButton->SetOnClickListener(presenter_);\r
+ Add(alipayButton);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayTransTips::InitTipsView(uint32_t index)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::InitTipsView");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+\r
+ if (AlipayInitLabel(g_AlipayTransTipsMapper[index].str) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitImage(PNG_ALIPAY_BIND_FAILURE) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::InitView AlipayInitImage() false");\r
+ return false;\r
+ }\r
+\r
+ if (AlipayInitButton(index) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::InitView AlipayInitButton() false");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay remove bind view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include "layout/grid_layout.h"\r
+#include "font/ui_font.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayUnbind.h"\r
+\r
+namespace OHOS {\r
+static const int16 EXIT_LABEL_X_FIRST = 132;\r
+static const int16 EXIT_LABEL_Y_FIRST = 57;\r
+static const int16 EXIT_LABEL_WIDTH_FIRST = 189;\r
+static const int16 EXIT_LABEL_HEIGHT_FIRST = 48;\r
+\r
+static const int16 EXIT_LABEL_X_SEC = 44;\r
+static const int16 EXIT_LABEL_Y_SECOND = 126;\r
+static const int16 EXIT_LABEL_WIDTH_SEC = 365;\r
+static const int16 EXIT_LABEL_HEIGHT_SEC = 128;\r
+\r
+static const int16 EXIT_LABEL_FONT_FIRST = 38;\r
+static const int16 EXIT_LABEL_FONT_SEC = 30;\r
+\r
+static const char *UNBIND_LABEL_TEXT_FIRST = (char *)"解除绑定";\r
+static const char *UNBIND_LABEL_TEXT_SECOND = (char *)"解绑后将无法使用支付宝各项解锁功能,确认解绑?";\r
+\r
+static const int16 EXIT_BUTTON_EXIT_X = 50;\r
+static const int16 EXIT_BUTTON_EXIT_Y = 312;\r
+\r
+static const int16 EXIT_BUTTON_BIND_X = 233;\r
+static const int16 EXIT_BUTTON_BIND_Y = 312;\r
+\r
+static const char *UNBIND_BUTTON_TEXT_FIRST = (char *)"确认";\r
+static const char *UNBIND_BUTTON_TEXT_SECOND = (char *)"取消";\r
+\r
+static const int16 EXIT_BUTTON_WIDTH = 169;\r
+static const int16 EXIT_BUTTON_HEIGHT = 73;\r
+static const int16 EXIT_BUTTON_FONT = 38;\r
+\r
+AlipayUnbind::AlipayUnbind(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayUnbind::AlipayUnbind");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayUnbind::~AlipayUnbind()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayUnbind::~AlipayUnbind");\r
+ RemoveAll();\r
+ for (int32_t labelNum = ALIPAY_SET_ZERO; labelNum < ALIPAY_SET_TWO; labelNum++) {\r
+ if (alipayLabel[labelNum] != nullptr) {\r
+ delete alipayLabel[labelNum];\r
+ alipayLabel[labelNum] = nullptr;\r
+ }\r
+ }\r
+ for (int32_t buttonNum = ALIPAY_SET_ZERO; buttonNum < ALIPAY_SET_TWO; buttonNum++) {\r
+ if (alipayButton[buttonNum] != nullptr) {\r
+ delete alipayButton[buttonNum];\r
+ alipayButton[buttonNum] = nullptr;\r
+ }\r
+ }\r
+}\r
+\r
+bool AlipayUnbind::AlipayInitLabel()\r
+{\r
+ alipayLabel[ALIPAY_SET_ZERO] = new UILabel();\r
+ if (alipayLabel[ALIPAY_SET_ZERO] == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbind::InitExit new alipayLabel[ALIPAY_SET_ZERO] fail");\r
+ return false;\r
+ }\r
+\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetPosition(EXIT_LABEL_X_FIRST, EXIT_LABEL_Y_FIRST, EXIT_LABEL_WIDTH_FIRST,\r
+ EXIT_LABEL_HEIGHT_FIRST);\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetText(UNBIND_LABEL_TEXT_FIRST);\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, EXIT_LABEL_FONT_FIRST);\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetStyle(STYLE_TEXT_FONT, EXIT_LABEL_FONT_FIRST);\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ alipayLabel[ALIPAY_SET_ZERO]->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+\r
+ Add(alipayLabel[ALIPAY_SET_ZERO]);\r
+\r
+ alipayLabel[ALIPAY_SET_ONE] = new UILabel();\r
+ if (alipayLabel[ALIPAY_SET_ONE] == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbind::InitExit new alipayLabel[ALIPAY_SET_ONE] fail");\r
+ return false;\r
+ }\r
+ alipayLabel[ALIPAY_SET_ONE]->SetPosition(EXIT_LABEL_X_SEC, EXIT_LABEL_Y_SECOND, EXIT_LABEL_WIDTH_SEC,\r
+ EXIT_LABEL_HEIGHT_SEC);\r
+ alipayLabel[ALIPAY_SET_ONE]->SetText(UNBIND_LABEL_TEXT_SECOND);\r
+ alipayLabel[ALIPAY_SET_ONE]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, EXIT_LABEL_FONT_SEC);\r
+ alipayLabel[ALIPAY_SET_ONE]->SetStyle(STYLE_LINE_SPACE, 12);\r
+ alipayLabel[ALIPAY_SET_ONE]->SetStyle(STYLE_TEXT_FONT, EXIT_LABEL_FONT_SEC);\r
+ alipayLabel[ALIPAY_SET_ONE]->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+ Add(alipayLabel[ALIPAY_SET_ONE]);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayUnbind::InitSimilarButton(int16 num, int16 alipayX, int16 alipayY, const char *buttonStr, const char *viewId)\r
+{\r
+ alipayButton[num] = new UILabelButton();\r
+ if (alipayButton[num] == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbind::InitSimilarButton new alipayButton[%d] fail", num);\r
+ return false;\r
+ }\r
+ int64_t backColor = 0;\r
+ if (num == 0) {\r
+ backColor = 0xff4a83bf;\r
+ alipayButton[num]->SetTextColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0xff));\r
+ alipayButton[num]->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ } else if (num == 1) {\r
+ backColor = 0xff0b1928;\r
+ }\r
+ alipayButton[num]->SetPosition(alipayX, alipayY, EXIT_BUTTON_WIDTH, EXIT_BUTTON_HEIGHT);\r
+ alipayButton[num]->SetText(buttonStr);\r
+ alipayButton[num]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, EXIT_BUTTON_FONT);\r
+ alipayButton[num]->SetViewId(viewId);\r
+ alipayButton[num]->SetStyleForState(STYLE_BORDER_COLOR, backColor, UIButton::RELEASED);\r
+ alipayButton[num]->SetOnClickListener(presenter_);\r
+\r
+ Add(alipayButton[num]);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayUnbind::AlipayInitButton()\r
+{\r
+ if (InitSimilarButton(ALIPAY_SET_ZERO, EXIT_BUTTON_EXIT_X, EXIT_BUTTON_EXIT_Y, UNBIND_BUTTON_TEXT_FIRST,\r
+ ALIPAY_SETTING_UNBIND) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbind::AlipayInitButton new alipayButton[ALIPAY_SET_ZERO] fail");\r
+ return false;\r
+ }\r
+ if (InitSimilarButton(ALIPAY_SET_ONE, EXIT_BUTTON_BIND_X, EXIT_BUTTON_BIND_Y, UNBIND_BUTTON_TEXT_SECOND,\r
+ ALIPAY_SETTING_CANCEL) == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbind::AlipayInitButton new alipayButton[ALIPAY_SET_ONE] fail");\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayUnbind::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayUnbind::InitView");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ \r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbind::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitButton() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbind::InitView AlipayInitButton() false");\r
+ return false;\r
+ }\r
+ return true;\r
+}\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.\r
+ * Description: alipay removie bind finish view.\r
+ * Author:\r
+ * Create:\r
+ */\r
+\r
+#include "UiConfig.h"\r
+#include <string>\r
+#include "cmsis_os.h"\r
+#include "AlipayUnbindFinish.h"\r
+\r
+namespace OHOS {\r
+static AlipayUnbindFinish *g_alipayUnbindFinish = nullptr;\r
+\r
+static const char *UNBIND_FINISH_TITLE = (char *)"解绑成功";\r
+static const char *UNBIND_FINISH_TEXT =\r
+ (char *)"设备侧已解绑,请到手机支付宝搜索进入“智能设备”小程序查看,若手机侧未解绑,则需要操作解绑";\r
+\r
+static const char *UNBIND_FINISH_BUTTON = (char *)"确认";\r
+\r
+static const int16 UNBIND_FINISH_TITLE_FONT = 38;\r
+static const int16 UNBIND_FINISH_TITLE_X = 0;\r
+static const int16 UNBIND_FINISH_TITLE_Y = 35;\r
+static const int16 UNBIND_FINISH_TITLE_WIDTH = 454;\r
+static const int16 UNBIND_FINISH_TITLE_HEIGHT = 53;\r
+\r
+static const int16 UNBIND_FINISH_TEXT_FONT = 30;\r
+static const int16 UNBIND_FINISH_TEXT_X = 38;\r
+static const int16 UNBIND_FINISH_TEXT_Y = 126;\r
+static const int16 UNBIND_FINISH_TEXT_WIDTH = 380;\r
+static const int16 UNBIND_FINISH_TEXT_HEIGHT = 166;\r
+\r
+static const int16 UNBIND_FINISH_BUTTON_FONT = 38;\r
+static const int16 UNBIND_FINISH_BUTTON_X = 120;\r
+static const int16 UNBIND_FINISH_BUTTON_Y = 320;\r
+static const int16 UNBIND_FINISH_BUTTON_WIDTH = 212;\r
+static const int16 UNBIND_FINISH_BUTTON_HEIGHT = 73;\r
+\r
+AlipayUnbindFinish::AlipayUnbindFinish(AlipayPresenter *presenter)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayUnbindFinish::AlipayUnbindFinish");\r
+ presenter_ = presenter;\r
+}\r
+\r
+AlipayUnbindFinish::~AlipayUnbindFinish()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayUnbindFinish::~AlipayUnbindFinish");\r
+ RemoveAll();\r
+\r
+ if (titleUnbind != nullptr) {\r
+ delete titleUnbind;\r
+ titleUnbind = nullptr;\r
+ }\r
+ if (textUnbind != nullptr) {\r
+ delete textUnbind;\r
+ textUnbind = nullptr;\r
+ }\r
+ if (buttonUnbind != nullptr) {\r
+ delete buttonUnbind;\r
+ buttonUnbind = nullptr;\r
+ }\r
+}\r
+\r
+bool AlipayUnbindFinish::AlipayInitLabel(void)\r
+{\r
+ titleUnbind = new UILabel();\r
+ if (titleUnbind == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbindFinish::AlipayInitLabel new label fail");\r
+ return false;\r
+ }\r
+ titleUnbind->SetText(UNBIND_FINISH_TITLE);\r
+ titleUnbind->SetFont(DEFAULT_VECTOR_FONT_FILENAME, UNBIND_FINISH_TITLE_FONT);\r
+ titleUnbind->SetPosition(UNBIND_FINISH_TITLE_X, UNBIND_FINISH_TITLE_Y, UNBIND_FINISH_TITLE_WIDTH,\r
+ UNBIND_FINISH_TITLE_HEIGHT);\r
+ titleUnbind->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+ titleUnbind->SetStyle(STYLE_TEXT_FONT, UNBIND_FINISH_TITLE_FONT);\r
+ titleUnbind->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+\r
+ Add(titleUnbind);\r
+\r
+ titleUnbind = new UILabel();\r
+ if (titleUnbind == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbindFinish::AlipayInitLabel new label fail");\r
+ return false;\r
+ }\r
+ titleUnbind->SetText(UNBIND_FINISH_TEXT);\r
+ titleUnbind->SetFont(DEFAULT_VECTOR_FONT_FILENAME, UNBIND_FINISH_TEXT_FONT);\r
+ titleUnbind->SetPosition(UNBIND_FINISH_TEXT_X, UNBIND_FINISH_TEXT_Y, UNBIND_FINISH_TEXT_WIDTH,\r
+ UNBIND_FINISH_TEXT_HEIGHT);\r
+ titleUnbind->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+ titleUnbind->SetStyle(STYLE_TEXT_FONT, UNBIND_FINISH_TEXT_FONT);\r
+ titleUnbind->SetStyle(STYLE_LINE_SPACE, 6);\r
+\r
+ Add(titleUnbind);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayUnbindFinish::AlipayInitButton()\r
+{\r
+ buttonUnbind = new UILabelButton();\r
+ if (buttonUnbind == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbindFinish::AlipayInitButton new label fail");\r
+ return false;\r
+ }\r
+ buttonUnbind->SetPosition(UNBIND_FINISH_BUTTON_X, UNBIND_FINISH_BUTTON_Y, UNBIND_FINISH_BUTTON_WIDTH,\r
+ UNBIND_FINISH_BUTTON_HEIGHT);\r
+ buttonUnbind->SetText(UNBIND_FINISH_BUTTON);\r
+ buttonUnbind->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ buttonUnbind->SetFont(DEFAULT_VECTOR_FONT_FILENAME, UNBIND_FINISH_BUTTON_FONT);\r
+ buttonUnbind->SetViewId(ALIPAY_SETTING_FINISH);\r
+ buttonUnbind->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+ buttonUnbind->SetOnClickListener(presenter_);\r
+ Add(buttonUnbind);\r
+\r
+ return true;\r
+}\r
+\r
+bool AlipayUnbindFinish::InitView()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayUnbindFinish::InitView");\r
+ SetDraggable(true);\r
+ SetTouchable(true);\r
+ SetOnDragListener(presenter_);\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
+\r
+ if (AlipayInitLabel() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbindFinish::InitView AlipayInitLabel() false");\r
+ return false;\r
+ }\r
+ if (AlipayInitButton() == false) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayUnbindFinish::InitView AlipayInitButton() false");\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+}\r
+}
\ No newline at end of file
{VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, "室内步行", nullptr},
{VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_WEATHER_IMAGE, "天气", nullptr},
{VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, "设置", nullptr},
+#ifdef SUPPORT_ALIPAY_SEC
+ {VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_ALIPAY_IMAGE, "支付宝", nullptr},
+#endif
#if 0
{VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, "体温", nullptr},
{VIEW_CALLER_LOG, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, "通话记录", nullptr},
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConnectPhonePresenter bt gap_br_set_bt_scan_mode ret = 0x%x", ret);
}
+#ifndef SUPPORT_ALIPAY_SEC
BleAdvStart();
+#endif
}
bool ConnectPhonePresenter::OnDrag(UIView& view, const DragEvent& event)
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-01-29 19:58:37
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-02-01 17:13:46
+ * @FilePath: /FD230/code/sdk/application/wearable/nativeapp/nativelauncher/include/AppViewIDs.h
+ * @Description:
+ * @
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved.
+ */
/*
* Copyright (c) 2020-2021 CompanyNameMagicTag.
* Licensed under the Apache License, Version 2.0 (the "License");
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-01-29 19:58:37
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-02-01 17:14:12
+ * @FilePath: /FD230/code/sdk/application/wearable/nativeapp/nativelauncher/include/NativeLauncher.h
+ * @Description:
+ * @
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved.
+ */
/*
* Copyright (c) 2020-2021 CompanyNameMagicTag.
* Licensed under the Apache License, Version 2.0 (the "License");
"audio_manager",
"custom_utils",
"rotary_encoder",
- "nativelauncher",
- # "fd230launcher",
+ #"nativelauncher",
+ "fd230launcher",
"batterry_service"
],
'ram_component_set': ['bgh', 'media', 'gpu', 'graphic_uikit', 'bgh_audio', 'dfx_set', 'ohos_set', 'wearable_set', 'alipay_set'],
'dsp_version': 'max',
'packet': True,
- 'fs_image_path':'evb4',
- # 'fs_image_path':'fd230',
+ #'fs_image_path':'evb4',
+ 'fs_image_path':'fd230',
'fs_image': True
},
#native-xts: liteos + uikit + nandflash + mipi + psram + audio 典型合封UIKIT版本
--- /dev/null
+/*
+* Copyright (c) xxxxxxxx Technologies Co., Ltd. 2021-2021. All rights reserved.
+* Description: language
+* Author: Graphic develop team
+* Create: 2021-07-06
+*/
+
+#ifndef UI_RESOURCE_STRING_H
+#define UI_RESOURCE_STRING_H
+#include <cstdint>
+namespace OHOS {
+enum UIResourceTextId : uint16_t {
+ STR_IMAGE = 0,\r
+ STR_PROGRESSBAR = 1,\r
+ STR_SLIDEUNLOCK = 2,\r
+ STR_LISTBOX = 3,\r
+ STR_BUTTON = 4,\r
+ STR_SCROLLVIEW = 5,\r
+ STR_SCROLLGRID = 6,\r
+ STR_CLOCK = 7,\r
+ STR_DISTURBANCE = 8,\r
+ STR_BRIGHT = 9,\r
+ STR_PHONE = 10,\r
+ STR_LANGAGE = 11,\r
+ STR_ALARM = 12,\r
+ STR_SYSTEM = 13,\r
+ STR_SPO2 = 14,\r
+ STR_COMPASS = 15,\r
+ STR_INDOORWALK = 16,\r
+ STR_WEATHER = 17,\r
+ STR_SYSTEMSETTING = 18,\r
+ STR_MAX_ID = 19,\r
+}; // UIResourceTextId\r
+
+enum FontLanguageId : uint8_t {
+ LANGUAGE_ID_ZH,\r
+ LANGUAGE_ID_EN,\r
+ LANGUAGE_ID_MAX\r
+}; // UITextLanguageTextId\r
+}\r
+#endif /* UI_RESOURCE_STRING_H */\r