Merge "recovery: fastbootd: retry opening graphics" am: 082bea6325
Change-Id: Ie757c94038673fec1555fb5cd1570e1551180986
This commit is contained in:
commit
0608d71169
1 changed files with 20 additions and 1 deletions
|
@ -37,6 +37,7 @@
|
|||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
#include <android-base/chrono_utils.h>
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/properties.h>
|
||||
#include <android-base/stringprintf.h>
|
||||
|
@ -881,10 +882,28 @@ bool ScreenRecoveryUI::LoadWipeDataMenuText() {
|
|||
return true;
|
||||
}
|
||||
|
||||
static bool InitGraphics() {
|
||||
// Timeout is same as init wait for file default of 5 seconds and is arbitrary
|
||||
const unsigned timeout = 500; // 10ms increments
|
||||
for (auto retry = timeout; retry > 0; --retry) {
|
||||
if (gr_init() == 0) {
|
||||
if (retry < timeout) {
|
||||
// Log message like init wait for file completion log for consistency.
|
||||
LOG(WARNING) << "wait for 'graphics' took " << ((timeout - retry) * 10) << "ms";
|
||||
}
|
||||
return true;
|
||||
}
|
||||
std::this_thread::sleep_for(10ms);
|
||||
}
|
||||
// Log message like init wait for file timeout log for consistency.
|
||||
LOG(ERROR) << "timeout wait for 'graphics' took " << (timeout * 10) << "ms";
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ScreenRecoveryUI::Init(const std::string& locale) {
|
||||
RecoveryUI::Init(locale);
|
||||
|
||||
if (gr_init() == -1) {
|
||||
if (!InitGraphics()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue