Revert "recovery: More refactoring of WearUI" am: f7f9e50528

am: 46c7756b1a

* commit '46c7756b1a4b6f934eee6ec52483eacd6c34354d':
  Revert "recovery: More refactoring of WearUI"
This commit is contained in:
Prashant Malani
2016-03-10 19:14:00 +00:00
committed by android-build-merger
4 changed files with 84 additions and 4 deletions
+2 -2
View File
@@ -51,6 +51,7 @@ static double now() {
}
ScreenRecoveryUI::ScreenRecoveryUI() :
currentIcon(NONE),
installingFrame(0),
locale(nullptr),
rtl_locale(false),
@@ -75,8 +76,7 @@ ScreenRecoveryUI::ScreenRecoveryUI() :
animation_fps(-1),
installing_frames(-1),
stage(-1),
max_stage(-1),
currentIcon(NONE) {
max_stage(-1) {
for (int i = 0; i < 5; i++) {
backgroundIcon[i] = nullptr;
+1 -2
View File
@@ -68,6 +68,7 @@ class ScreenRecoveryUI : public RecoveryUI {
void SetColor(UIElement e);
private:
Icon currentIcon;
int installingFrame;
const char* locale;
bool rtl_locale;
@@ -138,8 +139,6 @@ class ScreenRecoveryUI : public RecoveryUI {
void LoadBitmap(const char* filename, GRSurface** surface);
void LoadBitmapArray(const char* filename, int* frames, int* fps, GRSurface*** surface);
void LoadLocalizedBitmap(const char* filename, GRSurface** surface);
protected:
Icon currentIcon;
};
#endif // RECOVERY_UI_H
+69
View File
@@ -59,6 +59,7 @@ WearRecoveryUI::WearRecoveryUI() :
intro_frames(22),
loop_frames(60),
animation_fps(30),
currentIcon(NONE),
intro_done(false),
current_frame(0),
rtl_locale(false),
@@ -365,6 +366,57 @@ void WearRecoveryUI::Init()
RecoveryUI::Init();
}
void WearRecoveryUI::SetBackground(Icon icon)
{
pthread_mutex_lock(&updateMutex);
currentIcon = icon;
update_screen_locked();
pthread_mutex_unlock(&updateMutex);
}
void WearRecoveryUI::SetProgressType(ProgressType type)
{
pthread_mutex_lock(&updateMutex);
if (progressBarType != type) {
progressBarType = type;
}
progressScopeStart = 0;
progressScopeSize = 0;
progress = 0;
update_screen_locked();
pthread_mutex_unlock(&updateMutex);
}
void WearRecoveryUI::ShowProgress(float portion, float seconds)
{
pthread_mutex_lock(&updateMutex);
progressBarType = DETERMINATE;
progressScopeStart += progressScopeSize;
progressScopeSize = portion;
progressScopeTime = now();
progressScopeDuration = seconds;
progress = 0;
update_screen_locked();
pthread_mutex_unlock(&updateMutex);
}
void WearRecoveryUI::SetProgress(float fraction)
{
pthread_mutex_lock(&updateMutex);
if (fraction < 0.0) fraction = 0.0;
if (fraction > 1.0) fraction = 1.0;
if (progressBarType == DETERMINATE && fraction > progress) {
// Skip updates that aren't visibly different.
int width = progress_bar_width;
float scale = width * progressScopeSize;
if ((int) (progress * scale) != (int) (fraction * scale)) {
progress = fraction;
update_screen_locked();
}
}
pthread_mutex_unlock(&updateMutex);
}
void WearRecoveryUI::SetStage(int current, int max)
{
}
@@ -447,6 +499,16 @@ int WearRecoveryUI::SelectMenu(int sel) {
return sel;
}
void WearRecoveryUI::EndMenu() {
int i;
pthread_mutex_lock(&updateMutex);
if (show_menu > 0 && text_rows > 0 && text_cols > 0) {
show_menu = 0;
update_screen_locked();
}
pthread_mutex_unlock(&updateMutex);
}
bool WearRecoveryUI::IsTextVisible()
{
pthread_mutex_lock(&updateMutex);
@@ -477,6 +539,13 @@ void WearRecoveryUI::ShowText(bool visible)
pthread_mutex_unlock(&updateMutex);
}
void WearRecoveryUI::Redraw()
{
pthread_mutex_lock(&updateMutex);
update_screen_locked();
pthread_mutex_unlock(&updateMutex);
}
void WearRecoveryUI::ShowFile(FILE* fp) {
std::vector<long> offsets;
offsets.push_back(ftell(fp));
+12
View File
@@ -24,6 +24,13 @@ class WearRecoveryUI : public ScreenRecoveryUI {
WearRecoveryUI();
void Init();
// overall recovery state ("background image")
void SetBackground(Icon icon);
// progress indicator
void SetProgressType(ProgressType type);
void ShowProgress(float portion, float seconds);
void SetProgress(float fraction);
void SetStage(int current, int max);
@@ -42,6 +49,9 @@ class WearRecoveryUI : public ScreenRecoveryUI {
void StartMenu(const char* const * headers, const char* const * items,
int initial_selection);
int SelectMenu(int sel);
void EndMenu();
void Redraw();
enum UIElement { HEADER, MENU, MENU_SEL_BG, MENU_SEL_FG, LOG, TEXT_FILL };
virtual void SetColor(UIElement e);
@@ -68,6 +78,8 @@ class WearRecoveryUI : public ScreenRecoveryUI {
int animation_fps;
private:
Icon currentIcon;
bool intro_done;
int current_frame;