summaryrefslogtreecommitdiffstats
path: root/device.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Move librecovery_ui to a sub-directoryTianjie Xu2019-03-211-132/+0
| | | | | | | | This helps to expose librecovery_ui for device specific RecoveryUi. Bug: 76436783 Test: mma, unit tests pass Change-Id: Ic6c3d301d5833e4a592e6ea9d9d059bc4e4919be
* Add fastboot mode to recoveryHridya Valsaraju2018-08-141-0/+2
| | | | | | | | | | | | | | | | | Add a fastboot mode to recovery that can be entered with command line args or with the ui. Add usb property triggers to switch between fastboot and adb configurations. Allow switching between fastboot and adb through usb commands by opening a unix socket. adbd/fastbootd writes to this socket, which interrupts the ui and switches to the new mode. Test: Use fastboot mode Bug: 78793464 Change-Id: I7891bb84427ec734a21a872036629b95ab3fb13c
* Dynamically load device-specific recovery UI lib.Tao Bao2018-08-061-0/+4
| | | | | | | | | | | | | | | | | | | | | We used to statically link the device-specific recovery UI extension (`TARGET_RECOVERY_UI_LIB`) into `recovery`. Such a logic can't be easily migrated to Soong, as modules specified by `TARGET_RECOVERY_UI_LIB` may not be built with Soong. Instead of porting all the device-specific codes over, this CL builds and installs the UI lib as a shared library with Android.mk. `recovery` dlopen(3)'s and dlsym(3)'s `make_device` to invoke the device-specific UI lib on start. Note that in order to make dlopen(3) actually working, we have to switch `recovery` to be dynamically linked (we will make the move later anyway). Bug: 110380063 Test: Build and boot into marlin recovery image. Check that device-specific recovery UI is successfully loaded. Change-Id: Ia9861c7559a95f3f50676534540c0cb87cae4574
* recovery: Add ability to interrupt UIJerry Zhang2018-07-301-0/+1
| | | | | | | | | | | | | | Normally calling a UI method will block indefinitely until the UI is actually used. This creates a method to interrupt the UI, causing waitKey to return -2. This in turn, will cause ShowMenu to return -2. This allows switching between recovery and fastbootd via usb commands. Test: adb shell /data/nativetest64/recovery_unit_test/recovery_unit_test Bug: 78793464 Change-Id: I4c6c9aa18d79070877841a5c9818acf723fa6096
* recovery: Configure device menu based on runtime info.Tao Bao2018-05-111-1/+5
| | | | | | | | | | | | Drop the dependency on build time flag of AB_OTA_UPDATER when compiling device.cpp. Note that AB_OTA_UPDATER still guards the package install behavior (install.cpp). This can be extended to cover the entry of "Apply update from SD card". Test: Build and boot into recovery on angler and walleye respectively. Check the recovery menu. Change-Id: I36a6a6b4101ba61d4d374e32353c36cc5716f9ce
* Device owns the RecoveryUI instance.Tao Bao2018-05-101-14/+13
| | | | | | | Test: mmma -j bootable/recovery Test: Build and boot into recovery, w/ and w/o enabling quiescent mode respectively. Change-Id: I5d9bb945a6c3c9a3b96199fa0c8071a2f91339a0
* recovery: Get UI and locale from device.Jerry Zhang2018-05-081-0/+6
| | | | | | | | | This removes some reliance on the global locale and ui variables. Test: Recovery works Bug: 78793464 Change-Id: I78f1a2b321f5d50aa58b10735a73ae137283353a
* Move menu headers/items to std::vector<std::string>.Tao Bao2018-05-031-32/+37
| | | | | | | | | Test: mmma -j bootable/recovery Test: Run recovery_unit_test on marlin. Test: Build and boot into recovery image on angler. Check the UI that shows menu ('View recovery log', 'Wipe data', 'Run locale test'). Test: Start recovery with '--prompt_and_wipe_data'. Check the UI. Change-Id: If8a4209e0bb4ca64f719f9f9465d3b3589a69cdc
* Drop '#include "ui.h"' from device.h.Tao Bao2018-05-011-1/+2
| | | | | | | We don't need the dependency in the header. Test: mmma -j bootable/recovery Change-Id: I03741ae7911a7e8bf1284b2821cf986ca0ab434e
* Add a new option in recovery menu to test the background textsTianjie Xu2017-09-271-0/+1
| | | | | | | | | | | | Add a new option "Run locale test" to check the background text images (i.e. texts for "erasing", "error", "no_command" and "installing" with different locales.) Use volume up/down button to cycle through all the locales embedded in the png file, and power button to go back to recovery main menu. Test: Run locale test with bullhead. Change-Id: Ib16e119f372110cdb5e611ef497b0f9b9b418f51
* recovery: Move a few int to bool.Tao Bao2017-03-081-79/+73
| | | | | | | | | | Most of the changes are trivial. Also update a dead reference to device_handle_key() in device.h comment, and add some comments to get_menu_selection() function. Test: `mmma bootable/recovery` Change-Id: I59ef9213ec88ab35c0e7b8a7813ccf9c56dbd5c5
* Merge \"Fix google-explicit-constructor warnings in bootable/recovery.\"Chih-Hung Hsieh2016-06-301-1/+1
|\ | | | | | | | | | | am: a9f648f010 Change-Id: I7912c46384c2acef90fcd517d709449148f0b9db
| * Fix google-explicit-constructor warnings in bootable/recovery.Chih-Hung Hsieh2016-06-301-1/+1
| | | | | | | | | | | | Bug: 28341362 Change-Id: I4c3ab0ad0f62f8f3a6f3b30771010533a2739381 Test: build with clang-tidy
* | Update the system update animation.Elliott Hughes2016-04-151-0/+1
|/ | | | | | | | | | | | | | | | | Switch to a Wear-like intro/loop system. We don't have an intro yet, but hopefully this will let Wear delete more code when they move to N. Unlike them, we don't hard-code the number of frames: we just look to see what we have available. We do hard-code the fps though. Also add a graphics test mode so you can see a demo of the UI components without having to actually apply an OTA. Also fix a bug where default locale is null rather than en-US: it's more useful to show _some_ text if we don't have a locale (which should only be during development anyway). Bug: http://b/26548285 Change-Id: I63422e3fef3c41109f924d96fb5ded0b3ae7815d
* Split WipeData into PreWipeData and PostWipeData.Elliott Hughes2015-06-101-7/+10
| | | | | Bug: http://b/21760064 Change-Id: Idde268fe4d7e27586ca4469de16783f1ffdc5069
* Move the menu header out of the menu.Elliott Hughes2015-04-141-6/+0
| | | | | | | | | | | This makes it easier for us to deal with arbitrary information at the top, and means that headers added by specific commands don't overwrite the default ones. Add the fingerprint back, but broken up so it fits even on sprout's display. Change-Id: Id71da79ab1aa455a611d72756a3100a97ceb4c1c
* Auto-detect whether to use the long-press UI.Elliott Hughes2015-04-111-1/+1
| | | | Change-Id: Ie77a5584e301467c6a5e164d2c62d6f036b2c0c0
* Move "Mount /system" to the main menu.Elliott Hughes2015-04-101-4/+13
| | | | | | | Everyone's adding secret key combinations for this anyway, and it's very useful when debugging. Change-Id: Iad549452b872a7af963dd649f283ebcd3ea24234
* Merge "Move default implementations into Device."Elliott Hughes2015-04-101-12/+16
|\
| * Move default implementations into Device.Elliott Hughes2015-04-091-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | The current abstract class was a nice idea but has led to a lot of copy & paste in practice. Right now, no one we know of has any extra menu items, so let's make the default menu available to everyone. (If we assume that someone somewhere really does need custom device-specific menu options, a better API would let them add to our menu rather than replacing it.) Change-Id: I59f6a92f3ecd830c2ce78ce9da19eaaf472c5dfa
* | Remove some commented-out code.Elliott Hughes2015-04-091-10/+0
|/ | | | Change-Id: Ifb466ee2a89da88832c04086fa43da2b8409c232
* Make /cache/recovery/last_log available in recoveryNick Kralevich2014-10-231-1/+1
| | | | | | | | | | Create a new recovery UI option to allow the user to view /cache/recovery/last_log for their device. This gives enhanced debugging information which may be necessary when a failed OTA occurs. Bug: 18094012 Change-Id: Ic3228de96e9bfc2a0141c7aab4ce392a38140cf3
* drop APPLY_CACHE and refactor APPLY_EXTDoug Zongker2014-07-081-1/+2
| | | | | | | | | Drop support for sideloading OTA packages of the cache partition (a half-solution that's long since been deprecated by "adb sideload"). Refactor the code to sideload OTA packages from SD cards: remove the installation code from the file browser. Change-Id: Id0dff6b27c4a5837546f174f50e2e1d0379c43db
* add reboot-to-bootloader and power down options to recovery menuDoug Zongker2014-04-011-1/+2
| | | | | | Useful when debugging or developing for recovery. Change-Id: Ic3ab42d5e848ad3488f1c575339b55e45c8a024b
* support "sideload over ADB" modeDoug Zongker2012-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | Rather than depending on the existence of some place to store a file that is accessible to users on an an unbootable device (eg, a physical sdcard, external USB drive, etc.), add support for sideloading packages sent to the device with adb. This change adds a "minimal adbd" which supports nothing but receiving a package over adb (with the "adb sideload" command) and storing it to a fixed filename in the /tmp ramdisk, from where it can be verified and sideloaded in the usual way. This should be leave available even on locked user-build devices. The user can select "apply package from ADB" from the recovery menu, which starts minimal-adb mode (shutting down any real adbd that may be running). Once minimal-adb has received a package it exits (restarting real adbd if appropriate) and then verification and installation of the received package proceeds. Change-Id: I6fe13161ca064a98d06fa32104e1f432826582f5
* C++ class for device-specific codeDoug Zongker2011-10-311-0/+112
Replace the device-specific functions with a class. Move some of the key handling (for log visibility toggling and rebooting) into the UI class. Fix up the key handling so there is less crosstalk between the immediate keys and the queued keys (an increasing annoyance on button-limited devices). Change-Id: I698f6fd21c67a1e55429312a0484b6c393cad46f