summaryrefslogtreecommitdiffstats
path: root/minui/events.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Do not write past end of inotify event structure.Christopher Ferris2021-10-111-3/+5
| | | | | | | | Bug: 202159709 Test: None yet. Change-Id: If80ed957aaa93c03a97b57e818e7783fa6e38242 (cherry picked from commit ce87c786116557e89f9da95f550d6816aeaca67e)
* Fix ioctl FIONREAD call parameters to use int instead of size_tStephane Lee2020-01-141-2/+4
| | | | | | | Test: Ensure that calls to inotify_cb succeed; Ensure charger does not crash Change-Id: I9a7ca304057313c74ef02fd97223d0ed570c6206
* minui: Support input device hotplug in recovery mode.Xihua Chen2019-08-141-20/+104
| | | | | | | | | | | | | | | In the old code, the recovery only enumerated the input devices at the startup, and read the input events from these devices. So if a USB input device is probed after the recovery startup, then the recovery can't read the events from this device. This patch use inotify to monitor /dev/input for new added input device, then support input device hotplug in recovery mode. Bug: 111847510 Test: can use USB keyboard hotplugged in recovery mode Change-Id: I7e7dcbd619d3c66a2f40a43418f5dac6a50c859e Signed-off-by: Liu Shuo A <shuo.a.liu@intel.com> Signed-off-by: Ming Tan <ming.tan@intel.com>
* minui: Managed FDs with smart pointers.Tao Bao2019-03-111-102/+105
| | | | | | | Also clean up a few variable names. Test: Boot into recovery. Check key inputs. Change-Id: I058475ac22f3db8523bd8aa30ccb61be1ef45559
* minui: Fix the wrong move of the callback.Tao Bao2019-03-111-1/+1
| | | | | | | | The input_cb in ev_init() should be shared among the detected input devices. Test: Boot into recovery. Check key inputs. Change-Id: I0315f6a23625bacedd333fefacbf4ac6797bc1fd
* Use O_CLOEXEC at a few places.Tao Bao2019-03-011-1/+1
| | | | | | | | | | Found these FDs unintentionally propagated into forked processes (e.g. updater) during my local debugging. Use O_CLOEXEC to avoid that. Test: Dump open FDs in updater process. Test: Sideload a package on taimen (which uses framebuffer). Test: Run graphics test on taimen. Change-Id: I1fb65dd4a103c47d28b15973def9e9359c251ca3
* use epoll_create1Nick Kralevich2018-12-171-1/+1
| | | | | | | | | epoll_create leaks file descriptors. Use epoll_create1(EPOLL_CLOEXEC) instead. Bug: 120983106 Test: compiles and boots Change-Id: I91f213ebb2dd05330dd25ec1ca1fec59b611e7f2
* Add missing includes.Dan Albert2017-10-111-0/+1
| | | | | | Test: mma Bug: None Change-Id: I8b588dfbc00ef67557622d44700b331c7a31bde3
* ui: Move the support for touch inputs into RecoveryUI.Tao Bao2017-08-021-11/+36
| | | | | | | | | | | | | | | | | | | - 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
* Add the missing #include of <functional>.Tao Bao2017-03-171-0/+2
| | | | | | | | For the use of std::function and std::bind. They were relying on the transitive inclusion from <minui/minui.h>. Test: mmma bootable/recovery Change-Id: Ia138e1cbdd035b11d6cdca9e16c5591303b6ee13
* Add a missing #include for openat(2).Elliott Hughes2017-02-231-0/+1
| | | | | | Bug: https://code.google.com/p/android/issues/detail?id=64374 Test: builds Change-Id: I7d7650463197710657820a1adce51f71c1b01415
* minui: Move callback functions to std::function.Tao Bao2017-01-231-107/+102
| | | | | | | Also make minor clean up to the header includes. Test: mmma bootable/recovery system/core/healthd system/extra/slideshow Change-Id: I3bfcf2c0e203c26a98ee08f1f8036c68356a69fd
* minui: Export minui/minui.h.Tao Bao2017-01-171-1/+1
| | | | | | | For libminui static and shared libraries. Test: build Change-Id: Ib30dc5e2ef4a3c8b3ca3a0cec68cb65e229a0c16
* Fix clang-tidy performance warnings.Chih-Hung Hsieh2016-07-271-1/+1
| | | | | | | | | | * Use const reference parameter type to avoid unnecessary copy. * Use more efficient overloaded string methods. Bug: 30407689 Bug: 30411878 Change-Id: Iefab05c077367f272abf545036b853e8a295c8cd Test: build with WITH_TIDY=1
* Fix google-runtime-int warnings.Chih-Hung Hsieh2016-04-181-6/+9
| | | | | Bug: 28220065 Change-Id: Ida199c66692a1638be6990d583d2ed42583fb592
* Check all lseek calls succeed.Elliott Hughes2015-04-301-1/+2
| | | | | | | Also add missing TEMP_FAILURE_RETRYs on read, write, and lseek. Bug: http://b/20625546 Change-Id: I03b198e11c1921b35518ee2dd005a7cfcf4fd94b
* Switch minui over to C++.Elliott Hughes2015-04-101-6/+6
| | | | Change-Id: I59e08a304ae514a3fdb6fab58721f11670bc1b01
* Fix ScreenRecoveryUI to handle devices without power/up/down.Elliott Hughes2015-04-101-2/+2
| | | | | | | | Currently fugu has a custom subclass to handle this. The default code supports devices with trackballs but not all shipping Nexus devices? That's just silly. Change-Id: Id2779c91284899a26b4bb1af41e7033aa889df10
* Add ev_iterate_available_keys to minui.Elliott Hughes2015-04-101-0/+231
This lets us recognize whether we have up/down/power, say, and tailor the UI accordingly. Change-Id: If94e454f14243b59d2f473ac9a436bd60591da01