| /* |
| * 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; |
| } |
| } |
| } |