/* * Copyright (C) 2012 Google Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.example.google.tv.anymotelibrary.util; import com.google.anymote.Key; import com.google.anymote.Key.Code; import com.example.google.tv.anymotelibrary.client.AnymoteSender; /** * Lists common control actions on a Google TV box. */ public enum Action { BACKSPACE { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_DEL); } }, CLICK_DOWN { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKey(Code.BTN_MOUSE, Key.Action.DOWN); } }, CLICK_UP { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKey(Code.BTN_MOUSE, Key.Action.UP); } }, DPAD_CENTER { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_DPAD_CENTER); } }, DPAD_DOWN { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_DPAD_DOWN); } }, DPAD_DOWN_PRESSED { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKey(Code.KEYCODE_DPAD_DOWN, Key.Action.DOWN); } }, DPAD_DOWN_RELEASED { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKey(Code.KEYCODE_DPAD_DOWN, Key.Action.UP); } }, DPAD_LEFT { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_DPAD_LEFT); } }, DPAD_LEFT_PRESSED { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKey(Code.KEYCODE_DPAD_LEFT, Key.Action.DOWN); } }, DPAD_LEFT_RELEASED { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKey(Code.KEYCODE_DPAD_LEFT, Key.Action.UP); } }, DPAD_RIGHT { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_DPAD_RIGHT); } }, DPAD_RIGHT_PRESSED { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKey(Code.KEYCODE_DPAD_RIGHT, Key.Action.DOWN); } }, DPAD_RIGHT_RELEASED { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKey(Code.KEYCODE_DPAD_RIGHT, Key.Action.UP); } }, DPAD_UP { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_DPAD_UP); } }, DPAD_UP_PRESSED { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKey(Code.KEYCODE_DPAD_UP, Key.Action.DOWN); } }, DPAD_UP_RELEASED { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKey(Code.KEYCODE_DPAD_UP, Key.Action.UP); } }, ENTER { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_ENTER); } }, ESCAPE { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_ESCAPE); } }, GO_TO_DVR { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_DVR); } }, GO_TO_GUIDE { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_GUIDE); } }, GO_TO_LIVE_TV { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_LIVE); } }, NAVBAR { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_SEARCH); } }, POWER { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_POWER); } }, VOLUME_DOWN { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_VOLUME_DOWN); } }, VOLUME_UP { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_VOLUME_UP); } }, ZOOM_IN { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_ZOOM_IN); } }, ZOOM_OUT { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_ZOOM_OUT); } }, COLOR_RED { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_PROG_RED); } }, COLOR_GREEN { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_PROG_GREEN); } }, COLOR_YELLOW { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_PROG_YELLOW); } }, COLOR_BLUE { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_PROG_BLUE); } }, POWER_BD { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_BD_POWER); } }, INPUT_BD { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_BD_INPUT); } }, POWER_AVR { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_AVR_POWER); } }, INPUT_AVR { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_AVR_INPUT); } }, POWER_TV { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_TV_POWER); } }, INPUT_TV { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_TV_INPUT); } }, BD_TOP_MENU { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_BD_TOP_MENU); } }, BD_MENU { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_BD_POPUP_MENU); } }, EJECT { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_EJECT); } }, AUDIO { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_AUDIO); } }, SETTINGS { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_SETTINGS); } }, CAPTIONS { @Override public void execute(AnymoteSender anymoteProxy) { anymoteProxy.sendKeyPress(Code.KEYCODE_INSERT); } }; /** * Executes the action. * * @param anymoteProxy interface to the remote box */ public abstract void execute(AnymoteSender anymoteProxy); }