Add a privileged API for capturing and consuming bugreports
The API is mostly implemented; except for hooking up the listener and handling an already running bugreport. BugreportManager is the handle to the new API exposed to apps. Generating bugreports requires root privileges. To limit the footprint of the root access, the actual bugreport generation in Dumpstate binary, is accessed as a oneshot service and dies after it finishes running. System server accesses Dumpstate via a binder interface since it does not have root privileges. Starting a oneshot service is done via setting a system property, which needs to be done from system server. BugreportManagerService is the new system server service that does this. BugreportManager calls into BugreportManagerService via a binder interface, since the former is in the app's process. Both app to system server as well as system server to native service calls are via implementations of IDumpstate binder interface. Bug: 111441001 Test: builds. Flashed & verified it boots. Test: wrote a test client (not included) and verified invoking startBugreport works. Change-Id: I4abeb753388c055c36ae0dd916af1ec8d40b7bf0
Loading
Please register or sign in to comment