录音刷新采用Notify刷新UI而不再使用timer刷新
authorluozheng <1732036298@qq.com>
Sun, 20 Oct 2024 10:53:41 +0000 (18:53 +0800)
committerluozheng <1732036298@qq.com>
Sun, 20 Oct 2024 10:53:41 +0000 (18:53 +0800)
code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingPresenter.h
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingModel.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp

index 80b6fe2..5d29727 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-02-27 09:16:51\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-08-28 15:44:25\r
+ * @LastEditTime: 2024-10-20 17:08:05\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingPresenter.h\r
  */\r
 \r
@@ -16,6 +16,7 @@
 #include "common/key_code.h"\r
 #include "record/include/RecordingModel.h"\r
 #include <media_thread_adapt.h>\r
+#include "ModelListenerSample.h"\r
 namespace OHOS\r
 {\r
     /*正在录音视图*/\r
@@ -115,7 +116,8 @@ namespace OHOS
     class RecordingPresenter : public Presenter<RecordingView>,\r
                                public UIView::OnClickListener,\r
                                public RootView::OnKeyActListener,\r
-                               public UIView::OnDragListener\r
+                               public UIView::OnDragListener,\r
+                               public ModelListenerSample\r
     {\r
     public:\r
         RecordingPresenter();\r
@@ -136,6 +138,7 @@ namespace OHOS
         bool OnDrag(UIView &view, const DragEvent &event) override;\r
         bool OnDragEnd(UIView &view, const DragEvent &event) override;\r
         bool OnKeyAct(UIView &view, const KeyEvent &event) override;\r
+        void Notify() override;\r
         void SetCircleProgress();\r
         void StartRecord(void);\r
         void StopRecord(void);\r
index a1bf8d5..bbabf12 100644 (file)
@@ -980,6 +980,7 @@ namespace OHOS
      */
     static void Recording_TimerCallbackProc(int data)
     {
+        #if 0
         g_RecordingTimes++;
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "g_RecordingTimes:%d\n", g_RecordingTimes);
 
@@ -1002,6 +1003,7 @@ namespace OHOS
         }
 
         RecordGoingView::GetInstance()->GetRecordingDurationLabel()->SetText(RecordingModel::GetInstance()->DisplayRecordDuration());
+        #endif
     }
 
     /*
@@ -1009,7 +1011,9 @@ namespace OHOS
      */
     static void Recording_TimerCallback(int data)
     {
-        GraphicService::GetInstance()->PostGraphicEvent(std::bind(Recording_TimerCallbackProc, data));
+        g_RecordingTimes++;
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "g_RecordingTimes:%d\n", g_RecordingTimes);
+        // GraphicService::GetInstance()->PostGraphicEvent(std::bind(Recording_TimerCallbackProc, data));
     }
 
     /*
index 46f7134..d6a1544 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-10-14 19:26:52\r
+ * @LastEditTime: 2024-10-20 17:14:02\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp\r
  */\r
 \r
@@ -300,6 +300,19 @@ namespace OHOS
         return true;\r
     }\r
 \r
+    void RecordingPresenter::Notify()\r
+    {\r
+        //如果是在正在录音视图且正在录音视图为可见\r
+        if(view_->GetRecordingViewScrollView(RECORDGOINGVIEW) && view_->GetRecordingViewScrollView(RECORDGOINGVIEW)->IsVisible())\r
+        {\r
+            if(RecordGoingView::GetInstance()->GetRecordingDurationLabel())\r
+            {\r
+                RecordGoingView::GetInstance()->GetRecordingDurationLabel()->SetText(RecordingModel::GetInstance()->DisplayRecordDuration());\r
+            }\r
+        }\r
+    }\r
+\r
+\r
     void RecordingPresenter::SetCircleProgress()\r
     {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingPresenter::SetCircleProgress");\r