)]}'
{
  "commit": "3c63fa477df32e9f9499600d93fc491e1b54201f",
  "tree": "33b4bb2fb4a9b5e2dc43888b229b2d2ba6809043",
  "parents": [
    "ea2ed778452779e55eaff4610571b89c25de6980"
  ],
  "author": {
    "name": "Siarhei Vishniakou",
    "email": "svv@google.com",
    "time": "Tue Dec 15 02:59:54 2020 +0000"
  },
  "committer": {
    "name": "Siarhei Vishniakou",
    "email": "svv@google.com",
    "time": "Mon Jan 11 12:16:51 2021 -1000"
  },
  "message": "Split monitor and window ANR notification paths\n\nCurrently, both monitors and windows share the same ANR notification\npaths. This means that InputManagerService must be the one to determine\nwhether the ANR event belongs to a monitor or to a window.\n\nWe previously kept track of this by recording the pid inside\nInputManagerService. However, there seems to be a path where the gesture\nmonitor process dies that does not lead to a notification of the java\nlayer. This resulted in having multiple registered processes.\n\nNow, we will rely on the native layer to manage the pid and to notify\nthe java layer appropriately.\n\nBug: 175593831\nTest: atest inputflinger_tests\nChange-Id: Ie1f7e976dcadcf07a83f78b3ca856b5c43096e2f\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4e55872bc69cabf4770e2dcdb8d95e8a6aba812f",
      "old_mode": 33188,
      "old_path": "services/inputflinger/benchmarks/InputDispatcher_benchmarks.cpp",
      "new_id": "887bdd4edc3ac695c0c65b8df469dd740b2ed71a",
      "new_mode": 33188,
      "new_path": "services/inputflinger/benchmarks/InputDispatcher_benchmarks.cpp"
    },
    {
      "type": "modify",
      "old_id": "3a860f05e0cb6895d9ee29a61f79120c45491541",
      "old_mode": 33188,
      "old_path": "services/inputflinger/dispatcher/Entry.h",
      "new_id": "26b641d70c8dec754ff1a4b470627f5958832097",
      "new_mode": 33188,
      "new_path": "services/inputflinger/dispatcher/Entry.h"
    },
    {
      "type": "modify",
      "old_id": "f3d969e93f99789ec005a4081db2dab411c9b0a1",
      "old_mode": 33188,
      "old_path": "services/inputflinger/dispatcher/InputDispatcher.cpp",
      "new_id": "cf901e70cceb84e3c86ea4ec99f1882daee76aa7",
      "new_mode": 33188,
      "new_path": "services/inputflinger/dispatcher/InputDispatcher.cpp"
    },
    {
      "type": "modify",
      "old_id": "df0be99854d99be1ac62af44c41662d8e9503880",
      "old_mode": 33188,
      "old_path": "services/inputflinger/dispatcher/InputDispatcher.h",
      "new_id": "c7299e94718cfaebfe6b4ab2922c87eb8d54a5e6",
      "new_mode": 33188,
      "new_path": "services/inputflinger/dispatcher/InputDispatcher.h"
    },
    {
      "type": "modify",
      "old_id": "d9ec020a2bf0188a74e338aa394ca885b80c7cf2",
      "old_mode": 33188,
      "old_path": "services/inputflinger/dispatcher/include/InputDispatcherPolicyInterface.h",
      "new_id": "b9761297731363f7c10136def26dfffa81ed244d",
      "new_mode": 33188,
      "new_path": "services/inputflinger/dispatcher/include/InputDispatcherPolicyInterface.h"
    },
    {
      "type": "modify",
      "old_id": "6dbc88f4d6854bb706309ce0a79a7e175867f090",
      "old_mode": 33188,
      "old_path": "services/inputflinger/tests/InputDispatcher_test.cpp",
      "new_id": "9181c1c73974230d6fd0ff4911d52c4c9f877f56",
      "new_mode": 33188,
      "new_path": "services/inputflinger/tests/InputDispatcher_test.cpp"
    }
  ]
}
