From 76a1e955045b9ab0f6ff3d883403d08e1fcd2752 Mon Sep 17 00:00:00 2001 From: huangcm <1263938474@qq.com> Date: Thu, 08 May 2025 06:32:42 +0000 Subject: [PATCH] fix(ir): fix ir lock err --- android/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java | 75 ++++++++++++++++++++++--------------- 1 files changed, 44 insertions(+), 31 deletions(-) diff --git a/android/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java b/android/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java index 03a4fa9..d0587a0 100644 --- a/android/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/android/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -2644,8 +2644,33 @@ + repeatCount + " keyguardOn=" + keyguardOn + " canceled=" + canceled); } - if(down) { - pwd += String.valueOf(keyCode); + //-----------------------kickpi code-------------- + if (down) { + pwd += String.valueOf(keyCode); + + Log.d(TAG, "kickpi pwd = " + pwd); + + if (pwd.contains("1412151297")) { //758520 + String irConfig = SystemProperties.get("persist.sys.kickpi.irkeylock","0"); + if("1".equals(irConfig)) { + SystemProperties.set("persist.sys.kickpi.irkeylock","0"); + mHandler.removeMessages(MSG_SHOW_TOAST); + mHandler.sendMessage(mHandler.obtainMessage(MSG_SHOW_TOAST, "Close IR Key Lock")); + } else { + SystemProperties.set("persist.sys.kickpi.irkeylock","1"); + mHandler.removeMessages(MSG_SHOW_TOAST); + mHandler.sendMessage(mHandler.obtainMessage(MSG_SHOW_TOAST, "Open IR Key Lock")); + } + pwd = ""; + } + + String IRKeyProp = SystemProperties.get("persist.sys.kickpi.irkeylock"); + if ("1".equals(IRKeyProp)) { + mHandler.removeMessages(MSG_SHOW_TOAST); + mHandler.sendMessage(mHandler.obtainMessage(MSG_SHOW_TOAST, "IR Key Locking")); + Log.e(TAG, "IR POWER KEY LOCK"); + return -1; + } if(pwd.contains("3822020")){ // home menu 2down try { Intent intent = new Intent(Intent.ACTION_MAIN); @@ -2701,18 +2726,6 @@ e.printStackTrace(); } pwd = ""; - } else if(pwd.contains("1412151297")){ //758520 - String irConfig = SystemProperties.get("vendor.kickpi.irkey.enable","0"); - if("1".equals(irConfig)) { - SystemProperties.set("vendor.kickpi.irkey.enable","0"); - mHandler.removeMessages(MSG_SHOW_TOAST); - mHandler.sendMessage(mHandler.obtainMessage(MSG_SHOW_TOAST, "Close IR Key")); - } else { - SystemProperties.set("vendor.kickpi.irkey.enable","1"); - mHandler.removeMessages(MSG_SHOW_TOAST); - mHandler.sendMessage(mHandler.obtainMessage(MSG_SHOW_TOAST, "Open IR Key")); - } - pwd = ""; } else if(pwd.contains("14121512910")){ // 8521 adb switch String adbConfig = SystemProperties.get("persist.vendor.adb.enable","0"); if("1".equals(adbConfig)) { @@ -2734,13 +2747,7 @@ pwd = ""; } } - - String IRKeyProp = SystemProperties.get("vendor.kickpi.irkey.enable"); - if ("1".equals(IRKeyProp)) { - mHandler.removeMessages(MSG_SHOW_TOAST); - mHandler.sendMessage(mHandler.obtainMessage(MSG_SHOW_TOAST, "Close IR Key")); - return -1; - } + //------------------------------------------------ // If we think we might have a volume down & power key chord on the way // but we're not sure, then tell the dispatcher to wait a little while and @@ -4004,17 +4011,23 @@ } case KeyEvent.KEYCODE_POWER: { - EventLogTags.writeInterceptPower( - KeyEvent.actionToString(event.getAction()), - mPowerKeyHandled ? 1 : 0, mPowerKeyPressCounter); - // Any activity on the power button stops the accessibility shortcut - cancelPendingAccessibilityShortcutAction(); - result &= ~ACTION_PASS_TO_USER; - isWakeKey = false; // wake-up will be handled separately - if (down) { - interceptPowerKeyDown(event, interactive); + // kickpi when ir lock always return + String IRKeyProp = SystemProperties.get("persist.sys.kickpi.irkeylock"); + if ("1".equals(IRKeyProp)) { + Log.e(TAG, "IR POWER KEY LOCK"); } else { - interceptPowerKeyUp(event, interactive, canceled); + EventLogTags.writeInterceptPower( + KeyEvent.actionToString(event.getAction()), + mPowerKeyHandled ? 1 : 0, mPowerKeyPressCounter); + // Any activity on the power button stops the accessibility shortcut + cancelPendingAccessibilityShortcutAction(); + result &= ~ACTION_PASS_TO_USER; + isWakeKey = false; // wake-up will be handled separately + if (down) { + interceptPowerKeyDown(event, interactive); + } else { + interceptPowerKeyUp(event, interactive, canceled); + } } break; } -- Gitblit v1.6.2