下拉界面UI完成
authorluozheng <1732036298@qq.com>
Thu, 22 Aug 2024 08:48:54 +0000 (16:48 +0800)
committerluozheng <1732036298@qq.com>
Thu, 22 Aug 2024 08:48:54 +0000 (16:48 +0800)
14 files changed:
code/sdk/application/wearable/fd230app/CMakeLists.txt
code/sdk/application/wearable/fd230app/nativeui/main/include/PullUpDownView.h
code/sdk/application/wearable/fd230app/nativeui/main/include/dropdown/DropDownCardPage1.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/include/dropdown/DropDownCardPage2.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp
code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp
code/sdk/application/wearable/fd230app/nativeui/main/src/dropdown/DropDownCardPage1.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/main/src/dropdown/DropDownCardPage2.cpp [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/bluetooth_connect.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/bluetooth_disconnect.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/earphones_connect.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/earphones_disconnect.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/phone_connect.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/phone_disconnect.bin [new file with mode: 0644]

index 04d9dc4..aa61d16 100644 (file)
@@ -143,6 +143,8 @@ set(SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/MainModel.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/MainPresenterSample.cpp
 
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dropdown/DropDownCardPage1.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dropdown/DropDownCardPage2.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/ModelListenerSample.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/PresenterTask.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/HealthModel.cpp
index e742f37..7ff9e3b 100644 (file)
@@ -2,11 +2,10 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-04-17 15:26:49
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-16 14:55:16
+ * @LastEditTime: 2024-08-22 16:29:35
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/PullUpDownView.h
  */
 
-#if 1
 #ifndef PULL_UP_DOWN_VIEW_H
 #define PULL_UP_DOWN_VIEW_H
 
 #include "components/ui_label_button.h"
 #include "components/ui_box_progress.h"
 #include "components/ui_image_animator.h"
+#include "components/ui_swipe_view.h"
 #include "battery_hal.h"
 #include "main/include/ConnectedStatusView.h"
+#include "main/include/dropdown/DropDownCardPage1.h"
+#include "main/include/dropdown/DropDownCardPage2.h"
 
 extern uint8_t battery_get_voltage(float *voltage);
 
@@ -41,7 +43,7 @@ namespace OHOS
         MAX_DROPDOWNVIEWID,
     } DROPDOWNVIEWID;
 
-    class PullUpDownView : public UICardPage
+    class PullUpDownView : public UICardPage, public UISwipeView::OnSwipeListener
     {
     public:
         PullUpDownView();
@@ -49,222 +51,86 @@ namespace OHOS
         static PullUpDownView *GetInstance(void);
         void PreLoad(void) override;
         void UnLoad(void) override;
-        void UpdatePhoneStatus(int status);
-        void UpdateEarPhoneStatus(int status);
-        void UpdateBlueToothStatus(int status);
         void UpdateDnotDisturbStatus(int status);
-        void UpdateSignalStrengthStatusAndBatteryPosition();
         bool ChangeDropDownView(int16_t thisView);        // 切换到"下拉控制中心"视图
         bool ChangeConnectedStatusView(int16_t thisView); // 切换到"连接状态"视图
         bool ClickFunc(int16_t interface);
         void ChangeView(int16_t hideView, int16_t showView);
         ConnectedStatusView *GetConnectedStatusView(void);
 
-        UILabel *GetTimeLabel();
-        UILabel *GetDateLabel();
-        UILabel *GetWeekLabel();
-        UIBoxProgress *GetProgress();
-
-        bool GetPhoneConnectedStatus(void);
-        bool GetEarPhoneConnectedStatus(void);
-        bool GetBlueToothConnectedStatus(void);
-        struct ImageConfig
-        {
-            int16_t x;
-            int16_t y;
-            int16_t w;
-            int16_t h;
-            const char *viewid;
-            const char *src;
-            UIView::OnClickListener *clicklistener;
-        };
-
     private:
+        void OnSwipe(UISwipeView &view) override;
         bool PullUpDownViewInit();
-        bool InitBaseData(); // 初始化基础数据组件
-        UIImageView *dropDownIconImageViweInit(ImageConfig &imageconfig);
-        void createDropDownIconImageViwe(void);
-        UIImageView *dropDownConnectedStatusImageViweInit(int16_t x, int16_t y, int16_t w, int16_t h);
-        void createDropDownConnectedStatusImageViwe(void);
-
-        bool InitSingalComponentsView();
-        void ClearAllConnectedStatusComponentsView();
-        void ClearAllSingalComponentsView();
         void ClearAll();
-
-        int GetSignalStrength(void);
-        int CalculateSignalBars(int signalStrength);
-        void UpdateSignalBarDisplay(int signalBars, bool state);
-        void UpdateBatteryPosition(bool state);
-        void updateSignalDisplay();
-        void UpdateCat1NoSignalisplay(bool state);
-        void UpdateCat14GDisplay(bool state);
-        void UpdateCat1MobileDataDisplay(bool state);
-
-        void PreLoadPullUpDownImageRes(void);
-        void UnLoadPullUpDownImageRes(void);
-
-    private:
-        ConnectedStatusView *connectedStatusView{nullptr};
-
-    private:
         UIViewGroup *group[MAX_DROPDOWNVIEWID]{nullptr};
-        UIImageView *dropSetting{nullptr};                   // 设置
-        UIImageView *dropBluetooth{nullptr};                 // 蓝牙
-        UIImageView *dropDnotDisturb{nullptr};               // 勿扰模式
-        UIImageView *dropSavePower{nullptr};                 // 省电
-        UIImageView *drofindPhone{nullptr};                  // 找手机
-        UIImageView *dropLine{nullptr};                      // 线
-        UIButton *connectedStatusBackgroundButton{nullptr};  // 放置连接状态icon的背景按钮
-        UIImageView *showPhoneConnectedStatus{nullptr};      // 显示手机连接状态
-        UIImageView *showEarPhoneConnectedStatus{nullptr};   // 显示耳机连接状态
-        UIImageView *showBluetoothConnectedStatus{nullptr};  // 显示蓝牙连接状态
-        UILabel *showTimeLabel{nullptr};                     // 显示时间
-        UILabel *showDateLabel{nullptr};                     // 显示日期
-        UILabel *showWeekLabel{nullptr};                     // 显示星期
-        UIImageView *showSignalStrength[4]{nullptr};         // 信号强度
-        UILabel *Singal_4{nullptr};                          // 4G图标
-        UIImageView *NoSignal{nullptr};                      // 无信号
-        UIImageView *MobileData{nullptr};                    // 移动数据
-
-        UIImageView *batteryimage = nullptr;
-        UIBoxProgress *progress = nullptr;
-
+        ConnectedStatusView *connectedStatusView{nullptr};
         bool viewiInitStatus{false};
-    };
-}
-#endif
-
-#else
-/*
- * @Author: luozheng 1732036298@qq.com
- * @Date: 2024-04-17 15:26:49
- * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-28 14:30:04
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/PullUpDownView.h
- */
-/*
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
- * Description: WeekStep
- * Author:
- * Create: 2021-09-11
- */
-
-#ifndef PULL_UP_DOWN_VIEW_H
-#define PULL_UP_DOWN_VIEW_H
-
-#include "graphic_types.h"
-#include "wearable_log.h"
-#include "components/ui_card_page.h"
-#include "components/ui_view_group.h"
-#include "components/ui_image_view.h"
-#include "components/ui_label.h"
-#include "components/ui_label_ext.h"
-#include "components/ui_label_button.h"
-#include "components/ui_box_progress.h"
-#include "components/ui_image_animator.h"
-#include "battery_hal.h"
-#include "main/include/ConnectedStatusView.h"
 
-extern uint8_t battery_get_voltage(float *voltage);
-
-namespace OHOS
-{
-    static constexpr int16_t SETTING_INDEX = 0;
-    static constexpr int16_t LIGHTING_INDEX = 1;
-    static constexpr int16_t DNOTDISTURB_INDEX = 2;
-    static constexpr int16_t SAVEPOWER_INDEX = 3;
-    static constexpr int16_t FINDPHONE_INDEX = 4;
-    static constexpr int16_t MAX_INDEX = 5;
-
-    typedef enum : uint8_t
-    {
-        DROPDOWNVIEW = 0,
-        CONNECTEDSTATUSVIEW,
-        MAX_DROPDOWNVIEWID,
-    } DROPDOWNVIEWID;
-
-    class PullUpDownView : public UICardPage
-    {
+        /* ---------------------------------- 1.连接状态 ---------------------------------- */
     public:
-        PullUpDownView();
-        ~PullUpDownView() override;
-        static PullUpDownView *GetInstance(void);
-        void PreLoad(void) override;
-        void UnLoad(void) override;
+        bool GetPhoneConnectedStatus(void);
+        bool GetEarPhoneConnectedStatus(void);
+        bool GetBlueToothConnectedStatus(void);
         void UpdatePhoneStatus(int status);
         void UpdateEarPhoneStatus(int status);
         void UpdateBlueToothStatus(int status);
-        void UpdateDnotDisturbStatus(int status);
-        void UpdateSignalStrengthStatusAndBatteryPosition();
-        bool ChangeDropDownView(int16_t thisView);        // 切换到"下拉控制中心"视图
-        bool ChangeConnectedStatusView(int16_t thisView); // 切换到"连接状态"视图
-        bool ClickFunc(int16_t interface);
-        void ChangeView(int16_t hideView, int16_t showView);
-        ConnectedStatusView *GetConnectedStatusView(void);
 
-        UILabel *GetTimeLabel();
-        UILabel *GetDateLabel();
-        UILabel *GetWeekLabel();
+    private:
+        UIImageView *DropDownConnectedStatusImageViweInit(int16_t x, int16_t y, int16_t w, int16_t h);
+        void CreateDropDownConnectionStatusImageViwe(void);
+        void ClearAll_1(void);
+        UIButton *connectedStatusBackgroundButton{nullptr}; // 放置连接状态icon的背景按钮
+        UIImageView *showPhoneConnectedStatus{nullptr};     // 显示手机连接状态
+        UIImageView *showEarPhoneConnectedStatus{nullptr};  // 显示耳机连接状态
+        UIImageView *showBluetoothConnectedStatus{nullptr}; // 显示蓝牙连接状态
+        /* --------------------------------- 2.基本数据显示-------------------------------- */
+    public:
         UIBoxProgress *GetProgress();
-
-        bool GetPhoneConnectedStatus(void);
-        bool GetEarPhoneConnectedStatus(void);
-        bool GetBlueToothConnectedStatus(void);
+        UILabel *GetDateAndWeekLabel(void);
+        void UpdateSignalStrengthStatusAndBatteryPosition();
 
     private:
-        bool PullUpDownViewInit();
-        bool InitBaseData(); // 初始化基础数据组件
-        void InitViewImgBackGround(void);
-        void InitViewImg(void);
-        void InitConnectedStatusImage(void);
-        bool InitSingalComponentsView();
-        void ClearAllConnectedStatusComponentsView();
-        void ClearAllSingalComponentsView();
-        void ClearAll();
-
+        void InitBaseData();
+        void ClearAll_2(void);
         int GetSignalStrength(void);
         int CalculateSignalBars(int signalStrength);
         void UpdateSignalBarDisplay(int signalBars, bool state);
-        void UpdateBatteryPosition(int signalBars);
         void updateSignalDisplay();
         void UpdateCat1NoSignalisplay(bool state);
         void UpdateCat14GDisplay(bool state);
-
-        void PreLoadPullUpDownImageRes(void);
-        void UnLoadPullUpDownImageRes(void);
+        void UpdateHDDisplay(bool state);
+        void UpdateCat1MobileDataDisplay(bool state);
+        void UpdateXPosition(void);
+        UIViewGroup *group1{nullptr};
+        UIImageView *showSignalStrength[4]{nullptr}; // 信号强度
+        UILabel *Singal_4{nullptr};                  // 4G图标
+        UIImageView *NoSignal{nullptr};              // 无信号
+        UIImageView *MobileData{nullptr};            // 移动数据
+        UIImageView *HD{nullptr};                    // HD
+        UIImageView *batteryimage{nullptr};          // 电池图片
+        UIBoxProgress *progress{nullptr};            // 电池进度条
+        UILabel *showDateAndWeekLabel{nullptr};      // 显示日期和星期
+        /* ---------------------------------- 3.滑动列表 ---------------------------------- */
+    public:
+        AppGroupView *DropDownCardPage1Init(void);
+        AppGroupView *DropDownCardPage2Init(void);
 
     private:
-        ConnectedStatusView *connectedStatusView{nullptr};
-
+        AppGroupView *CreatePage(int32_t WeatherPageId);
+        void CreateDropDownswipeViewListView(void);
+        void ClearAll_3(void);
+        UISwipeView *dropDownswipeViewList{nullptr}; // 滑动列表
+        AppGroupView *recordCard[2]{nullptr};
+        DropDownCardPage1 *dropDownCardPage1{nullptr};
+        DropDownCardPage2 *dropDownCardPage2{nullptr};
+        /* ------------------------------------ 4 ----------------------------------- */
+    public:
+        void UpdateSwipviewSelect(bool value);
     private:
-        UIViewGroup *group[MAX_DROPDOWNVIEWID]{nullptr};
-        UIImageView *dropSetting{nullptr};                   // 设置
-        UIImageView *dropLighting{nullptr};                  // 蓝牙
-        UIImageView *dropDnotDisturb{nullptr};               // 勿扰模式
-        UIImageView *dropSavePower{nullptr};                 // 省电
-        UIImageView *drofindPhone{nullptr};                  // 找手机
-        UIImageView *dropIconBackground[MAX_INDEX]{nullptr}; // 放置各个icon的背景
-        UIButton *connectedStatusBackgroundButton{nullptr};  // 放置连接状态icon的背景按钮
-        UIImageView *showPhoneConnectedStatus{nullptr};      // 显示手机连接状态
-        UIImageView *showEarPhoneConnectedStatus{nullptr};   // 显示耳机连接状态
-        UIImageView *showBluetoothConnectedStatus{nullptr};  // 显示蓝牙连接状态
-        UIImageView *dropLine{nullptr};                      // 线
-        UILabel *showTimeLabel{nullptr};                     // 显示时间
-        UILabel *showDateLabel{nullptr};                     // 显示日期
-        UILabel *showWeekLabel{nullptr};                     // 显示星期
-        UIImageView *showSignalStrength[4]{nullptr};         // 信号强度
-        UILabel *Singal_4{nullptr};                          // 4G图标
-        UIImageView *NoSignal{nullptr};                      // 无信号
-
-        UIImageView *batteryimage = nullptr;
-        UIBoxProgress *progress = nullptr;
-        AnimatorCallback *progresscallback_ = nullptr;
-        Animator *progressanimator_ = nullptr;
-
-        bool viewiInitStatus{false};
-        bool resLoadStatus{false};
+        void CreateView4();
+        void ClearAll_4(void);
+        UIImageView *swipviewSelect{nullptr};
+        UIImageView *line{nullptr};
     };
 }
-#endif
 #endif
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/dropdown/DropDownCardPage1.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/dropdown/DropDownCardPage1.h
new file mode 100644 (file)
index 0000000..7e423a0
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-08-21 11:54:00
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-08-21 16:10:27
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/dropdown/DropDownCardPage1.h
+ */
+#ifndef __DROPDOWN_CARD_PAGE1_H__
+#define __DROPDOWN_CARD_PAGE1_H__
+#include "AppGroupView.h"
+#include "components/ui_toggle_button.h"
+
+namespace OHOS
+{
+    class DropDownCardPage1 : public AppGroupView,
+                              public UIView::OnClickListener
+    {
+    public:
+        struct ToggleButtonConfig
+        {
+            int16_t left;
+            int16_t top;
+            int16_t width;
+            int16_t height;
+            const char *viewId;
+            const char *selectImg;
+            const char *unselectImg;
+            bool isTouchable;
+        };
+        DropDownCardPage1();
+        ~DropDownCardPage1();
+        static DropDownCardPage1 *GetInstance(void);
+        bool OnClick(UIView &view, const ClickEvent &event) override;
+        bool InitPage(void);
+        bool InitView(void *caller) override;
+        void ClearAll();
+
+        UIToggleButton *GetDropDownCardPage1_ToggleButton(int index);
+
+    private:
+        UIToggleButton *ToggleButtonInit(ToggleButtonConfig &toggleButtonConfig);
+        UIToggleButton *toggleButton[7]{nullptr};
+    };
+
+}
+
+#endif
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/dropdown/DropDownCardPage2.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/dropdown/DropDownCardPage2.h
new file mode 100644 (file)
index 0000000..d67569c
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-08-21 11:54:00
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-08-21 16:42:29
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/dropdown/DropDownCardPage2.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+
+#ifndef __DROPDOWN_CARD_PAGE2_H__
+#define __DROPDOWN_CARD_PAGE2_H__
+#include "AppGroupView.h"
+#include "components/ui_toggle_button.h"
+
+namespace OHOS
+{
+    class DropDownCardPage2 : public AppGroupView,
+                              public UIView::OnClickListener
+    {
+    public:
+        struct ToggleButtonConfig
+        {
+            int16_t left;
+            int16_t top;
+            int16_t width;
+            int16_t height;
+            const char *viewId;
+            const char *selectImg;
+            const char *unselectImg;
+            bool isTouchable;
+        };
+        DropDownCardPage2();
+        ~DropDownCardPage2();
+        static DropDownCardPage2 *GetInstance(void);
+        bool OnClick(UIView &view, const ClickEvent &event) override;
+        bool InitPage(void);
+        bool InitView(void *caller) override;
+        void ClearAll();
+
+        UIToggleButton *GetDropDownCardPage2_ToggleButton(int index);
+
+    private:
+        UIToggleButton *ToggleButtonInit(ToggleButtonConfig &toggleButtonConfig);
+        UIToggleButton *toggleButton[2]{nullptr};
+    };
+
+}
+
+#endif
index 285daa1..08cf530 100644 (file)
@@ -457,17 +457,17 @@ namespace OHOS
     // 更新时间
     void MainPresenterSample::UpdataTime()
     {
-        // 获取当前时间
-        char *timeStr = (char *)malloc(9);
-        if (uapi_get_HHMMSS_Time(timeStr, ':', false) != ERRCODE_SUCC)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to get start time");
-            free(timeStr);
-            return;
-        }
-        if (PullUpDownView::GetInstance() != nullptr)
-            PullUpDownView::GetInstance()->GetTimeLabel()->SetText(timeStr);
-        free(timeStr);
+        // // 获取当前时间
+        // char *timeStr = (char *)malloc(9);
+        // if (uapi_get_HHMMSS_Time(timeStr, ':', false) != ERRCODE_SUCC)
+        // {
+        //     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to get start time");
+        //     free(timeStr);
+        //     return;
+        // }
+        // if (PullUpDownView::GetInstance() != nullptr)
+        //     // PullUpDownView::GetInstance()->GetTimeLabel()->SetText(timeStr);
+        // free(timeStr);
     }
 
     void MainPresenterSample::UpdataBaseData()
@@ -522,14 +522,15 @@ namespace OHOS
         //         break;
         //     }
         // }
-
+        std::string dateAndweek = std::string(dateStr) + " " + std::string(weekStr) ;
         if (PullUpDownView::GetInstance() != nullptr)
         {
             // PullUpDownView::GetInstance()->GetProgress()->SetImage(progressImageSrc, progressImageSrc);
             PullUpDownView::GetInstance()->GetProgress()->SetValue(value);
-            PullUpDownView::GetInstance()->GetDateLabel()->SetText(dateStr);
-            PullUpDownView::GetInstance()->GetTimeLabel()->SetText(timeStr);
-            PullUpDownView::GetInstance()->GetWeekLabel()->SetText(weekStr);
+            // PullUpDownView::GetInstance()->GetDateLabel()->SetText(dateStr);
+            // PullUpDownView::GetInstance()->GetTimeLabel()->SetText(timeStr);
+            // PullUpDownView::GetInstance()->GetWeekLabel()->SetText(weekStr);
+            PullUpDownView::GetInstance()->GetDateAndWeekLabel()->SetText(dateAndweek.c_str());
         }
 
         // 释放动态分配的内存
@@ -557,15 +558,7 @@ namespace OHOS
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "%d", MainPresenterSample::g_PullUpDownTimes);
         if (MainPresenterSample::g_PullUpDownTimes <= 0)
         {
-            MainPresenterSample::g_PullUpDownTimes = UPDATETIME; //
-            if (MainPresenterSample::GetInstance() != nullptr)
-            {
-                MainPresenterSample::GetInstance()->UpdataTime();
-            }
-            else
-            {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPresenterSample::GetInstance fail!!");
-            }
+            MainPresenterSample::g_PullUpDownTimes = UPDATETIME;
 
             if (PullUpDownView::GetInstance() != nullptr)
             {
index 6c66b17..ad2ac85 100644 (file)
@@ -2,11 +2,10 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-06-26 18:14:24
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-03 17:11:11
+ * @LastEditTime: 2024-08-22 16:35:46
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp
  */
 
-#if 1
 #include "PullUpDownView.h"
 #include "wearable_log.h"
 #include "UiConfig.h"
@@ -24,93 +23,24 @@ namespace OHOS
 {
 
     /* ---------------------------------- 坐标位置 ---------------------------------- */
-    // 设置
-    static constexpr uint16_t SETTING_IMG_X = 30;
-    static constexpr uint16_t SETTING_IMG_Y = 186;
-    static constexpr const char *DROPDOWN_SETTING_IMAGE = "/user/res/dropdown/DROPDOWN_SETTING.bin";
-
-    // 蓝牙
-    static constexpr uint16_t BLUETOOTH_IMG_X = 76;
-    static constexpr uint16_t BLUETOOTH_IMG_Y = 76;
-    static constexpr const char *DROPDOWN_BLUETOOTH_IMAGE = "/user/res/dropdown/DROPDOWN_BLUETOOTH.bin";
-
-    // 勿扰
-    static constexpr uint16_t DNOTDISTURB_IMG_X = 186;
-    static constexpr uint16_t DNOTDISTURB_IMG_Y = 30;
-    static constexpr const char *DROPDOWN_DNOTDISTURB_IMAGE = "/user/res/dropdown/DROPDOWN_DNOTDISTURB.bin";
-
-    // 省电
-    static constexpr uint16_t SAVEPOWER_IMG_X = 296;
-    static constexpr uint16_t SAVEPOWER_IMG_Y = 76;
-    // static constexpr const char *DROPDOWN_SAVEPOWER_IMAGE = "/user/res/dropdown/DROPDOWN_SAVEPOWER.bin";
-    static constexpr const char *DROPDOWN_SAVEPOWER_IMAGE = "/user/res/dropdown/DROPDOWN_ALIPAY.bin";/*支付宝*/
-
-    // 找手机
-    static constexpr uint16_t FINDPHONE_IMG_X = 342;
-    static constexpr uint16_t FINDPHONE_IMG_Y = 186;
-    // static constexpr const char *DROPDOWN_FINDPHONE_IMAGE = "/user/res/dropdown/DROPDOWN_FINDPHONE.bin";
-    static constexpr const char *DROPDOWN_FINDPHONE_IMAGE = "/user/res/dropdown/DROPDOWN_4G.bin";/*4G*/
-
-    // line
-    static constexpr uint16_t LINE_IMG_X = 193;
-    static constexpr uint16_t LINE_IMG_Y = 430;
-    static constexpr const char *DROPDOWN_LINE_IMAGE = "/user/res/dropdown/DROPDOWN_LINE.bin";
-
-    // icon图片大小
-    static constexpr uint16_t ICON_IMG_SIZE_W = 94;
-    static constexpr uint16_t ICON_IMG_SIZE_H = 94;
-
-    // 电池
-    static constexpr uint16_t BATTERY_X = 209;
-    static constexpr uint16_t BATTERY_Y = 180;
-
-    // 时间
-    static constexpr uint16_t TIME_LABEL_X = 172;
-    static constexpr uint16_t TIME_LABEL_Y = 230;
-
-    // 日期
-    static constexpr uint16_t DATE_LABEL_X = 110;
-    static constexpr uint16_t DATE_LABEL_Y = 300;
-
-    // 星期
-    static constexpr uint16_t WEEK_LABEL_X = 295;
-    static constexpr uint16_t WEEK_LABEL_Y = 300;
-
     // 手机连接状态
-    static constexpr uint16_t PHONECONNECTSTATUS_IMG_X = 123;
-    static constexpr uint16_t PHONECONNECTSTATUS_IMG_Y = 350;
-    static constexpr const char *DROPDOWN_PHONECONNECTED_IMAGE = "/user/res/dropdown/DROPDOWN_PHONECONNECTED.bin";
-    static constexpr const char *DROPDOWN_PHONEDISCONNECTED_IMAGE = "/user/res/dropdown/DROPDOWN_PHONEDISCONNECTED.bin";
-
+    static constexpr const char *DROPDOWN_PHONECONNECTED_IMAGE = "/user/res/dropdown/phone_connect.bin";
+    static constexpr const char *DROPDOWN_PHONEDISCONNECTED_IMAGE = "/user/res/dropdown/phone_disconnect.bin";
     // 耳机连接状态
-    static constexpr uint16_t EARPHONESCONNECTSTATUS_IMG_X = 203;
-    static constexpr uint16_t EARPHONESCONNECTSTATUS_IMG_Y = 350;
-    static constexpr const char *DROPDOWN_EARPHONESCONNECTED_IMAGE = "/user/res/dropdown/DROPDOWN_EARPHONESCONNECTED.bin";
-    static constexpr const char *DROPDOWN_EARPHONESDISCONNECTED_IMAGE = "/user/res/dropdown/DROPDOWN_EARPHONESDISCONNECTED.bin";
-
+    static constexpr const char *DROPDOWN_EARPHONESCONNECTED_IMAGE = "/user/res/dropdown/earphones_connect.bin";
+    static constexpr const char *DROPDOWN_EARPHONESDISCONNECTED_IMAGE = "/user/res/dropdown/earphones_disconnect.bin";
     // 蓝牙连接状态
-    static constexpr uint16_t BLUETOOTHCONNECTSTATUS_IMG_X = 283;
-    static constexpr uint16_t BLUETOOTHCONNECTSTATUS_IMG_Y = 350;
-    static constexpr const char *DROPDOWN_BLUETOOTHCONNECTED_IMAGE = "/user/res/dropdown/DROPDOWN_BLUETOOTHCONNECTED.bin";
-    static constexpr const char *DROPDOWN_BLUETOOTHDISCONNECTED_IMAGE = "/user/res/dropdown/DROPDOWN_BLUETOOTHDISCONNECTED.bin";
-
-    static constexpr uint16_t CONNECTSTATUS_IMG_W = 60;
-    static constexpr uint16_t CONNECTSTATUS_IMG_H = 60;
+    static constexpr const char *DROPDOWN_BLUETOOTHCONNECTED_IMAGE = "/user/res/dropdown/bluetooth_connect.bin";
+    static constexpr const char *DROPDOWN_BLUETOOTHDISCONNECTED_IMAGE = "/user/res/dropdown/bluetooth_disconnect.bin";
 
     static constexpr const char *DROPDOWN_NOSIGNAL_IMAGE = "/user/res/dropdown/DROPDOWN_NOSIGNAL.bin";
     static constexpr const char *DROPDOWN_MOBILE_DATA_IMAGE = "/user/res/dropdown/DROPDOWN_MOBILE_DATA.bin";
+    static constexpr const char *DROPDOWN_HD_IMAGE = "/user/res/dropdown/DROPDOWN_HD.bin";
+    static constexpr const char *DROPDOWN_SELECT_1_IMAGE = "/user/res/dropdown/DROPDOWN_SELECT_1.bin";
+    static constexpr const char *DROPDOWN_SELECT_2_IMAGE = "/user/res/dropdown/DROPDOWN_SELECT_2.bin";
+    static constexpr const char *DROPDOWN_LINE_IMAGE = "/user/res/dropdown/DROPDOWN_LINE.bin";
     static const int64_t COLOR_SIGNAL_ON = 0xffffffff;
     static const int64_t COLOR_SIGNAL_OFF = 0xff383838;
-    static const int BATTERY_IMAGE_WIDTH = 48;
-    static const int BATTERY_IMAGE_HEIGHT = 30;
-    static const int PROGRESS_WIDTH = 30;
-    static const int PROGRESS_HEIGHT = 18;
-    /* -------------------------------------------------------------------------- */
-    std::string getWeekString(int wday)
-    {
-        std::string weekDays[] = {"星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
-        return weekDays[wday];
-    }
     /* -------------------------------------------------------------------------- */
     static PullUpDownView *g_pPullUpDownView = nullptr;
     PullUpDownView::PullUpDownView()
@@ -135,65 +65,18 @@ namespace OHOS
         return g_pPullUpDownView;
     }
 
-    // 清除信号强度相关组件
-    void PullUpDownView::ClearAllSingalComponentsView()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAllSingalComponentsView");
-        if (NoSignal != nullptr)
-        {
-            delete NoSignal;
-            NoSignal = nullptr;
-        }
-
-        for (int i = 0; i < 4; i++)
-        {
-            if (showSignalStrength[i] != nullptr)
-            {
-                delete showSignalStrength[i];
-                showSignalStrength[i] = nullptr;
-            }
-        }
-
-        if (Singal_4 != nullptr)
-        {
-            delete Singal_4;
-            Singal_4 = nullptr;
-        }
-
-        if (MobileData != nullptr)
-        {
-            delete MobileData;
-            MobileData = nullptr;
-        }
-    }
-
-    // 清除所有与连接状态相关的视图组件
-    void PullUpDownView::ClearAllConnectedStatusComponentsView()
+    void PullUpDownView::OnSwipe(UISwipeView &view)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAllConnectedStatusComponentsView");
-        if (connectedStatusBackgroundButton != nullptr)
-        {
-            delete connectedStatusBackgroundButton;
-            connectedStatusBackgroundButton = nullptr;
-        }
-
-        if (showPhoneConnectedStatus != nullptr)
-        {
-            delete showPhoneConnectedStatus;
-            showPhoneConnectedStatus = nullptr;
-        }
-
-        if (showEarPhoneConnectedStatus != nullptr)
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::OnSwipe,current tab index = %d", view.GetCurrentPage());
+        if (view.GetCurrentPage() == 0)
         {
-            delete showEarPhoneConnectedStatus;
-            showEarPhoneConnectedStatus = nullptr;
+            UpdateSwipviewSelect(true);
         }
-
-        if (showBluetoothConnectedStatus != nullptr)
+        else
         {
-            delete showBluetoothConnectedStatus;
-            showBluetoothConnectedStatus = nullptr;
+            UpdateSwipviewSelect(false);
         }
+        return;
     }
 
     void PullUpDownView::ClearAll()
@@ -203,220 +86,27 @@ namespace OHOS
         if (group[DROPDOWNVIEW] != nullptr)
         {
             group[DROPDOWNVIEW]->RemoveAll();
-            group[DROPDOWNVIEW]->ClearBackgroundBlur();
+            /* -------------------------------------------------------------------------- */
+            ClearAll_1();
+            ClearAll_2();
+            ClearAll_3();
+            ClearAll_4();
+            /* -------------------------------------------------------------------------- */
             delete group[DROPDOWNVIEW];
             group[DROPDOWNVIEW] = nullptr;
         }
-
-        if (dropSetting != nullptr)
-        {
-            delete dropSetting;
-            dropSetting = nullptr;
-        }
-
-        if (dropBluetooth != nullptr)
-        {
-            delete dropBluetooth;
-            dropBluetooth = nullptr;
-        }
-
-        if (dropDnotDisturb != nullptr)
-        {
-            delete dropDnotDisturb;
-            dropDnotDisturb = nullptr;
-        }
-
-        if (dropSavePower != nullptr)
-        {
-            delete dropSavePower;
-            dropSavePower = nullptr;
-        }
-
-        if (drofindPhone != nullptr)
-        {
-            delete drofindPhone;
-            drofindPhone = nullptr;
-        }
-
-        if (dropLine != nullptr)
-        {
-            delete dropLine;
-            dropLine = nullptr;
-        }
-
-        if (showTimeLabel != nullptr)
-        {
-            delete showTimeLabel;
-            showTimeLabel = nullptr;
-        }
-
-        if (showDateLabel != nullptr)
-        {
-            delete showDateLabel;
-            showDateLabel = nullptr;
-        }
-
-        if (showWeekLabel != nullptr)
-        {
-            delete showWeekLabel;
-            showWeekLabel = nullptr;
-        }
-        /* -------------------------------------------------------------------------- */
-        ClearAllSingalComponentsView();
-        ClearAllConnectedStatusComponentsView();
-        /* -------------------------------------------------------------------------- */
-        if (batteryimage != nullptr)
-        {
-            delete batteryimage;
-            batteryimage = nullptr;
-        }
-
-        if (progress != nullptr)
-        {
-            delete progress;
-            progress = nullptr;
-        }
-
         if (connectedStatusView != nullptr)
         {
             delete connectedStatusView;
             connectedStatusView = nullptr;
-            group[CONNECTEDSTATUSVIEW] = nullptr;
-        }
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAll end!!");
-    }
-
-    UIImageView *PullUpDownView::dropDownIconImageViweInit(ImageConfig &imageconfig)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::dropDownIconImageViweInit");
-        UIImageView *Image = new UIImageView();
-        if (Image == nullptr)
-        {
-            return nullptr;
-        }
-        Image->SetPosition(imageconfig.x, imageconfig.y, imageconfig.w, imageconfig.h);
-        Image->SetViewId(imageconfig.viewid);
-        Image->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
-        Image->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
-        Image->SetStyle(STYLE_BORDER_RADIUS, 100);
-        Image->SetAutoEnable(false);
-        Image->SetResizeMode(UIImageView::CENTER);
-        Image->SetSrc(imageconfig.src);
-        Image->SetTouchable(true);
-        Image->SetOnClickListener(imageconfig.clicklistener);
-
-        return Image;
-    }
-
-    /// @brief 创建icon图标
-    void PullUpDownView::createDropDownIconImageViwe(void)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitViewImg");
-        UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::MainPresenterSample::GetInstance();
-        if (clickListener == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPresenterSample::GetInstance fail!!");
-            return;
-        }
-        /* ---------------------------------- 下拉设置图片 ---------------------------------- */
-        ImageConfig imageconfig = {
-            .x = SETTING_IMG_X,
-            .y = SETTING_IMG_Y,
-            .w = ICON_IMG_SIZE_W,
-            .h = ICON_IMG_SIZE_H,
-            .viewid = DROPDOWN_CLICK_SETTING,
-            .src = DROPDOWN_SETTING_IMAGE,
-            .clicklistener = clickListener,
-        };
-        dropSetting = dropDownIconImageViweInit(imageconfig);
-        if (dropSetting == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::dropSetting new fail");
-            return;
-        }
-        /* ----------------------------------- 蓝牙 ----------------------------------- */
-        imageconfig = {
-            .x = BLUETOOTH_IMG_X,
-            .y = BLUETOOTH_IMG_Y,
-            .w = ICON_IMG_SIZE_W,
-            .h = ICON_IMG_SIZE_H,
-            .viewid = DROPDOWN_CLICK_BLUETOOTH,
-            .src = DROPDOWN_BLUETOOTH_IMAGE,
-            .clicklistener = clickListener,
-        };
-        dropBluetooth = dropDownIconImageViweInit(imageconfig);
-        if (dropBluetooth == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::dropBluetooth new fail");
-            return;
-        }
-        /* ----------------------------------- 勿扰模式 ----------------------------------- */
-        imageconfig = {
-            .x = DNOTDISTURB_IMG_X,
-            .y = DNOTDISTURB_IMG_Y,
-            .w = ICON_IMG_SIZE_W,
-            .h = ICON_IMG_SIZE_H,
-            .viewid = DROPDOWN_CLICK_DNOTDISTURB,
-            .src = DROPDOWN_DNOTDISTURB_IMAGE,
-            .clicklistener = clickListener,
-        };
-        dropDnotDisturb = dropDownIconImageViweInit(imageconfig);
-        if (dropDnotDisturb == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::dropDnotDisturb new fail");
-            return;
-        }
-        UpdateDnotDisturbStatus(DnotDisturbModel::GetInstance().GetDoNotDisturbModeEnabled());
-        /* ----------------------------------- 省电 ----------------------------------- */
-        imageconfig = {
-            .x = SAVEPOWER_IMG_X,
-            .y = SAVEPOWER_IMG_Y,
-            .w = ICON_IMG_SIZE_W,
-            .h = ICON_IMG_SIZE_H,
-            .viewid = DROPDOWN_CLICK_SAVEELE,
-            .src = DROPDOWN_SAVEPOWER_IMAGE,
-            .clicklistener = clickListener,
-        };
-        dropSavePower = dropDownIconImageViweInit(imageconfig);
-        if (dropSavePower == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::dropSavePower new fail");
-            return;
-        }
-        /* ----------------------------------- 找手机 ---------------------------------- */
-        imageconfig = {
-            .x = FINDPHONE_IMG_X,
-            .y = FINDPHONE_IMG_Y,
-            .w = ICON_IMG_SIZE_W,
-            .h = ICON_IMG_SIZE_H,
-            .viewid = DROPDOWN_CLICK_FINDMYPHONE,
-            .src = DROPDOWN_FINDPHONE_IMAGE,
-            .clicklistener = clickListener,
-        };
-        drofindPhone = dropDownIconImageViweInit(imageconfig);
-        if (drofindPhone == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::drofindPhone new fail");
-            return;
         }
-        /* -------------------------------- dropLine -------------------------------- */
-        dropLine = new UIImageView();
-        if (dropLine == nullptr)
+        for (int i = DROPDOWNVIEW; i < MAX_DROPDOWNVIEWID; i++)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropLine new fail");
-            return;
+            group[i] = nullptr;
         }
-        dropLine->SetPosition(LINE_IMG_X, LINE_IMG_Y, ICON_IMG_SIZE_W, ICON_IMG_SIZE_H);
-        dropLine->SetSrc(DROPDOWN_LINE_IMAGE);
-        /* -------------------------------- 添加组件到视图上 -------------------------------- */
-        group[DROPDOWNVIEW]->Add(dropSetting);
-        group[DROPDOWNVIEW]->Add(dropBluetooth);
-        group[DROPDOWNVIEW]->Add(dropDnotDisturb);
-        group[DROPDOWNVIEW]->Add(dropSavePower);
-        group[DROPDOWNVIEW]->Add(drofindPhone);
-        group[DROPDOWNVIEW]->Add(dropLine);
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAll end!!");
     }
-
+    /* --------------------------------- 1.连接状态相关 --------------------------------- */
     // 获取手机连接状态
     bool PullUpDownView::GetPhoneConnectedStatus(void)
     {
@@ -430,7 +120,6 @@ namespace OHOS
 
         return SettingModel::GetInstance().GetPhoneConnectStatus();
     }
-
     // 获取蓝牙耳机连接状态
     bool PullUpDownView::GetEarPhoneConnectedStatus(void)
     {
@@ -444,7 +133,6 @@ namespace OHOS
 
         return SettingModel::GetInstance().GetEarPhoneConnectStatus();
     }
-
     // 获取蓝牙连接状态
     bool PullUpDownView::GetBlueToothConnectedStatus(void)
     {
@@ -459,7 +147,58 @@ namespace OHOS
         return SettingModel::GetInstance().GetBlueToothConnectStatus();
     }
 
-    UIImageView *PullUpDownView::dropDownConnectedStatusImageViweInit(int16_t x, int16_t y, int16_t w, int16_t h)
+    // 更新手机连接状态
+    void PullUpDownView::UpdatePhoneStatus(int status)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdatePhoneStatus");
+        if (showPhoneConnectedStatus == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showPhoneConnectedStatus nullptr");
+            return;
+        }
+        showPhoneConnectedStatus->SetSrc(status ? DROPDOWN_PHONECONNECTED_IMAGE : DROPDOWN_PHONEDISCONNECTED_IMAGE);
+        showPhoneConnectedStatus->Invalidate();
+
+        if (GetConnectedStatusView() != nullptr)
+            GetConnectedStatusView()->UpdatePhoneConnectedStatus(status);
+
+        return;
+    }
+    // 更新蓝牙耳机连接状态
+    void PullUpDownView::UpdateEarPhoneStatus(int status)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateEarPhoneStatus");
+        if (showEarPhoneConnectedStatus == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showEarPhoneConnectedStatus nullptr");
+            return;
+        }
+        showEarPhoneConnectedStatus->SetSrc(status ? DROPDOWN_EARPHONESCONNECTED_IMAGE : DROPDOWN_EARPHONESDISCONNECTED_IMAGE);
+        showEarPhoneConnectedStatus->Invalidate();
+
+        if (GetConnectedStatusView() != nullptr)
+            GetConnectedStatusView()->UpdateEarPhoneConnectedStatus(status);
+
+        return;
+    }
+    // 更新蓝牙连接状态
+    void PullUpDownView::UpdateBlueToothStatus(int status)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateBlueToothStatus");
+        if (showBluetoothConnectedStatus == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showBluetoothConnectedStatus nullptr");
+            return;
+        }
+        showBluetoothConnectedStatus->SetSrc(status ? DROPDOWN_BLUETOOTHCONNECTED_IMAGE : DROPDOWN_BLUETOOTHDISCONNECTED_IMAGE);
+        showBluetoothConnectedStatus->Invalidate();
+
+        if (GetConnectedStatusView() != nullptr)
+            GetConnectedStatusView()->UpdateBlueToothConnectedStatus(status);
+
+        return;
+    }
+    UIImageView *PullUpDownView::DropDownConnectedStatusImageViweInit(int16_t x, int16_t y, int16_t w, int16_t h)
     {
         UIImageView *img = new UIImageView();
         if (img == nullptr)
@@ -473,25 +212,24 @@ namespace OHOS
 
         return img;
     }
-
     /// @brief 创建与连接状态相关组件
-    void PullUpDownView::createDropDownConnectedStatusImageViwe(void)
+    void PullUpDownView::CreateDropDownConnectionStatusImageViwe(void)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitConnectedStatusImage");
-        connectedStatusBackgroundButton = new UIButton();
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::CreateDropDownConnectionStatusImageViwe");
         if (connectedStatusBackgroundButton == nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "connectedStatusBackgroundButton new fail");
-            return;
+            connectedStatusBackgroundButton = new UIButton();
+            if (connectedStatusBackgroundButton == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "connectedStatusBackgroundButton new fail");
+                return;
+            }
         }
-        connectedStatusBackgroundButton->SetPosition(113, 348, 240, 64);
+        connectedStatusBackgroundButton->SetPosition(153, 10, 160, 50);
         connectedStatusBackgroundButton->SetViewId(CONNECTEDSTATUSBACKGROUNDBUTTON);
-        connectedStatusBackgroundButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
-        connectedStatusBackgroundButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
-        connectedStatusBackgroundButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffffffff, UIButton::PRESSED);
-        connectedStatusBackgroundButton->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);
-        connectedStatusBackgroundButton->SetStyleForState(STYLE_BORDER_COLOR, 0xffffffff, UIButton::PRESSED);
-        connectedStatusBackgroundButton->SetStyleForState(STYLE_BORDER_OPA, 0x00, UIButton::PRESSED);
+        connectedStatusBackgroundButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
+        connectedStatusBackgroundButton->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+        connectedStatusBackgroundButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff383838, UIButton::PRESSED);
         UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::MainPresenterSample::GetInstance();
         if (clickListener == nullptr)
         {
@@ -499,27 +237,37 @@ namespace OHOS
             return;
         }
         connectedStatusBackgroundButton->SetOnClickListener(clickListener);
+        int x = connectedStatusBackgroundButton->GetX();
+        int y = connectedStatusBackgroundButton->GetY();
         /* -------------------------------- 显示手机连接状态 -------------------------------- */
-
-        showPhoneConnectedStatus = dropDownConnectedStatusImageViweInit(PHONECONNECTSTATUS_IMG_X, PHONECONNECTSTATUS_IMG_Y, CONNECTSTATUS_IMG_W, CONNECTSTATUS_IMG_H);
         if (showPhoneConnectedStatus == nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showPhoneConnectedStatus new fail");
-            return;
+            showPhoneConnectedStatus = DropDownConnectedStatusImageViweInit(x + 26, y + 13, 24, 24);
+            if (showPhoneConnectedStatus == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showPhoneConnectedStatus new fail");
+                return;
+            }
         }
         /* -------------------------------- 显示耳机连接状态 -------------------------------- */
-        showEarPhoneConnectedStatus = dropDownConnectedStatusImageViweInit(EARPHONESCONNECTSTATUS_IMG_X, EARPHONESCONNECTSTATUS_IMG_Y, CONNECTSTATUS_IMG_W, CONNECTSTATUS_IMG_H);
         if (showEarPhoneConnectedStatus == nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showEarPhoneConnectedStatus new fail");
-            return;
+            showEarPhoneConnectedStatus = DropDownConnectedStatusImageViweInit(x + 68, y + 13, 24, 24);
+            if (showEarPhoneConnectedStatus == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showEarPhoneConnectedStatus new fail");
+                return;
+            }
         }
         /* -------------------------------- 显示蓝牙连接状态 -------------------------------- */
-        showBluetoothConnectedStatus = dropDownConnectedStatusImageViweInit(BLUETOOTHCONNECTSTATUS_IMG_X, BLUETOOTHCONNECTSTATUS_IMG_Y, CONNECTSTATUS_IMG_W, CONNECTSTATUS_IMG_H);
         if (showBluetoothConnectedStatus == nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showBluetoothConnectedStatus new fail");
-            return;
+            showBluetoothConnectedStatus = DropDownConnectedStatusImageViweInit(x + 110, y + 13, 24, 24);
+            if (showBluetoothConnectedStatus == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showBluetoothConnectedStatus new fail");
+                return;
+            }
         }
         /* -------------------------------------------------------------------------- */
         UpdatePhoneStatus(GetPhoneConnectedStatus());
@@ -532,129 +280,80 @@ namespace OHOS
         group[DROPDOWNVIEW]->Add(showBluetoothConnectedStatus);
     }
 
-    /***
-     * @brief 初始化时间,日期,星期,电池,信号强度
-     */
-    bool PullUpDownView::InitBaseData()
+    void PullUpDownView::ClearAll_1(void)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitBaseData");
-        if (!InitSingalComponentsView())
+        if (connectedStatusBackgroundButton != nullptr)
         {
-            return false;
+            delete connectedStatusBackgroundButton;
+            connectedStatusBackgroundButton = nullptr;
         }
-
-        /* ---------------------------------- 时间显示 ---------------------------------- */
-        showTimeLabel = new UILabel();
-        if (showTimeLabel == nullptr)
+        if (showPhoneConnectedStatus != nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showTimeLabel new fail");
-            return false;
+            delete showPhoneConnectedStatus;
+            showPhoneConnectedStatus = nullptr;
         }
-        showTimeLabel->SetPosition(TIME_LABEL_X, TIME_LABEL_Y);
-        showTimeLabel->SetStyle(STYLE_TEXT_FONT, 50);
-        showTimeLabel->SetStyle(STYLE_LINE_HEIGHT, 59);
-        showTimeLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
-        showTimeLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-        showTimeLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 50);
-        /* ---------------------------------- 日期显示 ---------------------------------- */
-        showDateLabel = new UILabel();
-        if (showDateLabel == nullptr)
+        if (showEarPhoneConnectedStatus != nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showDateLabel new fail");
-            return false;
+            delete showEarPhoneConnectedStatus;
+            showEarPhoneConnectedStatus = nullptr;
         }
-        showDateLabel->SetPosition(DATE_LABEL_X, DATE_LABEL_Y);
-        showDateLabel->SetStyle(STYLE_TEXT_FONT, 30);
-        showDateLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
-        showDateLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
-        showDateLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-        showDateLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
-        /* ---------------------------------- 星期显示 ---------------------------------- */
-        showWeekLabel = new UILabel();
-        if (showWeekLabel == nullptr)
+        if (showBluetoothConnectedStatus != nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showWeekLabel new fail");
-            return false;
+            delete showBluetoothConnectedStatus;
+            showBluetoothConnectedStatus = nullptr;
         }
-        showWeekLabel->SetPosition(WEEK_LABEL_X, WEEK_LABEL_Y);
-        showWeekLabel->SetStyle(STYLE_TEXT_FONT, 30);
-        showWeekLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
-        showWeekLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
-        showWeekLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-        showWeekLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 28);
-        /* ----------------------------------- 电池 ----------------------------------- */
-        batteryimage = new UIImageView();
-        if (batteryimage == nullptr)
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAllConnectedStatusComponentsView");
+    }
+    /* -------------------------------------------------------------------------- */
+    /***
+     * @brief 初始化时间,日期,星期,电池,信号强度
+     */
+    void PullUpDownView::InitBaseData()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitBaseData");
+        if (group1 == nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "batteryimage new fail");
-            return false;
+            group1 = new UIViewGroup();
+            if (group1 == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group1 new fail");
+                return;
+            }
         }
-        batteryimage->SetPosition(258, 180, BATTERY_IMAGE_WIDTH, BATTERY_IMAGE_HEIGHT);
-        std::string batteryimagesPath = "/user/res/Battery/Battery-E.bin";
-        batteryimage->SetSrc(batteryimagesPath.c_str());
-        /* -------------------------------------------------------------------------- */
-        progress = new UIBoxProgress();
-        if (progress == nullptr)
+        group1->SetPosition(132, 80, 202, 40);
+        group1->SetStyle(STYLE_BACKGROUND_OPA, 0);
+        /* -------------------------------- NoSignal -------------------------------- */
+        if (NoSignal == nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "progress new fail");
-            return false;
+            NoSignal = new UIImageView();
+            if (NoSignal == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "NoSignal new fail");
+                return;
+            }
         }
-        progress->SetPosition(206, 180, PROGRESS_WIDTH, PROGRESS_HEIGHT);
-        progress->SetValidHeight(PROGRESS_HEIGHT);
-        progress->SetValidWidth(PROGRESS_WIDTH);
-        progress->SetValue(20);
-        // progress->SetRange(100,0);
-        // const char *progressImageSrc = "/user/res/Battery/Battery_Normal.bin";
-        // progress->SetImage(progressImageSrc, progressImageSrc);
-        progress->SetBackgroundStyle(STYLE_BACKGROUND_OPA, 0x00);
-        progress->SetBackgroundStyle(STYLE_TEXT_COLOR, 0xff000000);
-        progress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
-        progress->SetForegroundStyle(STYLE_TEXT_COLOR, 0xff000000);
-        progress->SetForegroundStyle(STYLE_LINE_COLOR, 0xff45A5FF);
-
-        group[DROPDOWNVIEW]->Add(progress);
-        group[DROPDOWNVIEW]->Add(batteryimage);
-        group[DROPDOWNVIEW]->Add(showTimeLabel);
-        group[DROPDOWNVIEW]->Add(showDateLabel);
-        group[DROPDOWNVIEW]->Add(showWeekLabel);
-
-        /* -------------------------------------------------------------------------- */
-        UpdateSignalStrengthStatusAndBatteryPosition();
-        /* -------------------------------------------------------------------------- */
-
-        return true;
-    }
-
-    // 初始化信号强度相关组件
-    bool PullUpDownView::InitSingalComponentsView()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitSingalComponentsView");
-        /* -------------------------------------------------------------------------- */
-        NoSignal = new UIImageView();
-        if (NoSignal == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "NoSignal new fail");
-            return false;
-        }
-        NoSignal->SetPosition(160, 176, 36, 38);
+        NoSignal->SetPosition(0, (group1->GetHeight() - 38) / 2, 36, 38);
         NoSignal->SetAutoEnable(false);
         NoSignal->SetResizeMode(UIImageView::CENTER);
         NoSignal->SetSrc(DROPDOWN_NOSIGNAL_IMAGE);
         NoSignal->SetVisible(false);
-        group[DROPDOWNVIEW]->Add(NoSignal);
-        /* -------------------------------------------------------------------------- */
-        MobileData = new UIImageView();
+        group1->Add(NoSignal);
+        /* ------------------------------- MobileData ------------------------------- */
         if (MobileData == nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MobileData new fail");
-            return false;
+            MobileData = new UIImageView();
+            if (MobileData == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MobileData new fail");
+                return;
+            }
         }
-        MobileData->SetPosition(161, 180, 13, 15);
+        MobileData->SetPosition(1, 4, 13, 15);
         MobileData->SetAutoEnable(false);
         MobileData->SetResizeMode(UIImageView::CENTER);
         MobileData->SetSrc(DROPDOWN_MOBILE_DATA_IMAGE);
         MobileData->SetVisible(false);
-        group[DROPDOWNVIEW]->Add(MobileData);
+        group1->Add(MobileData);
         /* -------------------------------------------------------------------------- */
         // 定义一个结构体,用于存储 ImageView 的信息
         struct ImageViewInfo
@@ -666,10 +365,10 @@ namespace OHOS
         };
         // 待添加的 ImageView 信息列表
         std::vector<ImageViewInfo> imageViewList = {
-            {160, 204, 6, 6},
-            {170, 196, 6, 14},
-            {180, 188, 6, 22},
-            {190, 180, 6, 30},
+            {0, 28, 6, 6},
+            {10, 20, 6, 14},
+            {20, 12, 6, 22},
+            {30, 4, 6, 30},
         };
 
         // 循环添加 ImageView 到相应的容器中
@@ -681,22 +380,22 @@ namespace OHOS
                 if (showSignalStrength[i] == nullptr)
                 {
                     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showSignalStrength[%d] new fail", i);
-                    return false;
+                    return;
                 }
             }
             showSignalStrength[i]->SetPosition(imageViewList[i].posX, imageViewList[i].posY, imageViewList[i].width, imageViewList[i].height);
             showSignalStrength[i]->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
             showSignalStrength[i]->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
             showSignalStrength[i]->SetStyle(STYLE_BORDER_RADIUS, 10);
-            group[DROPDOWNVIEW]->Add(showSignalStrength[i]);
+            group1->Add(showSignalStrength[i]);
             showSignalStrength[i]->SetVisible(false);
         }
-        /* -------------------------------------------------------------------------- */
+        /* -------------------------------- Singal_4 -------------------------------- */
         if (Singal_4 == nullptr)
         {
             Singal_4 = new UILabel();
         }
-        Singal_4->SetPosition(201, 176, 40, 47);
+        Singal_4->SetPosition(0, 0, 40, 47);
         Singal_4->SetStyle(STYLE_TEXT_FONT, 34);
         Singal_4->SetStyle(STYLE_LINE_HEIGHT, 40);
         Singal_4->SetText("4G");
@@ -704,1143 +403,127 @@ namespace OHOS
         Singal_4->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
         Singal_4->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 34);
         Singal_4->SetVisible(false);
-        group[DROPDOWNVIEW]->Add(Singal_4);
-
-        return true;
-    }
-
-    // 获取信号强度
-    int PullUpDownView::GetSignalStrength(void)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::GetSignalStrength");
-        int SignalStrength = uapi_dev_runtime_get_cat1_signal(); // 信号强度
-        return CalculateSignalBars(SignalStrength);
-    }
-
-    // 计算信号格
-    int PullUpDownView::CalculateSignalBars(int signalStrength)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::CalculateSignalBars");
-        if (signalStrength < 0 || signalStrength > 32 || signalStrength == 0)
-            return 99; // 无信号 or Invalid signal strength
-
-        // if (signalStrength == 32)
-        //     return 4; // Edge case where signalStrength is exactly at the upper boundary
-
-        return (signalStrength / 8) + 1;
-    }
-
-#if 1
-    // 函数用于更新信号显示的UI
-    void PullUpDownView::updateSignalDisplay()
-    {
-        int sim = uapi_dev_runtime_get_cat1_simstat();
-        int cat1_powerOn = uapi_dev_runtime_get_cat1_powerstat();
-        int signal = uapi_dev_runtime_get_cat1_signal();
-        int network_on = uapi_dev_runtime_get_cat1_networkstat();
-        int cat1_network_type = uapi_dev_runtime_get_cat1_networtype();
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sim = %d", sim);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "cat1_powerOn = %d", cat1_powerOn);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "signal = %d", signal);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "network_on = %d", network_on);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "cat1_network_type = %d", cat1_network_type);
-
-        const int SIGNAL_NO_SIGNAL = 99;
-        const int NETWORK_TYPE_NO_NETWORK = 0;
-        const int NETWORK_TYPE_4G = 4;
-
-        if (sim == 0 || cat1_powerOn == 0)
-        {
-            // 无信号,无4G图标
-            UpdateCat1NoSignalisplay(true);
-            UpdateCat14GDisplay(false);
-            UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
-            UpdateCat1MobileDataDisplay(false);
-        }
-        else if (cat1_powerOn == 1 && sim == 1)
+        group1->Add(Singal_4);
+        /* ----------------------------------- HD ----------------------------------- */
+        if (HD == nullptr)
         {
-            if (signal == SIGNAL_NO_SIGNAL) // 计算信号强度
-            {
-                // 无信号UI显示
-                // UpdateCat1NoSignalisplay(true);
-                // UpdateCat14GDisplay(false);
-                UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
-            }
-            else
-            {
-                // 信号强度显示
-                UpdateCat1NoSignalisplay(false);
-                // UpdateCat14GDisplay(true);
-                UpdateSignalBarDisplay(CalculateSignalBars(signal), true);
-            }
-
-            if (network_on == 0)
-            {
-                // 无信号,无4G图标 显示
-                // UpdateCat1NoSignalisplay(true);
-                UpdateCat14GDisplay(false);
-                UpdateCat1MobileDataDisplay(false);
-                // UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
-            }
-            else
+            HD = new UIImageView();
+            if (HD == nullptr)
             {
-                if (cat1_network_type == NETWORK_TYPE_NO_NETWORK)
-                {
-                    // 无信号,无4G图标 显示
-                    // UpdateCat1NoSignalisplay(true);
-                    UpdateCat14GDisplay(false);
-                    UpdateCat1MobileDataDisplay(false);
-                    // UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
-                }
-                else if (cat1_network_type == NETWORK_TYPE_4G)
-                {
-                    // 有4G图标,正常显示信号
-                    // UpdateCat1NoSignalisplay(false);
-                    UpdateCat14GDisplay(true);
-                    UpdateCat1MobileDataDisplay(true);
-                    // UpdateSignalBarDisplay(CalculateSignalBars(signal), true);
-                }
-                else
-                {
-                    // 无4G图标,正常显示信号
-                    // UpdateCat1NoSignalisplay(false);
-                    UpdateCat14GDisplay(false);
-                    UpdateCat1MobileDataDisplay(true);
-                    // UpdateSignalBarDisplay(CalculateSignalBars(signal), true);
-                }
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HD new fail");
+                return;
             }
         }
-    }
-#else
-    // 函数用于更新信号显示的UI
-    void PullUpDownView::updateSignalDisplay()
-    {
-        int sim = uapi_dev_runtime_get_cat1_simstat();
-        int cat1_powerOn = uapi_dev_runtime_get_cat1_powerstat();
-        int signal = uapi_dev_runtime_get_cat1_signal();
-        int network_on = uapi_dev_runtime_get_cat1_networkstat();
-        int cat1_network_type = uapi_dev_runtime_get_cat1_networtype();
-
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sim = %d", sim);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "cat1_powerOn = %d", cat1_powerOn);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "signal = %d", signal);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "network_on = %d", network_on);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "cat1_network_type = %d", cat1_network_type);
-
-        const int SIGNAL_NO_SIGNAL = 99;
-        const int NETWORK_TYPE_NO_NETWORK = 0;
-        const int NETWORK_TYPE_4G = 4;
-
-        bool showNoSignal = (sim == 0 || cat1_powerOn == 0 || signal == SIGNAL_NO_SIGNAL);
-        bool showNo4GIcon = (network_on == 0 || cat1_network_type == NETWORK_TYPE_NO_NETWORK);
-
-        if (showNoSignal)
-        {
-            UpdateCat1NoSignalisplay(true);
-            UpdateCat14GDisplay(false);
-            UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
-        }
-        else
-        {
-            UpdateCat1NoSignalisplay(false);
-            UpdateCat14GDisplay(!showNo4GIcon && cat1_network_type == NETWORK_TYPE_4G);
-            UpdateSignalBarDisplay(CalculateSignalBars(signal), true);
-        }
-    }
-
-#endif
-
-    // 更新信号强度显示
-    void PullUpDownView::UpdateSignalBarDisplay(int signalBars, bool state)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateSignalBarDisplay");
-        for (int i = 0; i < 4; i++)
-        {
-            showSignalStrength[i]->SetStyle(STYLE_BACKGROUND_COLOR, (i < signalBars) ? COLOR_SIGNAL_ON : COLOR_SIGNAL_OFF);
-            showSignalStrength[i]->Invalidate();
-            showSignalStrength[i]->SetVisible(state);
-        }
-    }
-
-    // 更新无信号图标显示
-    void PullUpDownView::UpdateCat1NoSignalisplay(bool state)
-    {
-        if (NoSignal != nullptr)
-        {
-            NoSignal->SetVisible(state);
-        }
-    }
-
-    // 更新4G图标显示
-    void PullUpDownView::UpdateCat14GDisplay(bool state)
-    {
-        if (Singal_4 != nullptr)
-        {
-            Singal_4->SetVisible(state);
-        }
-        UpdateBatteryPosition(state);
-    }
-
-    /*更新移动数据图标显示*/
-    void PullUpDownView::UpdateCat1MobileDataDisplay(bool state)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateCat1MobileDataDisplay %d", state);
-        if (MobileData != nullptr)
+        HD->SetPosition(88 + 10, (group1->GetHeight() - 30) / 2, 46, 30);
+        HD->SetAutoEnable(false);
+        HD->SetResizeMode(UIImageView::CENTER);
+        HD->SetSrc(DROPDOWN_HD_IMAGE);
+        HD->SetVisible(false);
+        group1->Add(HD);
+        /* ----------------------------------- 电池 ----------------------------------- */
+        batteryimage = new UIImageView();
+        if (batteryimage == nullptr)
         {
-            MobileData->SetVisible(state);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "batteryimage new fail");
+            return;
         }
-    }
-
-    // 更新电池位置
-    void PullUpDownView::UpdateBatteryPosition(bool state)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateBatteryPosition");
-        if (state == false)
+        batteryimage->SetPosition(HD->GetX() + HD->GetWidth() + 10, (group1->GetHeight() - 30) / 2, 48, 30);
+        std::string batteryimagesPath = "/user/res/Battery/Battery-E.bin";
+        batteryimage->SetSrc(batteryimagesPath.c_str());
+        group1->Add(batteryimage);
+        /* -------------------------------------------------------------------------- */
+        progress = new UIBoxProgress();
+        if (progress == nullptr)
         {
-            batteryimage->SetPosition(209, 180, BATTERY_IMAGE_WIDTH, BATTERY_IMAGE_HEIGHT);
-            progress->SetPosition(215, 186, PROGRESS_WIDTH, PROGRESS_HEIGHT);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "progress new fail");
+            return;
         }
-        else
+        progress->SetPosition(batteryimage->GetX() + 7, batteryimage->GetY() + 6, 30, 18);
+        progress->SetValidWidth(30);
+        progress->SetValidHeight(18);
+        progress->SetRange(100, 0);
+        progress->SetStyle(STYLE_BORDER_RADIUS, 3);
+        progress->SetBackgroundStyle(STYLE_BACKGROUND_OPA, 0x00);
+        progress->SetBackgroundStyle(STYLE_TEXT_COLOR, 0xff000000);
+        progress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
+        progress->SetForegroundStyle(STYLE_TEXT_COLOR, 0xff000000);
+        progress->SetForegroundStyle(STYLE_LINE_COLOR, 0xff45A5FF);
+        group1->Add(progress);
+        /* -------------------------------------------------------------------------- */
+        group[DROPDOWNVIEW]->Add(group1);
+        /* --------------------------------- 显示日期和星期 -------------------------------- */
+        showDateAndWeekLabel = new UILabel();
+        if (showDateAndWeekLabel == nullptr)
         {
-            batteryimage->SetPosition(258, 180, BATTERY_IMAGE_WIDTH, BATTERY_IMAGE_HEIGHT);
-            progress->SetPosition(264, 186, PROGRESS_WIDTH, PROGRESS_HEIGHT);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showDateAndWeekLabel new fail");
+            return;
         }
-        batteryimage->Invalidate();
-        progress->Invalidate();
-    }
-
-    // 更新信号强度和电池位置
-    void PullUpDownView::UpdateSignalStrengthStatusAndBatteryPosition()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateSignalStrengthStatusAndBatteryPosition");
-        updateSignalDisplay();
-
-        int a2dp = uapi_a2dp_snk_get_device_connect_state();
-        int hfp = uapi_hfp_connect_state();
-        bool bluetoothstatus = (a2dp == 0 && hfp == 0) ? false : true;
-        UpdateBlueToothStatus(bluetoothstatus);
-        // UpdateBatteryPosition(GetSignalStrength());
+        showDateAndWeekLabel->SetPosition(128, 130, 210, 30);
+        showDateAndWeekLabel->SetStyle(STYLE_TEXT_FONT, 30);
+        showDateAndWeekLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
+        showDateAndWeekLabel->SetTextColor(Color::GetColorFromRGBA(0xaa, 0xaa, 0xaa, 0xff));
+        showDateAndWeekLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
+        showDateAndWeekLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+        showDateAndWeekLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+        group[DROPDOWNVIEW]->Add(showDateAndWeekLabel);
+        /* -------------------------------------------------------------------------- */
+        UpdateSignalStrengthStatusAndBatteryPosition();
+        /* -------------------------------------------------------------------------- */
+        MainPresenterSample::GetInstance()->UpdataBaseData();
+        /* -------------------------------------------------------------------------- */
     }
-
-    // 下拉视图初始化
-    bool PullUpDownView::PullUpDownViewInit()
+    void PullUpDownView::ClearAll_2(void)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitView");
-
-        group[DROPDOWNVIEW] = new UIViewGroup();
-        if (group[DROPDOWNVIEW] == nullptr)
+        if (group1 != nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group[DROPDOWNVIEW] new fail!!");
-            return false;
-        }
-        group[DROPDOWNVIEW]->SetPosition(0, 0, 466, 466);
-        group[DROPDOWNVIEW]->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
-        group[DROPDOWNVIEW]->SetViewIndex(0);
-        group[DROPDOWNVIEW]->SetFullScreenBlur(true);
-        createDropDownIconImageViwe();
-        createDropDownConnectedStatusImageViwe();
-
-        if (InitBaseData())
-        {
-            MainPresenterSample::GetInstance()->UpdataBaseData();
-        }
-        else
-        {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitBaseData Error!");
-            return false;
-        }
-        SetTouchable(true);
-        SetIntercept(true);
-        Add(group[DROPDOWNVIEW]);
-        return true;
-    }
-
-    void PullUpDownView::PreLoad(void)
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::PreLoad");
-        if (!viewiInitStatus)
-        {
-            PullUpDownViewInit();
-            viewiInitStatus = true;
-        }
-    }
-
-    void PullUpDownView::UnLoad(void)
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UnLoad");
-    }
-
-    // 更新手机连接状态
-    void PullUpDownView::UpdatePhoneStatus(int status)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdatePhoneStatus");
-        if (showPhoneConnectedStatus == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showPhoneConnectedStatus nullptr");
-            return;
-        }
-        showPhoneConnectedStatus->SetSrc(status ? DROPDOWN_PHONECONNECTED_IMAGE : DROPDOWN_PHONEDISCONNECTED_IMAGE);
-        showPhoneConnectedStatus->Invalidate();
-
-        if (GetConnectedStatusView() != nullptr)
-            GetConnectedStatusView()->UpdatePhoneConnectedStatus(status);
-
-        return;
-    }
-
-    // 更新蓝牙耳机连接状态
-    void PullUpDownView::UpdateEarPhoneStatus(int status)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateEarPhoneStatus");
-        if (showEarPhoneConnectedStatus == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showEarPhoneConnectedStatus nullptr");
-            return;
-        }
-        showEarPhoneConnectedStatus->SetSrc(status ? DROPDOWN_EARPHONESCONNECTED_IMAGE : DROPDOWN_EARPHONESDISCONNECTED_IMAGE);
-        showEarPhoneConnectedStatus->Invalidate();
-
-        if (GetConnectedStatusView() != nullptr)
-            GetConnectedStatusView()->UpdateEarPhoneConnectedStatus(status);
-
-        return;
-    }
-
-    // 更新蓝牙连接状态
-    void PullUpDownView::UpdateBlueToothStatus(int status)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateBlueToothStatus");
-        if (showBluetoothConnectedStatus == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showBluetoothConnectedStatus nullptr");
-            return;
-        }
-        showBluetoothConnectedStatus->SetSrc(status ? DROPDOWN_BLUETOOTHCONNECTED_IMAGE : DROPDOWN_BLUETOOTHDISCONNECTED_IMAGE);
-        showBluetoothConnectedStatus->Invalidate();
-
-        if (GetConnectedStatusView() != nullptr)
-            GetConnectedStatusView()->UpdateBlueToothConnectedStatus(status);
-
-        return;
-    }
-
-    /*更新勿扰模式状态*/
-    void PullUpDownView::UpdateDnotDisturbStatus(int status)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateDnotDisturbStatus");
-        if (dropDnotDisturb != nullptr)
-        {
-            dropDnotDisturb->SetStyle(STYLE_BACKGROUND_COLOR, status ? 0xff8e20e2 : 0xff191919);
-            dropDnotDisturb->Invalidate();
-        }
-        else
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropIconBackground[DNOTDISTURB_INDEX] is nullptr");
-            return;
-        }
-    }
-
-    UILabel *PullUpDownView::GetTimeLabel()
-    {
-        return showTimeLabel;
-    }
-    UILabel *PullUpDownView::GetDateLabel()
-    {
-        return showDateLabel;
-    }
-    UILabel *PullUpDownView::GetWeekLabel()
-    {
-        return showWeekLabel;
-    }
-    UIBoxProgress *PullUpDownView::GetProgress()
-    {
-        return progress;
-    }
-    /* ------------------------------ 下拉界面切换到连接状态视图 ----------------------------- */
-    // 切换到"下拉控制中心"视图
-    bool PullUpDownView::ChangeDropDownView(int16_t thisView)
-    {
-        if (group[thisView] == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ChangeDropDownView");
-            Add(group[thisView]);
-        }
-        return true;
-    }
-
-    // 切换到"连接状态"视图
-    bool PullUpDownView::ChangeConnectedStatusView(int16_t thisView)
-    {
-        if (group[thisView] == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ChangeConnectedStatusView");
-            connectedStatusView = new ConnectedStatusView();
-            if (connectedStatusView == nullptr)
-            {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView:: new scrollView[%d] fail", thisView);
-                return false;
-            }
-            group[thisView] = connectedStatusView->ConnectedStatusViewInit();
-            Add(group[thisView]);
-        }
-        return true;
-    }
-
-    struct PullUpDownViewMapper
-    {
-        const int16_t viewId;
-        bool (PullUpDownView::*func)(int16_t thisView);
-    };
-
-    static const PullUpDownViewMapper ViewMapper[] = {
-        {DROPDOWNVIEW, &PullUpDownView::ChangeDropDownView},
-        {CONNECTEDSTATUSVIEW, &PullUpDownView::ChangeConnectedStatusView},
-    };
-
-    bool PullUpDownView::ClickFunc(int16_t interface)
-    {
-        int funcSize = sizeof(ViewMapper) / sizeof(ViewMapper[0]);
-        for (int i = 0; i < funcSize; i++)
-        {
-            if (interface == ViewMapper[i].viewId)
+            group1->RemoveAll();
+            for (int i = 0; i < 4; i++)
             {
-                bool jug = (this->*(ViewMapper[i].func))(interface);
-                if (jug == false)
+                if (showSignalStrength[i] != nullptr)
                 {
-                    return false;
+                    delete showSignalStrength[i];
+                    showSignalStrength[i] = nullptr;
                 }
-                return true;
             }
-        }
-        return false;
-    }
-
-    void PullUpDownView::ChangeView(int16_t hideView, int16_t showView)
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ChangeView");
-        if (hideView > MAX_DROPDOWNVIEWID)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView:: SystemViewId Overstep ones bounds");
-            return;
-        }
-        group[hideView]->SetVisible(false);
-        ClickFunc(showView);
-        group[showView]->SetVisible(true);
-        Invalidate();
-    }
-
-    ConnectedStatusView *PullUpDownView::GetConnectedStatusView(void)
-    {
-        return connectedStatusView;
-    }
-    /* -------------------------------------------------------------------------- */
-}
-#else
-/*
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
- * Description: WeekStep
- * Author:
- * Create: 2021-09-11
- */
-
-#include "PullUpDownView.h"
-#include "wearable_log.h"
-#include "UiConfig.h"
-#include "common/screen.h"
-#include "main/include/MainPresenterSample.h"
-#include "screensetting/include/ScreenModels.h"
-#include "settings/include/SettingModel.h"
-#include "ui_resource_image.h"
-#include "dnotdisturb/include/DnotDisturbModel.h"
-#include "custom_utils.h"
-#include "custom_runtime.h"
-namespace OHOS
-{
-
-    /* ---------------------------------- 坐标位置 ---------------------------------- */
-    // 设置
-    constexpr int16_t SETTING_IMG_X = 30;
-    constexpr int16_t SETTING_IMG_Y = 186;
-
-    // 手电筒
-    constexpr int16_t LIGHTING_IMG_X = 76;
-    constexpr int16_t LIGHTING_IMG_Y = 76;
-
-    // 勿扰
-    constexpr int16_t DNOTDISTURB_IMG_X = 186;
-    constexpr int16_t DNOTDISTURB_IMG_Y = 30;
-
-    // 省电
-    constexpr int16_t SAVEPOWER_IMG_X = 296;
-    constexpr int16_t SAVEPOWER_IMG_Y = 76;
-
-    // 找手机
-    constexpr int16_t FINDPHONE_IMG_X = 342;
-    constexpr int16_t FINDPHONE_IMG_Y = 186;
-
-    // line
-    constexpr int16_t LINE_IMG_X = 193;
-    constexpr int16_t LINE_IMG_Y = 430;
-
-    // icon图片大小
-    constexpr int16_t ICON_IMG_SIZE_W = 94;
-    constexpr int16_t ICON_IMG_SIZE_H = 94;
-
-    // 电池
-    constexpr int16_t BATTERY_X = 209;
-    constexpr int16_t BATTERY_Y = 180;
-
-    // 时间
-    constexpr int16_t TIME_LABEL_X = 172;
-    constexpr int16_t TIME_LABEL_Y = 230;
-
-    // 日期
-    constexpr int16_t DATE_LABEL_X = 110;
-    constexpr int16_t DATE_LABEL_Y = 300;
-
-    // 星期
-    constexpr int16_t WEEK_LABEL_X = 295;
-    constexpr int16_t WEEK_LABEL_Y = 300;
-
-    // 手机连接状态
-    constexpr int16_t PHONECONNECTSTATUS_BUTTON_X = 123;
-    constexpr int16_t PHONECONNECTSTATUS_BUTTON_Y = 350;
-    constexpr int16_t PHONECONNECTSTATUS_BUTTON_W = 60;
-    constexpr int16_t PHONECONNECTSTATUS_BUTTON_H = 60;
-
-    // 耳机连接状态
-    constexpr int16_t EARPHONESCONNECTSTATUS_BUTTON_X = 203;
-    constexpr int16_t EARPHONESCONNECTSTATUS_BUTTON_Y = 350;
-    constexpr int16_t EARPHONESCONNECTSTATUS_BUTTON_W = 60;
-    constexpr int16_t EARPHONESCONNECTSTATUS_BUTTON_H = 60;
-
-    // 蓝牙连接状态
-    constexpr int16_t BLUETOOTHCONNECTSTATUS_BUTTON_X = 283;
-    constexpr int16_t BLUETOOTHCONNECTSTATUS_BUTTON_Y = 350;
-    constexpr int16_t BLUETOOTHCONNECTSTATUS_BUTTON_W = 60;
-    constexpr int16_t BLUETOOTHCONNECTSTATUS_BUTTON_H = 60;
-
-    static const int64_t COLOR_SIGNAL_ON = 0xffffffff;
-    static const int64_t COLOR_SIGNAL_OFF = 0xff383838;
-    static const int BATTERY_IMAGE_WIDTH = 48;
-    static const int BATTERY_IMAGE_HEIGHT = 30;
-    static const int PROGRESS_WIDTH = 30;
-    static const int PROGRESS_HEIGHT = 18;
-    /* -------------------------------------------------------------------------- */
-    std::string getWeekString(int wday)
-    {
-        std::string weekDays[] = {"星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
-        return weekDays[wday];
-    }
-    /* -------------------------------------------------------------------------- */
-    static PullUpDownView *g_pPullUpDownView = nullptr;
-    PullUpDownView::PullUpDownView()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::PullUpDownView");
-        g_pPullUpDownView = this;
-    }
-
-    PullUpDownView::~PullUpDownView()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::~PullUpDownView");
-        ClearAll();
-        g_pPullUpDownView = nullptr;
-    }
-
-    PullUpDownView *PullUpDownView::GetInstance(void)
-    {
-        return g_pPullUpDownView;
-    }
-
-    // 清除信号强度相关组件
-    void PullUpDownView::ClearAllSingalComponentsView()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAllSingalComponentsView");
-        if (NoSignal != nullptr)
-        {
-            delete NoSignal;
-            NoSignal = nullptr;
-        }
-
-        for (int i = 0; i < 4; i++)
-        {
-            if (showSignalStrength[i] != nullptr)
+            if (Singal_4 != nullptr)
             {
-                delete showSignalStrength[i];
-                showSignalStrength[i] = nullptr;
+                delete Singal_4;
+                Singal_4 = nullptr;
             }
-        }
-
-        if (Singal_4 != nullptr)
-        {
-            delete Singal_4;
-            Singal_4 = nullptr;
-        }
-    }
-
-    // 清除所有与连接状态相关的视图组件
-    void PullUpDownView::ClearAllConnectedStatusComponentsView()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAllConnectedStatusComponentsView");
-        if (connectedStatusBackgroundButton != nullptr)
-        {
-            delete connectedStatusBackgroundButton;
-            connectedStatusBackgroundButton = nullptr;
-        }
-
-        if (showPhoneConnectedStatus != nullptr)
-        {
-            delete showPhoneConnectedStatus;
-            showPhoneConnectedStatus = nullptr;
-        }
-
-        if (showEarPhoneConnectedStatus != nullptr)
-        {
-            delete showEarPhoneConnectedStatus;
-            showEarPhoneConnectedStatus = nullptr;
-        }
-
-        if (showBluetoothConnectedStatus != nullptr)
-        {
-            delete showBluetoothConnectedStatus;
-            showBluetoothConnectedStatus = nullptr;
-        }
-    }
-
-    void PullUpDownView::ClearAll()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAll");
-        RemoveAll();
-        UnLoadPullUpDownImageRes(); // 切换slice的时候也要卸载资源放在ImageCach空间不够
-        if (group[DROPDOWNVIEW] != nullptr)
-        {
-            group[DROPDOWNVIEW]->RemoveAll();
-            group[DROPDOWNVIEW]->ClearBackgroundBlur();
-            delete group[DROPDOWNVIEW];
-            group[DROPDOWNVIEW] = nullptr;
-        }
-
-        for (int i = 0; i < MAX_INDEX; i++)
-        {
-            if (dropIconBackground[i] != nullptr)
+            if (NoSignal != nullptr)
             {
-                delete dropIconBackground[i];
-                dropIconBackground[i] = nullptr;
+                delete NoSignal;
+                NoSignal = nullptr;
             }
-        }
-
-        if (dropSetting != nullptr)
-        {
-            delete dropSetting;
-            dropSetting = nullptr;
-        }
-
-        if (dropLighting != nullptr)
-        {
-            delete dropLighting;
-            dropLighting = nullptr;
-        }
-
-        if (dropDnotDisturb != nullptr)
-        {
-            delete dropDnotDisturb;
-            dropDnotDisturb = nullptr;
-        }
-
-        if (dropLine != nullptr)
-        {
-            delete dropLine;
-            dropLine = nullptr;
-        }
-
-        if (dropSavePower != nullptr)
-        {
-            delete dropSavePower;
-            dropSavePower = nullptr;
-        }
-
-        if (drofindPhone != nullptr)
-        {
-            delete drofindPhone;
-            drofindPhone = nullptr;
-        }
-
-        if (showTimeLabel != nullptr)
-        {
-            delete showTimeLabel;
-            showTimeLabel = nullptr;
-        }
-
-        if (showDateLabel != nullptr)
-        {
-            delete showDateLabel;
-            showDateLabel = nullptr;
-        }
-
-        if (showWeekLabel != nullptr)
-        {
-            delete showWeekLabel;
-            showWeekLabel = nullptr;
-        }
-        /* -------------------------------------------------------------------------- */
-        ClearAllSingalComponentsView();
-        ClearAllConnectedStatusComponentsView();
-        /* -------------------------------------------------------------------------- */
-        if (batteryimage != nullptr)
-        {
-            delete batteryimage;
-            batteryimage = nullptr;
-        }
-
-        if (progress != nullptr)
-        {
-            delete progress;
-            progress = nullptr;
-        }
-
-        if (progresscallback_ != nullptr)
-        {
-            delete progresscallback_;
-            progresscallback_ = nullptr;
-        }
-
-        if (progressanimator_ != nullptr)
-        {
-            progressanimator_->Stop();
-            delete progressanimator_;
-            progressanimator_ = nullptr;
-        }
-
-        if (connectedStatusView != nullptr)
-        {
-            delete connectedStatusView;
-            connectedStatusView = nullptr;
-            group[CONNECTEDSTATUSVIEW] = nullptr;
-        }
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAll end!!");
-    }
-
-    /// @brief 初始化icon图标背景
-    /// @param  void
-    void PullUpDownView::InitViewImgBackGround(void)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitViewImgBackGround");
-        for (int i = 0; i < MAX_INDEX; i++)
-        {
-            dropIconBackground[i] = new UIImageView();
-            if (dropIconBackground[i] == nullptr)
+            if (MobileData != nullptr)
             {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropIconBackground[%d] new fail", i);
-                return;
+                delete MobileData;
+                MobileData = nullptr;
             }
-            group[DROPDOWNVIEW]->Add(dropIconBackground[i]);
-        }
-        dropIconBackground[SETTING_INDEX]->SetPosition(SETTING_IMG_X, SETTING_IMG_Y);
-        dropIconBackground[LIGHTING_INDEX]->SetPosition(LIGHTING_IMG_X, LIGHTING_IMG_Y);
-        dropIconBackground[DNOTDISTURB_INDEX]->SetPosition(DNOTDISTURB_IMG_X, DNOTDISTURB_IMG_Y);
-        dropIconBackground[SAVEPOWER_INDEX]->SetPosition(SAVEPOWER_IMG_X, SAVEPOWER_IMG_Y);
-        dropIconBackground[FINDPHONE_INDEX]->SetPosition(FINDPHONE_IMG_X, FINDPHONE_IMG_Y);
-        // for (int i = 0; i < MAX_INDEX; i++)
-        // {
-        //     if (i == DNOTDISTURB_INDEX && DnotDisturbModel::GetInstance().GetDoNotDisturbModeEnabled() == true)
-        //     {
-        //         ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropIconBackground[i], DROPDOWN_ICONELLIPSEPURPLE);
-        //     }
-        //     else
-        //     {
-        //         ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropIconBackground[i], DROPDOWN_ICONELLIPSEBLACK);
-        //     }
-        //     group[DROPDOWNVIEW]->Add(dropIconBackground[i]);
-        // }
-    }
-
-    /// @brief 初始化icon图标
-    /// @param  void
-    void PullUpDownView::InitViewImg(void)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitViewImg");
-        UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::MainPresenterSample::GetInstance();
-        InitViewImgBackGround();
-        /* ---------------------------------- 下拉设置图片 ---------------------------------- */
-        dropSetting = new UIImageView();
-        if (dropSetting == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropSetting new fail");
-            return;
-        }
-        dropSetting->SetPosition(SETTING_IMG_X, SETTING_IMG_Y, ICON_IMG_SIZE_W, ICON_IMG_SIZE_H);
-        dropSetting->SetAutoEnable(false);
-        dropSetting->SetResizeMode(UIImageView::CENTER);
-        // ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropSetting, DROPDOWN_SETTING);
-        dropSetting->SetViewId(DROPDOWN_CLICK_SETTING); // 进入设置界面
-        dropSetting->SetTouchable(true);
-        dropSetting->SetOnClickListener(clickListener);
-        /* ----------------------------------- 蓝牙 ----------------------------------- */
-        dropLighting = new UIImageView();
-        if (dropLighting == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropLighting new fail");
-            return;
-        }
-        dropLighting->SetPosition(LIGHTING_IMG_X, LIGHTING_IMG_Y, ICON_IMG_SIZE_W, ICON_IMG_SIZE_H);
-        dropLighting->SetAutoEnable(false);
-        dropLighting->SetResizeMode(UIImageView::CENTER);
-        // ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropLighting, DROPDOWN_BLUETOOTH);
-        dropLighting->SetViewId(DROPDOWN_CLICK_BLUETOOTH); // 进入亮屏界面
-        dropLighting->SetTouchable(true);
-        dropLighting->SetOnClickListener(clickListener);
-        /* ----------------------------------- 勿扰模式 ----------------------------------- */
-        dropDnotDisturb = new UIImageView();
-        if (dropDnotDisturb == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropDnotDisturb new fail");
-            return;
-        }
-        dropDnotDisturb->SetPosition(DNOTDISTURB_IMG_X, DNOTDISTURB_IMG_Y, ICON_IMG_SIZE_W, ICON_IMG_SIZE_H);
-        dropDnotDisturb->SetAutoEnable(false);
-        dropDnotDisturb->SetResizeMode(UIImageView::CENTER);
-        // ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropDnotDisturb, DROPDOWN_DNOTDISTURB);
-        dropDnotDisturb->SetViewId(DROPDOWN_CLICK_DNOTDISTURB); // 进入勿扰模式界面
-        dropDnotDisturb->SetTouchable(true);
-        dropDnotDisturb->SetOnClickListener(clickListener);
-        /* ----------------------------------- 省电 ----------------------------------- */
-        dropSavePower = new UIImageView();
-        if (dropSavePower == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropSavePower new fail");
-            return;
-        }
-        dropSavePower->SetPosition(SAVEPOWER_IMG_X, SAVEPOWER_IMG_Y, ICON_IMG_SIZE_W, ICON_IMG_SIZE_H);
-        dropSavePower->SetAutoEnable(false);
-        dropSavePower->SetResizeMode(UIImageView::CENTER);
-        // ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropSavePower, DROPDOWN_SAVEPOWER);
-        dropSavePower->SetViewId(DROPDOWN_CLICK_SAVEELE); // 进入省电界面
-
-        dropSavePower->SetTouchable(true);
-        dropSavePower->SetOnClickListener(clickListener);
-        /* ----------------------------------- 找手机 ---------------------------------- */
-        drofindPhone = new UIImageView();
-        if (drofindPhone == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "drofindPhone new fail");
-            return;
-        }
-        drofindPhone->SetPosition(FINDPHONE_IMG_X, FINDPHONE_IMG_Y, ICON_IMG_SIZE_W, ICON_IMG_SIZE_H);
-        drofindPhone->SetAutoEnable(false);
-        drofindPhone->SetResizeMode(UIImageView::CENTER);
-        // ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, drofindPhone, DROPDOWN_FINDPHONE);
-        drofindPhone->SetViewId(DROPDOWN_CLICK_FINDMYPHONE); // 找手机界面
-        drofindPhone->SetTouchable(true);
-        drofindPhone->SetOnClickListener(clickListener);
-        /* -------------------------------- dropLine -------------------------------- */
-        dropLine = new UIImageView();
-        if (dropLine == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropLine new fail");
-            return;
-        }
-        dropLine->SetPosition(LINE_IMG_X, LINE_IMG_Y, ICON_IMG_SIZE_W, ICON_IMG_SIZE_H);
-        // ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropLine, DROPDOWN_LINE);
-        /* -------------------------------- 添加组件到视图上 -------------------------------- */
-        group[DROPDOWNVIEW]->Add(dropSetting);
-        group[DROPDOWNVIEW]->Add(dropLighting);
-        group[DROPDOWNVIEW]->Add(dropDnotDisturb);
-        group[DROPDOWNVIEW]->Add(dropSavePower);
-        group[DROPDOWNVIEW]->Add(drofindPhone);
-        group[DROPDOWNVIEW]->Add(dropLine);
-    }
-
-    // 获取手机连接状态
-    bool PullUpDownView::GetPhoneConnectedStatus(void)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::GetPhoneConnectedStatus");
-        // uint8_t ret = uapi_dev_runtime_get_ble_connect_stat();
-        // WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "ble phone connect stat = %d", ret);
-        // if (ret == 1)
-        //     return true;
-        // else
-        //     return false;
-
-        return SettingModel::GetInstance().GetPhoneConnectStatus();
-    }
-
-    // 获取蓝牙耳机连接状态
-    bool PullUpDownView::GetEarPhoneConnectedStatus(void)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::GetEarPhoneConnectedStatus");
-        // uint8_t ret = uapi_dev_runtime_get_earphone_connect_stat();
-        // WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "earphone connect stat = %d", ret);
-        // if (ret == 1)
-        //     return true;
-        // else
-        //     return false;
-
-        return SettingModel::GetInstance().GetEarPhoneConnectStatus();
-    }
-
-    // 获取蓝牙连接状态
-    bool PullUpDownView::GetBlueToothConnectedStatus(void)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::GetBlueToothConnectedStatus");
-        // uint8_t ret = uapi_dev_runtime_get_br_connect_stat();
-        // WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "br connect stat = %d [0 no connect, 1 a2dp, 2 hfp, 3 both]", ret);
-        // if (ret != 0)
-        //     return true;
-        // else
-        //     return false;
-
-        return SettingModel::GetInstance().GetBlueToothConnectStatus();
-    }
-
-    /// @brief 初始化与连接状态相关组件
-    /// @param  void
-    void PullUpDownView::InitConnectedStatusImage(void)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitConnectedStatusImage");
-        connectedStatusBackgroundButton = new UIButton();
-        if (connectedStatusBackgroundButton == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "connectedStatusBackgroundButton new fail");
-            return;
-        }
-        connectedStatusBackgroundButton->SetPosition(113, 348, 240, 64);
-        connectedStatusBackgroundButton->SetViewId(CONNECTEDSTATUSBACKGROUNDBUTTON);
-        connectedStatusBackgroundButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
-        connectedStatusBackgroundButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
-        connectedStatusBackgroundButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffffffff, UIButton::PRESSED);
-        connectedStatusBackgroundButton->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);
-        connectedStatusBackgroundButton->SetStyleForState(STYLE_BORDER_COLOR, 0xffffffff, UIButton::PRESSED);
-        connectedStatusBackgroundButton->SetStyleForState(STYLE_BORDER_OPA, 0x00, UIButton::PRESSED);
-        UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::MainPresenterSample::GetInstance();
-        connectedStatusBackgroundButton->SetOnClickListener(clickListener);
-        group[DROPDOWNVIEW]->Add(connectedStatusBackgroundButton);
-        /* -------------------------------- 显示手机连接状态 -------------------------------- */
-        showPhoneConnectedStatus = new UIImageView();
-        if (showPhoneConnectedStatus == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showPhoneConnectedStatus new fail");
-            return;
-        }
-        showPhoneConnectedStatus->SetPosition(PHONECONNECTSTATUS_BUTTON_X, PHONECONNECTSTATUS_BUTTON_Y, PHONECONNECTSTATUS_BUTTON_W, PHONECONNECTSTATUS_BUTTON_H);
-        showPhoneConnectedStatus->SetAutoEnable(false);
-        showPhoneConnectedStatus->SetResizeMode(UIImageView::CENTER);
-        showPhoneConnectedStatus->SetStyle(STYLE_BORDER_RADIUS, 30);
-        // if (GetPhoneConnectedStatus()) // 获取手机连接状态
-        // {
-        //     ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showPhoneConnectedStatus, DROPDOWN_PHONECONNECTED);
-        // }
-        // else
-        // {
-        //     ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showPhoneConnectedStatus, DROPDOWN_PHONEDISCONNECTED);
-        // }
-
-        /* -------------------------------- 显示耳机连接状态 -------------------------------- */
-        showEarPhoneConnectedStatus = new UIImageView();
-        if (showEarPhoneConnectedStatus == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showEarPhoneConnectedStatus new fail");
-            return;
-        }
-        showEarPhoneConnectedStatus->SetPosition(EARPHONESCONNECTSTATUS_BUTTON_X, EARPHONESCONNECTSTATUS_BUTTON_Y, EARPHONESCONNECTSTATUS_BUTTON_W, EARPHONESCONNECTSTATUS_BUTTON_H);
-        showEarPhoneConnectedStatus->SetAutoEnable(false);
-        showEarPhoneConnectedStatus->SetResizeMode(UIImageView::CENTER);
-        showEarPhoneConnectedStatus->SetStyle(STYLE_BORDER_RADIUS, 30);
-        // if (GetEarPhoneConnectedStatus()) // 获取耳机连接状态
-        // {
-        //     ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showEarPhoneConnectedStatus, DROPDOWN_EARPHONESCONNECTED);
-        // }
-        // else
-        // {
-        //     ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showEarPhoneConnectedStatus, DROPDOWN_EARPHONESDISCONNECTED);
-        // }
-
-        /* -------------------------------- 显示蓝牙连接状态 -------------------------------- */
-        showBluetoothConnectedStatus = new UIImageView();
-        if (showBluetoothConnectedStatus == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showBluetoothConnectedStatus new fail");
-            return;
-        }
-        showBluetoothConnectedStatus->SetPosition(BLUETOOTHCONNECTSTATUS_BUTTON_X, BLUETOOTHCONNECTSTATUS_BUTTON_Y, BLUETOOTHCONNECTSTATUS_BUTTON_W, BLUETOOTHCONNECTSTATUS_BUTTON_H);
-        showBluetoothConnectedStatus->SetAutoEnable(false);
-        showBluetoothConnectedStatus->SetResizeMode(UIImageView::CENTER);
-        showBluetoothConnectedStatus->SetStyle(STYLE_BORDER_RADIUS, 30);
-        // if (GetBlueToothConnectedStatus()) // 获取蓝牙连接状态
-        // {
-        //     ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showBluetoothConnectedStatus, DROPDOWN_BLUETOOTHCONNECTED);
-        // }
-        // else
-        // {
-        //     ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showBluetoothConnectedStatus, DROPDOWN_BLUETOOTHDISCONNECTED);
-        // }
-        /* -------------------------------------------------------------------------- */
-        group[DROPDOWNVIEW]->Add(showPhoneConnectedStatus);
-        group[DROPDOWNVIEW]->Add(showEarPhoneConnectedStatus);
-        group[DROPDOWNVIEW]->Add(showBluetoothConnectedStatus);
-    }
-
-    /***
-     * @brief 初始化时间,日期,星期,电池,信号强度
-     */
-    bool PullUpDownView::InitBaseData()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitBaseData");
-        if (!InitSingalComponentsView())
-        {
-            return false;
-        }
-
-        /* ---------------------------------- 时间显示 ---------------------------------- */
-        showTimeLabel = new UILabel();
-        if (showTimeLabel == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showTimeLabel new fail");
-            return false;
-        }
-        showTimeLabel->SetPosition(TIME_LABEL_X, TIME_LABEL_Y);
-        showTimeLabel->SetStyle(STYLE_TEXT_FONT, 50);
-        showTimeLabel->SetStyle(STYLE_LINE_HEIGHT, 59);
-        showTimeLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
-        showTimeLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-        showTimeLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 50);
-        /* ---------------------------------- 日期显示 ---------------------------------- */
-        showDateLabel = new UILabel();
-        if (showDateLabel == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showDateLabel new fail");
-            return false;
-        }
-        showDateLabel->SetPosition(DATE_LABEL_X, DATE_LABEL_Y);
-        showDateLabel->SetStyle(STYLE_TEXT_FONT, 30);
-        showDateLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
-        showDateLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
-        showDateLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-        showDateLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
-        /* ---------------------------------- 星期显示 ---------------------------------- */
-        showWeekLabel = new UILabel();
-        if (showWeekLabel == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showWeekLabel new fail");
-            return false;
-        }
-        showWeekLabel->SetPosition(WEEK_LABEL_X, WEEK_LABEL_Y);
-        showWeekLabel->SetStyle(STYLE_TEXT_FONT, 30);
-        showWeekLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
-        showWeekLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
-        showWeekLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-        showWeekLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 28);
-        /* ----------------------------------- 电池 ----------------------------------- */
-        batteryimage = new UIImageView();
-        if (batteryimage == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "batteryimage new fail");
-            return false;
-        }
-        batteryimage->SetPosition(258, 180, BATTERY_IMAGE_WIDTH, BATTERY_IMAGE_HEIGHT);
-        std::string batteryimagesPath = "/user/res/Battery/Battery-E.bin";
-        batteryimage->SetSrc(batteryimagesPath.c_str());
-        /* -------------------------------------------------------------------------- */
-        progress = new UIBoxProgress();
-        if (progress == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "progress new fail");
-            return false;
-        }
-        progress->SetPosition(206, 180, PROGRESS_WIDTH, PROGRESS_HEIGHT);
-        progress->SetValidHeight(PROGRESS_HEIGHT);
-        progress->SetValidWidth(PROGRESS_WIDTH);
-
-        // progress->SetValue(value);
-        const char *progressImageSrc = "/user/res/Battery/Battery_Normal.bin";
-        progress->SetImage(progressImageSrc, nullptr);
-        progress->SetBackgroundStyle(STYLE_BACKGROUND_OPA, 0x00);
-        progress->SetBackgroundStyle(STYLE_TEXT_COLOR, 0xff000000);
-        progress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
-        progress->SetForegroundStyle(STYLE_TEXT_COLOR, 0xff000000);
-        progress->SetForegroundStyle(STYLE_LINE_COLOR, 0xff45A5FF);
-
-        group[DROPDOWNVIEW]->Add(progress);
-        group[DROPDOWNVIEW]->Add(batteryimage);
-        group[DROPDOWNVIEW]->Add(showTimeLabel);
-        group[DROPDOWNVIEW]->Add(showDateLabel);
-        group[DROPDOWNVIEW]->Add(showWeekLabel);
-
-        /* -------------------------------------------------------------------------- */
-        UpdateSignalStrengthStatusAndBatteryPosition();
-        /* -------------------------------------------------------------------------- */
-
-        return true;
-    }
-
-    // 初始化信号强度相关组件
-    bool PullUpDownView::InitSingalComponentsView()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitSingalComponentsView");
-        /* -------------------------------------------------------------------------- */
-        NoSignal = new UIImageView();
-        if (NoSignal == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "NoSignal new fail");
-            return false;
-        }
-        NoSignal->SetPosition(160, 176, 36, 38);
-        NoSignal->SetAutoEnable(false);
-        NoSignal->SetResizeMode(UIImageView::CENTER);
-        // ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, NoSignal, DROPDOWN_NOSIGNAL);
-        NoSignal->SetVisible(false);
-        group[DROPDOWNVIEW]->Add(NoSignal);
-        /* -------------------------------------------------------------------------- */
-        // 定义一个结构体,用于存储 ImageView 的信息
-        struct ImageViewInfo
-        {
-            int posX;
-            int posY;
-            int width;
-            int height;
-        };
-        // 待添加的 ImageView 信息列表
-        std::vector<ImageViewInfo> imageViewList = {
-            {160, 204, 6, 6},
-            {170, 196, 6, 14},
-            {180, 188, 6, 22},
-            {190, 180, 6, 30},
-        };
-
-        // 循环添加 ImageView 到相应的容器中
-        for (int i = 0; i < 4; i++)
-        {
-            if (showSignalStrength[i] == nullptr)
-            {
-                showSignalStrength[i] = new UIImageView();
-                if (showSignalStrength[i] == nullptr)
-                {
-                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showSignalStrength[%d] new fail", i);
-                    return false;
-                }
+            if (HD != nullptr)
+            {
+                delete HD;
+                HD = nullptr;
             }
-            showSignalStrength[i]->SetPosition(imageViewList[i].posX, imageViewList[i].posY, imageViewList[i].width, imageViewList[i].height);
-            showSignalStrength[i]->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
-            showSignalStrength[i]->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
-            showSignalStrength[i]->SetStyle(STYLE_BORDER_RADIUS, 10);
-            group[DROPDOWNVIEW]->Add(showSignalStrength[i]);
-            showSignalStrength[i]->SetVisible(false);
+            if (batteryimage != nullptr)
+            {
+                delete batteryimage;
+                batteryimage = nullptr;
+            }
+            if (progress != nullptr)
+            {
+                delete progress;
+                progress = nullptr;
+            }
+            delete group1;
+            group1 = nullptr;
         }
-        /* -------------------------------------------------------------------------- */
-        if (Singal_4 == nullptr)
+        if (showDateAndWeekLabel != nullptr)
         {
-            Singal_4 = new UILabel();
+            delete showDateAndWeekLabel;
+            showDateAndWeekLabel = nullptr;
         }
-        Singal_4->SetPosition(201, 176, 40, 47);
-        Singal_4->SetStyle(STYLE_TEXT_FONT, 34);
-        Singal_4->SetStyle(STYLE_LINE_HEIGHT, 40);
-        Singal_4->SetText("4G");
-        Singal_4->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
-        Singal_4->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-        Singal_4->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 34);
-        Singal_4->SetVisible(false);
-        group[DROPDOWNVIEW]->Add(Singal_4);
-
-        return true;
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAll_2 over!!");
     }
 
     // 获取信号强度
@@ -1864,7 +547,6 @@ namespace OHOS
         return (signalStrength / 8) + 1;
     }
 
-#if 0
     // 函数用于更新信号显示的UI
     void PullUpDownView::updateSignalDisplay()
     {
@@ -1889,87 +571,62 @@ namespace OHOS
             UpdateCat1NoSignalisplay(true);
             UpdateCat14GDisplay(false);
             UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
+            UpdateCat1MobileDataDisplay(false);
         }
         else if (cat1_powerOn == 1 && sim == 1)
         {
-            if (signal == SIGNAL_NO_SIGNAL)
+            if (signal == SIGNAL_NO_SIGNAL) // 计算信号强度
             {
                 // 无信号UI显示
-                UpdateCat1NoSignalisplay(true);
-                UpdateCat14GDisplay(false);
+                // UpdateCat1NoSignalisplay(true);
+                // UpdateCat14GDisplay(false);
                 UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
             }
             else
             {
                 // 信号强度显示
                 UpdateCat1NoSignalisplay(false);
-                UpdateCat14GDisplay(true);
+                // UpdateCat14GDisplay(true);
                 UpdateSignalBarDisplay(CalculateSignalBars(signal), true);
             }
+
             if (network_on == 0)
             {
                 // 无信号,无4G图标 显示
-                UpdateCat1NoSignalisplay(true);
+                // UpdateCat1NoSignalisplay(true);
                 UpdateCat14GDisplay(false);
-                UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
+                UpdateCat1MobileDataDisplay(false);
+                // UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
             }
             else
             {
                 if (cat1_network_type == NETWORK_TYPE_NO_NETWORK)
                 {
                     // 无信号,无4G图标 显示
-                    UpdateCat1NoSignalisplay(true);
+                    // UpdateCat1NoSignalisplay(true);
                     UpdateCat14GDisplay(false);
-                    UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
+                    UpdateCat1MobileDataDisplay(false);
+                    // UpdateSignalBarDisplay(CalculateSignalBars(signal), false);
                 }
                 else if (cat1_network_type == NETWORK_TYPE_4G)
                 {
                     // 有4G图标,正常显示信号
-                    UpdateCat1NoSignalisplay(false);
+                    // UpdateCat1NoSignalisplay(false);
                     UpdateCat14GDisplay(true);
-                    UpdateSignalBarDisplay(CalculateSignalBars(signal), true);
+                    UpdateCat1MobileDataDisplay(true);
+                    // UpdateSignalBarDisplay(CalculateSignalBars(signal), true);
                 }
                 else
                 {
                     // 无4G图标,正常显示信号
-                    UpdateCat1NoSignalisplay(false);
+                    // UpdateCat1NoSignalisplay(false);
                     UpdateCat14GDisplay(false);
-                    UpdateSignalBarDisplay(CalculateSignalBars(signal), true);
+                    UpdateCat1MobileDataDisplay(true);
+                    // UpdateSignalBarDisplay(CalculateSignalBars(signal), true);
                 }
             }
         }
     }
-#else
-    // 函数用于更新信号显示的UI
-    void PullUpDownView::updateSignalDisplay()
-    {
-        int sim = uapi_dev_runtime_get_cat1_simstat();
-        int cat1_powerOn = uapi_dev_runtime_get_cat1_powerstat();
-        int signal = uapi_dev_runtime_get_cat1_signal();
-        int network_on = uapi_dev_runtime_get_cat1_networkstat();
-        int cat1_network_type = uapi_dev_runtime_get_cat1_networtype();
-
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sim = %d", sim);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "cat1_powerOn = %d", cat1_powerOn);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "signal = %d", signal);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "network_on = %d", network_on);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "cat1_network_type = %d", cat1_network_type);
-
-        const int SIGNAL_NO_SIGNAL = 99;
-        const int NETWORK_TYPE_NO_NETWORK = 0;
-        const int NETWORK_TYPE_4G = 4;
-
-        bool showNoSignalUI = (sim == 0 || cat1_powerOn == 0 || signal == SIGNAL_NO_SIGNAL);
-        bool showNoNetworkUI = (network_on == 0 || cat1_network_type == NETWORK_TYPE_NO_NETWORK);
-
-        bool show4GIcon = (cat1_network_type == NETWORK_TYPE_4G);
-
-        UpdateCat1NoSignalisplay(showNoSignalUI);
-        UpdateCat14GDisplay(show4GIcon);
-        UpdateSignalBarDisplay(CalculateSignalBars(signal), !(showNoSignalUI || showNoNetworkUI));
-    }
-#endif
-
     // 更新信号强度显示
     void PullUpDownView::UpdateSignalBarDisplay(int signalBars, bool state)
     {
@@ -2000,267 +657,335 @@ namespace OHOS
         }
     }
 
-    // æ\9b´æ\96°ç\94µæ± ä½\8dç½®
-    void PullUpDownView::UpdateBatteryPosition(int signalBars)
+    // æ\9c\89HDä¸\80å®\9aæ\9c\894G
+    void PullUpDownView::UpdateHDDisplay(bool state)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateBatteryPosition");
-        if (signalBars == 99)
-        {
-            batteryimage->SetPosition(209, 180, BATTERY_IMAGE_WIDTH, BATTERY_IMAGE_HEIGHT);
-            progress->SetPosition(215, 186, PROGRESS_WIDTH, PROGRESS_HEIGHT);
-        }
-        else
+        if (HD != nullptr)
         {
-            batteryimage->SetPosition(258, 180, BATTERY_IMAGE_WIDTH, BATTERY_IMAGE_HEIGHT);
-            progress->SetPosition(264, 186, PROGRESS_WIDTH, PROGRESS_HEIGHT);
+            HD->SetVisible(state);
         }
-        batteryimage->Invalidate();
-        progress->Invalidate();
-    }
-
-    // 更新信号强度和电池位置
-    void PullUpDownView::UpdateSignalStrengthStatusAndBatteryPosition()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateSignalStrengthStatusAndBatteryPosition");
-        updateSignalDisplay();
-        UpdateBatteryPosition(GetSignalStrength());
     }
 
-    bool PullUpDownView::PullUpDownViewInit()
+    /*更新移动数据图标显示*/
+    void PullUpDownView::UpdateCat1MobileDataDisplay(bool state)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitView");
-
-        group[DROPDOWNVIEW] = new UIViewGroup();
-        if (group[DROPDOWNVIEW] == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group[DROPDOWNVIEW] new fail!!");
-            return false;
-        }
-        group[DROPDOWNVIEW]->SetPosition(0, 0, 466, 466);
-        group[DROPDOWNVIEW]->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
-        group[DROPDOWNVIEW]->SetViewIndex(0);
-        group[DROPDOWNVIEW]->SetFullScreenBlur(true);
-        InitViewImg();
-        InitConnectedStatusImage();
-
-        if (InitBaseData())
-        {
-            MainPresenterSample::GetInstance()->UpdataBaseData();
-        }
-        else
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateCat1MobileDataDisplay %d", state);
+        if (MobileData != nullptr)
         {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitBaseData Error!");
-            return false;
+            MobileData->SetVisible(state);
         }
-        SetTouchable(true);
-        SetIntercept(true);
-        Add(group[DROPDOWNVIEW]);
-        return true;
     }
 
-    /*预加载下拉视图的图片资源*/
-    void PullUpDownView::PreLoadPullUpDownImageRes(void)
+    void PullUpDownView::UpdateXPosition(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::PreLoadPullUpDownImageRes");
-        if (!resLoadStatus)
+        // 判断相关组件是否有效
+        if (MobileData && HD && Singal_4 && NoSignal && batteryimage && progress)
         {
-            /* -------------------------------------------------------------------------- */
-            for (int i = 0; i < MAX_INDEX; i++)
+            // 获取各个组件的可见状态
+            bool mobileDataVisible = MobileData->IsVisible(); // 移动数据
+            bool hdVisible = HD->IsVisible();                 // HD
+            bool signal4Visible = Singal_4->IsVisible();      // 4G
+            bool noSignalVisible = NoSignal->IsVisible();     // 无信号
+
+            int x;
+            int signalWidth = NoSignal->GetWidth();
+            int batteryWidth = batteryimage->GetWidth();
+            int spacing = 10;
+
+            if (noSignalVisible) // 无信号时的处理
+            {
+                x = (group1->GetWidth() - (signalWidth + batteryWidth + spacing)) / 2;
+                NoSignal->SetX(x);
+                batteryimage->SetX(x + signalWidth + spacing);
+                progress->SetX(batteryimage->GetX() + 7);
+            }
+            else // 有信号时的处理
             {
-                if (i == DNOTDISTURB_INDEX && DnotDisturbModel::GetInstance().GetDoNotDisturbModeEnabled() == true)
+                if (!signal4Visible) // 无 4G
                 {
-                    ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropIconBackground[i], DROPDOWN_ICONELLIPSEPURPLE);
+                    x = (group1->GetWidth() - (signalWidth + batteryWidth + spacing)) / 2;
+                    for (int i = 0; i < 4; i++)
+                    {
+                        if (showSignalStrength[i] != nullptr)
+                        {
+                            showSignalStrength[i]->SetX(x + 10);
+                        }
+                    }
+                    batteryimage->SetX(showSignalStrength[3]->GetX() + signalWidth + spacing);
+                    progress->SetX(batteryimage->GetX() + 7);
                 }
-                else
+                else // 有 4G
                 {
-                    ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropIconBackground[i], DROPDOWN_ICONELLIPSEBLACK);
+                    int additionalWidth = hdVisible ? HD->GetWidth() : 0;
+                    x = (group1->GetWidth() - (signalWidth + Singal_4->GetWidth() + additionalWidth + batteryWidth + spacing * (2 + hdVisible))) / 2;
+                    for (int i = 0; i < 4; i++)
+                    {
+                        if (showSignalStrength[i] != nullptr)
+                        {
+                            showSignalStrength[i]->SetX(x + 10);
+                        }
+                    }
+                    Singal_4->SetX(showSignalStrength[3]->GetX() + signalWidth + spacing);
+                    if (hdVisible) // 无 HD
+                    {
+                        HD->SetX(Singal_4->GetX() + Singal_4->GetWidth() + spacing);
+                        batteryimage->SetX(HD->GetX() + HD->GetWidth() + spacing);
+                        progress->SetX(batteryimage->GetX() + 7);
+                    }
+                    else // 有 HD
+                    {
+                        batteryimage->SetX(Singal_4->GetX() + Singal_4->GetWidth() + spacing);
+                        progress->SetX(batteryimage->GetX() + 7);
+                    }
+
+                    if (mobileDataVisible) // 如果有移动数据图标,设置其位置
+                    {
+                        MobileData->SetX(showSignalStrength[0]->GetX());
+                    }
                 }
             }
-            /* -------------------------------------------------------------------------- */
-            ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropSetting, DROPDOWN_SETTING);
-            ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropLighting, DROPDOWN_BLUETOOTH);
-            ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropDnotDisturb, DROPDOWN_DNOTDISTURB);
-            ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropSavePower, DROPDOWN_SAVEPOWER);
-            ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, drofindPhone, DROPDOWN_FINDPHONE);
-            ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropLine, DROPDOWN_LINE);
-            /* -------------------------------------------------------------------------- */
-            bool phoneStatus = GetPhoneConnectedStatus();         // 获取手机连接状态
-            bool EarPhoneStatus = GetEarPhoneConnectedStatus();   // 获取耳机连接状态
-            bool blueToothStatus = GetBlueToothConnectedStatus(); // 获取蓝牙连接状态
-            ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showPhoneConnectedStatus, phoneStatus ? DROPDOWN_PHONECONNECTED : DROPDOWN_PHONEDISCONNECTED);
-            ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showEarPhoneConnectedStatus, EarPhoneStatus ? DROPDOWN_EARPHONESCONNECTED : DROPDOWN_EARPHONESDISCONNECTED);
-            ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showBluetoothConnectedStatus, blueToothStatus ? DROPDOWN_BLUETOOTHCONNECTED : DROPDOWN_BLUETOOTHDISCONNECTED);
-
-            /* -------------------------------------------------------------------------- */
-            ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, NoSignal, DROPDOWN_NOSIGNAL);
-            /* -------------------------------------------------------------------------- */
-            resLoadStatus = true;
+            // 使相关组件无效化以触发重绘
+            MobileData->Invalidate();
+            HD->Invalidate();
+            Singal_4->Invalidate();
+            NoSignal->Invalidate();
+            batteryimage->Invalidate();
+            progress->Invalidate();
         }
     }
 
-    /*卸载下拉视图的图片资源*/
-    void PullUpDownView::UnLoadPullUpDownImageRes(void)
+    // 更新信号强度和电池位置
+    void PullUpDownView::UpdateSignalStrengthStatusAndBatteryPosition()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateSignalStrengthStatusAndBatteryPosition");
+        updateSignalDisplay(); // 函数用于更新信号显示的UI
+        UpdateXPosition();
+
+        /*更新蓝牙连接状态*/
+        int a2dp = uapi_a2dp_snk_get_device_connect_state();
+        int hfp = uapi_hfp_connect_state();
+        bool bluetoothstatus = (a2dp == 0 && hfp == 0) ? false : true;
+        UpdateBlueToothStatus(bluetoothstatus);
+    }
+
+    UILabel *PullUpDownView::GetDateAndWeekLabel(void)
+    {
+        return showDateAndWeekLabel;
+    }
+    /* -------------------------------------------------------------------------- */
+    AppGroupView *PullUpDownView::DropDownCardPage1Init(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UnLoadPullUpDownImageRes");
-        if (resLoadStatus)
+        if (dropDownCardPage1 == nullptr)
         {
-            ImageInfo *img = nullptr;
-            for (int i = 0; i < MAX_INDEX; i++)
+            dropDownCardPage1 = new DropDownCardPage1();
+            if (dropDownCardPage1 == nullptr)
             {
-                dropIconBackground[i]->SetSrc(img);
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropDownCardPage1 new fail!!");
+                return nullptr;
             }
-            /* -------------------------------------------------------------------------- */
-            dropSetting->SetSrc(img);
-            dropLighting->SetSrc(img);
-            dropDnotDisturb->SetSrc(img);
-            dropSavePower->SetSrc(img);
-            drofindPhone->SetSrc(img);
-            dropLine->SetSrc(img);
-            /* -------------------------------------------------------------------------- */
-            showPhoneConnectedStatus->SetSrc(img);
-            showEarPhoneConnectedStatus->SetSrc(img);
-            showBluetoothConnectedStatus->SetSrc(img);
-            /* -------------------------------------------------------------------------- */
-            NoSignal->SetSrc(img);
-            /* -------------------------------------------------------------------------- */
-            bool isDoNotDisturbOpen = DnotDisturbModel::GetInstance().GetDoNotDisturbModeEnabled(); // 勿扰是否开启
-            ImageCacheManager::GetInstance().UnloadOneInMultiRes(isDoNotDisturbOpen ? DROPDOWN_ICONELLIPSEPURPLE : DROPDOWN_ICONELLIPSEBLACK, DROPDOWN_IAMGES);
-            /* -------------------------------------------------------------------------- */
-            ImageCacheManager::GetInstance().UnloadOneInMultiRes(DROPDOWN_SETTING, DROPDOWN_IAMGES);
-            ImageCacheManager::GetInstance().UnloadOneInMultiRes(DROPDOWN_BLUETOOTH, DROPDOWN_IAMGES);
-            ImageCacheManager::GetInstance().UnloadOneInMultiRes(DROPDOWN_DNOTDISTURB, DROPDOWN_IAMGES);
-            ImageCacheManager::GetInstance().UnloadOneInMultiRes(DROPDOWN_SAVEPOWER, DROPDOWN_IAMGES);
-            ImageCacheManager::GetInstance().UnloadOneInMultiRes(DROPDOWN_FINDPHONE, DROPDOWN_IAMGES);
-            ImageCacheManager::GetInstance().UnloadOneInMultiRes(DROPDOWN_LINE, DROPDOWN_IAMGES);
-            /* -------------------------------------------------------------------------- */
-            bool phoneStatus = GetPhoneConnectedStatus();         // 获取手机连接状态
-            bool EarPhoneStatus = GetEarPhoneConnectedStatus();   // 获取耳机连接状态
-            bool blueToothStatus = GetBlueToothConnectedStatus(); // 获取蓝牙连接状态
-            ImageCacheManager::GetInstance().UnloadOneInMultiRes(phoneStatus ? DROPDOWN_PHONECONNECTED : DROPDOWN_PHONEDISCONNECTED, DROPDOWN_IAMGES);
-            ImageCacheManager::GetInstance().UnloadOneInMultiRes(EarPhoneStatus ? DROPDOWN_EARPHONESCONNECTED : DROPDOWN_EARPHONESDISCONNECTED, DROPDOWN_IAMGES);
-            ImageCacheManager::GetInstance().UnloadOneInMultiRes(blueToothStatus ? DROPDOWN_BLUETOOTHCONNECTED : DROPDOWN_BLUETOOTHDISCONNECTED, DROPDOWN_IAMGES);
-            /* -------------------------------------------------------------------------- */
-            ImageCacheManager::GetInstance().UnloadOneInMultiRes(DROPDOWN_NOSIGNAL, DROPDOWN_IAMGES);
-            /* -------------------------------------------------------------------------- */
-            resLoadStatus = false;
         }
+        return dropDownCardPage1;
     }
-
-    void PullUpDownView::PreLoad(void)
+    AppGroupView *PullUpDownView::DropDownCardPage2Init(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::PreLoad");
-        if (!viewiInitStatus)
+        if (dropDownCardPage2 == nullptr)
         {
-            PullUpDownViewInit();
-            viewiInitStatus = true;
+            dropDownCardPage2 = new DropDownCardPage2();
+            if (dropDownCardPage2 == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropDownCardPage2 new fail!!");
+                return nullptr;
+            }
         }
-
-        PreLoadPullUpDownImageRes();
+        return dropDownCardPage2;
     }
-
-    void PullUpDownView::UnLoad(void)
+    struct DropDownSwipViewMapper
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UnLoad");
-        UnLoadPullUpDownImageRes();
-    }
-
-    // 更新手机连接状态
-    void PullUpDownView::UpdatePhoneStatus(int status)
+        const int16_t viewId;
+        AppGroupView *(PullUpDownView::*func)(void);
+    };
+    static const DropDownSwipViewMapper g_pageMapper[] = {
+        {0, &PullUpDownView::DropDownCardPage1Init},
+        {1, &PullUpDownView::DropDownCardPage2Init},
+    };
+    AppGroupView *PullUpDownView::CreatePage(int32_t PageId)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdatePhoneStatus");
-        if (showPhoneConnectedStatus == nullptr)
+        uint16_t i;
+        AppGroupView *view = nullptr;
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CreatePage %d", PageId);
+
+        for (i = 0; i < sizeof(g_pageMapper) / sizeof(g_pageMapper[0]); i++)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showPhoneConnectedStatus nullptr");
-            return;
+            if (g_pageMapper[i].viewId == PageId)
+            {
+                view = (this->*(g_pageMapper[i].func))();
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CreatePage view:%p", view);
+                return view;
+            }
         }
-        ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showPhoneConnectedStatus, (status ? DROPDOWN_PHONECONNECTED : DROPDOWN_PHONEDISCONNECTED));
-        showPhoneConnectedStatus->Invalidate();
-
-        if (GetConnectedStatusView() != nullptr)
-            GetConnectedStatusView()->UpdatePhoneConnectedStatus(status);
-
-        return;
+        return nullptr; // 如果没有找到匹配的视图ID,返回 nullptr
     }
+    void PullUpDownView::ClearAll_3(void)
+    {
+        if (dropDownswipeViewList != nullptr)
+        {
+            dropDownswipeViewList->RemoveAll();
 
-    // 更新蓝牙耳机连接状态
-    void PullUpDownView::UpdateEarPhoneStatus(int status)
+            delete dropDownswipeViewList;
+            dropDownswipeViewList = nullptr;
+        }
+        if (dropDownCardPage1 != nullptr)
+        {
+            delete dropDownCardPage1;
+            dropDownCardPage1 = nullptr;
+        }
+        if (dropDownCardPage2 != nullptr)
+        {
+            delete dropDownCardPage2;
+            dropDownCardPage2 = nullptr;
+        }
+        for (int i = 0; i < sizeof(g_pageMapper) / sizeof(g_pageMapper[0]); i++)
+        {
+            recordCard[i] = nullptr;
+        }
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAll_3 over!!");
+    }
+    // 创建与滑动列表相关组件
+    void PullUpDownView::CreateDropDownswipeViewListView(void)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateEarPhoneStatus");
-        if (showEarPhoneConnectedStatus == nullptr)
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::CreateDropDownswipeViewListView start!!");
+        dropDownswipeViewList = new UISwipeView(UISwipeView::HORIZONTAL); // 水平方向
+        if (nullptr == dropDownswipeViewList)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showEarPhoneConnectedStatus nullptr");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropDownswipeViewList new fail!!");
             return;
         }
-        ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showEarPhoneConnectedStatus, (status ? DROPDOWN_EARPHONESCONNECTED : DROPDOWN_EARPHONESDISCONNECTED));
-        showPhoneConnectedStatus->Invalidate();
-
-        if (GetConnectedStatusView() != nullptr)
-            GetConnectedStatusView()->UpdateEarPhoneConnectedStatus(status);
-
-        return;
+        dropDownswipeViewList->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+        dropDownswipeViewList->SetPosition(18, 180, 430, 210); // 0 : X; 0 : Y
+        dropDownswipeViewList->SetAnimatorTime(200);           // 200:animator drag time(ms)
+        dropDownswipeViewList->SetDraggable(true);
+        dropDownswipeViewList->SetTouchable(true);
+        for (uint16_t i = 0; i < 2; i++)
+        {
+            recordCard[i] = CreatePage(i);
+            if (nullptr == recordCard[i])
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "recordCard[%d] is nullptr!!", i);
+                return;
+            }
+            recordCard[i]->InitView(this);
+            dropDownswipeViewList->Add(recordCard[i]);
+        }
+        dropDownswipeViewList->SetOnSwipeListener(this);
+        group[DROPDOWNVIEW]->Add(dropDownswipeViewList);
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::CreateDropDownswipeViewListView over!!");
     }
-
-    // 更新蓝牙连接状态
-    void PullUpDownView::UpdateBlueToothStatus(int status)
+    /* ------------------------------------ 4 ----------------------------------- */
+    void PullUpDownView::UpdateSwipviewSelect(bool value)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateBlueToothStatus");
-        if (showBluetoothConnectedStatus == nullptr)
+        if (swipviewSelect)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "showBluetoothConnectedStatus nullptr");
-            return;
+            swipviewSelect->SetSrc(value ? DROPDOWN_SELECT_1_IMAGE : DROPDOWN_SELECT_2_IMAGE);
+            swipviewSelect->Invalidate();
         }
-        ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, showBluetoothConnectedStatus, (status ? DROPDOWN_BLUETOOTHCONNECTED : DROPDOWN_BLUETOOTHDISCONNECTED));
-        showPhoneConnectedStatus->Invalidate();
-
-        if (GetConnectedStatusView() != nullptr)
-            GetConnectedStatusView()->UpdateBlueToothConnectedStatus(status);
-
-        return;
     }
 
-    /*更新勿扰模式状态*/
-    void PullUpDownView::UpdateDnotDisturbStatus(int status)
+    void PullUpDownView::CreateView4()
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateDnotDisturbStatus");
-        for (int i = 0; i < MAX_INDEX; i++)
+        /* ----------------------------- swipviewSelect ----------------------------- */
+        if (swipviewSelect == nullptr)
         {
-            if (dropIconBackground[i] == nullptr)
+            swipviewSelect = new UIImageView();
+            if (swipviewSelect == nullptr)
             {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropIconBackground[%d] is nullptr", i);
+                return;
             }
         }
-
-        if (dropIconBackground[DNOTDISTURB_INDEX] != nullptr)
+        swipviewSelect->SetPosition(217, 410, 33, 12);
+        swipviewSelect->SetSrc(DROPDOWN_SELECT_1_IMAGE);
+        group[DROPDOWNVIEW]->Add(swipviewSelect);
+        /* ---------------------------------- line ---------------------------------- */
+        if (line == nullptr)
         {
-            if (status)
+            line = new UIImageView();
+            if (line == nullptr)
             {
-                ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropIconBackground[DNOTDISTURB_INDEX], DROPDOWN_ICONELLIPSEPURPLE);
-            }
-            else
-            {
-                ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, dropIconBackground[DNOTDISTURB_INDEX], DROPDOWN_ICONELLIPSEBLACK);
+                return;
             }
-            dropIconBackground[DNOTDISTURB_INDEX]->Invalidate();
         }
-        else
+        line->SetPosition(193, 440, 80, 8);
+        line->SetSrc(DROPDOWN_LINE_IMAGE);
+        group[DROPDOWNVIEW]->Add(line);
+    }
+
+    void PullUpDownView::ClearAll_4(void)
+    {
+        if (swipviewSelect != nullptr)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropIconBackground[DNOTDISTURB_INDEX] is nullptr");
-            return;
+            delete swipviewSelect;
+            swipviewSelect = nullptr;
+        }
+        if (line != nullptr)
+        {
+            delete line;
+            line = nullptr;
+        }
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAll_4 over!!");
+    }
+
+    /* -------------------------------------------------------------------------- */
+    // 下拉视图初始化
+    bool PullUpDownView::PullUpDownViewInit()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::InitView");
+
+        group[DROPDOWNVIEW] = new UIViewGroup();
+        if (group[DROPDOWNVIEW] == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group[DROPDOWNVIEW] new fail!!");
+            return false;
         }
+        group[DROPDOWNVIEW]->SetPosition(0, 0, 466, 466);
+        group[DROPDOWNVIEW]->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
+        group[DROPDOWNVIEW]->SetViewIndex(0);
+        group[DROPDOWNVIEW]->SetFullScreenBlur(false); /*设置高斯模式*/
+        /* ----------------------------------- 1 ----------------------------------- */
+        CreateDropDownConnectionStatusImageViwe();
+        /* ------------------------------------ 2 ----------------------------------- */
+        InitBaseData();
+        /* ------------------------------------ 3 ----------------------------------- */
+        CreateDropDownswipeViewListView();
+        /* ------------------------------------ 4 ----------------------------------- */
+        CreateView4();
+        /* -------------------------------------------------------------------------- */
+
+        SetTouchable(true);
+        SetIntercept(true);
+        Add(group[DROPDOWNVIEW]);
+        return true;
     }
 
-    UILabel *PullUpDownView::GetTimeLabel()
+    void PullUpDownView::PreLoad(void)
     {
-        return showTimeLabel;
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::PreLoad");
+        if (!viewiInitStatus)
+        {
+            PullUpDownViewInit();
+            viewiInitStatus = true;
+        }
     }
-    UILabel *PullUpDownView::GetDateLabel()
+
+    void PullUpDownView::UnLoad(void)
     {
-        return showDateLabel;
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UnLoad");
     }
-    UILabel *PullUpDownView::GetWeekLabel()
+
+    /*更新勿扰模式状态*/
+    void PullUpDownView::UpdateDnotDisturbStatus(int status)
     {
-        return showWeekLabel;
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UpdateDnotDisturbStatus");
     }
+
     UIBoxProgress *PullUpDownView::GetProgress()
     {
         return progress;
@@ -2338,10 +1063,10 @@ namespace OHOS
         Invalidate();
     }
 
+    /*获取连接状态视图*/
     ConnectedStatusView *PullUpDownView::GetConnectedStatusView(void)
     {
         return connectedStatusView;
     }
     /* -------------------------------------------------------------------------- */
 }
-#endif
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dropdown/DropDownCardPage1.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dropdown/DropDownCardPage1.cpp
new file mode 100644 (file)
index 0000000..daeb928
--- /dev/null
@@ -0,0 +1,150 @@
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-08-21 11:54:00
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-08-21 20:12:22
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dropdown/DropDownCardPage1.cpp
+ */
+#include "main/include/dropdown/DropDownCardPage1.h"
+#include "wearable_log.h"
+#include "iostream"
+#include "string"
+
+namespace OHOS
+{
+    // viewId
+    static constexpr const char *DROPDOWN_BT_TOGGLEBUTTON_VIEWID = "dropdown_bt";                   // 蓝牙
+    static constexpr const char *DROPDOWN_4G_TOGGLEBUTTON_VIEWID = "dropdown_4g";                   // 4g
+    static constexpr const char *DROPDOWN_ALIPAY_TOGGLEBUTTON_VIEWID = "dropdown_ALIPAY";           // 支付宝
+    static constexpr const char *DROPDOWN_SAVEPOWER_TOGGLEBUTTON_VIEWID = "dropdown_savepower";     // 省电模式
+    static constexpr const char *DROPDOWN_SLEEP_TOGGLEBUTTON_VIEWID = "dropdown_sleep";             // 睡眠模式
+    static constexpr const char *DROPDOWN_DNOTDISTURB_TOGGLEBUTTON_VIEWID = "dropdown_dnotdisturb"; // 勿扰模式
+    static constexpr const char *DROPDOWN_SETTING_TOGGLEBUTTON_VIEWID = "dropdown_setting";         // 设置
+
+    // Image src
+    static constexpr const char *DROPDOWN_BT_CONNECT_IMAGE = "/user/res/dropdown/DROPDOWN_BT_CONNECT.bin";
+    static constexpr const char *DROPDOWN_BT_DISCONNECT_IMAGE = "/user/res/dropdown/DROPDOWN_BT_DISCONNECT.bin";
+
+    static constexpr const char *DROPDOWN_4G_ON_IMAGE = "/user/res/dropdown/DROPDOWN_4G_ON.bin";
+    static constexpr const char *DROPDOWN_4G_OFF_IMAGE = "/user/res/dropdown/DROPDOWN_4G_OFF.bin";
+
+    static constexpr const char *DROPDOWN_ALIPAY_IMAGE = "/user/res/dropdown/DROPDOWN_ALIPAY.bin";
+
+    static constexpr const char *DROPDOWN_SAVEPOWER_ON_IMAGE = "/user/res/dropdown/DROPDOWN_SAVEPOWER_ON.bin";
+    static constexpr const char *DROPDOWN_SAVEPOWER_OFF_IMAGE = "/user/res/dropdown/DROPDOWN_SAVEPOWER_OFF.bin";
+
+    static constexpr const char *DROPDOWN_SLEEP_ON_IMAGE = "/user/res/dropdown/DROPDOWN_SLEEP_ON.bin";
+    static constexpr const char *DROPDOWN_SLEEP_OFF_IMAGE = "/user/res/dropdown/DROPDOWN_SLEEP_OFF.bin";
+
+    static constexpr const char *DROPDOWN_DNOTDISTURB_ON_IMAGE = "/user/res/dropdown/DROPDOWN_DNOTDISTURB_ON.bin";
+    static constexpr const char *DROPDOWN_DNOTDISTURB_OFF_IMAGE = "/user/res/dropdown/DROPDOWN_DNOTDISTURB_OFF.bin";
+
+    static constexpr const char *DROPDOWN_SETTING_IMAGE = "/user/res/dropdown/DROPDOWN_SETTING.bin";
+
+    static DropDownCardPage1 *g_pDropDownCardPage1{nullptr};
+    DropDownCardPage1::DropDownCardPage1()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DropDownCardPage1::DropDownCardPage1");
+        SetPosition(0, 0, 430, 210);
+        g_pDropDownCardPage1 = this;
+    }
+
+    DropDownCardPage1::~DropDownCardPage1()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DropDownCardPage1::~DropDownCardPage1");
+        ClearAll();
+        g_pDropDownCardPage1 = nullptr;
+    }
+
+    DropDownCardPage1 *DropDownCardPage1::GetInstance(void)
+    {
+        return g_pDropDownCardPage1;
+    }
+
+    bool DropDownCardPage1::OnClick(UIView &view, const ClickEvent &event)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DropDownCardPage1::OnClick");
+        std::string viewId = view.GetViewId();
+
+        return true;
+    }
+
+    void DropDownCardPage1::ClearAll()
+    {
+        RemoveAll();
+        int size = sizeof(toggleButton) / sizeof(toggleButton[0]);
+        for (int i = 0; i < size; i++)
+        {
+            if (toggleButton[i] != nullptr)
+            {
+                delete toggleButton[i];
+                toggleButton[i] = nullptr;
+            }
+        }
+    }
+
+    UIToggleButton *DropDownCardPage1::ToggleButtonInit(ToggleButtonConfig &toggleButtonConfig)
+    {
+        UIToggleButton *toggleButton = new UIToggleButton();
+        if (toggleButton == nullptr)
+        {
+            return nullptr;
+        }
+        toggleButton->SetPosition(toggleButtonConfig.left, toggleButtonConfig.top, toggleButtonConfig.width, toggleButtonConfig.height);
+        toggleButton->SetViewId(toggleButtonConfig.viewId);
+        toggleButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
+        toggleButton->SetStyle(STYLE_BORDER_RADIUS, 200);
+        toggleButton->SetImages(toggleButtonConfig.selectImg, toggleButtonConfig.unselectImg);
+
+        toggleButton->SetTouchable(toggleButtonConfig.isTouchable);
+        toggleButton->SetOnClickListener(this);
+        return toggleButton;
+    }
+
+    bool DropDownCardPage1::InitPage(void)
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DropDownCardPage1::InitPage");
+        int size = sizeof(toggleButton) / sizeof(toggleButton[0]);
+        ToggleButtonConfig toggleButtonConfig[] = {
+            {0, 0, 100, 100, DROPDOWN_BT_TOGGLEBUTTON_VIEWID, DROPDOWN_BT_CONNECT_IMAGE, DROPDOWN_BT_DISCONNECT_IMAGE, true},
+            {110, 0, 100, 100, DROPDOWN_4G_TOGGLEBUTTON_VIEWID, DROPDOWN_4G_ON_IMAGE, DROPDOWN_4G_OFF_IMAGE, true},
+            {220, 0, 100, 100, DROPDOWN_ALIPAY_TOGGLEBUTTON_VIEWID, DROPDOWN_ALIPAY_IMAGE, DROPDOWN_ALIPAY_IMAGE, true},
+            {330, 0, 100, 100, DROPDOWN_SAVEPOWER_TOGGLEBUTTON_VIEWID, DROPDOWN_SAVEPOWER_ON_IMAGE, DROPDOWN_SAVEPOWER_OFF_IMAGE, true},
+            {55, 100, 100, 100, DROPDOWN_SLEEP_TOGGLEBUTTON_VIEWID, DROPDOWN_SLEEP_ON_IMAGE, DROPDOWN_SLEEP_OFF_IMAGE, true},
+            {165, 100, 100, 100, DROPDOWN_DNOTDISTURB_TOGGLEBUTTON_VIEWID, DROPDOWN_DNOTDISTURB_ON_IMAGE, DROPDOWN_DNOTDISTURB_OFF_IMAGE, true},
+            {275, 100, 100, 100, DROPDOWN_SETTING_TOGGLEBUTTON_VIEWID, DROPDOWN_SETTING_IMAGE, DROPDOWN_SETTING_IMAGE, true},
+        };
+
+        for (int i = 0; i < size; i++)
+        {
+            if (toggleButton[i] == nullptr)
+            {
+                toggleButton[i] = ToggleButtonInit(toggleButtonConfig[i]);
+                if (toggleButton[i] == nullptr)
+                {
+                    return false;
+                }
+                Add(toggleButton[i]);
+            }
+        }
+        return true;
+    }
+
+    bool DropDownCardPage1::InitView(void *caller)
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DropDownCardPage1::InitView %p", caller);
+        if (InitPage() == false)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DropDownCardPage1::InitPage fail");
+            return false;
+        }
+        SetDraggable(true);
+        SetTouchable(true);
+        return true;
+    }
+
+    UIToggleButton *DropDownCardPage1::GetDropDownCardPage1_ToggleButton(int index)
+    {
+        return toggleButton[index];
+    }
+}
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dropdown/DropDownCardPage2.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dropdown/DropDownCardPage2.cpp
new file mode 100644 (file)
index 0000000..b73e6a0
--- /dev/null
@@ -0,0 +1,124 @@
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-08-21 11:54:00
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-08-21 16:44:08
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dropdown/DropDownCardPage2.cpp
+ */
+#include "main/include/dropdown/DropDownCardPage2.h"
+#include "wearable_log.h"
+#include "iostream"
+#include "string"
+
+namespace OHOS
+{
+    // viewId
+    static constexpr const char *DROPDOWN_FINDPHONE_TOGGLEBUTTON_VIEWID = "dropdown_bt"; // 查找手机
+    static constexpr const char *DROPDOWN_LIGHTING_TOGGLEBUTTON_VIEWID = "dropdown_4g";  // 手电筒
+
+    // Image src
+    static constexpr const char *DROPDOWN_FINDPHONE_IMAGE = "/user/res/dropdown/DROPDOWN_FINDPHONE.bin";
+
+    static constexpr const char *DROPDOWN_LIGHTING_IMAGE = "/user/res/dropdown/DROPDOWN_LIGHTING.bin";
+
+    static DropDownCardPage2 *g_pDropDownCardPage2{nullptr};
+    DropDownCardPage2::DropDownCardPage2()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DropDownCardPage2::DropDownCardPage2");
+        SetPosition(0, 0, 430, 210);
+        g_pDropDownCardPage2 = this;
+    }
+
+    DropDownCardPage2::~DropDownCardPage2()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DropDownCardPage2::~DropDownCardPage2");
+        ClearAll();
+        g_pDropDownCardPage2 = nullptr;
+    }
+
+    DropDownCardPage2 *DropDownCardPage2::GetInstance(void)
+    {
+        return g_pDropDownCardPage2;
+    }
+
+    bool DropDownCardPage2::OnClick(UIView &view, const ClickEvent &event)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DropDownCardPage2::OnClick");
+        std::string viewId = view.GetViewId();
+        
+        return true;
+    }
+
+    void DropDownCardPage2::ClearAll()
+    {
+        RemoveAll();
+        int size = sizeof(toggleButton) / sizeof(toggleButton[0]);
+        for (int i = 0; i < size; i++)
+        {
+            if (toggleButton[i] != nullptr)
+            {
+                delete toggleButton[i];
+                toggleButton[i] = nullptr;
+            }
+        }
+    }
+
+    UIToggleButton *DropDownCardPage2::ToggleButtonInit(ToggleButtonConfig &toggleButtonConfig)
+    {
+        UIToggleButton *toggleButton = new UIToggleButton();
+        if (toggleButton == nullptr)
+        {
+            return nullptr;
+        }
+        toggleButton->SetPosition(toggleButtonConfig.left, toggleButtonConfig.top, toggleButtonConfig.width, toggleButtonConfig.height);
+        toggleButton->SetViewId(toggleButtonConfig.viewId);
+        toggleButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
+        toggleButton->SetStyle(STYLE_BORDER_RADIUS, 200);
+        toggleButton->SetImages(toggleButtonConfig.selectImg, toggleButtonConfig.unselectImg);
+
+        toggleButton->SetTouchable(toggleButtonConfig.isTouchable);
+        toggleButton->SetOnClickListener(this);
+        return toggleButton;
+    }
+
+    bool DropDownCardPage2::InitPage(void)
+    {
+        int size = sizeof(toggleButton) / sizeof(toggleButton[0]);
+        ToggleButtonConfig toggleButtonConfig[] = {
+            {0, 0, 100, 100, DROPDOWN_FINDPHONE_TOGGLEBUTTON_VIEWID, DROPDOWN_FINDPHONE_IMAGE, DROPDOWN_FINDPHONE_IMAGE, true},
+            {110, 0, 100, 100, DROPDOWN_LIGHTING_TOGGLEBUTTON_VIEWID, DROPDOWN_LIGHTING_IMAGE, DROPDOWN_LIGHTING_IMAGE, true},
+        };
+
+        for (int i = 0; i < size; i++)
+        {
+            if (toggleButton[i] == nullptr)
+            {
+                toggleButton[i] = ToggleButtonInit(toggleButtonConfig[i]);
+                if (toggleButton[i] == nullptr)
+                {
+                    return false;
+                }
+                Add(toggleButton[i]);
+            }
+        }
+        return true;
+    }
+
+    bool DropDownCardPage2::InitView(void *caller)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DropDownCardPage2::InitView %p", caller);
+        if (InitPage() == false)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DropDownCardPage2::InitPage fail");
+            return false;
+        }
+        SetDraggable(true);
+        SetTouchable(true);
+        return true;
+    }
+
+    UIToggleButton *DropDownCardPage2::GetDropDownCardPage2_ToggleButton(int index)
+    {
+        return toggleButton[index];
+    }
+}
\ No newline at end of file
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/bluetooth_connect.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/bluetooth_connect.bin
new file mode 100644 (file)
index 0000000..18b6cb1
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1ef5835d358587a909b57c87e2ea4884d02ed97db2c7edf9ed0e0dc24d42180a
+size 408
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/bluetooth_disconnect.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/bluetooth_disconnect.bin
new file mode 100644 (file)
index 0000000..37b9a13
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ef114c9bf2ab68c7d416636aa83abc9cb65bb64088b6b4df3c83ce56d7f9b123
+size 408
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/earphones_connect.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/earphones_connect.bin
new file mode 100644 (file)
index 0000000..1056a44
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:319061f20e42b134cdd01344fa79bb3ac706643a7da68c3b8199f6b6d630bce7
+size 408
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/earphones_disconnect.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/earphones_disconnect.bin
new file mode 100644 (file)
index 0000000..48b61e9
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d197881a9b85fa97faa6bd7a94d684d55ca7680ef661d758b9d259e289751a22
+size 408
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/phone_connect.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/phone_connect.bin
new file mode 100644 (file)
index 0000000..10762d4
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9df2a4a49dff299179c5b4854f6bd4136d297117f4e20e8430122fb6c0cc7953
+size 312
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/phone_disconnect.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/dropdown/phone_disconnect.bin
new file mode 100644 (file)
index 0000000..bf4de2d
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ec2ff4171692a30af22a443998788d830965c80ea4a6c909f2a6dfcf3cb48dad
+size 408