)]}'
{
  "commit": "6d4bed94ceec266ecc470da8e886d12cae580e1b",
  "tree": "405191ea7de841d3fef2445f023b797e1ccb651a",
  "parents": [
    "ac3aacf7ca34f2cea9e7d5a9befba67f063ebe22"
  ],
  "author": {
    "name": "arthurhung",
    "email": "arthurhung@google.com",
    "time": "Wed Mar 17 11:59:33 2021 +0800"
  },
  "committer": {
    "name": "arthurhung",
    "email": "arthurhung@google.com",
    "time": "Thu Mar 25 00:05:52 2021 +0800"
  },
  "message": "Move drag event to InputDispatcher (7/n)\n\nThis CL handle the special case while using a stylus device. During drag\nand drop and the primary button was down, we will check the button being\nlifted in the future, if that happens, we\u0027ll drop the item.\n\nThis includes the behavior:\n-- Touch screen with stylus -\u003e start drag drop with button pressed -\u003e\n   move and drag item -\u003e drop item by releasing button.\n\nWe could still drop item when receiving ACTION_UP.\n\nBug: 19621008\nBug: 158242495\nTest: atest inputflinger_tests\nChange-Id: Ia84f4fd85367f96272af3a19c3db50c4216de1b0\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "393f64974646e78d2bc1c472d0e25bb188714e3c",
      "old_mode": 33188,
      "old_path": "services/inputflinger/dispatcher/Android.bp",
      "new_id": "9750ef98332ce25c3a199a791814cc4934df6350",
      "new_mode": 33188,
      "new_path": "services/inputflinger/dispatcher/Android.bp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2e2df430093906d52c1b66d48c74c2e21b8f6a27",
      "new_mode": 33188,
      "new_path": "services/inputflinger/dispatcher/DragState.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "06453d8eeea8474ca93db69629c184f6cf4f6e5b",
      "new_mode": 33188,
      "new_path": "services/inputflinger/dispatcher/DragState.h"
    },
    {
      "type": "modify",
      "old_id": "397a9d78e5c48ed1767ef49cda824746850c1423",
      "old_mode": 33188,
      "old_path": "services/inputflinger/dispatcher/InputDispatcher.cpp",
      "new_id": "697739688bc02a22902a1269f7a41bec91f03203",
      "new_mode": 33188,
      "new_path": "services/inputflinger/dispatcher/InputDispatcher.cpp"
    },
    {
      "type": "modify",
      "old_id": "593ec23e23ecdaf9f66658e0c8976e94016ac7b4",
      "old_mode": 33188,
      "old_path": "services/inputflinger/dispatcher/InputDispatcher.h",
      "new_id": "5708face4b9abe359df0ad90372a82b3284f4c88",
      "new_mode": 33188,
      "new_path": "services/inputflinger/dispatcher/InputDispatcher.h"
    },
    {
      "type": "modify",
      "old_id": "4165f4934c3b8859fe982483c462a4e8e0bf7d0e",
      "old_mode": 33188,
      "old_path": "services/inputflinger/dispatcher/TouchState.cpp",
      "new_id": "81b3cf025bde6bc89ca9537695b0dd06b3bc94de",
      "new_mode": 33188,
      "new_path": "services/inputflinger/dispatcher/TouchState.cpp"
    },
    {
      "type": "modify",
      "old_id": "d7a561c5ae258d8c721e0bfa08d63ffb09b1d399",
      "old_mode": 33188,
      "old_path": "services/inputflinger/dispatcher/TouchState.h",
      "new_id": "623c6a824f06303934a30a0b326c8fce33d6e25e",
      "new_mode": 33188,
      "new_path": "services/inputflinger/dispatcher/TouchState.h"
    },
    {
      "type": "modify",
      "old_id": "cedda6e91cac5d805bf6f6960d6596779852fc13",
      "old_mode": 33188,
      "old_path": "services/inputflinger/tests/InputDispatcher_test.cpp",
      "new_id": "485fc99b1b26e4b69212fbcf9847dc89258a4f43",
      "new_mode": 33188,
      "new_path": "services/inputflinger/tests/InputDispatcher_test.cpp"
    }
  ]
}
