diff options
author | Tianjie Xu <xunchang@google.com> | 2019-04-23 20:26:08 +0200 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-04-23 20:26:08 +0200 |
commit | 3e165c8607781160a727e5a4f19ce7db990128c7 (patch) | |
tree | 81e9b527c47bf3379d8080a228e929b19a3cd56b /recovery_ui/screen_ui.cpp | |
parent | Merge "minadbd: Support rescue install and getprop commands." am: f365574a60 (diff) | |
parent | Merge changes Ibdb7dd0b,Iafd3e846 (diff) | |
download | android_bootable_recovery-3e165c8607781160a727e5a4f19ce7db990128c7.tar android_bootable_recovery-3e165c8607781160a727e5a4f19ce7db990128c7.tar.gz android_bootable_recovery-3e165c8607781160a727e5a4f19ce7db990128c7.tar.bz2 android_bootable_recovery-3e165c8607781160a727e5a4f19ce7db990128c7.tar.lz android_bootable_recovery-3e165c8607781160a727e5a4f19ce7db990128c7.tar.xz android_bootable_recovery-3e165c8607781160a727e5a4f19ce7db990128c7.tar.zst android_bootable_recovery-3e165c8607781160a727e5a4f19ce7db990128c7.zip |
Diffstat (limited to 'recovery_ui/screen_ui.cpp')
-rw-r--r-- | recovery_ui/screen_ui.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/recovery_ui/screen_ui.cpp b/recovery_ui/screen_ui.cpp index 870db621c..823004521 100644 --- a/recovery_ui/screen_ui.cpp +++ b/recovery_ui/screen_ui.cpp @@ -817,12 +817,22 @@ std::unique_ptr<GRSurface> ScreenRecoveryUI::LoadBitmap(const std::string& filen std::unique_ptr<GRSurface> ScreenRecoveryUI::LoadLocalizedBitmap(const std::string& filename) { GRSurface* surface; - if (auto result = res_create_localized_alpha_surface(filename.c_str(), locale_.c_str(), &surface); - result < 0) { - LOG(ERROR) << "Failed to load bitmap " << filename << " (error " << result << ")"; - return nullptr; + auto result = res_create_localized_alpha_surface(filename.c_str(), locale_.c_str(), &surface); + if (result == 0) { + return std::unique_ptr<GRSurface>(surface); } - return std::unique_ptr<GRSurface>(surface); + // TODO(xunchang) create a error code enum to refine the retry condition. + LOG(WARNING) << "Failed to load bitmap " << filename << " for locale " << locale_ << " (error " + << result << "). Falling back to use default locale."; + + result = res_create_localized_alpha_surface(filename.c_str(), DEFAULT_LOCALE, &surface); + if (result == 0) { + return std::unique_ptr<GRSurface>(surface); + } + + LOG(ERROR) << "Failed to load bitmap " << filename << " for locale " << DEFAULT_LOCALE + << " (error " << result << ")"; + return nullptr; } static char** Alloc2d(size_t rows, size_t cols) { |