summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Anderson <dvander@google.com>2019-02-21 05:07:29 +0100
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-02-21 05:07:29 +0100
commitd294935bf7cee78cf7f017d08e714b326a5aeef9 (patch)
treee4b27f45eb173760b939c9261176047da8b0b40a
parentMerge "Defer marking boot successful when checkpointing" (diff)
parentAdd a logo to the fastbootd screen. (diff)
downloadandroid_bootable_recovery-d294935bf7cee78cf7f017d08e714b326a5aeef9.tar
android_bootable_recovery-d294935bf7cee78cf7f017d08e714b326a5aeef9.tar.gz
android_bootable_recovery-d294935bf7cee78cf7f017d08e714b326a5aeef9.tar.bz2
android_bootable_recovery-d294935bf7cee78cf7f017d08e714b326a5aeef9.tar.lz
android_bootable_recovery-d294935bf7cee78cf7f017d08e714b326a5aeef9.tar.xz
android_bootable_recovery-d294935bf7cee78cf7f017d08e714b326a5aeef9.tar.zst
android_bootable_recovery-d294935bf7cee78cf7f017d08e714b326a5aeef9.zip
-rw-r--r--recovery_main.cpp2
-rw-r--r--res-hdpi/images/fastbootd.pngbin0 -> 6916 bytes
-rw-r--r--res-mdpi/images/fastbootd.pngbin0 -> 4607 bytes
-rw-r--r--res-xhdpi/images/fastbootd.pngbin0 -> 9293 bytes
-rw-r--r--res-xxhdpi/images/fastbootd.pngbin0 -> 13755 bytes
-rw-r--r--res-xxxhdpi/images/fastbootd.pngbin0 -> 8107 bytes
-rw-r--r--screen_ui.cpp14
-rw-r--r--screen_ui.h2
-rw-r--r--ui.cpp1
-rw-r--r--ui.h8
10 files changed, 26 insertions, 1 deletions
diff --git a/recovery_main.cpp b/recovery_main.cpp
index 6f5080238..7fb46163e 100644
--- a/recovery_main.cpp
+++ b/recovery_main.cpp
@@ -458,6 +458,8 @@ int main(int argc, char** argv) {
}
}
+ ui->SetEnableFastbootdLogo(fastboot);
+
auto ret = fastboot ? StartFastboot(device, args) : start_recovery(device, args);
if (ret == Device::KEY_INTERRUPTED) {
diff --git a/res-hdpi/images/fastbootd.png b/res-hdpi/images/fastbootd.png
new file mode 100644
index 000000000..5127b3b37
--- /dev/null
+++ b/res-hdpi/images/fastbootd.png
Binary files differ
diff --git a/res-mdpi/images/fastbootd.png b/res-mdpi/images/fastbootd.png
new file mode 100644
index 000000000..c1b7bc2fb
--- /dev/null
+++ b/res-mdpi/images/fastbootd.png
Binary files differ
diff --git a/res-xhdpi/images/fastbootd.png b/res-xhdpi/images/fastbootd.png
new file mode 100644
index 000000000..e3da85ad7
--- /dev/null
+++ b/res-xhdpi/images/fastbootd.png
Binary files differ
diff --git a/res-xxhdpi/images/fastbootd.png b/res-xxhdpi/images/fastbootd.png
new file mode 100644
index 000000000..482dbb29c
--- /dev/null
+++ b/res-xxhdpi/images/fastbootd.png
Binary files differ
diff --git a/res-xxxhdpi/images/fastbootd.png b/res-xxxhdpi/images/fastbootd.png
new file mode 100644
index 000000000..a878b1f06
--- /dev/null
+++ b/res-xxxhdpi/images/fastbootd.png
Binary files differ
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<std::string>& 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();
diff --git a/screen_ui.h b/screen_ui.h
index acd44c819..5cda2a2e5 100644
--- a/screen_ui.h
+++ b/screen_ui.h
@@ -345,6 +345,8 @@ class ScreenRecoveryUI : public RecoveryUI, public DrawInterface {
std::unique_ptr<GRSurface> wipe_data_confirmation_text_;
std::unique_ptr<GRSurface> wipe_data_menu_header_text_;
+ std::unique_ptr<GRSurface> fastbootd_logo_;
+
// current_icon_ points to one of the frames in intro_frames_ or loop_frames_, indexed by
// current_frame_, or error_icon_.
Icon current_icon_;
diff --git a/ui.cpp b/ui.cpp
index 14b5b0941..c12a11b36 100644
--- a/ui.cpp
+++ b/ui.cpp
@@ -59,6 +59,7 @@ RecoveryUI::RecoveryUI()
brightness_file_(BRIGHTNESS_FILE),
max_brightness_file_(MAX_BRIGHTNESS_FILE),
touch_screen_allowed_(false),
+ fastbootd_logo_enabled_(false),
touch_low_threshold_(android::base::GetIntProperty("ro.recovery.ui.touch_low_threshold",
kDefaultTouchLowThreshold)),
touch_high_threshold_(android::base::GetIntProperty("ro.recovery.ui.touch_high_threshold",
diff --git a/ui.h b/ui.h
index 4924fec52..b387ae3c9 100644
--- a/ui.h
+++ b/ui.h
@@ -168,7 +168,6 @@ class RecoveryUI {
virtual size_t ShowPromptWipeDataMenu(const std::vector<std::string>& backup_headers,
const std::vector<std::string>& backup_items,
const std::function<int(int, bool)>& key_handler) = 0;
-
// Displays the localized wipe data confirmation menu with pre-generated images. Falls back to
// the text strings upon failures. The initial selection is the 0th item, which returns to the
// upper level menu.
@@ -176,6 +175,11 @@ class RecoveryUI {
const std::vector<std::string>& backup_headers, const std::vector<std::string>& backup_items,
const std::function<int(int, bool)>& key_handler) = 0;
+ // Set whether or not the fastbootd logo is displayed.
+ void SetEnableFastbootdLogo(bool enable) {
+ fastbootd_logo_enabled_ = enable;
+ }
+
// Resets the key interrupt status.
void ResetKeyInterruptStatus() {
key_interrupted_ = false;
@@ -200,6 +204,8 @@ class RecoveryUI {
// Whether we should listen for touch inputs (default: false).
bool touch_screen_allowed_;
+ bool fastbootd_logo_enabled_;
+
private:
enum class ScreensaverState {
DISABLED,