... as a workaround for build system does not currently infer non-LTO
usage from Android.mk.
Test: m
Bug: 77320844
Change-Id: I6e9954b895051cc20408a30d0761e164e4c5bfd9
This aligns the logic between {default,wear,vr}_device.cpp. They all
implement their default make_device() functions, but using different
RecoveryUI variants.
This CL creates a new module librecovery_ui_default that uses
ScreenRecoveryUI, which serves as the default value for
TARGET_RECOVERY_UI_LIB.
Test: lunch aosp_{angler,marlin,dragon,walleye}-userdebug;
`mmma -j bootable/recovery` respectively.
Change-Id: I6755b09d96e4809bb1c17142895fe1cad95e5a02
Merged-In: I6755b09d96e4809bb1c17142895fe1cad95e5a02
This aligns the logic between {default,wear,vr}_device.cpp. They all
implement their default make_device() functions, but using different
RecoveryUI variants.
This CL creates a new module librecovery_ui_default that uses
ScreenRecoveryUI, which serves as the default value for
TARGET_RECOVERY_UI_LIB.
Test: lunch aosp_{angler,marlin,dragon,walleye}-userdebug;
`mmma -j bootable/recovery` respectively.
Change-Id: I6755b09d96e4809bb1c17142895fe1cad95e5a02
(cherry picked from commit 73fd036be8c7563423be0c3adbd4205c4f1bc2f5)
Also consolidate the duplicate codes to draw the menu in ScreenRecoveryUI
and WearRecoveryUI. This helps us to support text icons as menu in the
future.
Bug: 74397117
Test: Check the menu under recovery on bullhead and a wear device.
Change-Id: Iba9b646c3828670f0e78a7e07d1a94a44e96bb0b
Merged-In: Iba9b646c3828670f0e78a7e07d1a94a44e96bb0b
Also consolidate the duplicate codes to draw the menu in ScreenRecoveryUI
and WearRecoveryUI. This helps us to support text icons as menu in the
future.
Bug: 74397117
Test: Check the menu under recovery on bullhead and a wear device.
Change-Id: Iba9b646c3828670f0e78a7e07d1a94a44e96bb0b
(cherry picked from commit 2b3f80068e)
introduced as a depedency to libvintf.
Test: builds
Bug: 73556059
Change-Id: Ia51ba81ef462879481dcacb80d9ea9ea35e8b0bb
Merged-In: Ia51ba81ef462879481dcacb80d9ea9ea35e8b0bb
Move the module into a separate directory so that we can export only the
expected header.
With this change, minadbd no longer needs to include bootable/recovery.
Test: mmma -j bootable/recovery
Change-Id: I69b888ceb160a33a67d79c5bda208dc17ad6ed86
This is to add empty implementations of Health
HAL methods to report storage info.
Bug: 68388678
Test: vts-tradefed run vts -m VtsHalHealthV2_0
Change-Id: I4f093903f485519e16f39384f5c96fcd031438ba
After removing some deadcode from libext4_utils, libz is optimized
out by linker. However, it's still required by libvintf. Moving libz
down the list fixed the build.
Bug: 64395169
Change-Id: I23ecd70c83af83a219faced59d8227dc3c4e43d5
Also drop the "bootable/recovery" path in LOCAL_C_INCLUDES from
applypatch modules.
Test: lunch aosp_{angler,bullhead,fugu,dragon,sailfish}-userdebug;
mmma bootable/recovery
Change-Id: Idd602a796894f971ee4f8fa3eafe36c42d9de986
Also make matching changes to applypatch modules which include
edify/expr.h.
Test: mmma bootable/recovery
Change-Id: Ia72be3caa010d7f56a70add2da345e631b306378
Turn on -Wall for all modules. Also remove the obsolete file_cmp() in
apply_patch test and now() in wear_ui.
The only exception is lib_edify due to the unused functions in the
intermediate cpp files generated from the lex files. It will be handled
in a seperate CL.
Bug: 64939312
Test: mma, unit tests pass
Change-Id: Ic53f76b60b6401ab20db3d98130d674c08e3702f
This variable is useful on small screens (e.g. on watches) to handle
long menus. We should have better way to handle this value smartly.
Prior to that, expose the value to be overridable by using the generic
wearable UI module (librecovery_ui_wear).
Bug: 64307776
Test: Define the variable, build and boot into recovery image and check
the UI menu.
Change-Id: I5d7a6baa8bb4cc852bfcc2a7b3cc9686c1c8817e
With the following Makefile variables, we can reduce the work of writing
(copy/pasting) device-specific WearRecoveryUI classes.
The list of Makefile variables (the ones useful for Wear devices):
- TARGET_RECOVERY_UI_MARGIN_HEIGHT (default: 0)
- TARGET_RECOVERY_UI_MARGIN_WIDTH (default: 0)
Specify the margin space that we don't want to display texts. They
replace the former outer_width and outer_height.
- TARGET_RECOVERY_UI_TOUCH_LOW_THRESHOLD (default: 50)
- TARGET_RECOVERY_UI_TOUCH_HIGH_THRESHOLD (default: 90)
Specify the sensitivity of recognizing a swipe. Devices give absolute
positions, so for some devices we need to adjust the thresholds.
- TARGET_RECOVERY_UI_PROGRESS_BAR_BASELINE
Specify the progress bar vertical position, which should be adjusted
to the actual height of a device. It replaces the former
progress_bar_y.
- TARGET_RECOVERY_UI_ANIMATION_FPS (default: 30)
Specify the animation FPS if using device-specific animation images.
It replaces the former animation_fps.
Devices can specify "TARGET_RECOVERY_UI_LIB := librecovery_ui_wear",
with optionally defined Makefile vars above, in BoardConfig.mk to
customize their WearRecoveryUI.
Also remove the obsolete wear_touch.{cpp,h}, which has been merged into
ui.cpp in commit 5f8dd9951d.
Bug: 64307776
Test: Change the device BoardConfig.mk and test recovery image.
Change-Id: Id0fb2d4e3977ab5ddd31e71f9535470cab70e41b
- Added detection for EV_ABS events in minui/events.cpp, if it's
allowed;
- Added listening and processing touch inputs in ui.cpp;
- Fixed an issue in recognizing swipe with multi-touch protocol A;
- Changed the logic in RecoveryUI::ProcessKey() to be swipe-aware. It
now allows turning on text mode with <power> + <swipe-up>.
The last change also fixed an issue on devices with protocol A: prior
to this CL, user may accidentally toggle the text mode during an OTA.
Because it was considered as a single-button device, a long tap that
sent BTN_TOUCH event would turn on text mode.
Test: Allow detecting touch inputs. Swiping (up, down, enter) works on
angler, angelfish, dorado respectively.
Bug: 36169090
Change-Id: I4bc882b99114ce4ab414f8bdb8f4f7a525b8a8fd
Execute mke2fs to create empty ext4 filesystem.
Execute e2fsdroid to add files to filesystem.
Test: enter recovery mode and wipe data
Bug: 35219933
Change-Id: I10a9f4c1f4754ad864b2df45b1f879180ab33876
(cherry picked from commit ac31808cd3)
Get rid of pixel offset variables, and use makefile variables in
BoardConfigs.
Bug: 37779982
Test: Verified vr ui has same behavior.
Change-Id: Ifbf44e27d7101aedbe3c0e6db4b8181d56efadfd
(cherry picked from commit 81a8e4cab2)
Instead of defining device-specific UI class, this CL allows using
Makefile variables to specify margin values directly.
Values explicitly defined via TARGET_RECOVERY_UI_MARGIN_HEIGHT and
TARGET_RECOVERY_UI_MARGIN_WIDTH will be used. Otherwise they will
default to zero.
Bug: 62732748
Test: Specify the height and width and check recovery texts.
Change-Id: Icb6f7466c8d407f877b93da38aebfdf7e6b41be7
(cherry picked from commit a92d8fb456)
A version of screen ui with specific adjustments for vr device
compatibility.
(cherrypick of a44dba7f4e to AOSP)
Bug: 37779982
Test: "adb reboot recovery" to view
Change-Id: If6b0f26c1b587f8d0176060685b5efb6c67593b1
run_fuse_sideload() is passing the block size as the max_read
option, so it will only handle a request that involves at most two
blocks at a time. However, the minimal allowed value was set to 1024
prior to this CL, which is inconsistent with the kernel code
(fs/fuse/inode.c) that sets it to the greater of 4096 and the passed-in
max_read option. This would fail the calls with a block size / max_read
less than 4096 due to the wrongly computed block indices.
Note that we didn't observe real issue in practice, because we have been
using 64 KiB block sizes for both of adb and sdcard sideload calls. The
issue only shows up in my local CL (to come later) that uses 1024 block
size in run_fuse_sideload() tests.
Test: recovery_component_test
Test: adb sideload with the new recovery image on angler
Change-Id: Id9f0cfea13d0d193dcb7cd41a1553a23739545f2