)]}'
{
  "log": [
    {
      "commit": "6d0fec2de3601821f4f44eeb7d7deedebb2b7117",
      "tree": "9fdea32c5691a6d0bcb3085df47f42a8e6ecd565",
      "parents": [
        "b350bec514eb9fee473e4ef62680c53e992dc49b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 23 21:28:06 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 14:16:15 2010 -0700"
      },
      "message": "Refactor input reader to support new device types more easily.\n\nRefactored the input reader so that each raw input protocol is handled\nby a separate subclass of the new InputMapper type.  This way, behaviors\npertaining to keyboard, trackballs, touchscreens, switches and other\ndevices are clearly distinguished for improved maintainability.\n\nAdded partial support for describing capabilities of input devices\n(incomplete and untested for now, will be fleshed out in later commits).\n\nSimplified EventHub interface somewhat since InputReader is taking over\nmore of the work.\n\nCleaned up some of the interactions between InputManager and\nWindowManagerService related to reading input state.\n\nFixed swiping finger from screen edge into display area.\n\nAdded logging of device information to \u0027dumpsys window\u0027.\n\nChange-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612\n"
    },
    {
      "commit": "2c6081ce3593712f30dacd990a97209c791d6ced",
      "tree": "4808bc521c207ea11ec0daceb98f77a6b47b00a0",
      "parents": [
        "c5ed5910c9ef066cec6a13bbb404ec57b1e92637"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 15 17:44:53 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 15 22:05:33 2010 -0700"
      },
      "message": "Implement native key pre-dispatching to IMEs.\n\nThis significantly re-works the native key dispatching code to\nallow events to be pre-dispatched to the current IME before\nbeing processed by native code.  It introduces one new public\nAPI, which must be called after retrieving an event if the app\nwishes for it to be pre-dispatched.\n\nCurrently the native code will only do pre-dispatching of\nsystem keys, to avoid significant overhead for gaming input.\nThis should be improved to be smarted, filtering for only\nkeys that the IME is interested in.  Unfortunately IMEs don\u0027t\ncurrently provide this information. :p\n\nChange-Id: Ic1c7aeec8b348164957f2cd88119eb5bd85c2a9f\n"
    },
    {
      "commit": "c5ed5910c9ef066cec6a13bbb404ec57b1e92637",
      "tree": "b06dfdac2d807dae78a2634007b6e627eefd0804",
      "parents": [
        "d9452ecd0ce6c8e0518055929ba1fd0712146405"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 14 18:48:53 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 15 18:32:33 2010 -0700"
      },
      "message": "Add support for new input sources.\n\nAdded several new coordinate values to MotionEvents to capture\ntouch major/minor area, tool major/minor area and orientation.\n\nRenamed NDK input constants per convention.\n\nAdded InputDevice class in Java which will eventually provide\nuseful information about available input devices.\n\nAdded APIs for manufacturing new MotionEvent objects with multiple\npointers and all necessary coordinate data.\n\nFixed a bug in the input dispatcher where it could get stuck with\na pointer down forever.\n\nFixed a bug in the WindowManager where the input window list could\nend up containing stale removed windows.\n\nFixed a bug in the WindowManager where the input channel was being\nremoved only after the final animation transition had taken place\nwhich caused spurious WINDOW DIED log messages to be printed.\n\nChange-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68\n"
    },
    {
      "commit": "d76b67c340d1564abf8d14d976fdaf83bf2b3320",
      "tree": "59c0fff396681a622480a84f4f9c74d188970a11",
      "parents": [
        "fd03582995e0fce963dd0fa0669e3211b74c0dd7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 13 17:48:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 13 18:36:46 2010 -0700"
      },
      "message": "IME events are now dispatched to native applications.\n\nAnd also:\n\n- APIs to show and hide the IME, and control its interaction with the app.\n- APIs to tell the app when its window resizes and needs to be redrawn.\n- API to tell the app the content rectangle of its window (to layout\n  around the IME or status bar).\n\nThere is still a problem with IME interaction -- we need a way for the\napp to deliver events to the IME before it handles them, so that for\nexample the back key will close the IME instead of finishing the app.\n\nChange-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd\n"
    },
    {
      "commit": "d0097871828bb7d5d6eec06cadd92c2e3358849b",
      "tree": "c570862df0f2c38da96d8b88bb6ba10315810fc7",
      "parents": [
        "294c9fb8990ded73be52a3c1bfddbe1cebcd8b8e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 30 14:41:59 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 30 14:41:59 2010 -0700"
      },
      "message": "Fix injection of specially intercepted keys like HOME.\n\nThis change mainly unwinds a premature optimization in the\ndispatch pipeline.\nTo test HOME injection, run \u0027adb shell input keyevent 3\u0027.\n\nChange-Id: I1c4b7377c205da7c898014b8b07fc6dc1d46e4dd\n"
    },
    {
      "commit": "3c80a4a044865bdf1289c7896baffa1c082d835c",
      "tree": "557c89a685e672e44f90f55660da1f989d00a113",
      "parents": [
        "92dbad8ab0c8e242c4c3e52c339ed3296ae7901c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 29 19:20:40 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 10:49:40 2010 -0700"
      },
      "message": "Implement default key handling for native code.\n\nThe native code now maintains a list of all keys that may use\ndefault handling.  If the app finishes one of these keys\nwithout handling it, the key will be passed back off to Java\nfor default treatment.\n\nChange-Id: I6a842a0d728eeafa4de7142fae573f8c11099e18\n"
    },
    {
      "commit": "2e9f93e8db509d5236229dc8540e0904c5dbb9f5",
      "tree": "9aa6aa2c4a59b808dd99604afb23eb5a0096d9a2",
      "parents": [
        "059f009d970fb37ac4e408dcf8e1d2d2cdcf0a84"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 28 15:27:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 29 10:43:54 2010 -0700"
      },
      "message": "Update native activity \u0026 event APIs to follow correct conventions.\n\nChange-Id: Ie64fb3a9c68bc9c117fa5621b75d1f609e304e0e\n"
    },
    {
      "commit": "349703effce5acc53ed96f7ed8556131f0c65e18",
      "tree": "359217d5076e3005c724b2117a59ffec81e7a83b",
      "parents": [
        "f2b544f5ae7676f7ab4cdf3379b2ed3c60a65def"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 22 01:27:15 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jun 28 19:10:54 2010 -0700"
      },
      "message": "Native input event dispatching.\n\nTarget identification is now fully native.\nFixed a couple of minor issues related to input injection.\nNative input enabled by default, can be disabled by setting\nWindowManagerPolicy.ENABLE_NATIVE_INPUT_DISPATCH to false.\n\nChange-Id: I7edf66ed3e987cc9306ad4743ac57a116af452ff\n"
    },
    {
      "commit": "a95e4cb62f3642cb190d032dbf7dc40d9ecc6973",
      "tree": "ae4437444a3d3ebeff48dabfd1e9c11fc14620ac",
      "parents": [
        "ef730e6ececa96a3e0576140eea707f7c48cd66c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 18 18:09:33 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 22 11:21:50 2010 -0700"
      },
      "message": "First stab at attaching native event dispatching.\n\nProvides the basic infrastructure for a\nNativeActivity\u0027s native code to get an object representing\nits event stream that can be used to read input events.\n\nStill work to do, probably some API changes, and reasonable\ndefault key handling (so that for example back will still\nwork).\n\nChange-Id: I6db891bc35dc9683181d7708eaed552b955a077e\n"
    },
    {
      "commit": "7fbdc84e87dd3a0e196b9803bb04495d11e9cb8a",
      "tree": "32691f639ef71365b602795db215f11f457397a5",
      "parents": [
        "e47e3f3855a062ba0338a57eeda2f12a0f7a1fa8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 17 20:52:56 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jun 21 13:59:34 2010 -0700"
      },
      "message": "More native input event dispatching.\n\nAdded ANRs handling.\nAdded event injection.\nFixed a NPE ActivityManagerServer writing ANRs to the drop box.\nFixed HOME key interception.\nFixed trackball reporting.\nFixed pointer rotation in landscape mode.\n\nChange-Id: I50340f559f22899ab924e220a78119ffc79469b7\n"
    },
    {
      "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"
    },
    {
      "commit": "9c3cda04d969912bc46184f2b326d1db95e0aba5",
      "tree": "cdeb4a4bfa83aa335ab840969fe214058a0d566e",
      "parents": [
        "60e8c33d6f6caad2e963e91abca16a85cd3be82a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 15 01:31:58 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 15 16:43:18 2010 -0700"
      },
      "message": "More work in progress on native events.\n\nRefactored the code to eliminate potential deadlocks due to re-entrant\ncalls from the policy into the dispatcher.  Also added some plumbing\nthat will be used to notify the framework about ANRs.\n\nChange-Id: Iba7a10de0cb3c56cd7520d6ce716db52fdcc94ff\n"
    },
    {
      "commit": "46b9ac0ae2162309774a7478cd9d4e578747bfc2",
      "tree": "46ad021a41e25ca9f1250b709a29b724dc6b504d",
      "parents": [
        "f62c57d684b83df7d2817db976c0afdb500ae92a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 22 18:58:52 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 13 17:42:16 2010 -0700"
      },
      "message": "Native input dispatch rewrite work in progress.\n\nThe old dispatch mechanism has been left in place and continues to\nbe used by default for now.  To enable native input dispatch,\nedit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.\n\nIncludes part of the new input event NDK API.  Some details TBD.\n\nTo wire up input dispatch, as the ViewRoot adds a window to the\nwindow session it receives an InputChannel object as an output\nargument.  The InputChannel encapsulates the file descriptors for a\nshared memory region and two pipe end-points.  The ViewRoot then\nprovides the InputChannel to the InputQueue.  Behind the\nscenes, InputQueue simply attaches handlers to the native PollLoop object\nthat underlies the MessageQueue.  This way MessageQueue doesn\u0027t need\nto know anything about input dispatch per-se, it just exposes (in native\ncode) a PollLoop that other components can use to monitor file descriptor\nstate changes.\n\nThere can be zero or more targets for any given input event.  Each\ninput target is specified by its input channel and some parameters\nincluding flags, an X/Y coordinate offset, and the dispatch timeout.\nAn input target can request either synchronous dispatch (for foreground apps)\nor asynchronous dispatch (fire-and-forget for wallpapers and \"outside\"\ntargets).  Currently, finding the appropriate input targets for an event\nrequires a call back into the WindowManagerServer from native code.\nIn the future this will be refactored to avoid most of these callbacks\nexcept as required to handle pending focus transitions.\n\nEnd-to-end event dispatch mostly works!\n\nTo do: event injection, rate limiting, ANRs, testing, optimization, etc.\n\nChange-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25\n"
    }
  ]
}
