summaryrefslogtreecommitdiffstats
path: root/ui.h
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2017-07-28 09:05:40 +0200
committerTao Bao <tbao@google.com>2017-08-03 20:10:28 +0200
commitaf9f8b4d97af56b5abcb622aaecebce59179bc0b (patch)
treee091989527baa95a5ce2a29e11e9593f2b45b766 /ui.h
parentrecovery: handle security footer before passing size to mke2fs (diff)
downloadandroid_bootable_recovery-af9f8b4d97af56b5abcb622aaecebce59179bc0b.tar
android_bootable_recovery-af9f8b4d97af56b5abcb622aaecebce59179bc0b.tar.gz
android_bootable_recovery-af9f8b4d97af56b5abcb622aaecebce59179bc0b.tar.bz2
android_bootable_recovery-af9f8b4d97af56b5abcb622aaecebce59179bc0b.tar.lz
android_bootable_recovery-af9f8b4d97af56b5abcb622aaecebce59179bc0b.tar.xz
android_bootable_recovery-af9f8b4d97af56b5abcb622aaecebce59179bc0b.tar.zst
android_bootable_recovery-af9f8b4d97af56b5abcb622aaecebce59179bc0b.zip
Diffstat (limited to 'ui.h')
-rw-r--r--ui.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/ui.h b/ui.h
index 7eb04aec8..5cda7af0f 100644
--- a/ui.h
+++ b/ui.h
@@ -82,6 +82,12 @@ class RecoveryUI {
// otherwise.
virtual bool HasThreeButtons();
+ // Returns true if it has a power key.
+ virtual bool HasPowerKey() const;
+
+ // Returns true if it supports touch inputs.
+ virtual bool HasTouchScreen() const;
+
// Erases any queued-up keys.
virtual void FlushKeys();
@@ -129,7 +135,14 @@ class RecoveryUI {
unsigned int brightness_normal_;
unsigned int brightness_dimmed_;
+ // Whether we should listen for touch inputs (default: false).
+ bool touch_screen_allowed_;
+
private:
+ // The sensitivity when detecting a swipe.
+ const int kTouchLowThreshold;
+ const int kTouchHighThreshold;
+
// Key event input queue
pthread_mutex_t key_queue_mutex;
pthread_cond_t key_queue_cond;
@@ -147,6 +160,16 @@ class RecoveryUI {
bool has_power_key;
bool has_up_key;
bool has_down_key;
+ bool has_touch_screen;
+
+ // Touch event related variables. See the comments in RecoveryUI::OnInputEvent().
+ int touch_slot_;
+ int touch_X_;
+ int touch_Y_;
+ int touch_start_X_;
+ int touch_start_Y_;
+ bool touch_finger_down_;
+ bool touch_swiping_;
struct key_timer_t {
RecoveryUI* ui;
@@ -157,6 +180,7 @@ class RecoveryUI {
pthread_t input_thread_;
void OnKeyDetected(int key_code);
+ void OnTouchDetected(int dx, int dy);
int OnInputEvent(int fd, uint32_t epevents);
void ProcessKey(int key_code, int updown);