Home | History | Annotate | Download | only in helpers
      1 /*
      2  * Copyright (C) 2018 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package com.android.bluetooth.avrcp;
     18 
     19 import android.bluetooth.BluetoothAvrcp;
     20 import android.view.KeyEvent;
     21 
     22 class AvrcpPassthrough {
     23     public static int toKeyCode(int operation) {
     24         switch (operation) {
     25             case BluetoothAvrcp.PASSTHROUGH_ID_UP:
     26                 return KeyEvent.KEYCODE_DPAD_UP;
     27             case BluetoothAvrcp.PASSTHROUGH_ID_DOWN:
     28                 return KeyEvent.KEYCODE_DPAD_DOWN;
     29             case BluetoothAvrcp.PASSTHROUGH_ID_LEFT:
     30                 return KeyEvent.KEYCODE_DPAD_LEFT;
     31             case BluetoothAvrcp.PASSTHROUGH_ID_RIGHT:
     32                 return KeyEvent.KEYCODE_DPAD_RIGHT;
     33             case BluetoothAvrcp.PASSTHROUGH_ID_RIGHT_UP:
     34                 return KeyEvent.KEYCODE_DPAD_UP_RIGHT;
     35             case BluetoothAvrcp.PASSTHROUGH_ID_RIGHT_DOWN:
     36                 return KeyEvent.KEYCODE_DPAD_DOWN_RIGHT;
     37             case BluetoothAvrcp.PASSTHROUGH_ID_LEFT_UP:
     38                 return KeyEvent.KEYCODE_DPAD_UP_LEFT;
     39             case BluetoothAvrcp.PASSTHROUGH_ID_LEFT_DOWN:
     40                 return KeyEvent.KEYCODE_DPAD_DOWN_LEFT;
     41             case BluetoothAvrcp.PASSTHROUGH_ID_0:
     42                 return KeyEvent.KEYCODE_NUMPAD_0;
     43             case BluetoothAvrcp.PASSTHROUGH_ID_1:
     44                 return KeyEvent.KEYCODE_NUMPAD_1;
     45             case BluetoothAvrcp.PASSTHROUGH_ID_2:
     46                 return KeyEvent.KEYCODE_NUMPAD_2;
     47             case BluetoothAvrcp.PASSTHROUGH_ID_3:
     48                 return KeyEvent.KEYCODE_NUMPAD_3;
     49             case BluetoothAvrcp.PASSTHROUGH_ID_4:
     50                 return KeyEvent.KEYCODE_NUMPAD_4;
     51             case BluetoothAvrcp.PASSTHROUGH_ID_5:
     52                 return KeyEvent.KEYCODE_NUMPAD_5;
     53             case BluetoothAvrcp.PASSTHROUGH_ID_6:
     54                 return KeyEvent.KEYCODE_NUMPAD_6;
     55             case BluetoothAvrcp.PASSTHROUGH_ID_7:
     56                 return KeyEvent.KEYCODE_NUMPAD_7;
     57             case BluetoothAvrcp.PASSTHROUGH_ID_8:
     58                 return KeyEvent.KEYCODE_NUMPAD_8;
     59             case BluetoothAvrcp.PASSTHROUGH_ID_9:
     60                 return KeyEvent.KEYCODE_NUMPAD_9;
     61             case BluetoothAvrcp.PASSTHROUGH_ID_DOT:
     62                 return KeyEvent.KEYCODE_NUMPAD_DOT;
     63             case BluetoothAvrcp.PASSTHROUGH_ID_ENTER:
     64                 return KeyEvent.KEYCODE_NUMPAD_ENTER;
     65             case BluetoothAvrcp.PASSTHROUGH_ID_CLEAR:
     66                 return KeyEvent.KEYCODE_CLEAR;
     67             case BluetoothAvrcp.PASSTHROUGH_ID_CHAN_UP:
     68                 return KeyEvent.KEYCODE_CHANNEL_UP;
     69             case BluetoothAvrcp.PASSTHROUGH_ID_CHAN_DOWN:
     70                 return KeyEvent.KEYCODE_CHANNEL_DOWN;
     71             case BluetoothAvrcp.PASSTHROUGH_ID_PREV_CHAN:
     72                 return KeyEvent.KEYCODE_LAST_CHANNEL;
     73             case BluetoothAvrcp.PASSTHROUGH_ID_INPUT_SEL:
     74                 return KeyEvent.KEYCODE_TV_INPUT;
     75             case BluetoothAvrcp.PASSTHROUGH_ID_DISP_INFO:
     76                 return KeyEvent.KEYCODE_INFO;
     77             case BluetoothAvrcp.PASSTHROUGH_ID_HELP:
     78                 return KeyEvent.KEYCODE_HELP;
     79             case BluetoothAvrcp.PASSTHROUGH_ID_PAGE_UP:
     80                 return KeyEvent.KEYCODE_PAGE_UP;
     81             case BluetoothAvrcp.PASSTHROUGH_ID_PAGE_DOWN:
     82                 return KeyEvent.KEYCODE_PAGE_DOWN;
     83             case BluetoothAvrcp.PASSTHROUGH_ID_POWER:
     84                 return KeyEvent.KEYCODE_POWER;
     85             case BluetoothAvrcp.PASSTHROUGH_ID_VOL_UP:
     86                 return KeyEvent.KEYCODE_VOLUME_UP;
     87             case BluetoothAvrcp.PASSTHROUGH_ID_VOL_DOWN:
     88                 return KeyEvent.KEYCODE_VOLUME_DOWN;
     89             case BluetoothAvrcp.PASSTHROUGH_ID_MUTE:
     90                 return KeyEvent.KEYCODE_MUTE;
     91             case BluetoothAvrcp.PASSTHROUGH_ID_PLAY:
     92                 return KeyEvent.KEYCODE_MEDIA_PLAY;
     93             case BluetoothAvrcp.PASSTHROUGH_ID_STOP:
     94                 return KeyEvent.KEYCODE_MEDIA_STOP;
     95             case BluetoothAvrcp.PASSTHROUGH_ID_PAUSE:
     96                 return KeyEvent.KEYCODE_MEDIA_PAUSE;
     97             case BluetoothAvrcp.PASSTHROUGH_ID_RECORD:
     98                 return KeyEvent.KEYCODE_MEDIA_RECORD;
     99             case BluetoothAvrcp.PASSTHROUGH_ID_REWIND:
    100                 return KeyEvent.KEYCODE_MEDIA_REWIND;
    101             case BluetoothAvrcp.PASSTHROUGH_ID_FAST_FOR:
    102                 return KeyEvent.KEYCODE_MEDIA_FAST_FORWARD;
    103             case BluetoothAvrcp.PASSTHROUGH_ID_EJECT:
    104                 return KeyEvent.KEYCODE_MEDIA_EJECT;
    105             case BluetoothAvrcp.PASSTHROUGH_ID_FORWARD:
    106                 return KeyEvent.KEYCODE_MEDIA_NEXT;
    107             case BluetoothAvrcp.PASSTHROUGH_ID_BACKWARD:
    108                 return KeyEvent.KEYCODE_MEDIA_PREVIOUS;
    109             case BluetoothAvrcp.PASSTHROUGH_ID_F1:
    110                 return KeyEvent.KEYCODE_F1;
    111             case BluetoothAvrcp.PASSTHROUGH_ID_F2:
    112                 return KeyEvent.KEYCODE_F2;
    113             case BluetoothAvrcp.PASSTHROUGH_ID_F3:
    114                 return KeyEvent.KEYCODE_F3;
    115             case BluetoothAvrcp.PASSTHROUGH_ID_F4:
    116                 return KeyEvent.KEYCODE_F4;
    117             case BluetoothAvrcp.PASSTHROUGH_ID_F5:
    118                 return KeyEvent.KEYCODE_F5;
    119             // Fallthrough for all unknown key mappings
    120             case BluetoothAvrcp.PASSTHROUGH_ID_SELECT:
    121             case BluetoothAvrcp.PASSTHROUGH_ID_ROOT_MENU:
    122             case BluetoothAvrcp.PASSTHROUGH_ID_SETUP_MENU:
    123             case BluetoothAvrcp.PASSTHROUGH_ID_CONT_MENU:
    124             case BluetoothAvrcp.PASSTHROUGH_ID_FAV_MENU:
    125             case BluetoothAvrcp.PASSTHROUGH_ID_EXIT:
    126             case BluetoothAvrcp.PASSTHROUGH_ID_SOUND_SEL:
    127             case BluetoothAvrcp.PASSTHROUGH_ID_ANGLE:
    128             case BluetoothAvrcp.PASSTHROUGH_ID_SUBPICT:
    129             case BluetoothAvrcp.PASSTHROUGH_ID_VENDOR:
    130             default:
    131                 return KeyEvent.KEYCODE_UNKNOWN;
    132         }
    133     }
    134 }
    135