tree dbe96a31cb6b275b6c56c16872ec1acd5b1592d9
parent e1701454b2f46503f5886e09d29645688bea27ca
author Tianjie Xu <xunchang@google.com> 1560551731 -0700
committer Tianjie Xu <xunchang@google.com> 1562716027 -0700

Add a new key_pressed_mutex

The following variables in recovery ui were protected by
key_queue_mutex. But the purpose of key_queue_mutex is to protect the
key_queue, which will be changed after we already have a key code. So
getting the key pressed should be orthogonal to the key queue. And
adding a mutex will help to avoid deadlocks in b/135078366.

Variables include:
  char key_pressed[KEY_MAX + 1];
  int key_last_down;
  bool key_long_press;
  int key_down_count;
  bool enable_reboot;

Bug: 135078366
Test: boot into recovery and press keys
Change-Id: Ie2cfcf1f2fec49b53f8fac97aa9a2c60f15b84f9
