From a42c23213087d1ef2d0f1f6fc369b1d21d211595 Mon Sep 17 00:00:00 2001 From: Victor Date: Sun, 3 May 2015 15:44:37 +0300 Subject: [PATCH] =?UTF-8?q?Fix=20#1.=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80?= =?UTF-8?q?=D0=B6=D0=BA=D0=B0=20=D0=BA=D0=BB=D0=B0=D0=B2=D0=B8=D0=B0=D1=82?= =?UTF-8?q?=D1=83=D1=80=D1=8B=20=D0=B8=20=D0=B4=D0=B6=D0=BE=D0=B9=D1=81?= =?UTF-8?q?=D1=82=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../everlastingsummer/ViewActivity.java | 59 ++++++++++++++++--- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/src/com/annimon/everlastingsummer/ViewActivity.java b/src/com/annimon/everlastingsummer/ViewActivity.java index 579fce2..47dbfdf 100644 --- a/src/com/annimon/everlastingsummer/ViewActivity.java +++ b/src/com/annimon/everlastingsummer/ViewActivity.java @@ -39,6 +39,13 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch public static final String EXTRA_SAVE = "save"; private static final String STATE_SAVEINFO = "saveinfo"; + private static final int + ITEM_PREV_SCENE = 0, + ITEM_NEXT_SCENE = 1, + ITEM_NAVIGATE = 2, + ITEM_SAVE = 3, + ITEM_LOAD = 4; + private static final FadeInfo NO_FADE = new FadeInfo(false, false, 0); private static ViewActivity instance; @@ -189,28 +196,64 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch } public boolean onKeyUp(int keyCode, KeyEvent event) { - if (keyCode == KeyEvent.KEYCODE_MENU) { - Dialogs.with(this).showMenu(R.array.menu_items, menu); - return true; + if (event.getRepeatCount() != 0) { + return super.onKeyUp(keyCode, event); + } + switch (keyCode) { + case KeyEvent.KEYCODE_SPACE: + case KeyEvent.KEYCODE_BUTTON_A: + // Далее + onTouchGesture(TouchGestureType.SINGLE_TAP); + return true; + case KeyEvent.KEYCODE_MENU: + case KeyEvent.KEYCODE_ENTER: + case KeyEvent.KEYCODE_BUTTON_START: + // Меню + onTouchGesture(TouchGestureType.SWIPE); + return true; + + case KeyEvent.KEYCODE_Q: + case KeyEvent.KEYCODE_BUTTON_SELECT: + // Меню выхода + onBackPressed(); + return true; + + case KeyEvent.KEYCODE_BUTTON_R1: + case KeyEvent.KEYCODE_S: + onMenuItemSelected(ITEM_SAVE); + return true; + + case KeyEvent.KEYCODE_BUTTON_L1: + case KeyEvent.KEYCODE_L: + onMenuItemSelected(ITEM_LOAD); + return true; + + case KeyEvent.KEYCODE_BUTTON_B: + onMenuItemSelected(ITEM_NAVIGATE); + return true; + + case KeyEvent.KEYCODE_BUTTON_X: + onMenuItemSelected(ITEM_PREV_SCENE); + return true; } return super.onKeyUp(keyCode, event); } private void onMenuItemSelected(int item) { switch (item) { - case 0: + case ITEM_PREV_SCENE: Parser.getInstance().prevScene(); break; - case 1: + case ITEM_NEXT_SCENE: Parser.getInstance().nextScene(); break; - case 2: + case ITEM_NAVIGATE: Dialogs.with(getInstance()).showNavigate(); break; - case 3: + case ITEM_SAVE: saveState(); break; - case 4: + case ITEM_LOAD: showLoadStateDialog(); break; }