AAE BugReport App
BugReport App for Android Automotive OS.
Flow
- User long presses Notification icon
- It opens BugReportActivity as dialog under current user (e.g. u10)
- BugReportActivity connects to BugReportService and checks if a bugreporting is running.
- If bugreporting is already running it shows in progress dialog
- Otherwise it creates MetaBugReport record in a local db and starts recording audio message.
- When the submit button is clicked, it saves the audio message in temp directory and starts BugReportService.
- If the drivers cancels the dialog, the BugReportActivity deletes temp directory and closes the activity.
- BugReportService running under current user (e.g. u10) starts collecting logs using dumpstate, and when finished it updates MetaBugReport using BugStorageProvider.
- BugStorageProvider is running under u0, it schedules UploadJob.
- UploadJob runs SimpleUploaderAsyncTask to upload the bugreport.
Bug reports are zipped and uploaded to GCS. GCS enables creating Pub/Sub notifications that can be used to track when new bug reports are uploaded.
Configuration
UI and upload configs are located in res/
directory. Resources can be overlayed for specific products.
Upload configuration
BugReport app uses res/raw/gcs_credentials.json
for authentication and res/values/configs.xml
for obtaining GCS bucket name.