/* * Copyright (C) 2018 The Android Open Source Project * * 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.android.bluetooth.audio_util; import android.bluetooth.BluetoothAvrcp; import android.view.KeyEvent; class AvrcpPassthrough { public static int toKeyCode(int operation) { switch (operation) { case BluetoothAvrcp.PASSTHROUGH_ID_UP: return KeyEvent.KEYCODE_DPAD_UP; case BluetoothAvrcp.PASSTHROUGH_ID_DOWN: return KeyEvent.KEYCODE_DPAD_DOWN; case BluetoothAvrcp.PASSTHROUGH_ID_LEFT: return KeyEvent.KEYCODE_DPAD_LEFT; case BluetoothAvrcp.PASSTHROUGH_ID_RIGHT: return KeyEvent.KEYCODE_DPAD_RIGHT; case BluetoothAvrcp.PASSTHROUGH_ID_RIGHT_UP: return KeyEvent.KEYCODE_DPAD_UP_RIGHT; case BluetoothAvrcp.PASSTHROUGH_ID_RIGHT_DOWN: return KeyEvent.KEYCODE_DPAD_DOWN_RIGHT; case BluetoothAvrcp.PASSTHROUGH_ID_LEFT_UP: return KeyEvent.KEYCODE_DPAD_UP_LEFT; case BluetoothAvrcp.PASSTHROUGH_ID_LEFT_DOWN: return KeyEvent.KEYCODE_DPAD_DOWN_LEFT; case BluetoothAvrcp.PASSTHROUGH_ID_0: return KeyEvent.KEYCODE_NUMPAD_0; case BluetoothAvrcp.PASSTHROUGH_ID_1: return KeyEvent.KEYCODE_NUMPAD_1; case BluetoothAvrcp.PASSTHROUGH_ID_2: return KeyEvent.KEYCODE_NUMPAD_2; case BluetoothAvrcp.PASSTHROUGH_ID_3: return KeyEvent.KEYCODE_NUMPAD_3; case BluetoothAvrcp.PASSTHROUGH_ID_4: return KeyEvent.KEYCODE_NUMPAD_4; case BluetoothAvrcp.PASSTHROUGH_ID_5: return KeyEvent.KEYCODE_NUMPAD_5; case BluetoothAvrcp.PASSTHROUGH_ID_6: return KeyEvent.KEYCODE_NUMPAD_6; case BluetoothAvrcp.PASSTHROUGH_ID_7: return KeyEvent.KEYCODE_NUMPAD_7; case BluetoothAvrcp.PASSTHROUGH_ID_8: return KeyEvent.KEYCODE_NUMPAD_8; case BluetoothAvrcp.PASSTHROUGH_ID_9: return KeyEvent.KEYCODE_NUMPAD_9; case BluetoothAvrcp.PASSTHROUGH_ID_DOT: return KeyEvent.KEYCODE_NUMPAD_DOT; case BluetoothAvrcp.PASSTHROUGH_ID_ENTER: return KeyEvent.KEYCODE_NUMPAD_ENTER; case BluetoothAvrcp.PASSTHROUGH_ID_CLEAR: return KeyEvent.KEYCODE_CLEAR; case BluetoothAvrcp.PASSTHROUGH_ID_CHAN_UP: return KeyEvent.KEYCODE_CHANNEL_UP; case BluetoothAvrcp.PASSTHROUGH_ID_CHAN_DOWN: return KeyEvent.KEYCODE_CHANNEL_DOWN; case BluetoothAvrcp.PASSTHROUGH_ID_PREV_CHAN: return KeyEvent.KEYCODE_LAST_CHANNEL; case BluetoothAvrcp.PASSTHROUGH_ID_INPUT_SEL: return KeyEvent.KEYCODE_TV_INPUT; case BluetoothAvrcp.PASSTHROUGH_ID_DISP_INFO: return KeyEvent.KEYCODE_INFO; case BluetoothAvrcp.PASSTHROUGH_ID_HELP: return KeyEvent.KEYCODE_HELP; case BluetoothAvrcp.PASSTHROUGH_ID_PAGE_UP: return KeyEvent.KEYCODE_PAGE_UP; case BluetoothAvrcp.PASSTHROUGH_ID_PAGE_DOWN: return KeyEvent.KEYCODE_PAGE_DOWN; case BluetoothAvrcp.PASSTHROUGH_ID_POWER: return KeyEvent.KEYCODE_POWER; case BluetoothAvrcp.PASSTHROUGH_ID_VOL_UP: return KeyEvent.KEYCODE_VOLUME_UP; case BluetoothAvrcp.PASSTHROUGH_ID_VOL_DOWN: return KeyEvent.KEYCODE_VOLUME_DOWN; case BluetoothAvrcp.PASSTHROUGH_ID_MUTE: return KeyEvent.KEYCODE_MUTE; case BluetoothAvrcp.PASSTHROUGH_ID_PLAY: return KeyEvent.KEYCODE_MEDIA_PLAY; case BluetoothAvrcp.PASSTHROUGH_ID_STOP: return KeyEvent.KEYCODE_MEDIA_STOP; case BluetoothAvrcp.PASSTHROUGH_ID_PAUSE: return KeyEvent.KEYCODE_MEDIA_PAUSE; case BluetoothAvrcp.PASSTHROUGH_ID_RECORD: return KeyEvent.KEYCODE_MEDIA_RECORD; case BluetoothAvrcp.PASSTHROUGH_ID_REWIND: return KeyEvent.KEYCODE_MEDIA_REWIND; case BluetoothAvrcp.PASSTHROUGH_ID_FAST_FOR: return KeyEvent.KEYCODE_MEDIA_FAST_FORWARD; case BluetoothAvrcp.PASSTHROUGH_ID_EJECT: return KeyEvent.KEYCODE_MEDIA_EJECT; case BluetoothAvrcp.PASSTHROUGH_ID_FORWARD: return KeyEvent.KEYCODE_MEDIA_NEXT; case BluetoothAvrcp.PASSTHROUGH_ID_BACKWARD: return KeyEvent.KEYCODE_MEDIA_PREVIOUS; case BluetoothAvrcp.PASSTHROUGH_ID_F1: return KeyEvent.KEYCODE_F1; case BluetoothAvrcp.PASSTHROUGH_ID_F2: return KeyEvent.KEYCODE_F2; case BluetoothAvrcp.PASSTHROUGH_ID_F3: return KeyEvent.KEYCODE_F3; case BluetoothAvrcp.PASSTHROUGH_ID_F4: return KeyEvent.KEYCODE_F4; case BluetoothAvrcp.PASSTHROUGH_ID_F5: return KeyEvent.KEYCODE_F5; // Fallthrough for all unknown key mappings case BluetoothAvrcp.PASSTHROUGH_ID_SELECT: case BluetoothAvrcp.PASSTHROUGH_ID_ROOT_MENU: case BluetoothAvrcp.PASSTHROUGH_ID_SETUP_MENU: case BluetoothAvrcp.PASSTHROUGH_ID_CONT_MENU: case BluetoothAvrcp.PASSTHROUGH_ID_FAV_MENU: case BluetoothAvrcp.PASSTHROUGH_ID_EXIT: case BluetoothAvrcp.PASSTHROUGH_ID_SOUND_SEL: case BluetoothAvrcp.PASSTHROUGH_ID_ANGLE: case BluetoothAvrcp.PASSTHROUGH_ID_SUBPICT: case BluetoothAvrcp.PASSTHROUGH_ID_VENDOR: default: return KeyEvent.KEYCODE_UNKNOWN; } } }