)]}'
{
  "log": [
    {
      "commit": "d81e950265356c81276b73da68a535ffa48d72f0",
      "tree": "eec30b460669c705c17213b45176f33bdf2dbe64",
      "parents": [
        "5d4d23ebdf42a90207a86fc258a44e9540f356ab"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon May 21 12:58:45 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon May 21 18:30:14 2012 +0900"
      },
      "message": "Fix the issue on the inconsistent condition of InputMethodSubtype\n\nBug: 6510104\nChange-Id: I67790e5f59d0d05340b74eca1029c60f381061b8\n"
    },
    {
      "commit": "5d4d23ebdf42a90207a86fc258a44e9540f356ab",
      "tree": "661f486db651c87d6c2b0a202b7ff90639a9913e",
      "parents": [
        "cf39bdf3dff5e29447f6ce734b76dc3490385e58",
        "0a1bcf4e0d0c26af3f6ad3e57726082c92549bd3"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sun May 20 19:59:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun May 20 19:59:50 2012 -0700"
      },
      "message": "Merge \"Consolidate the initialization of InputMethodManagerService not to use resource values until system ready\" into jb-dev"
    },
    {
      "commit": "cf39bdf3dff5e29447f6ce734b76dc3490385e58",
      "tree": "90900366888a32fbfa769f541b0bd8dbbcec748a",
      "parents": [
        "51f2430217a377bc2913862d98a97d0087914540"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 18 14:41:19 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun May 20 14:56:22 2012 -0700"
      },
      "message": "Add support for switching between multiple keyboard layouts.\n\nAlso show a notification when an external keyboard is connected\nand does not have a keyboard layout selected yet.\n\nBug: 6405203\nChange-Id: Id0ac6d83b3b381f8a236b2244a04c9acb203db3c\n"
    },
    {
      "commit": "255632d16064bf8e65b1773c4f0884267b9ec93f",
      "tree": "a52be8c1ca01bf04026133a2391fa56b195a405c",
      "parents": [
        "9579bf821ea4c1c5435f8e62973acd9b72c7902c",
        "067ca32a526113bdae8756cda0369883f8227199"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 18 17:32:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 18 17:32:48 2012 -0700"
      },
      "message": "Merge \"Prevent dim surface from flashing.\" into jb-dev"
    },
    {
      "commit": "067ca32a526113bdae8756cda0369883f8227199",
      "tree": "ba246201c076ccb7faa01153256e1a982f013a65",
      "parents": [
        "ae14715284837aebe179f790e0456d2bdb367583"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 18 17:19:51 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 18 17:19:51 2012 -0700"
      },
      "message": "Prevent dim surface from flashing.\n\nThis fix keeps the dim surface below the highest shown layer. If\ntwo shown layers were both dim it was ambiguous where the dim surface\nwould appear causing dialogs to first be dimmed and then flash when\nthe dim was put behind them.\n\nFixes bug 6497476.\n\nChange-Id: I360cf2d23d58fc4c03edbbed16d79c08c29e48b9\n"
    },
    {
      "commit": "5320eb8938098c9824093f7f842a0a97bbc190a4",
      "tree": "6f3c6affb49e151414e5948e40a942de15e7d836",
      "parents": [
        "787c9ec558a06bb8ebcb5a77f5268cedd218fd1b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 18 12:05:04 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 18 15:04:53 2012 -0700"
      },
      "message": "Fix activity resolver, issues #6519130 and #6507239\n\n6519130: Starting ResolverActivity with no arguments crashes system_server\n6507239: ResolverActivity may bypass signature permissions\n\nChange-Id: I64534f781bc6b7eb45e85dbe3a55d351ee28e85c\n"
    },
    {
      "commit": "787c9ec558a06bb8ebcb5a77f5268cedd218fd1b",
      "tree": "256a209f1fb976d1058c714270a941cede048ae7",
      "parents": [
        "196a7dae6387b118f73c78b7ae16ebfa604ae249",
        "70c70530bd6793869736ec894498e4ebf5dc9b20"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 18 11:40:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 18 11:40:42 2012 -0700"
      },
      "message": "Merge \"Transition from DEV network stats to XT.\" into jb-dev"
    },
    {
      "commit": "0a1bcf4e0d0c26af3f6ad3e57726082c92549bd3",
      "tree": "cde17ee0ea3c2a3e2918556bb3237277e8183f8a",
      "parents": [
        "dabb19fcd1b0d7b2c21be37aa0b75df5e35f1d6f"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed May 16 19:26:31 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri May 18 16:00:40 2012 +0900"
      },
      "message": "Consolidate the initialization of InputMethodManagerService not to use resource values until system ready\n\nBug: 6477193\nInputMethodManagerService have used the resource value of \"isDefault\" in the constructor. We should wait to use that value until system ready.\nChange-Id: I682fc109c303d8c7fd33d494c59e8e28d6dc6fa5\n"
    },
    {
      "commit": "1ca4399706103fd9df50661866caaeed95221621",
      "tree": "e73a826575c3d457ec62ebf86897ced0028a7f9b",
      "parents": [
        "88b756cd249d1dd4aefb92a73a65fa76cd8ef0d5",
        "f1be6861daea57ba0a1595739a899d05229d6d15"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu May 17 20:57:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 20:57:56 2012 -0700"
      },
      "message": "Merge \"Enforce the minTime parameter in LocationManager#requestLocationUpdates\" into jb-dev"
    },
    {
      "commit": "abe3927701c0aff839498272565aeee714aa6e9d",
      "tree": "d6b9dffef79d7a626d2b6163628108a19dbfa6c0",
      "parents": [
        "665935c10ad281721c495621fab7561f2a28842e",
        "0cf2c8a53350a800055e76c1c9bf0a6d44480768"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 17 18:18:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 18:18:27 2012 -0700"
      },
      "message": "Merge \"Fix issue #6515427: Add android.hardware.television and fix...\" into jb-dev"
    },
    {
      "commit": "0cf2c8a53350a800055e76c1c9bf0a6d44480768",
      "tree": "67f2150a49ee93cd141c4fa23ec0526ef0c12ad3",
      "parents": [
        "20c0cdbbf79cef18e59514e0f53dfbcac0bef600"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 17 17:29:49 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 17 18:11:14 2012 -0700"
      },
      "message": "Fix issue #6515427: Add android.hardware.television and fix...\n\n...logic for notouch in Configuration\n\nAdded new TELEVISION feature.\n\nWe now force the configuration to \"television\" if the TELEVISION\nfeature is set, and \"notouch\" if the TOUCHSCREEN feature is not set.\n\nAlso cleaned up documentation, deprecated some configurations that\nare not used.\n\nChange-Id: If1c7a284b580a8a66bda2a75f0c7fa841b3dc9b7\n"
    },
    {
      "commit": "ae9d040f715130389de3dbc3bf52e24e5f29425a",
      "tree": "7b233b6d9f8f3c4eefb65a6f27c92c7975eb7e3f",
      "parents": [
        "27cb3f8c44be79f78a0c47b5631472705acb3e96",
        "51a573c76737733638c475f52e441c814e6645cc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 17 16:42:09 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 16:42:09 2012 -0700"
      },
      "message": "Merge \"Wait for ASECs to be scanned before proceeding\" into jb-dev"
    },
    {
      "commit": "27cb3f8c44be79f78a0c47b5631472705acb3e96",
      "tree": "fd504ab250b93424bbcaa99f13a7edf7cedf93ef",
      "parents": [
        "dc9445ba4cb2e261719d3c38956d9cbe1fddcd64",
        "97ea122c6526125e64213e9c10d9c20f9bc70d9c"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 17 16:41:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 16:41:53 2012 -0700"
      },
      "message": "Merge \"Eliminate \"backup enabled but not provisioned\" failure modes\" into jb-dev"
    },
    {
      "commit": "dc9445ba4cb2e261719d3c38956d9cbe1fddcd64",
      "tree": "11bfd3bca00e21f2d69f3a477b3f349571b244e8",
      "parents": [
        "9de61ae0ed40fcb147e09797bfb22dcea0b89df6",
        "d9fec5d317c09da6bcc7a54df4e0190a76d21eae"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 17 16:33:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 16:33:40 2012 -0700"
      },
      "message": "Merge \"Add support for grouping keyboard layouts by collection.\" into jb-dev"
    },
    {
      "commit": "51a573c76737733638c475f52e441c814e6645cc",
      "tree": "74f38cdf51785be396ecf39c344097d8f9695081",
      "parents": [
        "468a2ac63a065680da30f5e796583d53f70f8e25"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 17 13:30:28 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 17 16:06:54 2012 -0700"
      },
      "message": "Wait for ASECs to be scanned before proceeding\n\nMove MountService up the list, then pause waiting for MountService to\nfinish scanning ASECs before the services that require those packages to\nbe ready.\n\nAdditionally, don\u0027t automatically mark all ASEC apps as FLAG_EXTERNAL on\nreboot. This prevents AppWidgets and other things from being used with\nASECs which are on internal storage.\n\nBug: 6445613\nChange-Id: I3e0b3e244fec966814d7a5ea93de5d337aea79bd\n"
    },
    {
      "commit": "97ea122c6526125e64213e9c10d9c20f9bc70d9c",
      "tree": "9fc67c0719b29191484a2f0449374dfb2be54144",
      "parents": [
        "9cb376e792567b5278e0eb418a3aeb848339a283"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 17 14:59:41 2012 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 17 16:02:15 2012 -0700"
      },
      "message": "Eliminate \"backup enabled but not provisioned\" failure modes\n\nPreviously, the setup app was responsible for telling the backup\nmanager through a side band that the user had passed through the\nbackup/restore-related portion of the setup flow.  Now that the\nflow has been streamlined and certain mandatory portions of it\nare no longer relevant, we can ditch the whole idea of the backup\nmanager\u0027s internal \"provisioned\" state.  This makes setup and the\nsetup \"wizard\" applications less fragile as well as eliminating\nthe possibility of unrecoverable \"backup was never provisioned\"\nfailure modes.\n\nNow, the only check the backup manager has to do is against the\nfull \"device is provisioned\" flag, just like all of the other\ncomponents on the phone that only become usable after the setup\nprocess has exited [such as phone calls].\n\nBug 6493520\n\nChange-Id: I13ec8dd8baa1e74ed8569b0326219a98a7f632a9\n"
    },
    {
      "commit": "d9fec5d317c09da6bcc7a54df4e0190a76d21eae",
      "tree": "0eae74e8e946ea2d7715e31c3bd58a8f48befa2a",
      "parents": [
        "ab624c2fd4f0fad6ba7f422a960942e5a7035cea"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 17 16:01:54 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 17 16:01:54 2012 -0700"
      },
      "message": "Add support for grouping keyboard layouts by collection.\n\nBug: 6405203\nChange-Id: Id818b27ec09928150795d594a96df186a6e39168\n"
    },
    {
      "commit": "f1be6861daea57ba0a1595739a899d05229d6d15",
      "tree": "92debafdbbce7ecc9792e8a6f7e40c919c2f8f47",
      "parents": [
        "c1c140657633cc5b0ff26da1f122fab305d21e01"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue May 15 10:53:42 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu May 17 14:56:54 2012 -0700"
      },
      "message": "Enforce the minTime parameter in LocationManager#requestLocationUpdates\n\nThere is a long history in Android, on both GED and non GED devices\nof GPS providers ignoring the minTime parameter making location updates\nevery second. The problem is usually poor GPS drivers that claim to\ndo scheduling but then do not.\n\nBy making the minTime parameter strict (instead of a hint) we can add\na CTS test to ensure that udpates to not occur too frequently. I believe\nthis is the desired behavior from apps. If apps want to take advantage\nof more frequent updates when another application asks for those updates\nthen it can use the passive provider.\n\nThe CTS test for GPS has already been submitted (as part of CTS Verifier).\n\nBug: 6424983\nChange-Id: I163b9e44ea7ab71530b86fc2282614e0150e90f1\n"
    },
    {
      "commit": "f82e7693ca4396435ef91c7be5348731d9e863c0",
      "tree": "6ca3a6befb63dfbd8713a31a1f5e40cd6687df7f",
      "parents": [
        "ce66556a345aacad517f8eb72ddec20160ce9d61",
        "42d73bba668aea978259e574675f37ede80dd34e"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu May 17 14:19:46 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 14:19:46 2012 -0700"
      },
      "message": "Merge \"handleAirplaneModeToggled cleanup\" into jb-dev"
    },
    {
      "commit": "42d73bba668aea978259e574675f37ede80dd34e",
      "tree": "af536f08a8cb473ba58b203d3143ebd79fbf36aa",
      "parents": [
        "f03d62007c252271aa30360de90a50b3a974ee8f"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu May 17 14:14:44 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu May 17 14:14:44 2012 -0700"
      },
      "message": "handleAirplaneModeToggled cleanup\n\nAddressing a cosmetic comment from the previous CL\n\nBug: 6504534\nChange-Id: I04981f8b541611cb93110e8b88cd7751027060cc\n"
    },
    {
      "commit": "ce66556a345aacad517f8eb72ddec20160ce9d61",
      "tree": "c5e4beb5bb9097132a2df3cfdc83d4ff45e48380",
      "parents": [
        "d51a68b3d2d347be989b53af1777454f97ad9b46",
        "f03d62007c252271aa30360de90a50b3a974ee8f"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu May 17 14:10:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 14:10:35 2012 -0700"
      },
      "message": "Merge \"Fix persisting wifi state on setWifiEnabled() call\" into jb-dev"
    },
    {
      "commit": "f03d62007c252271aa30360de90a50b3a974ee8f",
      "tree": "f6f843b4a01766e46c45f18c5a2e7ed7bfd438fb",
      "parents": [
        "ae14715284837aebe179f790e0456d2bdb367583"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu May 17 12:33:46 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu May 17 14:05:56 2012 -0700"
      },
      "message": "Fix persisting wifi state on setWifiEnabled() call\n\nWhen somebody makes a quick setWifiEnabled calls in back to back succession,\nwe were missing setting the last state because we were only doing that\nwhen wifi was in a particular state from a state machine\u0027s perspective.\n\nThis was done to handle the interaction b/w airplane and wifi and was\ndone in the wrong way. That part is now moved to the code which detects\nairplane mode changes.\n\nIn the longer term, I want to move the whole persisting code as part of\nwifi state machine which is more aware of the exact states wifi is in.\n\nBug: 6504534\nChange-Id: I452f3f4efdeb84458dcfd280269e09ffa3844f05\n"
    },
    {
      "commit": "d51a68b3d2d347be989b53af1777454f97ad9b46",
      "tree": "9ed23d0c9d20766a187d3c0ad50e0e03627f6f00",
      "parents": [
        "9cb376e792567b5278e0eb418a3aeb848339a283",
        "bf08af3323117e15a65b74e66b7499d31537f9e1"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 17 13:11:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 13:11:50 2012 -0700"
      },
      "message": "Merge \"Eliminate deferred surface destruction.\" into jb-dev"
    },
    {
      "commit": "70c70530bd6793869736ec894498e4ebf5dc9b20",
      "tree": "30d3012801fb590f541237dec545ae2226680401",
      "parents": [
        "559146fc98ba0c1a272c37e78c38f7a9f145997a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 16 14:51:19 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu May 17 10:10:39 2012 -0700"
      },
      "message": "Transition from DEV network stats to XT.\n\nWhen XT stats are available, transition to prefer them over DEV,\nsince they aren\u0027t subject to hardware driver bugs.  Only switches at\nthe first atomic XT bucket, and adds a Settings.Secure flag to force\nback to DEV if needed.  Includes tests to cover transition.\n\nFix tests where device overlay would change which network types\nreflected data usage.  Test both history and summary APIs.  Fixed\ncollection timestamps to reflect full buckets.\n\nBug: 6504744\nChange-Id: Idd7f3b2fdb064c36547c85c51c214fd938c59b7e\n"
    },
    {
      "commit": "bf08af3323117e15a65b74e66b7499d31537f9e1",
      "tree": "f985c43f504e7c101eeb1de2cdaee21150d104bf",
      "parents": [
        "ae14715284837aebe179f790e0456d2bdb367583"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 16 19:43:42 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 16 20:07:22 2012 -0700"
      },
      "message": "Eliminate deferred surface destruction.\n\nRemoving the code that delays a surface destruction when\nWindowManager.FLAG_KEEP_SURFACE_WHILE_ANIMATING is set. The lock\nscreen that continued to animate after destroySurfaceLocked is no\nlonger used and this code was causing problems.\n\nAlso mDrawState was being set to NO_SURFACE in destroySurfaceLocked\neven if the surface ended up not being destroyed. Later when it was\nreused the false value of mDrawState was messing things up.\n\nThe screen lock bug referenced below no longer levaes the user stuck\nwith a black lockscreen. However it occasionally powers back up in the\nlauncher screen rather than the lock screen.\n\nFixes bug 6485955.\n\nChange-Id: I684104c7e7c39c161a5118aa890889fbae92e635\n"
    },
    {
      "commit": "11e123f7684378578242f5824e14ddba2f68d9ca",
      "tree": "1f8707c6fced4aa3f90fd9ee007db6cfa3cad1fd",
      "parents": [
        "e54c5f13652166c5896ccfa55f047301a6c8b876",
        "87b5d7b26e279be7c7a1b4333babcb2ee895ca01"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed May 16 18:59:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 16 18:59:04 2012 -0700"
      },
      "message": "Merge \"Check system app before removal\" into jb-dev"
    },
    {
      "commit": "824aa860cd0b38b09779aab417612b115fd495a3",
      "tree": "95ef2c58666f15b6fd69d2539320e82f531add0f",
      "parents": [
        "214fc5e61e057f7f34658eb4eeef80d68defb353",
        "53e184d34e7c5b1a65c74fac55f9a635d8131dda"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed May 16 17:52:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 16 17:52:59 2012 -0700"
      },
      "message": "Merge \"Accessibility service needs to request permission to be bound to.\" into jb-dev"
    },
    {
      "commit": "53e184d34e7c5b1a65c74fac55f9a635d8131dda",
      "tree": "ad730599bf1fb5e1465d4e4f0ff57eb35f8835a6",
      "parents": [
        "6387c8a9cb52e6b7bb1a0fb40ee3b66c00ad6697"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed May 16 15:57:10 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed May 16 15:57:15 2012 -0700"
      },
      "message": "Accessibility service needs to request permission to be bound to.\n\n1. Every accessibility services targeting JellyBean or higher has\n   to request a special permission for the system to bind to it.\n\nChange-Id: I6e579326bdf3597f148d6c67317455701ec8af68\n"
    },
    {
      "commit": "87b5d7b26e279be7c7a1b4333babcb2ee895ca01",
      "tree": "87abb3d6163bc839d78397686d40f3e2bd464865",
      "parents": [
        "728e43948c9b4d18a900fa50acad8d2734947b21"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed May 16 13:36:18 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed May 16 15:40:00 2012 -0700"
      },
      "message": "Check system app before removal\n\nMae sure we check to see whether an app is really deleted or just\nskipped.\n\nBug: 6494869\nChange-Id: I918f16e4ccda87f7f6f67855c7a7aef435c64e20\n"
    },
    {
      "commit": "4441a369abfaca15a6c4b258d36405890c93deec",
      "tree": "6c53f7f2044113a9ec4f525cc0748a0e14228413",
      "parents": [
        "e0bb6fe33355f9eeed1273a3614624286a0911ce",
        "bd21b78f0f018f1ea2fc750232ffc20263baa2e0"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 16 13:52:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 16 13:52:29 2012 -0700"
      },
      "message": "Merge \"Add logging to capture wifi enable\" into jb-dev"
    },
    {
      "commit": "e0bb6fe33355f9eeed1273a3614624286a0911ce",
      "tree": "665a0f6c4a66915657d28817c67b96c7fa28becb",
      "parents": [
        "c5fb5805c92429b08ca715df37e949f31591466a",
        "311c79c3e93589c6fc720fe6c58ed522af591376"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed May 16 13:43:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 16 13:43:27 2012 -0700"
      },
      "message": "Merge \"Cap widget bitmap usage by screen size (issue 6464700)\" into jb-dev"
    },
    {
      "commit": "bd21b78f0f018f1ea2fc750232ffc20263baa2e0",
      "tree": "33802d4a742d93984982f6123842ce994f5e383c",
      "parents": [
        "ae14715284837aebe179f790e0456d2bdb367583"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 16 13:13:54 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 16 13:42:46 2012 -0700"
      },
      "message": "Add logging to capture wifi enable\n\nBug: 6504534\nChange-Id: I3c3a803ce5bc53f1bdae697a23b95d63db82717c\n"
    },
    {
      "commit": "8b18354fd43ac3d76546eca6e27c6f7b7e818247",
      "tree": "85df19d028d187c7550203d76d025c85bbb74478",
      "parents": [
        "259c8b70a261972b9e8924e9f9d06f0ef5afd453",
        "b5aff3fde346225fab0f2751d4fb51b92bb73b32"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed May 16 12:19:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 16 12:19:50 2012 -0700"
      },
      "message": "Merge \"Add some logging to NDC.\" into jb-dev"
    },
    {
      "commit": "fe0806a3b60ff54c7444a51b91353e2299ed1bca",
      "tree": "0729301943554528cc3d398255a620024dbfe3d8",
      "parents": [
        "ae14715284837aebe179f790e0456d2bdb367583"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed May 16 12:41:33 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed May 16 12:43:02 2012 -0400"
      },
      "message": "Removing a notification that isn\u0027t there isn\u0027t a big deal.\n\nYou shouldn\u0027t do it, but there\u0027s no need to fault your\nprocess.\n\nBug: 6396830\nChange-Id: I47c20b9829e4e8bb98862f33c3c52be1b5987f37\n"
    },
    {
      "commit": "80fea051ba7e8e3ad82eca3d907aaa4a528658d1",
      "tree": "b81a1d7da1cf593ec5d9fae362d5a8de9098997b",
      "parents": [
        "79f5777d7c1652badeba4be92a5271d2c2276d22",
        "3e52fc25154540faf3c0cb927ff45532cdebdddf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 18:15:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 18:15:47 2012 -0700"
      },
      "message": "Merge \"Fix some issues with updating the offsets of a window.\" into jb-dev"
    },
    {
      "commit": "3e52fc25154540faf3c0cb927ff45532cdebdddf",
      "tree": "31d1b46e2f13ed7562308655eb0651f1f944085f",
      "parents": [
        "a7ea0d3968dc990aa76f3535c213e735e6d5e186"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 17:58:02 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 17:58:02 2012 -0700"
      },
      "message": "Fix some issues with updating the offsets of a window.\n\n- Apply the correct crop rect at this point.\n- Apply the correct position by taking into account the frame left/top.\n- Don\u0027t directly apply the new values if the window is currently\n  animating, since we need to go through the whole animation step\n  to determine what the correct position is (taking into account\n  any transformations).\n\nChange-Id: I15d79354d9779867c49c7c0880faccdead7b021d\n"
    },
    {
      "commit": "b5aff3fde346225fab0f2751d4fb51b92bb73b32",
      "tree": "795701df7447c3b4587da65eb5854748312a8587",
      "parents": [
        "718af32a191066822262ad05cdd525a09c66094f"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue May 15 17:26:57 2012 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue May 15 17:26:57 2012 -0700"
      },
      "message": "Add some logging to NDC.\n\nbug:6492166\nChange-Id: Ib7c7a0927d3e920f6c041f7252f3f24c8e597bc7\n"
    },
    {
      "commit": "e302a162359e191633e966520a6bab4ad569390c",
      "tree": "db60c3db01e336141f0d453f62b2b8c309e0bd4d",
      "parents": [
        "bea7afc52cc85e35b7fc200912246c62d3791198"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 14:58:32 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 14:58:32 2012 -0700"
      },
      "message": "A few odds and ends.\n\n- Add documentation on \"television\" UI mode.\n- Tweak new documentation and implementation around propagating\n  URI grants through choosers.\n- Add new activity launch flag for closing system dialogs.\n\nChange-Id: I978c05f0dc3d16e1c55d43631828b9efa6335b19\n"
    },
    {
      "commit": "bea7afc52cc85e35b7fc200912246c62d3791198",
      "tree": "6b3b08efa7bf51ff53c4614398c4819531f6c6cf",
      "parents": [
        "0a283346aae1801e5b773673729d97336ce42c43",
        "03fcc333cf0fbbc4df1215649746d6360801efd8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 13:57:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 13:57:06 2012 -0700"
      },
      "message": "Merge \"Fix issue #6284404: ArrayIndexOutOfBoundsException in...\" into jb-dev"
    },
    {
      "commit": "0bef72450b954ab0254ab948f75a89d65af3808c",
      "tree": "fec657607f166244516e9592bce7d5a4d35672ab",
      "parents": [
        "8414beac87b9fb411566c0c99f772c54d4223a31",
        "5c89f44ea16667bf18297ccb9fb10aad639dab1f"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 15 13:41:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 13:41:25 2012 -0700"
      },
      "message": "Merge \"Implement the global accessibility action to expand notifications.\" into jb-dev"
    },
    {
      "commit": "5c89f44ea16667bf18297ccb9fb10aad639dab1f",
      "tree": "39dc1a8aa3c62261836488d1687879b939f479c3",
      "parents": [
        "0aeb05e6ded37dcf3d02ee1e8021ed61d4fec52a"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 15 13:28:09 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 15 13:28:14 2012 -0700"
      },
      "message": "Implement the global accessibility action to expand notifications.\n\nbug:6468852\n\nChange-Id: Id4494a07b1ed96773e22dcfdd5991afe3ee98004\n"
    },
    {
      "commit": "03fcc333cf0fbbc4df1215649746d6360801efd8",
      "tree": "4a68733bcedec1006fd5cb57b512956fe5ad20ec",
      "parents": [
        "d9016b2c949309bccfdc2871e1dba36136969a3f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 12:49:40 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 13:13:33 2012 -0700"
      },
      "message": "Fix issue #6284404: ArrayIndexOutOfBoundsException in...\n\n...FragmentManagerImpl.restoreAllState\n\nThis was a bug related to the difference between the pre- and post-HC\nbehavior of onSaveInstanceState().  Prior to HC, state was saved\nbefore calling onPause().  Starting with HC, it is saved between\nonPause() and onStop().  To maintain compatibility with existing\napplications, there is a check in ActivityThread for pre-HC to in\nthat case emulate the behavior of old applications, still calling\nonSaveInstanceState() before onPause() but using the state later.\n\nOne of the special cases we had to deal with in the old model of\nsaving state before pausing was restarting an activity that is\nalready paused.\n\nConsider, for example: you have two activities on screen, the one on\ntop not fullscreen so you can see the one behind.  The top activity\nis resumed, the behind activity is paused.  In the pre-HC world, the\nbehind activity would have already had its state saved.\n\nNow you rotate the screen, and we need to restart the activities.\nWe need to destroy the behind activity and create a new instance,\nbut the new instance has to end up in the paused state.  To\naccompish this, we restart it with a flag saying that it should\nend up paused.  For the pre-HC world, since it ends up paused,\nwe need to make sure we still have its instance state kept around\nin case we need it because we can\u0027t regenerate it (since it is\nalready paused).\n\nSo that is what the changed code here is doing.  It goes through\nthe normal create/start/resume steps, but holds on to the current\nsaved state so that it isn\u0027t lost when resume clears it, and then\nputs the activity back to paused and stuffs that old saved state\nback in to it.\n\nThe problem is that this code was doing it for every application,\neven HC apps.  So we end up in a bad state, when a HC app has its\nsaved state sitting there as if it had been saved, even though it\nis only paused.  Now if we go to restart the activity again, instead\nof asking it for a new saved state (as we should for a HC app as\npart of stopping it), we just re-use the existing saved state again.\n\nNow this wouldn\u0027t generally be a huge problem.  Worst case, when we\nrestart the activity yet again we are just instantiating it from\nthe same saved state as we used last time, dropping whatever changes\nmay have happened in-between.  Who cares?  All it has been doing is\nsitting there in the background, visible to the user, but not something\nthey can interact with.  If the activity made changes to its\nfragments, those changes will be lost, and we will restore it from\nthe older state.\n\nHowever...  if one of those fragements is a retained fragment, this\nwill *not* appear in the saved state, but actually be retained across\neach activity instance.  And now we have a problem: if the retained\nfragments are changed during this time, the next activity instance\nwill be created from the most recent state for the retained fragments,\nbut the older state for everyting else.  If these are inconsistent...\nwham, dead app.\n\nTo fix this, just don\u0027t keep the saved state for HC apps.\n\nAlso includes a small optimization to ActivityStack to not push\nthe home screen to the front redundantly.\n\nChange-Id: Ic3900b12940de25cdd7c5fb9a2a28fb1f4c6cd1a\n"
    },
    {
      "commit": "d1ff736d01cebaee70b76f012b660ae549c252b9",
      "tree": "509c37b67ef775aa8e48c5c24df0120d6ab13352",
      "parents": [
        "0aeb05e6ded37dcf3d02ee1e8021ed61d4fec52a"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 15 12:51:38 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 15 12:51:43 2012 -0700"
      },
      "message": "Keeping the screen on during gesture detection.\n\n1. During gesture detection we are not injecting the events we receive\n   since we do not want the accessibility focus to move as a result of\n   the hover event of the gesture. Because of that it was possible that\n   we consume all events since the user performs only gesture to navigate\n   resulting in the screen being off while the user is actively interacting\n   with the device. Now we are poking the user activity in the power\n   manager to keep the screen on.\n\nbug:6485171\n\nChange-Id: I06a09c5297f01bef5e20d471cee76fa7aae0c4fe\n"
    },
    {
      "commit": "bfc1be1101b87f193b043b62edd1722b8c4eb23c",
      "tree": "48530f29fffdce1ccb9d7efa6787312c37348e67",
      "parents": [
        "8ce2d78aa89e89e9a5607d8809bf6d248508a531"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue May 15 11:12:17 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue May 15 11:12:17 2012 -0700"
      },
      "message": "Fix a problem in finish affinity in Activity Manager.\n\nFinishing tasks with an activity affinity was failing if the\nactivity was found at index 0. This fixes the loop condition.\n\nChange-Id: If2e0d294e3e4493bca8b7efd40f24adaf2eb0b6f\n"
    },
    {
      "commit": "a827843f9b46700a187bd3a506498a0f36f474fa",
      "tree": "94347de65921bfbd45062db0bcb1e801b43509c1",
      "parents": [
        "e48d12b78011ff5ddbb6838a038ea5384190ec92",
        "b61a02657b9e577179c934bbb5e199ce919c4642"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 14 17:31:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 14 17:31:53 2012 -0700"
      },
      "message": "Merge \"Fix issue #6020164: Settings crashed on orientation change...\" into jb-dev"
    },
    {
      "commit": "b61a02657b9e577179c934bbb5e199ce919c4642",
      "tree": "4da2799e5a097baeda037e7c525334867888132f",
      "parents": [
        "04d3521839c90d1cccf3ee428963a0aef0088ef9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 14 17:19:18 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 14 17:19:18 2012 -0700"
      },
      "message": "Fix issue #6020164: Settings crashed on orientation change...\n\n...while listening to TTS example\n\nThis was a nice one.  What was happening is that immediately upon\nbeing created, the activity was starting another activity in a\ndifferent process.  The second activity would never show, just\nimmediately exit.  However the original activity had time to\npause and get into stopping itself before the second activity had\ncome back to the activity manager to say it was going away, resulting\nin the activity manager asking the original activity to resume.\n\nAt this point the activity manager\u0027s state is that the second\nactivity is finishing and gone, and the original activity is\nresumed.  However in the app process the original activity is\nstill working on stopping itself, and it eventually completes\nthis and tells the activity manager.  The activity manager now\nchanges its state to STOPPED, even though it is actually resumed\nand that is the last thing it told it to be, and it is now\nproceeding to set itself in that state.\n\nThis would result later in the activity manager sending an\nunnecessary state change to the application.  In the case of\nthe screen here, we next do a rotation change, the activity\nmanager thinks the current state is STOPPED not RESUMED, so it\ntells the application to relaunch the activity in a new config\nbut not in the resumed state.  Now it does the whole \"start a\nnew temporary activity\" thing again, at which point it tries\nto pause the original activity again, and we have an unbalanced\nonPause() call to the app and it falls over.\n\nChange-Id: I38b680746f4c61ae30e7ce831e1de187adf60902\n"
    },
    {
      "commit": "b696c0542cae70d7f66b9011be2f9d1812885159",
      "tree": "00aba688f13fa7c72705dc6651445a7730d6aebc",
      "parents": [
        "4ebaf0f1d4be34f475bb663784b40cf79b9d2184",
        "3d33c268cc7f08ec3d2ec1aa535fa86dec458b2e"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Mon May 14 15:53:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 14 15:53:48 2012 -0700"
      },
      "message": "Merge \"Adds support for the CertBlacklister.\" into jb-dev"
    },
    {
      "commit": "a69b7eb1fc6ab6f47411493a17463fe7a43b8b3f",
      "tree": "d62579288a0c7b6575999070a86c2308023fd884",
      "parents": [
        "728e43948c9b4d18a900fa50acad8d2734947b21"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon May 14 14:47:06 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon May 14 15:02:19 2012 -0700"
      },
      "message": "Change thread priority for disk measurement to bg\n\nChange the thread priority for all disk measurement and statfs calls to\nbackground priority.\n\nAlso move the measurement fully into the measurement task since it makes\nmore sense.\n\nBug: 6332097\nChange-Id: Iafc2151313ad9b14117daf67e933dccd32f68d54\n"
    },
    {
      "commit": "521e0d794d298201716d30c66164f0c60d6a74c0",
      "tree": "99ec22ef8afa76b586cc3955097c077da2881068",
      "parents": [
        "11fd02f63acba18a1b03351b595490597136fc6a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon May 14 04:01:53 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon May 14 04:11:02 2012 -0700"
      },
      "message": "WindowManager: unset the wallpaper window crop\n\nThis change removes the window crop of the wallpaper when setting its position.\n\nChange-Id: I0f4dc10ea9a724b210f75286580ef391145286df\n"
    },
    {
      "commit": "11fd02f63acba18a1b03351b595490597136fc6a",
      "tree": "a1de7bd1de674ae337af451216b6aba1e4c3e69d",
      "parents": [
        "8f76176016a63026168f5886604d4378f170fc6c",
        "5a48f9758b990fe6c46359927a40aecb6a02b64c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 19:09:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun May 13 19:09:47 2012 -0700"
      },
      "message": "Merge \"Update the API version checks.\" into jb-dev"
    },
    {
      "commit": "8f76176016a63026168f5886604d4378f170fc6c",
      "tree": "12c3f8f84e97e3c2e33265c3b65b7225f135b99b",
      "parents": [
        "4286d6d115385391b75db8e6c4e397008ef9b3db",
        "7b1e0c7046abefc0b40884b36197c8a803d9cf6d"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 19:09:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun May 13 19:09:35 2012 -0700"
      },
      "message": "Merge \"Removing default accessibility gesture handling.\" into jb-dev"
    },
    {
      "commit": "2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517",
      "tree": "3fbe473f3de97aa6e5fc6b5e837dea0b8e589e4c",
      "parents": [
        "0d607fbe546ac943de38dad33ae681b09efec6ea",
        "85afd1b6f871d471fdff1980134676a5f1690525"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 15:24:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun May 13 15:24:32 2012 -0700"
      },
      "message": "Merge \"Implement new window cropping.\" into jb-dev"
    },
    {
      "commit": "5a48f9758b990fe6c46359927a40aecb6a02b64c",
      "tree": "3f3ea72bee2c68c04a6836fcf2b12cb7963341c6",
      "parents": [
        "8d8176d41b8b8f08435e727f03e43e27a542dcc2"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 13:33:53 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 13:34:00 2012 -0700"
      },
      "message": "Update the API version checks.\n\n1. Since the API version has been finalized this change\n   updates the SDk version checks to use the JellyBean\n   verson number.\n\nbug:5947249\n\nChange-Id: Ie22fa7e18a7ea7b0c7077d80246a26c17f327ceb\n"
    },
    {
      "commit": "85afd1b6f871d471fdff1980134676a5f1690525",
      "tree": "94f1a2661418208e7969d659dc694353ff43d304",
      "parents": [
        "dca5fb9e7e193d6aed233e0650691675a56022a3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 13:31:06 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 13:31:06 2012 -0700"
      },
      "message": "Implement new window cropping.\n\nThe window manager now performs the crop internally, evaluating\nit every animation from, to be able to update it along with\nthe surface position.\n\nChange-Id: I960a2161b9defb6fba4840fa35aee4e411c39b32\n"
    },
    {
      "commit": "7b1e0c7046abefc0b40884b36197c8a803d9cf6d",
      "tree": "65033ef86abd0146f183b8ed423081c057fa8a17",
      "parents": [
        "8d8176d41b8b8f08435e727f03e43e27a542dcc2"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 11:57:29 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 12:39:51 2012 -0700"
      },
      "message": "Removing default accessibility gesture handling.\n\n1. The initial design was to have some accessibility gestures\n   being handled by the system if the gesture handling access\n   service does not consume the gesture. However, we are not\n   sure what a good default is and once we add a default handler\n   we cannot remove it since people may rely on it. Thus, we\n   take the simples approach and let the accessibility service\n   handle the gestures. If no gestures are handled the system\n   will work in explore by touch as before.\n\nbug:5932640\n\nChange-Id: I865a83549fa03b0141d27ce9713e9b7bb45a57b4\n"
    },
    {
      "commit": "c8179e78052af3d68725e1160214a736f143f8a2",
      "tree": "9fffad56501d67d9c03aad3a0d36e70c9533395c",
      "parents": [
        "76e07e7767098a885365e4ae8c8bb51f6a8c3b09",
        "d5895a7e8a94e58451af640fe796d1822cbd793f"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Sat May 12 14:01:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 12 14:01:43 2012 -0700"
      },
      "message": "Merge \"Improve transition out of recents\" into jb-dev"
    },
    {
      "commit": "d5895a7e8a94e58451af640fe796d1822cbd793f",
      "tree": "549e026345ecd9aaa578371f85215a128fc56983",
      "parents": [
        "0891a89790777e2f88f413351fafe49dda36714f"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Sat May 12 13:24:58 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Sat May 12 13:24:58 2012 -0700"
      },
      "message": "Improve transition out of recents\n\n- During the transition, fade the bg to black\n- Exiting activity fades to black\n- Recents background no longer fades away, because\nthen it would fight against the fade to black\nhappening behind it"
    },
    {
      "commit": "3d33c268cc7f08ec3d2ec1aa535fa86dec458b2e",
      "tree": "0b447301cf7fcee0d74605ff1065dacbcb5c0fdb",
      "parents": [
        "9d7bbcb89a3f14331c55ed2bbdcf768a4aa91cc1"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Sun May 06 18:32:19 2012 -0700"
      },
      "committer": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Sat May 12 13:09:45 2012 -0700"
      },
      "message": "Adds support for the CertBlacklister.\n\nThe CertBlacklister is a mechanism for allowing is to use gservices\nto blacklist certs by serial number or public key.\n\nChange-Id: Ie4b0c966a8a43c9823fb550c0b1691204f133ae7\n"
    },
    {
      "commit": "58770232216cd735afdfd3dd53151070e06de5ce",
      "tree": "502d189420768053f373e17e3bb634d0dfd33c8b",
      "parents": [
        "dca5fb9e7e193d6aed233e0650691675a56022a3",
        "7304c343821309dd15f769b18f1de2fa43751573"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 19:32:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 11 19:32:56 2012 -0700"
      },
      "message": "Merge \"Move power HAL interactions to PowerManagerService.\" into jb-dev"
    },
    {
      "commit": "7304c343821309dd15f769b18f1de2fa43751573",
      "tree": "37a1b20d78ee47ed7356c39d00bd1529989cea22",
      "parents": [
        "888da152ece9a8cfe62fad9e7d1a43e792c41e2f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 18:42:42 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 18:42:42 2012 -0700"
      },
      "message": "Move power HAL interactions to PowerManagerService.\n\nThis refactoring sets the stage for a follow-on change that\nwill make use additional functions of the power HAL.\n\nMoved functionality from android.os.Power into PowerManagerService.\nNone of these functions make sense being called outside of the\nsystem server.  Moving them to the PowerManagerService makes it\neasier to ensure that the power HAL is initialized exactly once.\n\nSimilarly, moved ShutdownThread out of the policy package and into\nthe services package where it can tie into the PowerManagerService\nas needed.\n\nBug: 6435382\nChange-Id: I958241bb124fb4410d96f5d5eb00ed68d60b29e5\n"
    },
    {
      "commit": "ab1c5456b789205ef305b19e5a7682b6561aacac",
      "tree": "8299759c0e011a237e0dc762f08343b167090c6f",
      "parents": [
        "6788e028c363583406d513d66d9a78576f984302",
        "35d0e1d11c046b5e5ddf6d12c1a09becb8561af0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 11 16:07:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 11 16:07:10 2012 -0700"
      },
      "message": "Merge \"Keep launcher screen from flashing over lockscreen\" into jb-dev"
    },
    {
      "commit": "cd5862586ab555b53ffd0a62488843838d1aa94d",
      "tree": "e20dfc27fd057b29ded79b4cf70418228d581f81",
      "parents": [
        "2b5cebebb60c33fe864bed71778253837cbddb54",
        "f53857716a0db805c51c0cae93550d90e32e4749"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 11 15:47:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 11 15:47:01 2012 -0700"
      },
      "message": "Merge \"Enforce READ_EXTERNAL through Settings.Secure.\" into jb-dev"
    },
    {
      "commit": "f53857716a0db805c51c0cae93550d90e32e4749",
      "tree": "f08bea9fbd41f3299a42c68740d286d614e37f65",
      "parents": [
        "0891a89790777e2f88f413351fafe49dda36714f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 11 14:04:41 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 11 15:31:39 2012 -0700"
      },
      "message": "Enforce READ_EXTERNAL through Settings.Secure.\n\nAlways defers to user-defined setting, when present.\n\nBug: 6389556\nChange-Id: I079d2a41b772facfdac74eefc4c8072fc9284f97\n"
    },
    {
      "commit": "2f0957607411b99810226ad38d59cf18718b86d0",
      "tree": "02c124b552f1f206498e50f3532c5140c9fda8c4",
      "parents": [
        "3816174b3bea63eb355a0aa212c6b51e9435627b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 10 21:29:33 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 12:32:56 2012 -0700"
      },
      "message": "Rename kcm attribute to keyboardLayout.\n\nBug: 6478076\nChange-Id: I7fc0d8eb36d03a628d070f8fd6ea1e1464b1a163\n"
    },
    {
      "commit": "35d0e1d11c046b5e5ddf6d12c1a09becb8561af0",
      "tree": "ee023c7af77634ca11ca19d49cb30170dafd9e5b",
      "parents": [
        "bf6e0ba99dbfef44d3feb014ce7e530de800d7c2"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 11 11:50:58 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 11 11:50:58 2012 -0700"
      },
      "message": "Keep launcher screen from flashing over lockscreen\n\nExtend the force hide period to include the animation.\n\nFixes bug b6471929.\n\nChange-Id: I91daf9dc678723be4c69913aa5a3aa0e265d103e\n"
    },
    {
      "commit": "311c79c3e93589c6fc720fe6c58ed522af591376",
      "tree": "93e8fc58d8a36dfbf3e17222a34aa2933bf8c848",
      "parents": [
        "a53de0629f3b94472c0f160f5bbe1090b020feab"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu May 10 14:44:38 2012 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu May 10 15:52:28 2012 -0700"
      },
      "message": "Cap widget bitmap usage by screen size (issue 6464700)\n\nChange-Id: I04e16223861a88d40ad757afa086a0f92e84493b\n"
    },
    {
      "commit": "a1dc761c8322355eb1bb71d3d6c9c603c1d1fc0f",
      "tree": "19887c9a0d1c4ee83117d3324360cf88da2c96d0",
      "parents": [
        "1bc1b8a5b8a0c5fbcd670d1963235de27a5ccec4"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 10 04:14:53 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 10 12:28:04 2012 -0700"
      },
      "message": "Adding scroll actions to accessibility node info.\n\n1. Scrolling actions are crucial for enabling a gesture based\n   traversal of the UI and specifically scrollable containers\n   especially lists and anything backed by an adapter. Since\n   accessibility focus can land only attached views, it cannot\n   visit views for adapter items not shown on the screen.\n   Auto scrolling the list as a result of putting access focus\n   ot a list item does not work well since the user may get\n   trapped in a long list. Adding an accessibility node provider\n   to emit virtual views for one view before the first and one\n   after the last is complex and suffers the limitation of trapping\n   the user. Accessibility service need an explicit scroll actions\n   which may be performed upon an explicit user action. Hence,\n   the user is informed for the start/end of the visible part of\n   the list and he makes a deliberate choice to scroll. This will\n   benefit also people developing Braille devices since they can\n   scroll the content without telling the user to stop using the\n   Braille controller and take the device out of his pocket to scroll\n   and go back to the Braille controller.\n\nNOTE: Without these action large portions of the screen will be\n    hard to access since users will have to touch and explore to\n    find and scroll the list.\n\nChange-Id: Iafcf54d4967893205872b3649025a4e347a299ed\n"
    },
    {
      "commit": "4fe5ebcc962ad7edb205bf988dd463854dea1044",
      "tree": "47bf23e6ce73a4f4e4638bebd3bca02d07aa9345",
      "parents": [
        "1870c69693d655b101fcc221eb14b1cd7592059d",
        "acafd19c5ea05a8d465f97204f8d63468bdaa2a4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 10 11:30:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 11:30:53 2012 -0700"
      },
      "message": "Merge \"Update DimAnimator layer when its window changes.\" into jb-dev"
    },
    {
      "commit": "b86bc1058b8b9bce045ae94f7cd703d4bfecccb3",
      "tree": "dd1e53494712560d0514dcf2501e39123b607b44",
      "parents": [
        "a4487e1b4be823e6e90b25442f663a9424ac90e0",
        "bf91046872dd711019e8dec543441601576cc950"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu May 10 11:02:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 11:02:20 2012 -0700"
      },
      "message": "Merge \"UsbService: Fix problem detecting audio accessory mode when connected at boot\" into jb-dev"
    },
    {
      "commit": "6b16286f653f9f8a1c17a8dffebbe6cee4e5afca",
      "tree": "54eb32fd1c10e213aa73123aebea4ab07fc25fe7",
      "parents": [
        "230e86a1cf31d2f2233a444e4abb0a334576477b",
        "198e564c9a66010cfe93e0b1a75f84d696bda494"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 10 10:50:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 10:50:29 2012 -0700"
      },
      "message": "Merge \"Notify windows when window animations complete\" into jb-dev"
    },
    {
      "commit": "acafd19c5ea05a8d465f97204f8d63468bdaa2a4",
      "tree": "3f7c638d48d3854d8762d0f550b1dcd3186ab8bf",
      "parents": [
        "a76f823c7f31bffdea4d49daa6c6165520928708"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 10 10:41:02 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 10 10:41:02 2012 -0700"
      },
      "message": "Update DimAnimator layer when its window changes.\n\nPrior to this fix once dimming had been turned on it stayed at the\nsame layer and associated with the same window until it was turned\noff. Now the DimAnimator layer is updated if either the window layer\nchanges or the dimming window changes.\n\nFixes bug 6467865.\n\nChange-Id: I3e1765b92b51be26e3718c8a87e2583041a36af9\n"
    },
    {
      "commit": "ca90d6dad572c6aaad3b0a314df200d1762c23af",
      "tree": "b0ad129f320dc7e681975128881224fee511bb3a",
      "parents": [
        "421dceb0a4fd8f20349a0de277f82b56e71cb90b",
        "20f5c3d4135809ca0b72c23e0c8daf2a8e4e84b2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu May 10 10:35:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 10:35:45 2012 -0700"
      },
      "message": "Merge \"Avoid updating thresholds during shutdown.\" into jb-dev"
    },
    {
      "commit": "421dceb0a4fd8f20349a0de277f82b56e71cb90b",
      "tree": "092633533796bf65021ee895b1bd7d7a42cb99c2",
      "parents": [
        "dc442534070aa8ff4c07cae16fc5207ba6821651",
        "21385cd83d7d7938b57a4acbaa236dd4c7804ed4"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu May 10 10:35:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 10:35:19 2012 -0700"
      },
      "message": "Merge \"Making transition out of recents look better\" into jb-dev"
    },
    {
      "commit": "bf91046872dd711019e8dec543441601576cc950",
      "tree": "0de0ab5db9f32ef106906f3351570bd69ff98419",
      "parents": [
        "7c38077edf73e3313bceccdbde1f78ed1bd14be2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed May 09 16:19:20 2012 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu May 10 10:09:12 2012 -0700"
      },
      "message": "UsbService: Fix problem detecting audio accessory mode when connected at boot\n\nChange-Id: Ie0e23b8ec88f1dd29bb956bc1d21c241f3545059\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "198e564c9a66010cfe93e0b1a75f84d696bda494",
      "tree": "96b60f91ca2de9ce8dce5ae8fd4cff647a724380",
      "parents": [
        "2f4b10e2d4320db490b03eb198ce034302ef00fc"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 10 09:55:15 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 10 09:55:15 2012 -0700"
      },
      "message": "Notify windows when window animations complete\n\nDrawing in windows is suppressed during window animations, to make window\nanimations smoother. This means that drawing activities that the activity\nrequested are dropped on the floor. There is no call at the end of window\nanimations to tell the windows that they may now draw, which leaves the windows\nand activities in an uncertain state, especially with respect to some of the\ndirty flags that we use internally to know when we have requested (and satisfied)\ninvalidations on views.\n\nThe fix is to notice, on the WindowManager side, when we\u0027ve finished window\nanimations and to schedule a traversal on the WindowManager, which will then send\nout appropriate messages to the affected windows.\n\nIssue #6461113 EventInfo is stuck in day view\n\nChange-Id: I364c9c472531c467d44801698cfb453970173bb3\n"
    },
    {
      "commit": "a25079e6bafcfd77135a852f0e838738d80606ef",
      "tree": "b2bc77ac0abc0e3f7222904955bfa168ced6e380",
      "parents": [
        "e95658c98e4154a2daf0ed70d15d24f8bf3153f0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu May 10 10:48:56 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu May 10 11:01:34 2012 -0400"
      },
      "message": "Show the ADB icon in the status bar again.\n\nBug: 6440323\nChange-Id: I3b1972d18be4ad77a87c4b71673b6cfb7735c59e\n"
    },
    {
      "commit": "8c3906d920f55ec0d42252ef8f460e6066b1d4b6",
      "tree": "9f0b22cece3886570b7671f1d3bd1713662dedba",
      "parents": [
        "e2c7e2adc06d813d64bb557944eb16e3fa9a7e57",
        "88670d816ba48076bf89afe57b78b09d1e4288bb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed May 09 21:39:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 21:39:49 2012 -0700"
      },
      "message": "Merge \"Use the right flag types when creating InstallArgs\" into jb-dev"
    },
    {
      "commit": "2c2864f65c5cec6aebcb1b5612331f3946893042",
      "tree": "3ab07b4425c71e63bf994b7f6e420a4082692a0f",
      "parents": [
        "dd79ae6b7201b68dbe2a223d2f371ea1a473f6c4",
        "59325eb31f25704bb88c348160bb69e7c1aa3b48"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 21:34:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 21:34:42 2012 -0700"
      },
      "message": "Merge \"Add new API to find total RAM.\" into jb-dev"
    },
    {
      "commit": "21385cd83d7d7938b57a4acbaa236dd4c7804ed4",
      "tree": "4437d4ba6ded58da748f2231c2d87c5c406b807e",
      "parents": [
        "0fa152912e55f2d08f0a8d1260332a81e5706694"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu May 03 10:57:31 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Wed May 09 20:25:28 2012 -0700"
      },
      "message": "Making transition out of recents look better\n\n- Fading out recents first, then scaling up app\nthumbnail\n- Fade Recents out over 130ms\n- Delay the window animation for 200ms first,\nthen animate for 200ms (previously we didn\u0027t delay\nand then animated for 300ms)\n\nBug: 6390075\n\nChange-Id: Ia8c753bf7ee03d2acef6eb2772b28d88fe10a682"
    },
    {
      "commit": "20f5c3d4135809ca0b72c23e0c8daf2a8e4e84b2",
      "tree": "c56b3acba490b9c0118fd888e267725394094252",
      "parents": [
        "6de357e4d10fa5977ab9a6c665dc858765e95d34"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 09 19:59:07 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 09 19:59:07 2012 -0700"
      },
      "message": "Avoid updating thresholds during shutdown.\n\nBug: 6472388\nChange-Id: I70e1ed5dc75056840f2f0b130ce0dfecb06f385e\n"
    },
    {
      "commit": "59325eb31f25704bb88c348160bb69e7c1aa3b48",
      "tree": "b0e5c3229fbc35974658646b08b5611f5cad93ff",
      "parents": [
        "a53de0629f3b94472c0f160f5bbe1090b020feab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 18:45:20 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 18:45:20 2012 -0700"
      },
      "message": "Add new API to find total RAM.\n\nChange-Id: Iad2dff3c44f471515f093e7f0d0d959528881ab9\n"
    },
    {
      "commit": "b4ffa66d6e696bdc773b64802b1cf6d20097c6a3",
      "tree": "22174756f8f63d5fd9091c0f43a29daf773e9775",
      "parents": [
        "78fd4a14dd2a1e2d9ab4be024861c0d9119cce7f",
        "9aa695871c9d5a0a4784dd60f77a44922cfd2498"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 18:05:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 18:05:08 2012 -0700"
      },
      "message": "Merge \"Fix wallpaper glitch and moving window animation.\" into jb-dev"
    },
    {
      "commit": "78fd4a14dd2a1e2d9ab4be024861c0d9119cce7f",
      "tree": "ae67d944ab45af566e107b145509037b412c80f3",
      "parents": [
        "8bd8d8969380e24fadca64b6977dc20b1cf4d569",
        "518a3d82f78e5089d0f99e61e46e1e915aea91ab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 18:03:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 18:03:12 2012 -0700"
      },
      "message": "Merge \"Remove auto-brightness adjustment knob.\" into jb-dev"
    },
    {
      "commit": "9aa695871c9d5a0a4784dd60f77a44922cfd2498",
      "tree": "bd95bb2f48edf11730647e9465185b5bcf7d4fd9",
      "parents": [
        "a76f823c7f31bffdea4d49daa6c6165520928708"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 17:41:13 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 17:41:13 2012 -0700"
      },
      "message": "Fix wallpaper glitch and moving window animation.\n\n1. Previous fix to hide wallpaper at the same time the wallpaper target\nwas hidden was too aggressive. In the case where one wallpaper target\nwas replacing another we would lose the wallpaper for an instant.\n\n2. Previous fix to keep from overwriting the moving window boundaries\nwas incomplete.  The default values for the parent window were 0,0\nwhich caused the lock window animation to translate down and to the\nright. Defaulting the parent window boundaries to the full screen\nand restoring it to the full screen after each animation fixes this.\n\nFixes bug 6472070.\n\nChange-Id: I0b13c642c1aaab666cdd0f4a1e7fb4b716e6b17f\n"
    },
    {
      "commit": "518a3d82f78e5089d0f99e61e46e1e915aea91ab",
      "tree": "2a424254302c5423cb6d3dc584070006f01763d9",
      "parents": [
        "a53de0629f3b94472c0f160f5bbe1090b020feab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 16:30:49 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 16:30:49 2012 -0700"
      },
      "message": "Remove auto-brightness adjustment knob.\n\nNot yet ready for release.\n\nChange-Id: I75bc87f35af47c6baac1f26953d8bf3e38062c92\n"
    },
    {
      "commit": "e4abc512aa6474f0106f407f7b399832da34483f",
      "tree": "d565addd98efa55674b10c29cc2b5410f0e190b4",
      "parents": [
        "e2d47e63cf1c5c095eb54f7af2a4a02b46862ddd"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed May 09 11:02:38 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed May 09 16:17:20 2012 -0700"
      },
      "message": "Remove activation gestures form reported and add a touch explore requesting flag.\n\n1. Delegating activation gestures has several issues that we should\n   decide how to handle if possible before allowing an accessibility\n   service to take over them:\n\n   A) It is needed that every view than can be clicked or long pressed on\n      reacts to such as a response to calling performClick and performLongPress\n      which is not necessary true since the view may watch the touch\n      events and do its own click long click detection. As a result it may\n      be possible that there are view a user cannot interact with in\n      touch exploration mode but can if not in that mode.\n\n   B) Clicking or long pressing on a different location in a view may yield\n      different results, for example NumberPicker. Ideally such views have\n      to implement AccessibilityNodeProvide which provider handles correctly\n      the request for click long press on virtual nodes. Some apps however\n      just fire different hover accessibility events when the user is over\n      a specific semantic portion of the view but do not provide virtual\n      nodes. Hence, a user will not be able to interact with such semantic\n      regions but the system can achieve that by sending the click/long click\n      at the precise location in the view that was last touch explored.\n\n2. Adding a flag on accessibility service info to request explore by touch\n   mode. There is no need to put the device in this mode if node of the currently\n   enabled accessibility services supports it. Now the problem is inverted and\n   the service has to explicitly state its capability.\n\n3. Fixing a bug where includeImportantViews was ignored for automation\n   services.\n\nChange-Id: I3b29a19f24ab5e26ee29f974bbac2197614c9e2a\n"
    },
    {
      "commit": "88670d816ba48076bf89afe57b78b09d1e4288bb",
      "tree": "97f2351997d480929b1c731fc15ed663fb11a4e2",
      "parents": [
        "a76f823c7f31bffdea4d49daa6c6165520928708"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed May 09 15:47:35 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed May 09 16:02:09 2012 -0700"
      },
      "message": "Use the right flag types when creating InstallArgs\n\nNeed to use PackageManager.INSTALL_{EXTERNAL,FORWARD_LOCKED} for\ncreateInstallArgs instead of ApplicationInfo.FLAG_etc for the install\nargs to be created correctly. If certain flags conflict, there will be a\nfailure to delete the package.\n\nChange-Id: Ibd8705943371596b2f2d6c24bd071b737ca74ef4\n"
    },
    {
      "commit": "0fa152912e55f2d08f0a8d1260332a81e5706694",
      "tree": "3b587e2578c476dcb646845d23543e6b520ac17b",
      "parents": [
        "2ed09ea41fcb0d16e2dcf0372b1d0f73a7850fc3",
        "df549f83810c6fa76be1845363ef69809a30e569"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed May 09 15:11:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 15:11:14 2012 -0700"
      },
      "message": "Merge \"Make UiTestAutomationBridge see non-important views again\" into jb-dev"
    },
    {
      "commit": "a53de0629f3b94472c0f160f5bbe1090b020feab",
      "tree": "d3816b90689fee8b1aee48cdc834ce0f597e99d3",
      "parents": [
        "8b2e37e5a0e10d234ffe6815e9a462283cad3d78"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 08 18:53:51 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 14:53:20 2012 -0700"
      },
      "message": "Add callback hack to find out when to load system properties.\n\nUse this to reload the trace and layout bounds properties.\n\nThis is ONLY for debugging.\n\nChange-Id: I1c4bdb52c823520c352c5bac45fa9ee31160793c\n"
    },
    {
      "commit": "6367b1669d41f9fe7cd7abe5e05296edecd50f8e",
      "tree": "2d59625dfa9084d1601aab635df2011c4173aabd",
      "parents": [
        "9669a0ce574745ba0b0ebd32e8337811973fb7dc",
        "6de357e4d10fa5977ab9a6c665dc858765e95d34"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 09 14:36:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 14:36:40 2012 -0700"
      },
      "message": "Merge \"Recover from Throwable in FileRotator, dump.\" into jb-dev"
    },
    {
      "commit": "df549f83810c6fa76be1845363ef69809a30e569",
      "tree": "800d0bfc5625be36e253cc19879d43c701ecd8ed",
      "parents": [
        "bad417df657128a988b23a6b70b4d08633e4ac5a"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue May 08 23:09:24 2012 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed May 09 14:32:15 2012 -0700"
      },
      "message": "Make UiTestAutomationBridge see non-important views again\n\nThis problem was introduced in I74df9c24. The intention of the\nchange was still let UiTestAutomationBridge see the\nnon-important views, but there were bugs in the implementation:\n\n1. AccessibilityManagerService was not really updating\n   mIncludeNotImportantViews when mIsAutomation is true\n\n2. Wrong constant is used to set the flag\n\nChange-Id: Ia0a2e9ed9720bd0ea3a563e0b492e870a6ec1586\n"
    },
    {
      "commit": "9669a0ce574745ba0b0ebd32e8337811973fb7dc",
      "tree": "55a959cb17f7898a417727e91e89a8a85648c4e4",
      "parents": [
        "08c04000c6355a735dab237e1994dc17c7e5d44f",
        "22af38c5261d2c03796b496e6edb125327cace16"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 09 14:04:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 14:04:04 2012 -0700"
      },
      "message": "Merge \"API review fixes\" into jb-dev"
    },
    {
      "commit": "08c04000c6355a735dab237e1994dc17c7e5d44f",
      "tree": "3224552980f84efa5e205357d1ec48040816ca3e",
      "parents": [
        "c1fc0f01d2b0af2216870a40ae4cb6572588d194",
        "9158cbcbc9895e476606c5191168ee4a6c67c9c7"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 13:55:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 13:55:52 2012 -0700"
      },
      "message": "Merge \"Remove incorrect CLEAR_WHEN_TASK_RESET behavior.\" into jb-dev"
    },
    {
      "commit": "6de357e4d10fa5977ab9a6c665dc858765e95d34",
      "tree": "f5a0ce10d0d665dd5dda2afcd4b4656b7a6dc8a3",
      "parents": [
        "6704c233390743890d23338a2329dcda5709b810"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 09 13:33:52 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 09 13:43:19 2012 -0700"
      },
      "message": "Recover from Throwable in FileRotator, dump.\n\nIn rewriteSingle(), catch Throwable to rollback to backup file,\ninstead of just IOException. Also add dumpAll() to pack up contents\nfor later debugging, and use it when encountering bad stats.\n\nBug: 6467868\nChange-Id: Ic8e287cf5a235706811a304a88d71d11d3a79cd4\n"
    },
    {
      "commit": "22af38c5261d2c03796b496e6edb125327cace16",
      "tree": "0901ae2edda6f7889eaea78ac58f0fc430987aff",
      "parents": [
        "faac92942c50b12edada5e92e7c323609b2bdb5f"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu May 03 16:44:27 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 09 11:48:42 2012 -0700"
      },
      "message": "API review fixes\n\n- Remove the notion of channel from an application perspective\n- Remove the use of DnsSd as part of API and add a protocol type to allow\nfuture extensions\n- Use the listener object as a handler for stop and unregister operations. Also,\nwe now allow multiple active discovery operations.\n- Remove init/deinit operations in favour of setting up construction\n\nBug:6434844\nChange-Id: Id15521d571aac9c4053d81184ad66dfc54f636de\n"
    },
    {
      "commit": "9158cbcbc9895e476606c5191168ee4a6c67c9c7",
      "tree": "229dc7fd3ad0b237d0eb8c01836e844d3b924ae2",
      "parents": [
        "a4e2ec64db896366592b3b2347eb2ac6d2ca060a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 11:37:48 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 11:37:48 2012 -0700"
      },
      "message": "Remove incorrect CLEAR_WHEN_TASK_RESET behavior.\n\nFixes bug 6447950.\n\nChange-Id: I6b512d5dd44c54e7b51f85c51783e8c942238c1d\n"
    },
    {
      "commit": "393295fabff828d3bc974a617d152ff0895a4071",
      "tree": "9330e874ab9f72036b9bdde1dabf3c2652738168",
      "parents": [
        "14124c696d82e68f93baed905ca01fc498ae1fc6",
        "a83580614f4f75f7d474e81c7c10c2c784df1380"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 11:17:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 11:17:19 2012 -0700"
      },
      "message": "Merge \"Keep layout from overwriting translate dimensions\" into jb-dev"
    },
    {
      "commit": "e0a99414bd3737ad976bf4a040c184bebd8e2e3d",
      "tree": "6152c9426ec7bf8e64b56ef3048c85314da298e9",
      "parents": [
        "2f913d951c481edccbefa4d321a76f28740b48d7"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu May 10 02:22:58 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu May 10 02:57:11 2012 +0900"
      },
      "message": "Fix the issue that the insets linger after closing the voice input\n\nBug: 6456954\nChange-Id: Idf7700271cf882dfbf35c9d16f0f173a791221bc\n"
    },
    {
      "commit": "a83580614f4f75f7d474e81c7c10c2c784df1380",
      "tree": "e00a9382427c0bbfc0bcfa5122a6044d9813c658",
      "parents": [
        "a4e2ec64db896366592b3b2347eb2ac6d2ca060a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 10:37:41 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 10:37:41 2012 -0700"
      },
      "message": "Keep layout from overwriting translate dimensions\n\nIf the layout goes through more than one pass after detecting a window\nmovement but before animation begins then the later pass overwrites\nthe animation offsets. The incorrect values are large leading to an\nanimation starting location in the bottom right corner.\n\nFixes bug 6450310.\n\nChange-Id: I0f74e67b3e9a15a9246151abf6d47384509340e9\n"
    },
    {
      "commit": "93d744deb167d5c681b5bb5627fd36a92f1ea79a",
      "tree": "faa1d4cdb522c9a0af6107b361084d83b44e1877",
      "parents": [
        "a71293f36cb6f6b906301a426c6c5f388e118552"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed May 09 17:14:08 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed May 09 17:14:08 2012 +0900"
      },
      "message": "Fix sort order of the input method switcher in IMMS\n\nBug: 6333988\nChange-Id: Ief392c9157f2a37600e517ec9caf586ffb9d5f0d\n"
    }
  ],
  "next": "a71293f36cb6f6b906301a426c6c5f388e118552"
}
