)]}'
{
  "commit": "5c225b1680e696ae8bbf505a1997d6f720672f74",
  "tree": "932326fd02ee91d8a64adfcc9415027646c56563",
  "parents": [
    "3a0146cd29fae3c5bc29d8d535d67826284f8cc9"
  ],
  "author": {
    "name": "Jeff Brown",
    "email": "jeffbrown@google.com",
    "time": "Wed Jun 16 01:53:36 2010 -0700"
  },
  "committer": {
    "name": "Jeff Brown",
    "email": "jeffbrown@google.com",
    "time": "Thu Jun 17 13:27:16 2010 -0700"
  },
  "message": "Even more native input dispatch work in progress.\n\nAdded more tests.\nFixed a regression in Vector.\nFixed bugs in pointer tracking.\nFixed a starvation issue in PollLoop when setting or removing callbacks.\nFixed a couple of policy nits.\n\nModified the internal representation of MotionEvent to be more\nefficient and more consistent.\n\nAdded code to skip/cancel virtual key processing when there are multiple\npointers down.  This helps to better disambiguate virtual key presses\nfrom stray touches (such as cheek presses).\n\nChange-Id: I2a7d2cce0195afb9125b23378baa94fd2fc6671c\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0db40ce973f8df827cff0dd49c7ce8816ad8a8a4",
      "old_mode": 33188,
      "old_path": "api/current.xml",
      "new_id": "6847352f4d73bab85139426f23fb4fc4804ac5ec",
      "new_mode": 33188,
      "new_path": "api/current.xml"
    },
    {
      "type": "modify",
      "old_id": "1f0619141b42d8d5722ae7fe6669ac64d4cf6e4b",
      "old_mode": 33188,
      "old_path": "core/java/android/view/MotionEvent.java",
      "new_id": "ae8c21dd666bb2fc9da283ef29d2e68d502bd057",
      "new_mode": 33188,
      "new_path": "core/java/android/view/MotionEvent.java"
    },
    {
      "type": "modify",
      "old_id": "47bb0735f24e60b892690af8599940206f796186",
      "old_mode": 33188,
      "old_path": "core/jni/android_view_InputChannel.cpp",
      "new_id": "4a4393ae2dd12eff12648d20b66e474d8ccb2c08",
      "new_mode": 33188,
      "new_path": "core/jni/android_view_InputChannel.cpp"
    },
    {
      "type": "modify",
      "old_id": "629c8fec04ff7af8a4179c1e4e53fce2d4287682",
      "old_mode": 33188,
      "old_path": "core/jni/android_view_MotionEvent.cpp",
      "new_id": "78137e2a889b9f6e40f3d25ac1cdbae49462d2ec",
      "new_mode": 33188,
      "new_path": "core/jni/android_view_MotionEvent.cpp"
    },
    {
      "type": "modify",
      "old_id": "d45bfcfda946cdb6faea6795a0cc253020cc9830",
      "old_mode": 33188,
      "old_path": "include/ui/Input.h",
      "new_id": "92ff87209e17ac190c10d11143fdc86920623fb3",
      "new_mode": 33188,
      "new_path": "include/ui/Input.h"
    },
    {
      "type": "modify",
      "old_id": "9537523832663d7f95c111fa574f961b12fd5e82",
      "old_mode": 33188,
      "old_path": "include/ui/InputTransport.h",
      "new_id": "7b182f384a96a3a96874f735bf2f7fb827a9762a",
      "new_mode": 33188,
      "new_path": "include/ui/InputTransport.h"
    },
    {
      "type": "modify",
      "old_id": "c9d951f18a8303d713d166edc413c27183cce4ef",
      "old_mode": 33188,
      "old_path": "include/utils/PollLoop.h",
      "new_id": "a95fb171cf56f23b05ef4786ac1d5b348837db84",
      "new_mode": 33188,
      "new_path": "include/utils/PollLoop.h"
    },
    {
      "type": "modify",
      "old_id": "d40ae166485b9e5ad5c78573232f925bc935ba27",
      "old_mode": 33188,
      "old_path": "include/utils/Vector.h",
      "new_id": "ec851bd0b5f4543cb2807ca8d0af00def96d5d67",
      "new_mode": 33188,
      "new_path": "include/utils/Vector.h"
    },
    {
      "type": "modify",
      "old_id": "46a7bc26556712815fba3f56b078dfd91bdd5d59",
      "old_mode": 33188,
      "old_path": "include/utils/VectorImpl.h",
      "new_id": "c4ec2ff97f66658c2ff43ab7a5df065e73550651",
      "new_mode": 33188,
      "new_path": "include/utils/VectorImpl.h"
    },
    {
      "type": "modify",
      "old_id": "d3677087134c8b7a06c288d4277482a14be8ea5d",
      "old_mode": 33188,
      "old_path": "libs/ui/Input.cpp",
      "new_id": "0e6f2f53ee133cc18b9e983717daf9cb5624fecf",
      "new_mode": 33188,
      "new_path": "libs/ui/Input.cpp"
    },
    {
      "type": "modify",
      "old_id": "f058271bda13cd3a5c7fdd29e61905a1963c9dcf",
      "old_mode": 33188,
      "old_path": "libs/ui/InputDispatcher.cpp",
      "new_id": "14dcada3b51897cfcb6d893fc1be41471d49734a",
      "new_mode": 33188,
      "new_path": "libs/ui/InputDispatcher.cpp"
    },
    {
      "type": "modify",
      "old_id": "62b5f288a37071f0cb3e6d672d19fd7be00f5922",
      "old_mode": 33188,
      "old_path": "libs/ui/InputReader.cpp",
      "new_id": "5a280aed37a7f70dc93381f4ce909f8a89538061",
      "new_mode": 33188,
      "new_path": "libs/ui/InputReader.cpp"
    },
    {
      "type": "modify",
      "old_id": "a24180fca55f76df16790d1b68dcebc7d3f0c874",
      "old_mode": 33188,
      "old_path": "libs/ui/InputTransport.cpp",
      "new_id": "86bbd3782d5016b9213e8255854a2957928b4f98",
      "new_mode": 33188,
      "new_path": "libs/ui/InputTransport.cpp"
    },
    {
      "type": "modify",
      "old_id": "1ff896baf779a32c02a144d79fb8b5593bb3fd4b",
      "old_mode": 33188,
      "old_path": "libs/ui/tests/Android.mk",
      "new_id": "46d74934de319f4752eaeb4b65a9fe4452f478eb",
      "new_mode": 33188,
      "new_path": "libs/ui/tests/Android.mk"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6cec1c02ea95bd3df945fa854ebc11f9fd8539d1",
      "new_mode": 33188,
      "new_path": "libs/ui/tests/InputChannel_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "3d920438a0065b7fb0b72f9cd67b29a475d15823",
      "old_mode": 33188,
      "old_path": "libs/ui/tests/InputDispatcher_test.cpp",
      "new_id": "1dc6e46a453da646773e6c61c7a8eb87775b39d4",
      "new_mode": 33188,
      "new_path": "libs/ui/tests/InputDispatcher_test.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2d6b5312ffc3fafe03340405cb2364b656651b8d",
      "new_mode": 33188,
      "new_path": "libs/ui/tests/InputPublisherAndConsumer_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "90a3e8b35374c0c550da7c3e4e9cb36900b27e6a",
      "old_mode": 33188,
      "old_path": "libs/utils/PollLoop.cpp",
      "new_id": "20a4d1385bd1f44215fdc755b82a19bc7c06908a",
      "new_mode": 33188,
      "new_path": "libs/utils/PollLoop.cpp"
    },
    {
      "type": "modify",
      "old_id": "b09c6cae70c5df0d75cc86997021b4b6af7a1c55",
      "old_mode": 33188,
      "old_path": "libs/utils/VectorImpl.cpp",
      "new_id": "289c826d3eb67c3fb8b711643a6ddd42067169a0",
      "new_mode": 33188,
      "new_path": "libs/utils/VectorImpl.cpp"
    },
    {
      "type": "modify",
      "old_id": "6c719c85c78cdbd071561c6363b92efa65504686",
      "old_mode": 33188,
      "old_path": "libs/utils/tests/PollLoop_test.cpp",
      "new_id": "4848c0fa669f8aa0ad17b1e43018dda5eccea72e",
      "new_mode": 33188,
      "new_path": "libs/utils/tests/PollLoop_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "e55af3ccd8a1ec35c5b461365158087b88203e4d",
      "old_mode": 33188,
      "old_path": "libs/utils/tests/TestHelpers.h",
      "new_id": "d8e985e9ce611369583708bcaba36e457545d9ce",
      "new_mode": 33188,
      "new_path": "libs/utils/tests/TestHelpers.h"
    },
    {
      "type": "modify",
      "old_id": "ee2f664140dbdfc812e6ecc20173c828249fbb2d",
      "old_mode": 33188,
      "old_path": "native/include/android/input.h",
      "new_id": "193cbf3cb3379eb23aa8882b926645c97ecae0ac",
      "new_mode": 33188,
      "new_path": "native/include/android/input.h"
    },
    {
      "type": "modify",
      "old_id": "a988a96ef480f63405fbc755e4afaccfc99f505a",
      "old_mode": 33188,
      "old_path": "services/jni/com_android_server_InputManager.cpp",
      "new_id": "ab3922f631acebfae0cb0fdf77defa0490f552d6",
      "new_mode": 33188,
      "new_path": "services/jni/com_android_server_InputManager.cpp"
    }
  ]
}
