)]}'
{
  "commit": "6e2eb81ac4687ac5340673ff996c0591154def7f",
  "tree": "94259ac5b820d51e8fda8646606fa5eeb147198f",
  "parents": [
    "3b660525f37bdb6c549d9ce483658d4a8f189438"
  ],
  "author": {
    "name": "Ytai Ben-Tsvi",
    "email": "ytai@google.com",
    "time": "Tue Mar 15 11:34:18 2022 -0700"
  },
  "committer": {
    "name": "Ytai Ben-Tsvi",
    "email": "ytai@google.com",
    "time": "Thu Mar 17 14:07:06 2022 -0700"
  },
  "message": "Wait for an abort event when stopping a model\n\nBecause the client callbacks from SoundTriggerMiddleware service are\nasync, if a client quickly stops and starts a model, then receives a\ndetection event for that model, it is impossible for it to tell\nwhether the event corresponding to the previous or current session,\nand thus is unable to reason about the resulting state of the model.\n\nTo mitigate that, we will always wait for an abort event when a model\nis stopped before any other operation is attempted. This way the\nmodel state stays synchronized.\n\nFixes: 191935600\nTest: Manual verification of soundtrigger use-cases. Specifically,\n      quick toggling of Assitant and Now Playing via Settings.\n\n\nChange-Id: I010558e8fa1891922f20dcdb7b0ca04c9500c2e1\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "24ce7e76a49c61d9b087da3830e15344c29af2dc",
      "old_mode": 33188,
      "old_path": "services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java",
      "new_id": "c8bcb83cae74e48f4d649fef1c0a4b252497d60c",
      "new_mode": 33188,
      "new_path": "services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java"
    }
  ]
}
