Loading recovery.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ #include "roots.h" #include "rotate_logs.h" #include "screen_ui.h" #include "stub_ui.h" #include "ui.h" static const struct option OPTIONS[] = { Loading Loading @@ -1471,8 +1472,11 @@ int main(int argc, char **argv) { Device* device = make_device(); ui = device->GetUI(); if (!ui->Init()) { printf("Failed to initialize UI, use stub UI instead."); ui = new StubRecoveryUI(); } ui->SetLocale(locale.c_str()); ui->Init(); // Set background string to "installing security update" for security update, // otherwise set it to "installing system update". ui->SetSystemUpdateText(security_update); Loading screen_ui.cpp +11 −4 Original line number Diff line number Diff line Loading @@ -448,17 +448,22 @@ void ScreenRecoveryUI::SetSystemUpdateText(bool security_update) { Redraw(); } void ScreenRecoveryUI::InitTextParams() { gr_init(); bool ScreenRecoveryUI::InitTextParams() { if (gr_init() < 0) { return false; } gr_font_size(gr_sys_font(), &char_width_, &char_height_); text_rows_ = gr_fb_height() / char_height_; text_cols_ = gr_fb_width() / char_width_; return true; } void ScreenRecoveryUI::Init() { bool ScreenRecoveryUI::Init() { RecoveryUI::Init(); InitTextParams(); if (!InitTextParams()) { return false; } density_ = static_cast<float>(android::base::GetIntProperty("ro.sf.lcd_density", 160)) / 160.f; Loading Loading @@ -493,6 +498,8 @@ void ScreenRecoveryUI::Init() { LoadAnimation(); pthread_create(&progress_thread_, nullptr, ProgressThreadStartRoutine, this); return true; } void ScreenRecoveryUI::LoadAnimation() { Loading screen_ui.h +2 −2 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ class ScreenRecoveryUI : public RecoveryUI { public: ScreenRecoveryUI(); void Init(); bool Init() override; void SetLocale(const char* locale); // overall recovery state ("background image") Loading Loading @@ -137,7 +137,7 @@ class ScreenRecoveryUI : public RecoveryUI { pthread_mutex_t updateMutex; bool rtl_locale; virtual void InitTextParams(); virtual bool InitTextParams(); virtual void draw_background_locked(); virtual void draw_foreground_locked(); Loading stub_ui.h 0 → 100644 +67 −0 Original line number Diff line number Diff line /* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RECOVERY_STUB_UI_H #define RECOVERY_STUB_UI_H #include "ui.h" // Stub implementation of RecoveryUI for devices without screen. class StubRecoveryUI : public RecoveryUI { public: StubRecoveryUI() = default; void SetLocale(const char* locale) override {} void SetBackground(Icon icon) override {} void SetSystemUpdateText(bool security_update) override {} // progress indicator void SetProgressType(ProgressType type) override {} void ShowProgress(float portion, float seconds) override {} void SetProgress(float fraction) override {} void SetStage(int current, int max) override {} // text log void ShowText(bool visible) override {} bool IsTextVisible() override { return false; } bool WasTextEverVisible() override { return false; } // printing messages void Print(const char* fmt, ...) override { va_list ap; va_start(ap, fmt); vprintf(fmt, ap); va_end(ap); } void PrintOnScreenOnly(const char* fmt, ...) override {} void ShowFile(const char* filename) override {} // menu display void StartMenu(const char* const* headers, const char* const* items, int initial_selection) override {} int SelectMenu(int sel) override { return sel; } void EndMenu() override {} }; #endif // RECOVERY_STUB_UI_H tests/component/verifier_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ RecoveryUI* ui = NULL; class MockUI : public RecoveryUI { void Init() { } bool Init() { return true; } void SetStage(int, int) { } void SetLocale(const char*) { } void SetBackground(Icon /*icon*/) { } Loading Loading
recovery.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ #include "roots.h" #include "rotate_logs.h" #include "screen_ui.h" #include "stub_ui.h" #include "ui.h" static const struct option OPTIONS[] = { Loading Loading @@ -1471,8 +1472,11 @@ int main(int argc, char **argv) { Device* device = make_device(); ui = device->GetUI(); if (!ui->Init()) { printf("Failed to initialize UI, use stub UI instead."); ui = new StubRecoveryUI(); } ui->SetLocale(locale.c_str()); ui->Init(); // Set background string to "installing security update" for security update, // otherwise set it to "installing system update". ui->SetSystemUpdateText(security_update); Loading
screen_ui.cpp +11 −4 Original line number Diff line number Diff line Loading @@ -448,17 +448,22 @@ void ScreenRecoveryUI::SetSystemUpdateText(bool security_update) { Redraw(); } void ScreenRecoveryUI::InitTextParams() { gr_init(); bool ScreenRecoveryUI::InitTextParams() { if (gr_init() < 0) { return false; } gr_font_size(gr_sys_font(), &char_width_, &char_height_); text_rows_ = gr_fb_height() / char_height_; text_cols_ = gr_fb_width() / char_width_; return true; } void ScreenRecoveryUI::Init() { bool ScreenRecoveryUI::Init() { RecoveryUI::Init(); InitTextParams(); if (!InitTextParams()) { return false; } density_ = static_cast<float>(android::base::GetIntProperty("ro.sf.lcd_density", 160)) / 160.f; Loading Loading @@ -493,6 +498,8 @@ void ScreenRecoveryUI::Init() { LoadAnimation(); pthread_create(&progress_thread_, nullptr, ProgressThreadStartRoutine, this); return true; } void ScreenRecoveryUI::LoadAnimation() { Loading
screen_ui.h +2 −2 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ class ScreenRecoveryUI : public RecoveryUI { public: ScreenRecoveryUI(); void Init(); bool Init() override; void SetLocale(const char* locale); // overall recovery state ("background image") Loading Loading @@ -137,7 +137,7 @@ class ScreenRecoveryUI : public RecoveryUI { pthread_mutex_t updateMutex; bool rtl_locale; virtual void InitTextParams(); virtual bool InitTextParams(); virtual void draw_background_locked(); virtual void draw_foreground_locked(); Loading
stub_ui.h 0 → 100644 +67 −0 Original line number Diff line number Diff line /* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RECOVERY_STUB_UI_H #define RECOVERY_STUB_UI_H #include "ui.h" // Stub implementation of RecoveryUI for devices without screen. class StubRecoveryUI : public RecoveryUI { public: StubRecoveryUI() = default; void SetLocale(const char* locale) override {} void SetBackground(Icon icon) override {} void SetSystemUpdateText(bool security_update) override {} // progress indicator void SetProgressType(ProgressType type) override {} void ShowProgress(float portion, float seconds) override {} void SetProgress(float fraction) override {} void SetStage(int current, int max) override {} // text log void ShowText(bool visible) override {} bool IsTextVisible() override { return false; } bool WasTextEverVisible() override { return false; } // printing messages void Print(const char* fmt, ...) override { va_list ap; va_start(ap, fmt); vprintf(fmt, ap); va_end(ap); } void PrintOnScreenOnly(const char* fmt, ...) override {} void ShowFile(const char* filename) override {} // menu display void StartMenu(const char* const* headers, const char* const* items, int initial_selection) override {} int SelectMenu(int sel) override { return sel; } void EndMenu() override {} }; #endif // RECOVERY_STUB_UI_H
tests/component/verifier_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ RecoveryUI* ui = NULL; class MockUI : public RecoveryUI { void Init() { } bool Init() { return true; } void SetStage(int, int) { } void SetLocale(const char*) { } void SetBackground(Icon /*icon*/) { } Loading