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