Loading screen_ui.cpp +7 −7 Original line number Diff line number Diff line Loading @@ -82,14 +82,14 @@ ScreenRecoveryUI::ScreenRecoveryUI() 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; Loading Loading @@ -132,16 +132,16 @@ static constexpr int kLayouts[LAYOUT_MAX][DIMENSION_MAX] = { { 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); } Loading Loading @@ -224,7 +224,7 @@ void ScreenRecoveryUI::draw_foreground_locked() { } } void ScreenRecoveryUI::SetColor(UIElement e) { void ScreenRecoveryUI::SetColor(UIElement e) const { switch (e) { case INFO: gr_color(249, 194, 0, 255); Loading Loading @@ -254,7 +254,7 @@ void ScreenRecoveryUI::SetColor(UIElement e) { } } void ScreenRecoveryUI::DrawHorizontalRule(int* y) { void ScreenRecoveryUI::DrawHorizontalRule(int* y) const { SetColor(MENU); *y += 4; gr_fill(0, *y, gr_fb_width(), *y + 2); Loading screen_ui.h +17 −16 Original line number Diff line number Diff line Loading @@ -36,8 +36,8 @@ class ScreenRecoveryUI : public RecoveryUI { 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; Loading @@ -52,16 +52,17 @@ class ScreenRecoveryUI : public RecoveryUI { 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(); Loading @@ -75,7 +76,7 @@ class ScreenRecoveryUI : public RecoveryUI { 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 Loading Loading @@ -158,8 +159,8 @@ class ScreenRecoveryUI : public RecoveryUI { 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(); Loading @@ -174,11 +175,11 @@ class ScreenRecoveryUI : public RecoveryUI { 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; Loading ui.h +30 −38 Original line number Diff line number Diff line Loading @@ -30,14 +30,14 @@ class RecoveryUI { 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; Loading @@ -46,13 +46,13 @@ class RecoveryUI { 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 --- Loading @@ -63,9 +63,8 @@ class RecoveryUI { 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; Loading @@ -73,54 +72,48 @@ class RecoveryUI { // --- 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: Loading @@ -130,10 +123,9 @@ class RecoveryUI { 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_; Loading wear_ui.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ WearRecoveryUI::WearRecoveryUI() self = this; } int WearRecoveryUI::GetProgressBaseline() { int WearRecoveryUI::GetProgressBaseline() const { return progress_bar_y; } Loading wear_ui.h +3 −4 Original line number Diff line number Diff line Loading @@ -47,12 +47,11 @@ class WearRecoveryUI : public ScreenRecoveryUI { // 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; Loading Loading
screen_ui.cpp +7 −7 Original line number Diff line number Diff line Loading @@ -82,14 +82,14 @@ ScreenRecoveryUI::ScreenRecoveryUI() 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; Loading Loading @@ -132,16 +132,16 @@ static constexpr int kLayouts[LAYOUT_MAX][DIMENSION_MAX] = { { 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); } Loading Loading @@ -224,7 +224,7 @@ void ScreenRecoveryUI::draw_foreground_locked() { } } void ScreenRecoveryUI::SetColor(UIElement e) { void ScreenRecoveryUI::SetColor(UIElement e) const { switch (e) { case INFO: gr_color(249, 194, 0, 255); Loading Loading @@ -254,7 +254,7 @@ void ScreenRecoveryUI::SetColor(UIElement e) { } } void ScreenRecoveryUI::DrawHorizontalRule(int* y) { void ScreenRecoveryUI::DrawHorizontalRule(int* y) const { SetColor(MENU); *y += 4; gr_fill(0, *y, gr_fb_width(), *y + 2); Loading
screen_ui.h +17 −16 Original line number Diff line number Diff line Loading @@ -36,8 +36,8 @@ class ScreenRecoveryUI : public RecoveryUI { 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; Loading @@ -52,16 +52,17 @@ class ScreenRecoveryUI : public RecoveryUI { 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(); Loading @@ -75,7 +76,7 @@ class ScreenRecoveryUI : public RecoveryUI { 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 Loading Loading @@ -158,8 +159,8 @@ class ScreenRecoveryUI : public RecoveryUI { 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(); Loading @@ -174,11 +175,11 @@ class ScreenRecoveryUI : public RecoveryUI { 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; Loading
ui.h +30 −38 Original line number Diff line number Diff line Loading @@ -30,14 +30,14 @@ class RecoveryUI { 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; Loading @@ -46,13 +46,13 @@ class RecoveryUI { 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 --- Loading @@ -63,9 +63,8 @@ class RecoveryUI { 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; Loading @@ -73,54 +72,48 @@ class RecoveryUI { // --- 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: Loading @@ -130,10 +123,9 @@ class RecoveryUI { 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_; Loading
wear_ui.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ WearRecoveryUI::WearRecoveryUI() self = this; } int WearRecoveryUI::GetProgressBaseline() { int WearRecoveryUI::GetProgressBaseline() const { return progress_bar_y; } Loading
wear_ui.h +3 −4 Original line number Diff line number Diff line Loading @@ -47,12 +47,11 @@ class WearRecoveryUI : public ScreenRecoveryUI { // 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; Loading