)]}'
{
  "commit": "5c7327ff2f9d926e3dd707527b01de96633385e1",
  "tree": "8390081a6b06261c3fbb6069fa87c231c8562f23",
  "parents": [
    "d31105e09f5fda68bd88beb962fd69286fc4af96"
  ],
  "author": {
    "name": "Mohamad Mahmoud",
    "email": "mohamadmahmoud@google.com",
    "time": "Wed May 31 12:00:04 2023 +0000"
  },
  "committer": {
    "name": "Mohamad Mahmoud",
    "email": "mohamadmahmoud@google.com",
    "time": "Wed May 31 13:07:41 2023 +0000"
  },
  "message": "Move dumpAnrStateAsync calls after inputDispatchingTimedOut and update the durations array\n\nReorder the calls to dumpAnrStateAsync, placing them after the execution of ActivityManagerService.InputDispatchingTimedOut.\nThis adjustment prevents a potential race condition that could cause a significant delay in inputDispatchingTimedOut\n(and consequently, the generation of the first core dump in the ANR). By making this change, we ensure that the global window\nlock is held first by inputDispatchingTimedOut (in the call to  WindowProcessController.getInputDispatchingTimeoutMillis)\n\nTest: Tested manually\nBug: 272292150\nChange-Id: If48a9e5e3af38cabe618750b7989318af3fd75c4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3ba4ea55b5d3e68baff017ac2fdcab08a0e6fe69",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/os/anr/AnrLatencyTracker.java",
      "new_id": "80d753c7ed099c03d3eb134fdca78434d8c8b570",
      "new_mode": 33188,
      "new_path": "core/java/com/android/internal/os/anr/AnrLatencyTracker.java"
    },
    {
      "type": "modify",
      "old_id": "2df601fd1d3b62f57ab0e92210e090adfb6424ff",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/wm/AnrController.java",
      "new_id": "b9f6e177e6377a39e3d01cb3f7f087fd7dd2924c",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/wm/AnrController.java"
    }
  ]
}
