增加对话模式操作
authorxue <2144439972@qq.com>
Sun, 28 Sep 2025 06:35:19 +0000 (14:35 +0800)
committerxue <2144439972@qq.com>
Sun, 28 Sep 2025 06:35:19 +0000 (14:35 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdPresenter.h
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp

index b4d5acd..338fd34 100644 (file)
@@ -41,6 +41,7 @@ namespace OHOS
         bool X_DRAG_FLAG{false};
 
         bool isLullabyRecording{false};
+        bool isDialogueing{false};//是否进入对话模式
         
         // 按键处理函数
         bool HandlePowerKey(uint16_t keyState, int16_t currentView, int16_t currentSubView, int screenState);
index 8ea8c38..75ada4e 100644 (file)
@@ -154,8 +154,8 @@ namespace OHOS
                 ThunderBirdModel::BindingStatus bindingStatus = ThunderBirdModel::GetInstance()->CheckBindingStatus();
                 if(bindingStatus == ThunderBirdModel::BindingStatus::BOUND)
                 {
-                    //绑定成功
-                    ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING);
+                    //绑定成功进入状态显示界面
+                    ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
                 }
                 else 
                 {
@@ -229,26 +229,29 @@ namespace OHOS
      */
     bool ThunderBirdPresenter::HandleFuncKey(uint16_t keyState, int16_t currentView, int16_t currentSubView, int screenState)
     {
-        // 长按FUNC键:进入LCD产测
+        // 长按FUNC键:开启对话模式切换
         if (keyState == InputDevice::STATE_LONG_PRESS && screenState == 0) {
-            NativeAbility::GetInstance().SwitchSlice(VIEW_LCD_TEST);
+            //NativeAbility::GetInstance().SwitchSlice(VIEW_LCD_TEST);
+            if(currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW)
+            {
+                ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING);
+                isDialogueing = true;
+            }
+            else
+            {
+                ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
+                isDialogueing = false;
+            }
             return true;
         }
         
         // 短按FUNC键(息屏状态下)
-        if (keyState == InputDevice::STATE_PRESS && screenState == 0) {
-            // // 检查绑定状态
-            // if (ThunderBirdModel::GetInstance()->getbind_status() != true) {
-            //     if (currentSubView != ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_3) {
-            //         ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_GUIDEVIEW, ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_3);
-            //     }
-            //     return true;
-            // }
+        if (keyState == InputDevice::STATE_PRESS && screenState == 0 ) {
             if(currentView == THUNDERBIRD_LULLABYVIEW && currentSubView == ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_3)
             {
                 HandleLullabyFunction(currentView, currentSubView);              
             }
-            else
+            else if(isDialogueing == true)
             {
                 // 处理对话功能
                 HandleDialogueFunction(currentView, currentSubView);