summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2018-06-06 19:08:15 +0200
committerandroid-build-merger <android-build-merger@google.com>2018-06-06 19:08:15 +0200
commitccff03d196f460963d41079abee28417fe72a9e7 (patch)
treead3b819f9fbf7d911052d1ca507e9cd4cab34815
parentMerge "tests: Specify the death test style to avoid flakiness." (diff)
parentMerge "ui: join only if joinable." (diff)
downloadandroid_bootable_recovery-ccff03d196f460963d41079abee28417fe72a9e7.tar
android_bootable_recovery-ccff03d196f460963d41079abee28417fe72a9e7.tar.gz
android_bootable_recovery-ccff03d196f460963d41079abee28417fe72a9e7.tar.bz2
android_bootable_recovery-ccff03d196f460963d41079abee28417fe72a9e7.tar.lz
android_bootable_recovery-ccff03d196f460963d41079abee28417fe72a9e7.tar.xz
android_bootable_recovery-ccff03d196f460963d41079abee28417fe72a9e7.tar.zst
android_bootable_recovery-ccff03d196f460963d41079abee28417fe72a9e7.zip
-rw-r--r--screen_ui.cpp4
-rw-r--r--tests/unit/screen_ui_test.cpp5
-rw-r--r--ui.cpp4
3 files changed, 11 insertions, 2 deletions
diff --git a/screen_ui.cpp b/screen_ui.cpp
index b9aba807d..b4ef054ce 100644
--- a/screen_ui.cpp
+++ b/screen_ui.cpp
@@ -173,7 +173,9 @@ ScreenRecoveryUI::ScreenRecoveryUI(bool scrollable_menu)
ScreenRecoveryUI::~ScreenRecoveryUI() {
progress_thread_stopped_ = true;
- progress_thread_.join();
+ if (progress_thread_.joinable()) {
+ progress_thread_.join();
+ }
}
GRSurface* ScreenRecoveryUI::GetCurrentFrame() const {
diff --git a/tests/unit/screen_ui_test.cpp b/tests/unit/screen_ui_test.cpp
index 2179b729f..a3dd2add9 100644
--- a/tests/unit/screen_ui_test.cpp
+++ b/tests/unit/screen_ui_test.cpp
@@ -293,6 +293,11 @@ TEST_F(ScreenRecoveryUITest, Init) {
ASSERT_FALSE(ui_->WasTextEverVisible());
}
+TEST_F(ScreenRecoveryUITest, dtor_NotCallingInit) {
+ ui_.reset();
+ ASSERT_FALSE(ui_);
+}
+
TEST_F(ScreenRecoveryUITest, ShowText) {
ASSERT_TRUE(ui_->Init(kTestLocale));
ASSERT_FALSE(ui_->IsTextVisible());
diff --git a/ui.cpp b/ui.cpp
index 51d7f129c..6c91d01b8 100644
--- a/ui.cpp
+++ b/ui.cpp
@@ -78,7 +78,9 @@ RecoveryUI::RecoveryUI()
RecoveryUI::~RecoveryUI() {
ev_exit();
input_thread_stopped_ = true;
- input_thread_.join();
+ if (input_thread_.joinable()) {
+ input_thread_.join();
+ }
}
void RecoveryUI::OnKeyDetected(int key_code) {