blob: afdae1178801a2b23332425c1aa636bea67d73be [file] [log] [blame]
/*
* 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;
}
}
}