拨号视图修改,已测试通过sim卡拨号成功但发现喇叭不出声
authorluozheng <1732036298@qq.com>
Mon, 29 Apr 2024 09:28:13 +0000 (17:28 +0800)
committerluozheng <1732036298@qq.com>
Mon, 29 Apr 2024 09:28:13 +0000 (17:28 +0800)
13 files changed:
code/sdk/application/wearable/fd230app/nativeui/phone/include/PhoneCallPresenter.h
code/sdk/application/wearable/fd230app/nativeui/phone/include/PhoneDirPresenter.h
code/sdk/application/wearable/fd230app/nativeui/phone/include/TelephonyInitInterface.h
code/sdk/application/wearable/fd230app/nativeui/phone/src/DialingMethodPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/MainPhonePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneCallPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneCallView.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneCallingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneCallupPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneDirPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneDirView.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneRingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/TelephonyInitInterface.cpp

index 7f21805..6f995e3 100644 (file)
@@ -11,6 +11,7 @@ namespace OHOS
     class PhoneCallView;\r
     class PhoneCallPresenter : public Presenter<PhoneCallView>,\r
                                public UIView::OnClickListener,\r
+                               public RootView::OnKeyActListener,\r
                                public UIView::OnDragListener\r
 \r
     {\r
@@ -33,6 +34,7 @@ namespace OHOS
         // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
         bool OnClick(UIView &view, const ClickEvent &event) override;\r
         bool OnDrag(UIView &view, const DragEvent &event) override;\r
+        bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件\r
     };\r
 } // namespace OHOS\r
 \r
index 97c7097..e63653e 100644 (file)
@@ -11,6 +11,7 @@ namespace OHOS
 \r
     class PhoneDirPresenter : public Presenter<PhoneDirView>,\r
                                public UIView::OnClickListener,\r
+                               public RootView::OnKeyActListener,\r
                                public UIView::OnDragListener\r
     {\r
     public:\r
@@ -29,6 +30,8 @@ namespace OHOS
         // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
         bool OnClick(UIView &view, const ClickEvent &event) override;\r
         bool OnDrag(UIView &view, const DragEvent &event) override;\r
+        bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件\r
+        \r
     };\r
 } // namespace OHOS\r
 \r
index 76fadc3..394ade7 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-04-28 09:58:04
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-29 09:24:21
+ * @LastEditTime: 2024-04-29 16:21:03
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/phone/include/TelephonyInitInterface.h
  */
 #ifndef TELEPHONY_INIT_INTERFACE_H
@@ -15,6 +15,8 @@
 #include "components/ui_image_view.h"
 #include "iostream"
 #include "UiConfig.h"
+#include "gfx_utils/mem_check.h"
+#define DUMPMEMORY 0
 namespace OHOS
 {
 
@@ -31,10 +33,15 @@ namespace OHOS
     static constexpr const char *PNG_FREQUENTLYCONTACTEDBUTTON_IMAGE = "/user/res/Phone/Telephone/FrequentlyContacted.bin"; // 常用联系人按钮icon图片
     static constexpr const char *PNG_TELEPHONELINE_IMAGE = "/user/res/Phone/Telephone/TelephoneLine.bin";                   // 线
 
+    // 拨号方式
+    static constexpr uint8_t DIALINGMETHOD_USINGWATCHSIM = 1; // 手表SIM卡拨号
+    static constexpr uint8_t DIALINGMETHOD_USINGPHONE = 0;    // 手机拨号
+
     class TelephonyInitInterface
     {
     public:
-        static bool X_DRAG_FLAG; // 水平拖拽标志
+        static bool X_DRAG_FLAG;      // 水平拖拽标志
+        static uint8_t DIALINGMETHOD; // 拨号方式
 
         typedef struct
         {
index 6d44a9a..0b676f4 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-03-28 14:17:43
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-29 10:01:43
+ * @LastEditTime: 2024-04-29 16:18:09
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/language/src/DialingMethodPresenter.cpp
  */
 #include "AppViewIDs.h"
@@ -60,11 +60,15 @@ namespace OHOS
 
         if (curViewId == USINGWATCHSIMBUTTON_VIEWID)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s OnClick",curViewId.c_str());
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s OnClick", curViewId.c_str());
+            TelephonyInitInterface::DIALINGMETHOD = DIALINGMETHOD_USINGWATCHSIM; // 手表SIM卡拨号
+            NativeAbility::GetInstance().EnterSlice(VIEW_PHONECALL);
         }
         else if (curViewId == USINGPHONEBUTTON_VIEWID)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s OnClick",curViewId.c_str());
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s OnClick", curViewId.c_str());
+            TelephonyInitInterface::DIALINGMETHOD = DIALINGMETHOD_USINGPHONE; // 手机拨号
+            NativeAbility::GetInstance().EnterSlice(VIEW_PHONECALL);
         }
         return true;
     }
index 4cb20db..82d5792 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-03-28 14:17:43
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-04-29 10:02:49
+ * @LastEditTime: 2024-04-29 15:45:54
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/language/src/MainPhonePresenter.cpp
  */
 #include "AppViewIDs.h"
@@ -63,13 +63,13 @@ namespace OHOS
 
         if (curViewId == DIALINGMETHODBUTTON_VIEWID)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s OnClick",curViewId.c_str());
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s OnClick", curViewId.c_str());
             NativeAbility::GetInstance().EnterSlice(VIEW_DIALING_METHOD);
         }
         else if (curViewId == FREQUENTLYCONTACTEDBUTTON_VIEWID)
         {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s OnClick",curViewId.c_str());
-
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s OnClick", curViewId.c_str());
+            NativeAbility::GetInstance().EnterSlice(VIEW_PHONEDIR);
         }
 
         return true;
index 62a93c5..97447f1 100644 (file)
@@ -8,6 +8,9 @@
 #include "cat1_server_hal.h"\r
 #include "PhoneService.h"\r
 #include "phone/include/PhoneCallView.h"\r
+#include "phone/include/TelephonyInitInterface.h"\r
+#include "common/key_code.h"\r
+#include <custom_utils.h>\r
 namespace OHOS\r
 {\r
 \r
@@ -70,7 +73,7 @@ namespace OHOS
         if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&\r
             (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY()))))\r
         {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_PHONE);\r
+            NativeAbility::GetInstance().Back();\r
         }\r
 \r
       \r
@@ -106,7 +109,18 @@ namespace OHOS
             // 拨号键\r
             //NativeAbility::GetInstance().ChangeSlice(VIEW_PHONERING);\r
             //calldial_event_sendmsg_toUI((char *)phoneNumber.c_str());\r
-            PhoneCallView::GetInstance()->container_child_SetVisible(true);\r
+            //PhoneCallView::GetInstance()->container_child_SetVisible(true);\r
+            if(TelephonyInitInterface::DIALINGMETHOD == DIALINGMETHOD_USINGWATCHSIM)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DIALINGMETHOD_USINGWATCHSIM");\r
+                calldial_event_sendmsg_toUI((char *)phoneNumber.c_str());\r
+            }\r
+            else if(TelephonyInitInterface::DIALINGMETHOD == DIALINGMETHOD_USINGPHONE)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DIALINGMETHOD_USINGPHONE");\r
+                DialCall((unsigned char *)phoneNumber.c_str(),phoneNumber.length());\r
+            }\r
+\r
         }\r
         else if (strcmp(viewId, BUTTONDEL) == 0)\r
         {\r
@@ -184,4 +198,19 @@ namespace OHOS
         printf("**************************\n");\r
         return true;\r
     }\r
+\r
+\r
+    bool PhoneCallPresenter::OnKeyAct(UIView &view, const KeyEvent &event) // 增加按键事件\r
+    {\r
+        UNUSED(view);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DialingMethodPresenter::OnKeyAct");\r
+        unsigned short keyID = event.GetKeyId();\r
+        unsigned short keyState = event.GetState();\r
+        // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
+        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+        {\r
+            NativeAbility::GetInstance().Back();\r
+        }\r
+        return true;\r
+    }\r
 }
\ No newline at end of file
index 7722665..496d085 100644 (file)
@@ -352,6 +352,10 @@ namespace OHOS
         // GetView();\r
         GetView();\r
         RootView::GetInstance()->Add(container_);\r
+\r
+        // 增加按键监听\r
+        RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::PhoneCallPresenter::GetInstance();\r
+        RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
     }\r
 \r
     void PhoneCallView::OnSetUpView()\r
@@ -372,6 +376,7 @@ namespace OHOS
     {\r
         View<PhoneCallPresenter>::OnStop();\r
         RootView::GetInstance()->RemoveAll();\r
+        RootView::GetInstance()->ClearOnKeyActListener();\r
         return;\r
     }\r
 \r
index 95a17c7..af177c3 100644 (file)
@@ -75,7 +75,7 @@ namespace OHOS
         }\r
         if (strcmp(view.GetViewId(), PHONEOFFBUTTON) == 0)\r
         {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_PHONE);\r
+            NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_PHONE);\r
         }\r
         return true;\r
     }\r
index 300d683..e80cae8 100644 (file)
@@ -70,7 +70,7 @@ namespace OHOS
         // 根据控件id查找是哪个控件触发了点击回调\r
         if (strcmp(view.GetViewId(), OFFBUTTON) == 0)\r
         {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_PHONE);\r
+            NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_PHONE);\r
         }\r
         if (strcmp(view.GetViewId(), "button2") == 0)\r
         {\r
index cb61629..5f6e4f3 100644 (file)
@@ -7,7 +7,8 @@
 #include "phone/include/PhoneDirView.h"\r
 #include "components/ui_button.h"\r
 #include "components/ui_label_button_ext.h"\r
-\r
+#include "common/key_code.h"\r
+#include <custom_utils.h>\r
 namespace OHOS\r
 {\r
 \r
@@ -68,7 +69,7 @@ namespace OHOS
             }\r
             else\r
             {\r
-                NativeAbility::GetInstance().ChangeSlice(VIEW_PHONE);\r
+                NativeAbility::GetInstance().Back();\r
             }\r
             \r
             \r
@@ -92,4 +93,19 @@ namespace OHOS
         // if (strcmp(view.GetViewId(), 控件ID) == 0)\r
         return true;\r
     }\r
+\r
+\r
+    bool PhoneDirPresenter::OnKeyAct(UIView &view, const KeyEvent &event) // 增加按键事件\r
+    {\r
+        UNUSED(view);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DialingMethodPresenter::OnKeyAct");\r
+        unsigned short keyID = event.GetKeyId();\r
+        unsigned short keyState = event.GetState();\r
+        // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
+        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+        {\r
+            NativeAbility::GetInstance().Back();\r
+        }\r
+        return true;\r
+    }\r
 }
\ No newline at end of file
index 025024b..e2beaf8 100644 (file)
@@ -423,6 +423,10 @@ namespace OHOS
       \r
 \r
         RootView::GetInstance()->Add(container_);\r
+\r
+        // 增加按键监听\r
+        RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::PhoneDirPresenter::GetInstance();\r
+        RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
     }\r
 \r
     void PhoneDirView::OnSetUpView()\r
@@ -443,6 +447,7 @@ namespace OHOS
     {\r
         View<PhoneDirPresenter>::OnStop();\r
         RootView::GetInstance()->RemoveAll();\r
+        RootView::GetInstance()->ClearOnKeyActListener();\r
         return;\r
     }\r
 }\r
index 38fdf2d..621910d 100644 (file)
@@ -70,7 +70,7 @@ namespace OHOS
         // 根据控件id查找是哪个控件触发了点击回调\r
         if (strcmp(view.GetViewId(), OFFBUTTON) == 0)\r
         {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_PHONE);\r
+            NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_PHONE);\r
         }\r
         return true;\r
     }\r
index aa04152..77e291b 100644 (file)
@@ -3,7 +3,8 @@
 
 namespace OHOS
 {
-    bool TelephonyInitInterface::X_DRAG_FLAG = false; // 水平拖拽标志
+    bool TelephonyInitInterface::X_DRAG_FLAG = false;   // 水平拖拽标志
+    uint8_t TelephonyInitInterface::DIALINGMETHOD = -1; // 默认未选择任何拨号方式
 
     TelephonyInitInterface::TelephonyInitInterface()
     {