录音界面修改
authorluozheng <1732036298@qq.com>
Sat, 24 Aug 2024 10:38:19 +0000 (18:38 +0800)
committerluozheng <1732036298@qq.com>
Sat, 24 Aug 2024 10:38:19 +0000 (18:38 +0800)
14 files changed:
code/sdk/application/wearable/fd230app/nativelauncher/include/UiConfig.h
code/sdk/application/wearable/fd230app/nativeui/record/include/RecordListView.h
code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingView.h
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordDeleteView.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordGoingView.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordListView.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListitemView.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingModel.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPlayerView.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingView.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingVolumeSettingView.cpp
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/record/animator1.bin [deleted file]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/record/animator2.bin [deleted file]

index c023335..7212022 100644 (file)
@@ -232,8 +232,6 @@ namespace OHOS
     static constexpr const char *PNG_ALIPAY_YSE_ICON = APP_RES_PATH "/alipay/yes.bin";
     static constexpr const char *PNG_ALIPAY_NO_ICON = APP_RES_PATH "/alipay/no.bin";
     /* ----------------------------------- 录音 ----------------------------------- */
-    static constexpr const char *PNG_ANIMATOR1_IMAGE = APP_RES_PATH "/record/animator1.bin";
-    static constexpr const char *PNG_ANIMATOR2_IMAGE = APP_RES_PATH "/record/animator2.bin";
     static constexpr const char *PNG_RECORD1_IMAGE = APP_RES_PATH "/record/RECORD1.bin";
     static constexpr const char *PNG_RECORD2_IMAGE = APP_RES_PATH "/record/RECORD2.bin";
     static constexpr const char *PNG_RECORD3_IMAGE = APP_RES_PATH "/record/RECORD3.bin";
index 76a1953..9314a66 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-03-30 09:14:38\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-06-13 10:00:02\r
+ * @LastEditTime: 2024-08-24 17:24:22\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordListView.h\r
  */\r
 #ifndef RECORD_LIST_VIEW_H\r
@@ -51,7 +51,6 @@ namespace OHOS
         bool RecordListListViewInit(void);\r
         void AddRecordingToList(const RecordingListItem &item);\r
         void InitRecordingInfo(void);\r
-        void UpdateVisibilityBasedOnRecordingList();\r
         void ClearAll(void);\r
         void IsVisibleLabel(bool value);\r
 \r
index 4fed53c..6324b81 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-03-30 09:14:38\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-06-13 11:06:56\r
+ * @LastEditTime: 2024-08-24 16:01:13\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingView.h\r
  */\r
 #ifndef RECORD_VIEW_H\r
@@ -95,6 +95,7 @@ namespace OHOS
         UILabelExt *AttentionLabel{nullptr};\r
         UIImageAnimatorView *RecordingViewImageAnimator{nullptr};\r
         UIImageView *RECORD1_Image = nullptr;\r
+        UIImageView *pullUp_Image = nullptr;\r
     };\r
 } // namespace OHOS\r
 \r
index 4e2a337..92733ba 100644 (file)
@@ -97,14 +97,14 @@ namespace OHOS
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordDeleteView::RecordDeleteLabelViewInit");\r
         LabelConfig labelconfig = {\r
             .left = 83,\r
-            .top = 52,\r
+            .top = 50,\r
             .width = 300,\r
             .height = 35,\r
             .fontSize = 30,\r
             .lineHeigh = 35,\r
             //.text = "删除录音",\r
             .textId = STR_DELETE_RECORDING,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         TitleLabel = CreateRecordDeleteLabel(labelconfig);\r
         if (nullptr == TitleLabel)\r
@@ -123,7 +123,7 @@ namespace OHOS
             .lineHeigh = 35,\r
             //.text = "是否永久删除",\r
             .textId = STR_DELETE_PERMANENTLY,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         AttentionLabel = CreateRecordDeleteLabel(labelconfig);\r
         if (nullptr == AttentionLabel)\r
index 739b811..19fcf20 100644 (file)
@@ -143,14 +143,14 @@ namespace OHOS
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordGoingView::RecordGoingLabelViewInit");\r
         LabelConfig labelconfig = {\r
             .left = 83,\r
-            .top = 52,\r
+            .top = 50,\r
             .width = 300,\r
             .height = 35,\r
             .fontSize = 30,\r
             .lineHeigh = 35,\r
             //.text = "录音机",\r
             .textId = STR_RECORDER,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
 \r
         TitleLabel = CreateRecordGoingLabelExt(labelconfig);\r
@@ -169,7 +169,7 @@ namespace OHOS
             .lineHeigh = 35,\r
             //.text = "录音机",\r
             .textId = STR_RECORDING,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         RecordGoingLabel = CreateRecordGoingLabelExt(labelconfig);\r
         if (nullptr == RecordGoingLabel)\r
@@ -186,7 +186,7 @@ namespace OHOS
             .fontSize = 65,\r
             .lineHeigh = 76,\r
             .text = "00:00:00",\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         Timer = CreateRecordGoingLabel(labelconfig);\r
         if (nullptr == Timer)\r
index 440e98a..349d2ac 100644 (file)
@@ -1,8 +1,8 @@
 /*\r
  * @Author: luozheng 1732036298@qq.com\r
- * @Date: 2024-02-27 09:16:52\r
+ * @Date: 2024-02-27 09:16:50\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-06-13 09:42:18\r
+ * @LastEditTime: 2024-08-24 18:35:24\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordListView.cpp\r
  */\r
 \r
@@ -14,7 +14,6 @@ namespace OHOS
 {\r
 \r
     static RecordListView *g_pRecordListView{nullptr};\r
-\r
     RecordListView::RecordListView()\r
     {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListView::RecordListView");\r
@@ -35,55 +34,64 @@ namespace OHOS
 \r
     void RecordListView::ClearAll()\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClearAll");\r
         if (RecordListScrollView != nullptr)\r
         {\r
             // 首先移除所有子视图\r
             RecordListScrollView->RemoveAll();\r
-\r
-            // 释放各个资源\r
-            delete RecordListViewAttentionLabel;\r
-            RecordListViewAttentionLabel = nullptr;\r
-\r
-            delete RecordListViewTitleLabel;\r
-            RecordListViewTitleLabel = nullptr;\r
-\r
-            delete p_RecordingListAdapter;\r
-            p_RecordingListAdapter = nullptr;\r
-\r
+            if (RecordListViewAttentionLabel != nullptr)\r
+            {\r
+                delete RecordListViewAttentionLabel;\r
+                RecordListViewAttentionLabel = nullptr;\r
+            }\r
+            if (RecordListViewTitleLabel != nullptr)\r
+            {\r
+                delete RecordListViewTitleLabel;\r
+                RecordListViewTitleLabel = nullptr;\r
+            }\r
+            if (p_RecordingListAdapter != nullptr)\r
+            {\r
+                delete p_RecordingListAdapter;\r
+                p_RecordingListAdapter = nullptr;\r
+            }\r
             // 释放点击监听器\r
             if (UIView::OnClickListener *clicklister = recordList->GetOnClickListener())\r
             {\r
                 delete clicklister;\r
                 clicklister = nullptr;\r
             }\r
-\r
             // 释放拖动监听器\r
             if (UIView::OnDragListener *dragLister = RecordListScrollView->GetOnDragListener())\r
             {\r
                 delete dragLister;\r
                 dragLister = nullptr;\r
             }\r
-\r
             if (clickListener != nullptr)\r
             {\r
                 delete clickListener;\r
                 clickListener = nullptr;\r
             }\r
-\r
             // 最后释放 RecordListScrollView 及其子视图\r
-            delete recordList;\r
-            recordList = nullptr;\r
-\r
-            delete RecordListScrollView;\r
-            RecordListScrollView = nullptr;\r
+            if (recordList != nullptr)\r
+            {\r
+                delete recordList;\r
+                recordList = nullptr;\r
+            }\r
+            if (RecordListScrollView != nullptr)\r
+            {\r
+                delete RecordListScrollView;\r
+                RecordListScrollView = nullptr;\r
+            }\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ClearAll");\r
         }\r
     }\r
 \r
     // 添加录音到list\r
     void RecordListView::AddRecordingToList(const RecordingListItem &item)\r
     {\r
-        p_RecordingListAdapter->AddListItem(item);\r
+        if (p_RecordingListAdapter != nullptr)\r
+        {\r
+            p_RecordingListAdapter->AddListItem(item);\r
+        }\r
     }\r
 \r
     // 把录音信息数据拿到存储到list中\r
@@ -99,18 +107,38 @@ namespace OHOS
     // 每次录音完将数据刷新显示到list\r
     void RecordListView::RefreshRecordingListData(void)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListView::RefreshRecordingListData");\r
-        RecordingModel::GetInstance()->InitRecordingListItem();\r
-        p_RecordingListAdapter->ClearData();\r
-        InitRecordingInfo();\r
-        recordList->RefreshList();\r
-        if (RecordingModel::GetInstance()->GetRecordingListNum() == 0)\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListView::RefreshRecordingListData");\r
+        RecordingModel::GetInstance()->InitRecordingListItem(); // 这行应放到删除后调用\r
+        int num = RecordingModel::GetInstance()->GetRecordingListNum();\r
+        if (p_RecordingListAdapter != nullptr && recordList != nullptr)\r
         {\r
-            IsVisibleLabel(true);\r
-        }\r
-        else\r
-        {\r
-            IsVisibleLabel(false);\r
+            if (num == 0)\r
+            {\r
+                IsVisibleLabel(true);\r
+            }\r
+            else\r
+            {\r
+                /* -------------------------------------------------------------------------- */\r
+                IsVisibleLabel(false);\r
+                /* -------------------------------------------------------------------------- */\r
+                if (num == 1)\r
+                {\r
+                    recordList->SetHeight(120 * num);\r
+                }\r
+                else if (num == 2)\r
+                {\r
+                    recordList->SetHeight(120 * num);\r
+                }\r
+                else\r
+                {\r
+                    recordList->SetHeight(340);\r
+                }\r
+                p_RecordingListAdapter->ClearData();\r
+                InitRecordingInfo();\r
+                recordList->RefreshList();\r
+                recordList->Invalidate();\r
+            }\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListView::RefreshRecordingListData over!!");\r
         }\r
         return;\r
     }\r
@@ -122,26 +150,11 @@ namespace OHOS
         {\r
             RecordListViewAttentionLabel->SetVisible(true);\r
             recordList->SetVisible(false); // 列表设置不可见\r
-            RecordListScrollView->SetVerticalScrollState(false);\r
         }\r
         else\r
         {\r
             RecordListViewAttentionLabel->SetVisible(false);\r
             recordList->SetVisible(true); // 列表设置可见\r
-            RecordListScrollView->SetVerticalScrollState(true);\r
-        }\r
-    }\r
-\r
-    //根据录音列表中录音的数量来更新某个标签或视图的可见性。\r
-    void RecordListView::UpdateVisibilityBasedOnRecordingList()\r
-    {\r
-        if (RecordingModel::GetInstance()->GetRecordingListNum() == 0)\r
-        {\r
-            IsVisibleLabel(true);\r
-        }\r
-        else\r
-        {\r
-            IsVisibleLabel(false);\r
         }\r
     }\r
 \r
@@ -192,14 +205,13 @@ namespace OHOS
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListView::SetUpRecordListViewLabel");\r
         LabelConfig labelconfig = {\r
             .left = 83,\r
-            .top = 52,\r
+            .top = 50,\r
             .width = 300,\r
             .height = 35,\r
             .fontSize = 30,\r
             .lineHeigh = 35,\r
-            //.text = "录音列表",\r
-            .textId = STR_RECORDING_LIST,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .textId = STR_RECORDING_LIST, // 录音列表\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
 \r
         RecordListViewTitleLabel = CreateRecordListLabel(labelconfig);\r
@@ -210,15 +222,14 @@ namespace OHOS
         }\r
 \r
         labelconfig = {\r
-            .left = 33,\r
-            .top = 273,\r
-            .width = 400,\r
-            .height = 30,\r
-            .fontSize = 26,\r
-            .lineHeigh = 30,\r
-            //.text = "当前录音列表为空",\r
-            .textId = STR_CRLEMPTY,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .left = 53,\r
+            .top = 280,\r
+            .width = 360,\r
+            .height = 35,\r
+            .fontSize = 30,\r
+            .lineHeigh = 35,\r
+            .textId = STR_CRLEMPTY, // 当前录音列表为空\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         RecordListViewAttentionLabel = CreateRecordListLabel(labelconfig);\r
         if (nullptr == RecordListViewAttentionLabel)\r
@@ -237,27 +248,44 @@ namespace OHOS
     bool RecordListView::RecordListListViewInit(void)\r
     {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListView::RecordListViewInit");\r
-        p_RecordingListAdapter = new RecordingListAdapter();\r
-        clickListener = static_cast<UIView::OnClickListener *>(new RecordListViewListener());\r
-        p_RecordingListAdapter->SetItemClickListener(clickListener);\r
-        recordList = new UIList();\r
+        if (p_RecordingListAdapter == nullptr)\r
+        {\r
+            p_RecordingListAdapter = new RecordingListAdapter();\r
+            if (p_RecordingListAdapter == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListView::p_RecordingListAdapter is nullptr!");\r
+                return false;\r
+            }\r
+            clickListener = static_cast<UIView::OnClickListener *>(new RecordListViewListener());\r
+            if (clickListener == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListView::clickListener is nullptr!");\r
+                return false;\r
+            }\r
+            p_RecordingListAdapter->SetItemClickListener(clickListener);\r
+        }\r
         if (recordList == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListView::recordList is nullptr!");\r
-            return false;\r
+            recordList = new UIList();\r
+            if (recordList == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListView::recordList is nullptr!");\r
+                return false;\r
+            }\r
         }\r
-        recordList->SetPosition(43, 120, 380, 300);\r
+        recordList->SetPosition(43, 120, 380, 340);\r
         recordList->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
-        recordList->SetSelectPosition(233);\r
         recordList->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。\r
         recordList->SetTouchable(true);\r
         recordList->SetDraggable(true);\r
         recordList->SetMaxScrollDistance(1000); // 设置手指抬起屏幕后的最大滚动距离。\r
-        recordList->SetReboundSize(50);\r
+        recordList->SetDragACCLevel(5);\r
+        recordList->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/\r
+        recordList->SetReboundSize(30);\r
         recordList->SetIntercept(true); // 设置是否拦截输入事件。如果被截获,视图在本地处理后不会将输入事件传递给父视图。\r
-        InitRecordingInfo();\r
+        // InitRecordingInfo();\r
         recordList->SetAdapter(p_RecordingListAdapter);\r
-        recordList->RefreshList();\r
+        // recordList->RefreshList();\r
         RecordListScrollView->Add(recordList);\r
         return true;\r
     }\r
@@ -271,16 +299,6 @@ namespace OHOS
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListViewInit fail!!");\r
             return nullptr;\r
         }\r
-\r
-        if (RecordingModel::GetInstance()->GetRecordingListNum() == 0)\r
-        {\r
-            IsVisibleLabel(true);\r
-        }\r
-        else\r
-        {\r
-            IsVisibleLabel(false);\r
-        }\r
-\r
         return RecordListScrollView;\r
     }\r
 }
\ No newline at end of file
index bbe4373..052e924 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-03-02 20:10:18
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-13 11:41:18
+ * @LastEditTime: 2024-08-24 17:40:14
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListitemView.cpp
  */
 #include "record/include/RecordingListitemView.h"
@@ -14,7 +14,7 @@ namespace OHOS
     RecordingListitemView::RecordingListitemView()
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingListitemView::RecordingListitemView");
-        SetPosition(43, 100, 380, 120);
+        SetPosition(0, 0, 380, 120);
         SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
         SetStyle(STYLE_BACKGROUND_OPA, 255);
         SetTouchable(true);
index f726b4e..89b654f 100644 (file)
@@ -538,6 +538,7 @@ namespace OHOS
                 Recordings.push_back({i, fileNames[i].c_str(), "09:51", yyyymmhhh_date});
             }
         }
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingModel::InitRecordingListItem over!!");
     }
 
     /*
@@ -563,7 +564,7 @@ namespace OHOS
      */
     int &RecordingModel::GetRecordingListNum(void)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingModel::GetRecordingListNum");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingModel::GetRecordingListNum %d",RecordingMp3FileCount);
         return RecordingMp3FileCount;
     }
 
index 964f1ee..d71577e 100644 (file)
@@ -132,13 +132,13 @@ namespace OHOS
     {\r
         LabelConfig labelconfig = {\r
             .left = 83,\r
-            .top = 52,\r
+            .top = 50,\r
             .width = 300,\r
             .height = 35,\r
             .fontSize = 30,\r
             .lineHeigh = 35,\r
             .text = "录音3",\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
 \r
         RecordingFileName = SetUpLabel(labelconfig);\r
index 65a93fb..c919d15 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-03-30 09:14:38\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-08-23 18:35:16\r
+ * @LastEditTime: 2024-08-24 17:13:46\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp\r
  */\r
 \r
index 6781eef..7e52995 100644 (file)
@@ -5,24 +5,88 @@
 #include "../include/RecordingModel.h"\r
 namespace OHOS\r
 {\r
-    static ImageAnimatorInfo RecordingViewImageAnimatorInfo[2] = {\r
-        {PNG_ANIMATOR1_IMAGE, {213, 400}, 40, 40, IMG_SRC_FILE_PATH},\r
-        {PNG_ANIMATOR2_IMAGE, {213, 400}, 40, 40, IMG_SRC_FILE_PATH},\r
-    };\r
-\r
     static RecordingView *g_pRecordView{nullptr};\r
-\r
     RecordingView::RecordingView()\r
     {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingView");\r
         g_pRecordView = this;\r
     }\r
-\r
     RecordingView::~RecordingView()\r
     {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::~RecordingView");\r
         g_pRecordView = nullptr;\r
     }\r
+    void RecordingView::ClearAll(void)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::~RecordingView");\r
+        if (container_ != nullptr)\r
+        {\r
+            container_->RemoveAll();\r
+            if (RecordingViewScrollView[RECORDINGVIEW] != nullptr)\r
+            {\r
+                RecordingViewScrollView[RECORDINGVIEW]->RemoveAll();\r
+\r
+                if (RecordingViewTitleLabel != nullptr)\r
+                {\r
+                    delete RecordingViewTitleLabel;\r
+                    RecordingViewTitleLabel = nullptr;\r
+                }\r
+                if (RecordingViewButton != nullptr)\r
+                {\r
+                    delete RecordingViewButton;\r
+                    RecordingViewButton = nullptr;\r
+                }\r
+                if (AttentionLabel != nullptr)\r
+                {\r
+                    delete AttentionLabel;\r
+                    AttentionLabel = nullptr;\r
+                }\r
+                if (RECORD1_Image != nullptr)\r
+                {\r
+                    delete RECORD1_Image;\r
+                    RECORD1_Image = nullptr;\r
+                }\r
+                if (pullUp_Image != nullptr)\r
+                {\r
+                    delete pullUp_Image;\r
+                    pullUp_Image = nullptr;\r
+                }\r
+                delete RecordingViewScrollView[RECORDINGVIEW];\r
+                RecordingViewScrollView[RECORDINGVIEW] = nullptr;\r
+            }\r
+            if (p_RecordListView != nullptr)\r
+            {\r
+                delete p_RecordListView;\r
+                p_RecordListView = nullptr;\r
+            }\r
+            if (p_RecordGoingView != nullptr)\r
+            {\r
+                delete p_RecordGoingView;\r
+                p_RecordGoingView = nullptr;\r
+            }\r
+            if (p_RecordingPlayerView != nullptr)\r
+            {\r
+                delete p_RecordingPlayerView;\r
+                p_RecordingPlayerView = nullptr;\r
+            }\r
+            if (p_RecordDeleteView != nullptr)\r
+            {\r
+                delete p_RecordDeleteView;\r
+                p_RecordDeleteView = nullptr;\r
+            }\r
+            if (p_RecordingVolumeSettingView != nullptr)\r
+            {\r
+                delete p_RecordingVolumeSettingView;\r
+                p_RecordingVolumeSettingView = nullptr;\r
+            }\r
+            for (int i = RECORDINGVIEW; i < MAX_RECORDINGVIEWID; i++)\r
+            {\r
+                RecordingViewScrollView[i] = nullptr;\r
+            }\r
+            delete container_;\r
+            container_ = nullptr;\r
+        }\r
+    }\r
 \r
     RecordingView *RecordingView::GetInstance()\r
     {\r
@@ -79,9 +143,9 @@ namespace OHOS
             RecordingViewScrollView[thisView] = p_RecordListView->RecordListViewInit();\r
             container_->Add(RecordingViewScrollView[thisView]);\r
         }\r
-        else\r
+        if (p_RecordListView)\r
         {\r
-            RecordListView::GetInstance()->RefreshRecordingListData();\r
+            p_RecordListView->RefreshRecordingListData();\r
         }\r
         return true;\r
     }\r
@@ -218,68 +282,6 @@ namespace OHOS
         Draw();\r
     }\r
 \r
-    void RecordingView::ClearAll(void)\r
-    {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::~RecordingView");\r
-        if (container_ != nullptr)\r
-        {\r
-            container_->RemoveAll();\r
-            delete container_;\r
-            container_ = nullptr;\r
-        }\r
-\r
-        if (RecordingViewScrollView[RECORDINGVIEW] != nullptr)\r
-        {\r
-            RecordingViewScrollView[RECORDINGVIEW]->RemoveAll();\r
-            delete RecordingViewScrollView[RECORDINGVIEW];\r
-            RecordingViewScrollView[RECORDINGVIEW] = nullptr;\r
-        }\r
-\r
-        RecordingViewImageAnimator->Stop();\r
-        delete RecordingViewImageAnimator;\r
-        RecordingViewImageAnimator = nullptr;\r
-\r
-        delete RecordingViewTitleLabel;\r
-        RecordingViewTitleLabel = nullptr;\r
-\r
-        delete RecordingViewButton;\r
-        RecordingViewButton = nullptr;\r
-\r
-        delete AttentionLabel;\r
-        AttentionLabel = nullptr;\r
-\r
-        delete RECORD1_Image;\r
-        RECORD1_Image = nullptr;\r
-\r
-        if (p_RecordListView != nullptr)\r
-        {\r
-            delete p_RecordListView;\r
-            p_RecordListView = nullptr;\r
-        }\r
-        if (p_RecordGoingView != nullptr)\r
-        {\r
-            delete p_RecordGoingView;\r
-            p_RecordGoingView = nullptr;\r
-        }\r
-        if (p_RecordingPlayerView != nullptr)\r
-        {\r
-            delete p_RecordingPlayerView;\r
-            p_RecordingPlayerView = nullptr;\r
-        }\r
-\r
-        if (p_RecordDeleteView != nullptr)\r
-        {\r
-            delete p_RecordDeleteView;\r
-            p_RecordDeleteView = nullptr;\r
-        }\r
-\r
-        if (p_RecordingVolumeSettingView != nullptr)\r
-        {\r
-            delete p_RecordingVolumeSettingView;\r
-            p_RecordingVolumeSettingView = nullptr;\r
-        }\r
-    }\r
-\r
     UIButton *RecordingView::SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener)\r
     {\r
         UIButton *button = new UIButton();\r
@@ -319,35 +321,39 @@ namespace OHOS
     bool RecordingView::RecordingLabelViewInit(void)\r
     {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingLabelViewInit");\r
-        RecordingViewTitleLabel = new UILabelExt();\r
         if (RecordingViewTitleLabel == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingViewTitleLabel new fail!");\r
-            return false;\r
+            RecordingViewTitleLabel = new UILabelExt();\r
+            if (RecordingViewTitleLabel == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingViewTitleLabel new fail!");\r
+                return false;\r
+            }\r
         }\r
-        RecordingViewTitleLabel->SetPosition(83, 52, 300, 35);\r
+        RecordingViewTitleLabel->SetPosition(83, 50, 300, 35);\r
         RecordingViewTitleLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
         RecordingViewTitleLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
         RecordingViewTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-        // RecordingViewTitleLabel->SetText("录音机");\r
-        RecordingViewTitleLabel->SetTextId(STR_RECORDER);\r
-        RecordingViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+        RecordingViewTitleLabel->SetTextId(STR_RECORDER); // 录音机\r
+        RecordingViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
         RecordingViewTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
         RecordingViewTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
         /* -------------------------------------------------------------------------- */\r
-        AttentionLabel = new UILabelExt();\r
         if (AttentionLabel == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AttentionLabel new fail!");\r
-            return false;\r
+            AttentionLabel = new UILabelExt();\r
+            if (AttentionLabel == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AttentionLabel new fail!");\r
+                return false;\r
+            }\r
         }\r
         AttentionLabel->SetPosition(53, 330, 360, 35);\r
         AttentionLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
         AttentionLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
         AttentionLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-        // AttentionLabel->SetText("点击开始录音");\r
-        AttentionLabel->SetTextId(STR_CLICK_TO_RECORD);\r
-        AttentionLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+        AttentionLabel->SetTextId(STR_CLICK_TO_RECORD); // 点击开始录音\r
+        AttentionLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
         AttentionLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
         AttentionLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
 \r
@@ -376,35 +382,32 @@ namespace OHOS
     bool RecordingView::RecordingImageViewInit(void)\r
     {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingImageViewInit");\r
-        RECORD1_Image = new UIImageView();\r
         if (RECORD1_Image == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RECORD1_Image new fail!");\r
-            return false;\r
+            RECORD1_Image = new UIImageView();\r
+            if (RECORD1_Image == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RECORD1_Image new fail!");\r
+                return false;\r
+            }\r
         }\r
         RECORD1_Image->SetPosition(158, 129, 150, 150);\r
         RECORD1_Image->SetStyle(STYLE_BORDER_RADIUS, 10);\r
         RECORD1_Image->SetSrc(PNG_RECORD1_IMAGE);\r
-\r
-        return true;\r
-    }\r
-\r
-    bool RecordingView::RecordingImageAnimatorViewInit(void)\r
-    {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingImageAnimatorViewInit");\r
-        RecordingViewImageAnimator = new UIImageAnimatorView();\r
-        if (RecordingViewImageAnimator == nullptr)\r
+        /* -------------------------------------------------------------------------- */\r
+        if (pullUp_Image == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingViewImageAnimator new fail!");\r
-            return false;\r
+            pullUp_Image = new UIImageView();\r
+            if (pullUp_Image == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "pullUp_Image new fail!");\r
+                return false;\r
+            }\r
         }\r
-        RecordingViewImageAnimator->SetPosition(213, 400, 40, 40);\r
-        RecordingViewImageAnimator->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
-        RecordingViewImageAnimator->SetImageAnimatorSrc(RecordingViewImageAnimatorInfo, 2, 200);\r
-        RecordingViewImageAnimator->SetTimeOfPause(200);\r
-        RecordingViewImageAnimator->SetRepeatTimes(1);\r
-        RecordingViewImageAnimator->SetReverse(true);\r
-        RecordingViewImageAnimator->Start();\r
+        pullUp_Image->SetPosition(213, 400, 40, 40);\r
+        pullUp_Image->SetAutoEnable(false);\r
+        pullUp_Image->SetResizeMode(UIImageView::CONTAIN);\r
+        pullUp_Image->SetSrc("/user/res/Sleep/up.bin");\r
 \r
         return true;\r
     }\r
@@ -415,7 +418,7 @@ namespace OHOS
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingView::RecordingViewInit");\r
         // 如果其中任何一个初始化函数返回 false(即初始化失败),则会打印错误日志并返回空指针。\r
         if (!RecordingScrollViewInit() || !RecordingLabelViewInit() ||\r
-            !RecordingButtonViewInit() || !RecordingImageViewInit() || !RecordingImageAnimatorViewInit())\r
+            !RecordingButtonViewInit() || !RecordingImageViewInit())\r
         {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingViewInit fail!!");\r
             return;\r
@@ -424,7 +427,7 @@ namespace OHOS
         RecordingViewScrollView[RECORDINGVIEW]->Add(RECORD1_Image);\r
         RecordingViewScrollView[RECORDINGVIEW]->Add(RecordingViewButton);\r
         RecordingViewScrollView[RECORDINGVIEW]->Add(AttentionLabel);\r
-        RecordingViewScrollView[RECORDINGVIEW]->Add(RecordingViewImageAnimator);\r
+        RecordingViewScrollView[RECORDINGVIEW]->Add(pullUp_Image);\r
         container_->Add(RecordingViewScrollView[RECORDINGVIEW]);\r
     }\r
 \r
@@ -434,7 +437,6 @@ namespace OHOS
         View<RecordingPresenter>::OnStart();\r
         SetContainerView(new UIViewGroup());\r
         container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
-        // container_->SetOnDragListener(presenter_);\r
         container_->SetTouchable(true);\r
         container_->SetDraggable(true);\r
 \r
index 28c8f54..98e5ba2 100644 (file)
@@ -2,12 +2,13 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-03-13 17:38:18
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-13 11:21:31
+ * @LastEditTime: 2024-08-24 15:42:50
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingVolumeSettingView.cpp
  */
 #include "record/include/RecordingVolumeSettingView.h"
 #include "record/include/RecordingPresenter.h"
-
+#include "wearable_log.h"
+#include "ConfigModel.h"
 namespace OHOS
 {
 
@@ -50,7 +51,7 @@ namespace OHOS
             return nullptr;
         }
         RecordingVolumeSettingViewScrollView = p_SoundAndVibrationVolumeSettingView->SetUpVolumeProcess();
-        UIView::OnDragListener * volumeDragListener = static_cast<UIView::OnDragListener *>(RecordingPresenter::GetInstance());
+        UIView::OnDragListener *volumeDragListener = static_cast<UIView::OnDragListener *>(RecordingPresenter::GetInstance());
         if (volumeDragListener == nullptr)
         {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPresenter GetInstance fail");
@@ -63,7 +64,7 @@ namespace OHOS
             return nullptr;
         }
 
-        p_SoundAndVibrationVolumeSettingView->GetVolumeProcess()->SetValue(AudioManager::GetInstance().GetVolume(AUDIO_STREAM_MUSIC));
+        p_SoundAndVibrationVolumeSettingView->GetVolumeProcess()->SetValue(ConfigModel::GetInstance()->GetSystemVolume());
 
         initViewStatus = true;
         return RecordingVolumeSettingViewScrollView;
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/record/animator1.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/record/animator1.bin
deleted file mode 100644 (file)
index 2593117..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:48cee7cf0d85cf1a537ba3c456e9dcfc6f2b439863e5106211519e57ca6d18fd
-size 1144
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/record/animator2.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/record/animator2.bin
deleted file mode 100644 (file)
index 4fdc1b7..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:389beb90ee0bfe28a4969e4d2ba0aee17fb8f6b524356611c00ad2127254d199
-size 4504