diff --git a/alps/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java b/alps/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 089e3f31e3…a7c0fc8c8e 100755
— a/alps/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/alps/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -3657,13 +3657,53 @@ public class PhoneWindowManager implements WindowManagerPolicy {
final int flags = event.getFlags();
final boolean down = event.getAction() == KeyEvent.ACTION_DOWN;
final boolean canceled = event.isCanceled();
-
Log.d("MMI", "PhoneWindowManager interceptKeyBeforeDispatching interceptKeyTi keyCode = " + keyCode);
-
android.util.Log.d("MMI", "PhoneWindowManager interceptKeyBeforeDispatching event = " + event); -
android.util.Log.d("MMI", "PhoneWindowManager interceptKeyBeforeDispatching interceptKeyTi keyCode = " + keyCode); -
android.util.Log.d("MMI", "PhoneWindowManager interceptKeyBeforeDispatching repeatCount = " + repeatCount); -
android.util.Log.d("MMI", "PhoneWindowManager interceptKeyBeforeDispatching mLauncherKeyEvent = " + mLauncherKeyEvent); //MMI_Buttons_Light @{
-
if (down && (keyCode == KeyEvent.KEYCODE_MENU || keyCode == KeyEvent.KEYCODE_P1 -
|| keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_DOWN || keyCode == KeyEvent.KEYCODE_BACK)) { -
setButtonsLightEnabled(down); -
}
-
//if (down && (keyCode == KeyEvent.KEYCODE_MENU || keyCode == KeyEvent.KEYCODE_P1 -
// || keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_DOWN || keyCode == KeyEvent.KEYCODE_BACK)) { -
// //setButtonsLightEnabled(down); -
//} //MMI_Buttons_Light @} -
//MMI_Launcher_Buttons @{ -
//if (repeatCount == 0 && getLauncher3KeyEventLocked() && (keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_DOWN)) { -
// if (down && mLauncherKeyEvent == false) { -
// return 0; -
// } else if (!down && mLauncherKeyEvent == true) { -
// mLauncherKeyEvent = false; -
// return 0; -
//} -
//} -
//if (!down && repeatCount == 0 && mLauncherKeyEvent == false && getLauncher3KeyEventLocked() && (keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_DOWN)) { -
// if (keyCode == KeyEvent.KEYCODE_DPAD_UP) { -
// mLauncherKeyEvent = true; -
// keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_UP); -
// keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_UP); -
// //mLauncherKeyEvent = false; -
// } else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) { -
// mLauncherKeyEvent = true; -
// keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_DOWN); -
// keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_DOWN); -
// //mLauncherKeyEvent = false; -
// } -
// //return 0; -
//} -
//if (down && repeatCount == 3 && getLauncher3KeyEventLocked() && (keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_DOWN)) { -
// if (keyCode == KeyEvent.KEYCODE_DPAD_UP) { -
// keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT); -
// keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_LEFT); -
// } else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) { -
// keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_RIGHT); -
// keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_RIGHT); -
// } -
// return 0; -
//} -
//MMI_Launcher_Buttons @} -
/// M: Add more log at WMS if (DEBUG_INPUT || mWindowManagerDebugger.WMS_DEBUG_ENG) { Log.d(TAG, "interceptKeyTi keyCode=" + keyCode + " down=" + down + " repeatCount="
@@ -6330,6 +6370,22 @@ public class PhoneWindowManager implements WindowManagerPolicy {
setHdmiPlugged(!mHdmiPlugged);
}
-
private boolean getLauncher3KeyEventLocked() {
-
ActivityManager manager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE); -
if (manager != null) { -
//ActivityManager.RunningTaskInfo info = manager.getRunningTasks(1).get(0); -
//E InputManager-JNI: An exception was thrown by callback 'interceptKeyBeforeQueueing'. -
//E InputManager-JNI: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 -
List<ActivityManager.RunningTaskInfo> info = manager.getRunningTasks(1); -
if (!info.isEmpty() || info.size() > 0) { -
String pn = info.get(0).topActivity.getPackageName(); -
if (pn != null && pn.equals("com.android.launcher3")) { -
return true; -
} -
} -
} -
return false; -
}
/// chenxs: add for key test in FactoryMode @{
private boolean getKeyEventLocked() {
@@ -6353,6 +6409,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
/// chenxs: add for volume knob @{
private boolean mVolKnobLastDown;
/// chenxs @} -
private boolean mLauncherKeyEvent = false;
-
private long mStartTime = 0;
-
private long mCurrentTime = 0;
/** {@inheritDoc} */
@Override
@@ -6366,6 +6425,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
final boolean down = event.getAction() == KeyEvent.ACTION_DOWN;
final boolean canceled = event.isCanceled();
final int keyCode = event.getKeyCode(); -
final int repeatCount = event.getRepeatCount(); final boolean isInjected = (policyFlags & WindowManagerPolicy.FLAG_INJECTED) != 0;
@@ -6385,7 +6445,52 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
android.util.Log.d("MMI", "PhoneWindowManager interceptKeyBeforeQueueing event = " + event);
-
android.util.Log.d("MMI", "PhoneWindowManager interceptKeyBeforeQueueing repeatCount = " + repeatCount); -
android.util.Log.d("MMI", "PhoneWindowManager interceptKeyBeforeQueueing mLauncherKeyEvent = " + mLauncherKeyEvent); -
//MMI_Launcher_Buttons @{ -
//if (down && repeatCount == 0 && mLauncherKeyEvent == false && getLauncher3KeyEventLocked() && (keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_DOWN)) { -
// return 0; -
//} -
//if (!down && repeatCount == 0 && mLauncherKeyEvent == true && getLauncher3KeyEventLocked() && (keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_DOWN)) { -
// mLauncherKeyEvent = false; -
// return 0; -
//} -
if (repeatCount == 0 && getLauncher3KeyEventLocked() && (keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_DOWN)) { -
if (down && mLauncherKeyEvent == false) { -
mStartTime = System.currentTimeMillis(); // / 1000 -
return 0; -
} else if (!down && mLauncherKeyEvent == true) { -
mLauncherKeyEvent = false; -
mStartTime = 0; -
mCurrentTime = 0; -
return 0; -
} -
} -
if (!down && repeatCount == 0 && mLauncherKeyEvent == false && getLauncher3KeyEventLocked() && (keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_DOWN)) { -
mCurrentTime = System.currentTimeMillis(); // / 1000 -
android.util.Log.d("MMI", "PhoneWindowManager interceptKeyBeforeQueueing mStartTime = " + mStartTime + ", mCurrentTime = " + mCurrentTime); -
if (mCurrentTime - mStartTime < 1200 && keyCode == KeyEvent.KEYCODE_DPAD_UP) { -
mLauncherKeyEvent = true; -
keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_UP); -
keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_UP); -
//mLauncherKeyEvent = false; -
} else if (mCurrentTime - mStartTime < 1200 && keyCode == KeyEvent.KEYCODE_DPAD_DOWN) { -
mLauncherKeyEvent = true; -
keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_DOWN); -
keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_DOWN); -
//mLauncherKeyEvent = false; -
} else if (mCurrentTime - mStartTime >= 1200 && keyCode == KeyEvent.KEYCODE_DPAD_UP) { -
keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT); -
keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_LEFT); -
} else if (mCurrentTime - mStartTime >= 1200 && keyCode == KeyEvent.KEYCODE_DPAD_DOWN) { -
keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_RIGHT); -
keyRemappingSendFakeKeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_RIGHT); -
} -
mStartTime = 0; -
mCurrentTime = 0; -
return 0; -
} -
//MMI_Launcher_Buttons @} /// chenxs: add for volume knob @{ if (!isInjected && (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
@@ -7411,7 +7516,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
}
reportScreenStateToVrManager(false);
-
writeStringToFile("/sys/class/leds/keyboard-backlight/brightness", "0"); //MMI_Buttons_Light
-
//writeStringToFile("/sys/class/leds/keyboard-backlight/brightness", "0"); //MMI_Buttons_Light}
private long getKeyguardDrawnTimeout() {
@@ -7457,7 +7562,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
reportScreenStateToVrManager(true);
//writeStringToFile(“/sys/class/leds/keyboard-backlight/brightness”, “1”); //MMI_Buttons_Light
-
setButtonsLightEnabled(true);
-
//setButtonsLightEnabled(true);}
@Override
@@ -9746,4 +9851,18 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}*/
}
//MMI_Buttons_Light @} -
//MMI_Launcher_Buttons @{
-
private long mKeyRemappingSendFakeKeyDownTime; -
private void keyRemappingSendFakeKeyEvent(int action, int keyCode) { -
long eventTime = SystemClock.uptimeMillis(); -
if (action == KeyEvent.ACTION_DOWN) { -
mKeyRemappingSendFakeKeyDownTime = eventTime; -
} -
KeyEvent keyEvent = new KeyEvent(mKeyRemappingSendFakeKeyDownTime, eventTime, action, keyCode, 0); -
InputManager inputManager = (InputManager) mContext.getSystemService(Context.INPUT_SERVICE); -
inputManager.injectInputEvent(keyEvent, InputManager.INJECT_INPUT_EVENT_MODE_ASYNC); -
}
-
//MMI_Launcher_Buttons @}
}
442

被折叠的 条评论
为什么被折叠?



