From b44702a80ae8efcb3090aa6a4331ec3d93e04f10 Mon Sep 17 00:00:00 2001 From: fredchiou Date: Fri, 11 Feb 2022 16:39:53 +0800 Subject: recovery_ui:Add support for multiple connectors switch Bug: 199253219 Test: display can switch in recovery Change-Id: If58ea5423f64420db3e5bd9307194b56129d6543 --- recovery_ui/include/recovery_ui/screen_ui.h | 6 ++++++ recovery_ui/include/recovery_ui/stub_ui.h | 4 ++++ recovery_ui/include/recovery_ui/ui.h | 2 ++ 3 files changed, 12 insertions(+) (limited to 'recovery_ui/include') diff --git a/recovery_ui/include/recovery_ui/screen_ui.h b/recovery_ui/include/recovery_ui/screen_ui.h index 92b3c2546..99ad53420 100644 --- a/recovery_ui/include/recovery_ui/screen_ui.h +++ b/recovery_ui/include/recovery_ui/screen_ui.h @@ -245,6 +245,9 @@ class ScreenRecoveryUI : public RecoveryUI, public DrawInterface { const std::vector& backup_headers, const std::vector& backup_items, const std::function& key_handler) override; + // For Lid switch handle + int SetSwCallback(int code, int value) override; + protected: static constexpr int kMenuIndent = 4; @@ -404,6 +407,9 @@ class ScreenRecoveryUI : public RecoveryUI, public DrawInterface { std::mutex updateMutex; + // Switch the display to active one after graphics is ready + bool is_graphics_available; + private: void SetLocale(const std::string&); diff --git a/recovery_ui/include/recovery_ui/stub_ui.h b/recovery_ui/include/recovery_ui/stub_ui.h index 511b1314a..49689ba36 100644 --- a/recovery_ui/include/recovery_ui/stub_ui.h +++ b/recovery_ui/include/recovery_ui/stub_ui.h @@ -80,6 +80,10 @@ class StubRecoveryUI : public RecoveryUI { } void SetTitle(const std::vector& /* lines */) override {} + + int SetSwCallback(int /* code */, int /* value */) override { + return 0; + } }; #endif // RECOVERY_STUB_UI_H diff --git a/recovery_ui/include/recovery_ui/ui.h b/recovery_ui/include/recovery_ui/ui.h index 512732f90..c3e3ee26c 100644 --- a/recovery_ui/include/recovery_ui/ui.h +++ b/recovery_ui/include/recovery_ui/ui.h @@ -231,6 +231,8 @@ class RecoveryUI { bool InitScreensaver(); void SetScreensaverState(ScreensaverState state); + virtual int SetSwCallback(int code, int value) = 0; + // Key event input queue std::mutex key_queue_mutex; std::condition_variable key_queue_cond; -- cgit v1.2.3