keyhandler: don't parse physical button events if KeyDisabler are on (virtual navbars)

This commit is contained in:
Moyster 2018-01-30 17:09:03 +01:00
parent bfdd87735f
commit 288642ca49
1 changed files with 7 additions and 2 deletions

View File

@ -49,6 +49,7 @@ import android.util.Log;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.WindowManagerGlobal; import android.view.WindowManagerGlobal;
import cyanogenmod.hardware.CMHardwareManager;
import cyanogenmod.providers.CMSettings; import cyanogenmod.providers.CMSettings;
import com.android.internal.os.DeviceKeyHandler; import com.android.internal.os.DeviceKeyHandler;
@ -296,7 +297,8 @@ public class KeyHandler implements DeviceKeyHandler {
public KeyEvent handleKeyEvent(KeyEvent event) { public KeyEvent handleKeyEvent(KeyEvent event) {
KeyEvent isHandled = event; KeyEvent isHandled = event;
CMHardwareManager hardware = CMHardwareManager.getInstance(mContext);
boolean virtualKeysEnabled = hardware.get(CMHardwareManager.FEATURE_KEY_DISABLE);
switch (event.getScanCode()) { switch (event.getScanCode()) {
case 102: // Home button event case 102: // Home button event
@ -306,7 +308,7 @@ public class KeyHandler implements DeviceKeyHandler {
} }
isLastPressHomeButton = mPowerManager.isInteractive() isLastPressHomeButton = mPowerManager.isInteractive()
&& event.getKeyCode() == KeyEvent.KEYCODE_HOME; && event.getKeyCode() == KeyEvent.KEYCODE_HOME;
} }
break; break;
case 195: // Gesture event case 195: // Gesture event
isHandled = null; isHandled = null;
@ -333,6 +335,9 @@ public class KeyHandler implements DeviceKeyHandler {
} }
} }
} }
if (event.getScanCode() == 102) {
return virtualKeysEnabled ? null : isHandled;
}
return isHandled; return isHandled;
} }