Merge "Add override specifier and member constness to RecoveryUI classes." am: d6fb1c6367 am: 2e20c11828

am: 57191920e8

Change-Id: I8320f696ca21b14564a3fa38937fdf090eeff4f7
This commit is contained in:
Tao Bao
2017-06-27 22:41:33 +00:00
committed by android-build-merger
5 changed files with 58 additions and 66 deletions
+7 -7
View File
@@ -82,14 +82,14 @@ ScreenRecoveryUI::ScreenRecoveryUI()
max_stage(-1), max_stage(-1),
updateMutex(PTHREAD_MUTEX_INITIALIZER) {} updateMutex(PTHREAD_MUTEX_INITIALIZER) {}
GRSurface* ScreenRecoveryUI::GetCurrentFrame() { GRSurface* ScreenRecoveryUI::GetCurrentFrame() const {
if (currentIcon == INSTALLING_UPDATE || currentIcon == ERASING) { if (currentIcon == INSTALLING_UPDATE || currentIcon == ERASING) {
return intro_done ? loopFrames[current_frame] : introFrames[current_frame]; return intro_done ? loopFrames[current_frame] : introFrames[current_frame];
} }
return error_icon; return error_icon;
} }
GRSurface* ScreenRecoveryUI::GetCurrentText() { GRSurface* ScreenRecoveryUI::GetCurrentText() const {
switch (currentIcon) { switch (currentIcon) {
case ERASING: case ERASING:
return erasing_text; return erasing_text;
@@ -132,16 +132,16 @@ static constexpr int kLayouts[LAYOUT_MAX][DIMENSION_MAX] = {
{ 262, 52, 112, }, // LANDSCAPE_LARGE { 262, 52, 112, }, // LANDSCAPE_LARGE
}; };
int ScreenRecoveryUI::GetAnimationBaseline() { int ScreenRecoveryUI::GetAnimationBaseline() const {
return GetTextBaseline() - PixelsFromDp(kLayouts[layout_][ICON]) - gr_get_height(loopFrames[0]); return GetTextBaseline() - PixelsFromDp(kLayouts[layout_][ICON]) - gr_get_height(loopFrames[0]);
} }
int ScreenRecoveryUI::GetTextBaseline() { int ScreenRecoveryUI::GetTextBaseline() const {
return GetProgressBaseline() - PixelsFromDp(kLayouts[layout_][TEXT]) - return GetProgressBaseline() - PixelsFromDp(kLayouts[layout_][TEXT]) -
gr_get_height(installing_text); gr_get_height(installing_text);
} }
int ScreenRecoveryUI::GetProgressBaseline() { int ScreenRecoveryUI::GetProgressBaseline() const {
return gr_fb_height() - PixelsFromDp(kLayouts[layout_][PROGRESS]) - return gr_fb_height() - PixelsFromDp(kLayouts[layout_][PROGRESS]) -
gr_get_height(progressBarFill); gr_get_height(progressBarFill);
} }
@@ -224,7 +224,7 @@ void ScreenRecoveryUI::draw_foreground_locked() {
} }
} }
void ScreenRecoveryUI::SetColor(UIElement e) { void ScreenRecoveryUI::SetColor(UIElement e) const {
switch (e) { switch (e) {
case INFO: case INFO:
gr_color(249, 194, 0, 255); gr_color(249, 194, 0, 255);
@@ -254,7 +254,7 @@ void ScreenRecoveryUI::SetColor(UIElement e) {
} }
} }
void ScreenRecoveryUI::DrawHorizontalRule(int* y) { void ScreenRecoveryUI::DrawHorizontalRule(int* y) const {
SetColor(MENU); SetColor(MENU);
*y += 4; *y += 4;
gr_fill(0, *y, gr_fb_width(), *y + 2); gr_fill(0, *y, gr_fb_width(), *y + 2);
+17 -16
View File
@@ -36,8 +36,8 @@ class ScreenRecoveryUI : public RecoveryUI {
bool Init(const std::string& locale) override; bool Init(const std::string& locale) override;
// overall recovery state ("background image") // overall recovery state ("background image")
void SetBackground(Icon icon); void SetBackground(Icon icon) override;
void SetSystemUpdateText(bool security_update); void SetSystemUpdateText(bool security_update) override;
// progress indicator // progress indicator
void SetProgressType(ProgressType type) override; void SetProgressType(ProgressType type) override;
@@ -52,16 +52,17 @@ class ScreenRecoveryUI : public RecoveryUI {
bool WasTextEverVisible() override; bool WasTextEverVisible() override;
// printing messages // printing messages
void Print(const char* fmt, ...) __printflike(2, 3); void Print(const char* fmt, ...) override __printflike(2, 3);
void PrintOnScreenOnly(const char* fmt, ...) __printflike(2, 3); void PrintOnScreenOnly(const char* fmt, ...) override __printflike(2, 3);
void ShowFile(const char* filename); void ShowFile(const char* filename) override;
// menu display // menu display
void StartMenu(const char* const* headers, const char* const* items, int initial_selection); void StartMenu(const char* const* headers, const char* const* items,
int SelectMenu(int sel); int initial_selection) override;
void EndMenu(); int SelectMenu(int sel) override;
void EndMenu() override;
void KeyLongPress(int); void KeyLongPress(int) override;
void Redraw(); void Redraw();
@@ -75,7 +76,7 @@ class ScreenRecoveryUI : public RecoveryUI {
TEXT_FILL, TEXT_FILL,
INFO INFO
}; };
void SetColor(UIElement e); void SetColor(UIElement e) const;
protected: protected:
// The margin that we don't want to use for showing texts (e.g. round screen, or screen with // The margin that we don't want to use for showing texts (e.g. round screen, or screen with
@@ -158,8 +159,8 @@ class ScreenRecoveryUI : public RecoveryUI {
virtual void update_screen_locked(); virtual void update_screen_locked();
virtual void update_progress_locked(); virtual void update_progress_locked();
GRSurface* GetCurrentFrame(); GRSurface* GetCurrentFrame() const;
GRSurface* GetCurrentText(); GRSurface* GetCurrentText() const;
static void* ProgressThreadStartRoutine(void* data); static void* ProgressThreadStartRoutine(void* data);
void ProgressThreadLoop(); void ProgressThreadLoop();
@@ -174,11 +175,11 @@ class ScreenRecoveryUI : public RecoveryUI {
void LoadLocalizedBitmap(const char* filename, GRSurface** surface); void LoadLocalizedBitmap(const char* filename, GRSurface** surface);
int PixelsFromDp(int dp) const; int PixelsFromDp(int dp) const;
virtual int GetAnimationBaseline(); virtual int GetAnimationBaseline() const;
virtual int GetProgressBaseline(); virtual int GetProgressBaseline() const;
virtual int GetTextBaseline(); virtual int GetTextBaseline() const;
virtual void DrawHorizontalRule(int* y); virtual void DrawHorizontalRule(int* y) const;
virtual void DrawHighlightBar(int x, int y, int width, int height) const; virtual void DrawHighlightBar(int x, int y, int width, int height) const;
virtual void DrawTextLine(int x, int* y, const char* line, bool bold) const; virtual void DrawTextLine(int x, int* y, const char* line, bool bold) const;
void DrawTextLines(int x, int* y, const char* const* lines) const; void DrawTextLines(int x, int* y, const char* const* lines) const;
+30 -38
View File
@@ -30,14 +30,14 @@ class RecoveryUI {
virtual ~RecoveryUI() {} virtual ~RecoveryUI() {}
// Initialize the object; called before anything else. UI texts will be // Initializes the object; called before anything else. UI texts will be initialized according to
// initialized according to the given locale. Returns true on success. // the given locale. Returns true on success.
virtual bool Init(const std::string& locale); virtual bool Init(const std::string& locale);
// Show a stage indicator. Call immediately after Init(). // Shows a stage indicator. Called immediately after Init().
virtual void SetStage(int current, int max) = 0; virtual void SetStage(int current, int max) = 0;
// Set the overall recovery state ("background image"). // Sets the overall recovery state ("background image").
enum Icon { NONE, INSTALLING_UPDATE, ERASING, NO_COMMAND, ERROR }; enum Icon { NONE, INSTALLING_UPDATE, ERASING, NO_COMMAND, ERROR };
virtual void SetBackground(Icon icon) = 0; virtual void SetBackground(Icon icon) = 0;
virtual void SetSystemUpdateText(bool security_update) = 0; virtual void SetSystemUpdateText(bool security_update) = 0;
@@ -46,13 +46,13 @@ class RecoveryUI {
enum ProgressType { EMPTY, INDETERMINATE, DETERMINATE }; enum ProgressType { EMPTY, INDETERMINATE, DETERMINATE };
virtual void SetProgressType(ProgressType determinate) = 0; virtual void SetProgressType(ProgressType determinate) = 0;
// Show a progress bar and define the scope of the next operation: // Shows a progress bar and define the scope of the next operation:
// portion - fraction of the progress bar the next operation will use // portion - fraction of the progress bar the next operation will use
// seconds - expected time interval (progress bar moves at this minimum rate) // seconds - expected time interval (progress bar moves at this minimum rate)
virtual void ShowProgress(float portion, float seconds) = 0; virtual void ShowProgress(float portion, float seconds) = 0;
// Set progress bar position (0.0 - 1.0 within the scope defined // Sets progress bar position (0.0 - 1.0 within the scope defined by the last call to
// by the last call to ShowProgress). // ShowProgress).
virtual void SetProgress(float fraction) = 0; virtual void SetProgress(float fraction) = 0;
// --- text log --- // --- text log ---
@@ -63,9 +63,8 @@ class RecoveryUI {
virtual bool WasTextEverVisible() = 0; virtual bool WasTextEverVisible() = 0;
// Write a message to the on-screen log (shown if the user has // Writes a message to the on-screen log (shown if the user has toggled on the text display).
// toggled on the text display). Print() will also dump the message // Print() will also dump the message to stdout / log file, while PrintOnScreenOnly() not.
// to stdout / log file, while PrintOnScreenOnly() not.
virtual void Print(const char* fmt, ...) __printflike(2, 3) = 0; virtual void Print(const char* fmt, ...) __printflike(2, 3) = 0;
virtual void PrintOnScreenOnly(const char* fmt, ...) __printflike(2, 3) = 0; virtual void PrintOnScreenOnly(const char* fmt, ...) __printflike(2, 3) = 0;
@@ -73,54 +72,48 @@ class RecoveryUI {
// --- key handling --- // --- key handling ---
// Wait for a key and return it. May return -1 after timeout. // Waits for a key and return it. May return -1 after timeout.
virtual int WaitKey(); virtual int WaitKey();
virtual bool IsKeyPressed(int key); virtual bool IsKeyPressed(int key);
virtual bool IsLongPress(); virtual bool IsLongPress();
// Returns true if you have the volume up/down and power trio typical // Returns true if you have the volume up/down and power trio typical of phones and tablets, false
// of phones and tablets, false otherwise. // otherwise.
virtual bool HasThreeButtons(); virtual bool HasThreeButtons();
// Erase any queued-up keys. // Erases any queued-up keys.
virtual void FlushKeys(); virtual void FlushKeys();
// Called on each key press, even while operations are in progress. // Called on each key press, even while operations are in progress. Return value indicates whether
// Return value indicates whether an immediate operation should be // an immediate operation should be triggered (toggling the display, rebooting the device), or if
// triggered (toggling the display, rebooting the device), or if
// the key should be enqueued for use by the main thread. // the key should be enqueued for use by the main thread.
enum KeyAction { ENQUEUE, TOGGLE, REBOOT, IGNORE }; enum KeyAction { ENQUEUE, TOGGLE, REBOOT, IGNORE };
virtual KeyAction CheckKey(int key, bool is_long_press); virtual KeyAction CheckKey(int key, bool is_long_press);
// Called when a key is held down long enough to have been a // Called when a key is held down long enough to have been a long-press (but before the key is
// long-press (but before the key is released). This means that // released). This means that if the key is eventually registered (released without any other keys
// if the key is eventually registered (released without any other // being pressed in the meantime), CheckKey will be called with 'is_long_press' true.
// keys being pressed in the meantime), CheckKey will be called with
// 'is_long_press' true.
virtual void KeyLongPress(int key); virtual void KeyLongPress(int key);
// Normally in recovery there's a key sequence that triggers // Normally in recovery there's a key sequence that triggers immediate reboot of the device,
// immediate reboot of the device, regardless of what recovery is // regardless of what recovery is doing (with the default CheckKey implementation, it's pressing
// doing (with the default CheckKey implementation, it's pressing // the power button 7 times in row). Call this to enable or disable that feature. It is enabled by
// the power button 7 times in row). Call this to enable or // default.
// disable that feature. It is enabled by default.
virtual void SetEnableReboot(bool enabled); virtual void SetEnableReboot(bool enabled);
// --- menu display --- // --- menu display ---
// Display some header text followed by a menu of items, which appears // Display some header text followed by a menu of items, which appears at the top of the screen
// at the top of the screen (in place of any scrolling ui_print() // (in place of any scrolling ui_print() output, if necessary).
// output, if necessary).
virtual void StartMenu(const char* const* headers, const char* const* items, virtual void StartMenu(const char* const* headers, const char* const* items,
int initial_selection) = 0; int initial_selection) = 0;
// Set the menu highlight to the given index, wrapping if necessary. // Sets the menu highlight to the given index, wrapping if necessary. Returns the actual item
// Returns the actual item selected. // selected.
virtual int SelectMenu(int sel) = 0; virtual int SelectMenu(int sel) = 0;
// End menu mode, resetting the text overlay so that ui_print() // Ends menu mode, resetting the text overlay so that ui_print() statements will be displayed.
// statements will be displayed.
virtual void EndMenu() = 0; virtual void EndMenu() = 0;
protected: protected:
@@ -130,10 +123,9 @@ class RecoveryUI {
std::string locale_; std::string locale_;
bool rtl_locale_; bool rtl_locale_;
// The normal and dimmed brightness percentages (default: 50 and 25, which means 50% and 25% // The normal and dimmed brightness percentages (default: 50 and 25, which means 50% and 25% of
// of the max_brightness). Because the absolute values may vary across devices. These two // the max_brightness). Because the absolute values may vary across devices. These two values can
// values can be configured via subclassing. Setting brightness_normal_ to 0 to disable // be configured via subclassing. Setting brightness_normal_ to 0 to disable screensaver.
// screensaver.
unsigned int brightness_normal_; unsigned int brightness_normal_;
unsigned int brightness_dimmed_; unsigned int brightness_dimmed_;
+1 -1
View File
@@ -61,7 +61,7 @@ WearRecoveryUI::WearRecoveryUI()
self = this; self = this;
} }
int WearRecoveryUI::GetProgressBaseline() { int WearRecoveryUI::GetProgressBaseline() const {
return progress_bar_y; return progress_bar_y;
} }
+3 -4
View File
@@ -47,12 +47,11 @@ class WearRecoveryUI : public ScreenRecoveryUI {
// outer of window // outer of window
int outer_height, outer_width; int outer_height, outer_width;
// Unusable rows when displaying the recovery menu, including the lines // Unusable rows when displaying the recovery menu, including the lines for headers (Android
// for headers (Android Recovery, build id and etc) and the bottom lines // Recovery, build id and etc) and the bottom lines that may otherwise go out of the screen.
// that may otherwise go out of the screen.
int menu_unusable_rows; int menu_unusable_rows;
int GetProgressBaseline() override; int GetProgressBaseline() const override;
bool InitTextParams() override; bool InitTextParams() override;