将主界面进入applist界面Power键触发由释放事件改为按下事件,1.加快界面进入速度;2,解决手表息屏状态下(主界面)按Power键概率性会进入applist界面... 1490/1 1490/head
authorluozheng <1732036298@qq.com>
Tue, 3 Dec 2024 09:50:51 +0000 (17:50 +0800)
committerluozheng <1732036298@qq.com>
Tue, 3 Dec 2024 09:50:51 +0000 (17:50 +0800)
code/sdk/application/wearable/fd230app/nativeui/key/include/KeyInputListener.h
code/sdk/application/wearable/fd230app/nativeui/key/src/KeyInputListener.cpp

index 9d3eb28..d9338e6 100644 (file)
@@ -24,7 +24,7 @@ namespace OHOS
         bool OnKeyAct(UIView &view, const KeyEvent &event) override;\r
 \r
     private:\r
-        void OnKeyPress(void);\r
+        void OnKeyPress(const KeyEvent &event);\r
         void OnKeyLongPress(const KeyEvent &event);\r
         void OnKeyRelease(const KeyEvent &event);\r
         void CallVolumeDipSwitchControl(VolumeChangeStatus status);\r
index be01947..2defe02 100644 (file)
@@ -53,10 +53,27 @@ namespace OHOS
         }
     }
 
-    void KeyInputListener::OnKeyPress()
+    void KeyInputListener::OnKeyPress(const KeyEvent &event)
     {
         pressFlag = 1; // 短按标志
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnKeyPress: pressFlag = %d", pressFlag);
+        uint16 keyID = event.GetKeyId();
+        uint16_t currentViewId = NativeAbility::GetInstance().GetCurSliceId();
+        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))
+        {
+            if (longPressFlag == 0 && pressFlag == 1)
+            {
+                HandlePowerKeyPress(currentViewId);
+            }
+        }
+        else if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_FUNC))
+        {
+            if (longPressFlag == 0 && pressFlag == 1)
+            {
+                HandleFuncKeyPress(currentViewId);
+            }
+        }
+        return;
     }
 
     void KeyInputListener::OnKeyLongPress(const KeyEvent &event)
@@ -120,7 +137,7 @@ namespace OHOS
         uint16 keyID = event.GetKeyId();
 
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnKeyRelease: keyID = %d, currentViewId = %d, longPressFlag = %d, pressFlag = %d", keyID, currentViewId, longPressFlag, pressFlag);
-
+        #if 0
         if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))
         {
             if (longPressFlag == 0 && pressFlag == 1)
@@ -135,6 +152,7 @@ namespace OHOS
                 HandleFuncKeyPress(currentViewId);
             }
         }
+        #endif
 
         // 重置标志
         pressFlag = 0;
@@ -216,7 +234,7 @@ namespace OHOS
         switch (state)
         {
         case InputDevice::STATE_PRESS:
-            OnKeyPress();
+            OnKeyPress(event);
             break;
 #ifdef __LITEOS_M__
         case InputDevice::STATE_LONG_PRESS: