From 983e2d571814ffaf9a88bc6cbc976ff3445d4aae Mon Sep 17 00:00:00 2001 From: David Anderson Date: Wed, 2 Jan 2019 11:35:38 -0800 Subject: Add a logo to the fastbootd screen. fastbootd looks too much like recovery, even if you're carefully reading the menu. It's not obvious the device is in a flashing mode, and it's too tempting to reboot or unplug the device in this state. As a first step, this patch adds a big red "fastbootd" logo so it's less obviously in recovery mode. Bug: 120429730 Test: manual test Change-Id: I73359f1fdfdc0b1694993f760fe7f35c5713b24e --- screen_ui.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'screen_ui.cpp') diff --git a/screen_ui.cpp b/screen_ui.cpp index 6c00a2235..6f2b68b41 100644 --- a/screen_ui.cpp +++ b/screen_ui.cpp @@ -701,6 +701,16 @@ void ScreenRecoveryUI::draw_screen_locked() { void ScreenRecoveryUI::draw_menu_and_text_buffer_locked( const std::vector& help_message) { int y = margin_height_; + + if (fastbootd_logo_ && fastbootd_logo_enabled_) { + // Try to get this centered on screen. + auto width = gr_get_width(fastbootd_logo_.get()); + auto height = gr_get_height(fastbootd_logo_.get()); + auto centered_x = ScreenWidth() / 2 - width / 2; + DrawSurface(fastbootd_logo_.get(), 0, 0, width, height, centered_x, y); + y += height; + } + if (menu_) { int x = margin_width_ + kMenuIndent; @@ -890,6 +900,10 @@ bool ScreenRecoveryUI::Init(const std::string& locale) { no_command_text_ = LoadLocalizedBitmap("no_command_text"); error_text_ = LoadLocalizedBitmap("error_text"); + if (android::base::GetBoolProperty("ro.boot.dynamic_partitions", false)) { + fastbootd_logo_ = LoadBitmap("fastbootd"); + } + // Background text for "installing_update" could be "installing update" or // "installing security update". It will be set after Init() according to the commands in BCB. installing_text_.reset(); -- cgit v1.2.3