fix timed progress bars in recovery
They're completely broken and have been for months because this code makes no sense. Change-Id: Ibabcd3dbe5a004a45b341e4a5215aa3df77e1861
This commit is contained in:
parent
f69d40afa1
commit
69f4b6732c
1 changed files with 8 additions and 4 deletions
|
@ -122,6 +122,8 @@ void ScreenRecoveryUI::draw_background_locked(Icon icon)
|
|||
// Should only be called with updateMutex locked.
|
||||
void ScreenRecoveryUI::draw_progress_locked()
|
||||
{
|
||||
if (currentIcon == ERROR) return;
|
||||
|
||||
if (currentIcon == INSTALLING) {
|
||||
draw_install_overlay_locked(installingFrame);
|
||||
}
|
||||
|
@ -255,10 +257,10 @@ void ScreenRecoveryUI::progress_loop() {
|
|||
int duration = progressScopeDuration;
|
||||
if (progressBarType == DETERMINATE && duration > 0) {
|
||||
double elapsed = now() - progressScopeTime;
|
||||
float progress = 1.0 * elapsed / duration;
|
||||
if (progress > 1.0) progress = 1.0;
|
||||
if (progress > progress) {
|
||||
progress = progress;
|
||||
float p = 1.0 * elapsed / duration;
|
||||
if (p > 1.0) p = 1.0;
|
||||
if (p > progress) {
|
||||
progress = p;
|
||||
redraw = 1;
|
||||
}
|
||||
}
|
||||
|
@ -351,6 +353,8 @@ void ScreenRecoveryUI::SetProgressType(ProgressType type)
|
|||
progressBarType = type;
|
||||
update_progress_locked();
|
||||
}
|
||||
progressScopeStart = 0;
|
||||
progress = 0;
|
||||
pthread_mutex_unlock(&updateMutex);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue