diff options
author | Elliott Hughes <enh@google.com> | 2015-04-13 22:04:32 +0200 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2015-04-13 22:04:32 +0200 |
commit | 985022a6231814de2bfaf621fd0725c48bb98411 (patch) | |
tree | c3658b7885fa472c0da0cfcf9024a840faac714a /screen_ui.cpp | |
parent | Merge "Rewritten file pager." (diff) | |
download | android_bootable_recovery-985022a6231814de2bfaf621fd0725c48bb98411.tar android_bootable_recovery-985022a6231814de2bfaf621fd0725c48bb98411.tar.gz android_bootable_recovery-985022a6231814de2bfaf621fd0725c48bb98411.tar.bz2 android_bootable_recovery-985022a6231814de2bfaf621fd0725c48bb98411.tar.lz android_bootable_recovery-985022a6231814de2bfaf621fd0725c48bb98411.tar.xz android_bootable_recovery-985022a6231814de2bfaf621fd0725c48bb98411.tar.zst android_bootable_recovery-985022a6231814de2bfaf621fd0725c48bb98411.zip |
Diffstat (limited to '')
-rw-r--r-- | screen_ui.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/screen_ui.cpp b/screen_ui.cpp index 1e42ee7b4..2aa3dab19 100644 --- a/screen_ui.cpp +++ b/screen_ui.cpp @@ -39,11 +39,6 @@ static int char_width; static int char_height; -// There's only (at most) one of these objects, and global callbacks -// (for pthread_create, and the input event system) need to find it, -// so use a global variable. -static ScreenRecoveryUI* self = nullptr; - // Return the current time as a double (including fractions of a second). static double now() { struct timeval tv; @@ -83,7 +78,6 @@ ScreenRecoveryUI::ScreenRecoveryUI() : backgroundIcon[i] = nullptr; } pthread_mutex_init(&updateMutex, nullptr); - self = this; } // Clear the screen and draw the currently selected background icon (if any). @@ -283,14 +277,14 @@ void ScreenRecoveryUI::update_progress_locked() { } // Keeps the progress bar updated, even when the process is otherwise busy. -void* ScreenRecoveryUI::progress_thread(void *cookie) { - self->progress_loop(); +void* ScreenRecoveryUI::ProgressThreadStartRoutine(void* data) { + reinterpret_cast<ScreenRecoveryUI*>(data)->ProgressThreadLoop(); return nullptr; } -void ScreenRecoveryUI::progress_loop() { +void ScreenRecoveryUI::ProgressThreadLoop() { double interval = 1.0 / animation_fps; - for (;;) { + while (true) { double start = now(); pthread_mutex_lock(&updateMutex); @@ -387,7 +381,7 @@ void ScreenRecoveryUI::Init() { LoadLocalizedBitmap("no_command_text", &backgroundText[NO_COMMAND]); LoadLocalizedBitmap("error_text", &backgroundText[ERROR]); - pthread_create(&progress_t, nullptr, progress_thread, nullptr); + pthread_create(&progress_thread_, nullptr, ProgressThreadStartRoutine, this); RecoveryUI::Init(); } |