)]}'
{
  "commit": "e454a698d9f1fcc37c110e3d08b21f31b0be2b7e",
  "tree": "8f4b159a23f626ea1e5754bf5260c049e84cbbf7",
  "parents": [
    "5adb6255396ce266fa25e57a4319d0a0d9035422"
  ],
  "author": {
    "name": "Galia Peycheva",
    "email": "galinap@google.com",
    "time": "Tue Dec 20 15:52:33 2022 +0100"
  },
  "committer": {
    "name": "Galia Peycheva",
    "email": "galinap@google.com",
    "time": "Wed Feb 08 09:18:39 2023 +0000"
  },
  "message": "Handle dream restart\n\nWhen a startDream is called directly after a stopDream for the same\nDreamService, the old instance should be stopped and the state\nshould be cleared. Otherwise, the old dream\u0027s\nmStopStubbornDreamRunnable messes up the state in the dream manager\nand power manager.\n\nIn this CL we stop the old dream immediately if a startDream is\ncalled for the same dream component while the old dream is gently\nwaking. This ensures that the dream state is cleared.\n\nBug: 260205205\nBug: 260094933\nBug: 265110360\nTest: 2x adb shell cmd dreams start-dreaming - verify the device is\n      dreaming afterwards\nChange-Id: Ibd261038430a38f2fa519549372ddbf19d7cb36b\n(cherry picked from commit 4bd7a87938db1e9035cb1b72b512f82c40d8d76a)\nMerged-In: Ibd261038430a38f2fa519549372ddbf19d7cb36b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f87a1461f9d2cc98d1025e50c4a0a91baeda6448",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/dreams/DreamController.java",
      "new_id": "ad5eeea89303151578821fb35311086c259f87cc",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/dreams/DreamController.java"
    }
  ]
}
