tree: d44e0549f01b3381db84f01176759f112a8ce2eb [path history] [tgz]
  1. libs/
  2. res/
  3. src/
  4. Android.mk
  5. AndroidManifest.xml
  6. README.md
tests/BugReportApp/README.md

AAE BugReport App

BugReport App for Android Automotive OS.

Flow

  1. User long presses Notification icon
  2. It opens BugReportActivity as dialog under current user (e.g. u10)
  3. BugReportActivity connects to BugReportService and checks if a bugreporting is running.
  4. If bugreporting is already running it shows in progress dialog
  5. Otherwise it creates MetaBugReport record in a local db and starts recording audio message.
  6. When the submit button is clicked, it saves the audio message in temp directory and starts BugReportService.
  7. If the drivers cancels the dialog, the BugReportActivity deletes temp directory and closes the activity.
  8. BugReportService running under current user (e.g. u10) starts collecting logs using dumpstate, and when finished it updates MetaBugReport using BugStorageProvider.
  9. BugStorageProvider is running under u0, it schedules UploadJob.
  10. 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.