public boolean acceptKeyEvent(final int code, final boolean press) { switch (code) { case KeyEvent.KEYCODE_POWER: case KeyEvent.KEYCODE_HOME: case KeyEvent.KEYCODE_BACK: case KeyEvent.KEYCODE_MENU: logKeyEvent(code, press, "rejected"); return false; default: logKeyEvent(code, press, "accepted"); break; } if (BrailleService.getBrailleService() == null) { Log.w(LOG_TAG, "braille service not started"); return false; } CoreWrapper.runOnCoreThread( new Runnable() { @Override public void run() { logKeyEvent(code, press, "delivered"); if (handleKeyEvent(code, press)) { logKeyEvent(code, press, "handled"); } else { forwardKeyEvent(code, press); } } }); return true; }
private static boolean performGlobalAction(int action) { return BrailleService.getBrailleService().performGlobalAction(action); }
@Override public boolean performAction() { return BrailleService.getBrailleService().launchSettingsActivity(); }