No description
Find a file
Tao Bao 736d59c567 recovery: Fix the broken UI text.
UI text is broken (doesn't show any text during FDR) due to commit
d530449e54, which reordered the calls to
RecoveryUI::SetLocale() and RecoveryUI::Init().

Because Init() uses the locale info to load the localized texts (from
images), the locale must be set prior to that via SetLocale(). This CL
refactors Init() to take the locale parameter, and removes the odd
SetLocale() API.

Bug: 34029338
Test: 'Run graphics test' under recovery.
Change-Id: I620394a3d4e3705e9af5a1f6299285d143ae1b01
2017-01-03 22:40:03 -08:00
applypatch applypatch: Don't expose FindMatchingPatch(). 2016-12-28 10:11:22 -08:00
bootloader_message Add update_bootloader_message() to fix two-step OTAs. 2016-12-15 12:36:26 -08:00
edify Cleanup ReadArgs & ReadValueArgs usage 2016-11-01 15:03:06 -07:00
etc init: move healthd to late-init 2016-10-10 17:29:11 -07:00
fonts more font improvements and cleanup 2013-03-07 13:34:24 -08:00
minadbd Use static_cast to cast pointers returned by malloc/calloc/realloc/mmap. 2016-11-15 23:24:54 -08:00
minui Remove unnecessary uses of reinterpret_cast. 2016-11-15 23:25:57 -08:00
otafault Remove ota_close(int) and ota_fclose(FILE*). 2016-11-28 12:09:39 -08:00
otautil otautil: Clean up obsolete includes. 2016-11-08 13:39:12 -08:00
res-hdpi/images Merge "Further compress the text images with zopflipng" 2016-08-03 17:59:11 +00:00
res-mdpi/images Merge "Further compress the text images with zopflipng" 2016-08-03 17:59:11 +00:00
res-xhdpi/images Merge "Further compress the text images with zopflipng" 2016-08-03 17:59:11 +00:00
res-xxhdpi/images Merge "Further compress the text images with zopflipng" 2016-08-03 17:59:11 +00:00
res-xxxhdpi/images Merge "Further compress the text images with zopflipng" 2016-08-03 17:59:11 +00:00
tests recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
tools Import translations. DO NOT MERGE 2016-11-20 15:25:37 -08:00
uncrypt Add tests for setup-bcb and clear-bcb via uncrypt. 2016-12-13 17:46:03 -08:00
update_verifier Switch update verifier to HIDL HAL 2016-11-21 13:48:42 -08:00
updater updater: Update the header name for bootloader.h. 2016-12-28 15:09:20 -08:00
.clang-format clang-format: Adjust short functions / if settings. 2016-12-12 15:00:52 -08:00
adb_install.cpp Switch to <android-base/properties.h>. 2016-09-26 09:51:37 -07:00
adb_install.h Factor out option variables from int to bool types 2015-03-25 15:56:15 -07:00
Android.mk Merge "Cleanup the duplicates of logs rotation functions" 2016-11-04 18:14:01 +00:00
asn1_decoder.cpp Add missing includes. 2015-01-28 12:09:05 -08:00
asn1_decoder.h Add support for ECDSA signatures 2013-10-10 14:19:19 -07:00
bootloader.h Create bootloader_message static library. 2016-06-30 11:02:38 -07:00
CleanSpec.mk recovery: minui: add adf backend 2014-04-25 15:47:34 -07:00
common.h Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
default_device.cpp Auto-detect whether to use the long-press UI. 2015-04-10 15:14:35 -07:00
device.cpp Call update_engine_sideload from recovery. 2016-11-19 22:39:51 -08:00
device.h Merge \"Fix google-explicit-constructor warnings in bootable/recovery.\" 2016-06-29 23:11:45 +00:00
error_code.h resolve merge conflicts of 4f86f26 to stage-aosp-master 2016-11-15 23:13:24 -08:00
fuse_sdcard_provider.cpp Check an edge case when read(2) returns 0 2016-08-31 19:11:41 -07:00
fuse_sdcard_provider.h recovery: Fork a process for fuse when sideloading from SD card. 2016-01-13 21:29:20 -08:00
fuse_sideload.cpp Use BoringSSL instead of mincrypt to speed up package verification. 2016-04-13 16:39:56 -07:00
fuse_sideload.h recovery: Switch fuse_* to C++. 2015-07-24 11:22:05 -07:00
install.cpp Remove the obsolete comments for firmware update. 2016-12-13 22:36:02 -08:00
install.h Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
interlace-frames.py Go back to the old ear-wiggling Android animation. 2016-04-21 14:26:14 -07:00
mounts.cpp Remove obsolete MTD support. 2016-06-10 13:45:35 -07:00
mounts.h Remove obsolete MTD support. 2016-06-10 13:45:35 -07:00
NOTICE Automated import from //branches/master/...@140824,140824 2009-03-24 18:36:42 -07:00
print_sha1.h Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
README.md Move recovery_test.cpp out of unit test 2016-11-08 10:42:51 -08:00
recovery-persist.cpp Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
recovery-persist.rc recovery: use __android_log_pmsg_file_write for log files 2016-03-31 13:52:54 -07:00
recovery-refresh.cpp Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
recovery-refresh.rc recovery: use __android_log_pmsg_file_write for log files 2016-03-31 13:52:54 -07:00
recovery.cpp recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
res-560dpi Make text for recovery larger on angler 2016-05-02 12:20:04 -07:00
roots.cpp Update the header path for ext4_utils. 2016-10-09 14:02:10 -07:00
roots.h Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
rotate_logs.cpp Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
rotate_logs.h Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
screen_ui.cpp recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
screen_ui.h recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
stub_ui.h recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
ui.cpp recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
ui.h recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
verifier.cpp Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
verifier.h Use BoringSSL instead of mincrypt to speed up package verification. 2016-04-13 16:39:56 -07:00
wear_touch.cpp Switch recovery to libbase logging 2016-09-01 14:32:55 -07:00
wear_touch.h recovery: Move SwipeDetector into common location 2016-03-18 06:03:21 +00:00
wear_ui.cpp recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
wear_ui.h recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00

The Recovery Image

Quick turn-around testing

mm -j && m ramdisk-nodeps && m recoveryimage-nodeps

# To boot into the new recovery image
# without flashing the recovery partition:
adb reboot bootloader
fastboot boot $ANDROID_PRODUCT_OUT/recovery.img

Running the tests

# After setting up environment and lunch.
mmma -j bootable/recovery

# Running the tests on device.
adb root
adb sync data

# 32-bit device
adb shell /data/nativetest/recovery_unit_test/recovery_unit_test
adb shell /data/nativetest/recovery_component_test/recovery_component_test

# Or 64-bit device
adb shell /data/nativetest64/recovery_unit_test/recovery_unit_test
adb shell /data/nativetest64/recovery_component_test/recovery_component_test

Running the manual tests

recovery-refresh and recovery-persist executables exist only on systems without /cache partition. And we need to follow special steps to run tests for them.

  • Execute the test on an A/B device first. The test should fail but it will log some contents to pmsg.

  • Reboot the device immediately and run the test again. The test should save the contents of pmsg buffer into /data/misc/recovery/inject.txt. Test will pass if this file has expected contents.