)]}'
{
  "log": [
    {
      "commit": "bdb1c4067c2453672652730d12466dc17ff4a120",
      "tree": "6f0c0fd48f83477bd193f411d55e1b352a175a8d",
      "parents": [
        "3a220884249259961a43c35983d915201192f21a",
        "35af2fff433e6f83f70b8bb15b3bf4fc19d13104"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 24 14:35:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 14:35:10 2012 -0700"
      },
      "message": "Merge \"Don\u0027t start a dimming operation when hiding.\""
    },
    {
      "commit": "35af2fff433e6f83f70b8bb15b3bf4fc19d13104",
      "tree": "94245be0f08fec5a20b149f26b05c3cca841901c",
      "parents": [
        "69c1a571acefc59d7260e6c805801656923b1330"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 24 14:30:15 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 24 14:30:15 2012 -0700"
      },
      "message": "Don\u0027t start a dimming operation when hiding.\n\nCheck to see if app token is hiding before going ahead with turning on\ndimming. Before this fix went in we were turning dimming back on right\nafter turning it off. Then we didn\u0027t turn it off again until all\nanimations had completed leading to a delayed dim-off experience.\n\nFixes bug 6378033.\n\nChange-Id: Ic819a0093ba95f62df369266c07525835703c5fa\n"
    },
    {
      "commit": "df3ab4ab3de76c985f65b0b85f2e3785d4b0eac0",
      "tree": "7683f8f9fd36a591adb6ac952566a97fac3ad04c",
      "parents": [
        "69c1a571acefc59d7260e6c805801656923b1330",
        "07b0465095bd9ab3412caefa4fcacbdc3825c64b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 24 11:02:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 11:02:55 2012 -0700"
      },
      "message": "Merge \"Scheduling policy service\""
    },
    {
      "commit": "69c1a571acefc59d7260e6c805801656923b1330",
      "tree": "2597624397eeaae52e85448169a87efd40716830",
      "parents": [
        "4d9251bb3e62cddbfd9b85f1204b5c5043e3c76e",
        "fbf378c736a973b8edaf1fc4c187d11dc0f5e291"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 24 10:08:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 10:08:34 2012 -0700"
      },
      "message": "Merge \"Various debugging enhancements.\""
    },
    {
      "commit": "4d9251bb3e62cddbfd9b85f1204b5c5043e3c76e",
      "tree": "5e2cf3f2933db1f46da24f647f236c9c704b9f31",
      "parents": [
        "c217f4cfd72c54e020695956f587bb9e27da6346",
        "9cd75d46b0a9683a573953822633b610bafa5771"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 24 10:02:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 10:02:38 2012 -0700"
      },
      "message": "Merge \"Fix visual glitch in app transition.\""
    },
    {
      "commit": "fbf378c736a973b8edaf1fc4c187d11dc0f5e291",
      "tree": "6ddc12b81b75725761d370e319048bb9f3301559",
      "parents": [
        "1579a67ee9a53740a09e606e071fd571ee627449"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 23 17:24:21 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 24 09:56:59 2012 -0700"
      },
      "message": "Various debugging enhancements.\n\nAlso moved DummyAnimation into AppWindowAnimator where it belongs.\n\nChange-Id: I7da254a8b99030b898e2ff8d983500d7ce0b2b65\n"
    },
    {
      "commit": "c217f4cfd72c54e020695956f587bb9e27da6346",
      "tree": "ba8eb24befd16d4e1a89cd884080b1511ee38603",
      "parents": [
        "1313213a91007ea1fb1382cbaf335714281d490f",
        "2d34b4a88531e51982b030c43d672ec2cc3d8f36"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Apr 24 09:55:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 09:55:02 2012 -0700"
      },
      "message": "Merge \"Allow quoted strings from NativeDaemonConnector\""
    },
    {
      "commit": "07b0465095bd9ab3412caefa4fcacbdc3825c64b",
      "tree": "c69073a76d56a988b7574623dc54d2027e9dda37",
      "parents": [
        "f03f64d81036cb453345462714beb4298eac32a9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 23 15:00:43 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 24 09:53:14 2012 -0700"
      },
      "message": "Scheduling policy service\n\nChange-Id: I6178b96896ffbb3323210f93784a65d724a3e694\n"
    },
    {
      "commit": "9cd75d46b0a9683a573953822633b610bafa5771",
      "tree": "9ab19ca983e26a524ff1c4a9d60b8e47ed5bec6f",
      "parents": [
        "1579a67ee9a53740a09e606e071fd571ee627449"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 24 09:34:37 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 24 09:34:37 2012 -0700"
      },
      "message": "Fix visual glitch in app transition.\n\nWhen dummy animation is being used, set the alpha to 0 or 1 depending\non whether the app was previously hidden or visible.\n\nChange-Id: I1a4e3cdb4b9ca4a6aef58e47bf26e5adbef66a7f\n"
    },
    {
      "commit": "a697f4069dfc80e96203d5b80e8d68f2f490a68e",
      "tree": "4bc8e120138f9850d9369b410ae4b4a7819fbc4c",
      "parents": [
        "ba4dd937fe8dddaf593b3c96e2af800d4bc952cf",
        "2473a4bae16b2713753dd80f8356ad18fce43207"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Apr 24 09:28:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 09:28:45 2012 -0700"
      },
      "message": "Merge \"Stop complaining about failure to remove routes\""
    },
    {
      "commit": "b67c63b1aee9da5676c8b0e7cbccac8e97eb79a6",
      "tree": "46e10fbd122e4454c9f1de8a327656548bf24b1c",
      "parents": [
        "9177947741976f61ff1c446ccb63e3120bad7069",
        "924c21582c666151e01206df82c27de9424e914a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 23 18:20:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 18:20:28 2012 -0700"
      },
      "message": "Merge \"Set mOrientationChangeComplete after windows drawn.\""
    },
    {
      "commit": "924c21582c666151e01206df82c27de9424e914a",
      "tree": "858620a0470dd1dd750057e6e18f02fcdbf058a7",
      "parents": [
        "1579a67ee9a53740a09e606e071fd571ee627449"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 23 18:14:07 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 23 18:14:07 2012 -0700"
      },
      "message": "Set mOrientationChangeComplete after windows drawn.\n\nForce a pass through layout with mOrientationChangeComplete set\nfollowing all windows drawn when the application is freezing the\nscreen.\n\nThis fixes bug 6359311.\n\nChange-Id: I318864fb687cf85a0c9ac4478e4f29dc20f43d9c\n"
    },
    {
      "commit": "2473a4bae16b2713753dd80f8356ad18fce43207",
      "tree": "b21440c0be748021409390a79351006e81d1eff6",
      "parents": [
        "7f97e54a152eff5c98297a8842bbd2cde586c04e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Apr 23 18:00:37 2012 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Apr 23 18:00:37 2012 -0700"
      },
      "message": "Stop complaining about failure to remove routes\n\nWe often get told a network has gone away after the interface is downed\nand the routes are auto-removed.  Change the log to VDBUG so standard\nbuilds don\u0027t have the noise.\n\nbug:2856577\nChange-Id: If12ec3ed3b646ff6ef89b3778d037cfc478c0d25\n"
    },
    {
      "commit": "376011e895a53a7919dcd25c468c8f91df183afa",
      "tree": "0ac8c889fc7b753b9a8fb4787c5090769e9ff68e",
      "parents": [
        "395d725ff4cbcf2f12ed2d64b24e9cea1a505398",
        "9341f389dbad2df1a30dabfbada8e3a92a4a39f3"
      ],
      "author": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Mon Apr 23 17:57:05 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 17:57:05 2012 -0700"
      },
      "message": "Merge \"After reboot with airplane mode and BT enabled, keep BT enabled.\""
    },
    {
      "commit": "9341f389dbad2df1a30dabfbada8e3a92a4a39f3",
      "tree": "f87c5ab48041bf2024f532c337eff42092052d4c",
      "parents": [
        "003952ba33f711963ad26588b2aca293deb8d50a"
      ],
      "author": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Mon Apr 23 16:15:42 2012 -0700"
      },
      "committer": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Mon Apr 23 16:15:42 2012 -0700"
      },
      "message": "After reboot with airplane mode and BT enabled, keep BT enabled.\n\nEnabling airplane mode disables Wi-Fi and Bluetooth as well as the\ncell radio. Bluetooth and Wi-Fi can then be reenabled if desired.\nAfter a reboot, Bluetooth was always disabled if airplane mode\nwas enabled. Changed to set Bluetooth to its previous state after\nreboot, regardless of the airplane mode setting. This is already\nthe behavior for Wi-Fi after a reboot.\n\nBug: 5623624\nChange-Id: I1c44500221aa0e5d1d7a5c9046d6c1380d28b5c0\n"
    },
    {
      "commit": "49c1d1764bce02cf12a68e9312f3aa9dfa2e25ce",
      "tree": "72907b2daa47e228e929a7bd8bb0ed1eff716dc7",
      "parents": [
        "81d94335fbe7fde63f9e382be1ec74d3d09b99fe"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 23 14:39:19 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 23 14:39:19 2012 -0700"
      },
      "message": "Clear identity when checking if bandwidth enabled.\n\nChange-Id: I0f10f86dc14483e29609057c671454b322da4826\n"
    },
    {
      "commit": "03d2f292a63f3600f1f913f53f19bf783f05ef2f",
      "tree": "2df06126de9dbb073bd0df634b2f7b437f7e4624",
      "parents": [
        "1579a67ee9a53740a09e606e071fd571ee627449",
        "e9e26cc727a1490db5eb0e572a40913f624529fe"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 23 09:40:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 09:40:28 2012 -0700"
      },
      "message": "Merge \"Clipboard service keeps separate clipboards per user.\""
    },
    {
      "commit": "4190a047ca1c5eb19a1f7e5d599ef1d532da71c7",
      "tree": "5f167207adc5f6f394ae19b116937b4fd3c07013",
      "parents": [
        "7838025812f30f466ee502d3cbb92923312524da"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Apr 21 15:36:48 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Apr 21 15:36:48 2012 -0700"
      },
      "message": "Better assertions when bandwidth module disabled.\n\nAlso disable some verbose logging in WifiStateTracker.\n\nBug: 6368329\nChange-Id: I9a5219bc1b3fd870468f7de46cdf4f173a437c59\n"
    },
    {
      "commit": "a2c68198b13e416278e9bbe1d7f0abab4033d245",
      "tree": "84c6949fcf3f15a765475f6da3206bafcb1aceb7",
      "parents": [
        "8ff0c9204e565d7389b10495cf885c772d204be5",
        "5bbd4b4f5fc19302fa017ad6afee6eb2d489d91a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 20 20:15:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 20:15:20 2012 -0700"
      },
      "message": "Merge \"Get alias for Bluetooth devices.\""
    },
    {
      "commit": "5bbd4b4f5fc19302fa017ad6afee6eb2d489d91a",
      "tree": "2bc118a5ef332003cc7f6791968076c48b3cf84b",
      "parents": [
        "9e6d4b035d4f012d23264d3d2bc946b1ca02dba1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 20 19:28:00 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 20 20:11:12 2012 -0700"
      },
      "message": "Get alias for Bluetooth devices.\n\nBluetooth devices can be renamed by the user.  Make the\ninput system aware of the user-specified name and transparently\npass it down to applications.  This enables the keyboard\nlayout picker Settings UI to use device names that are\nconsistent with what the user set in the Bluetooth UI.\n\nBug: 6363157\nChange-Id: I8eea26ce2c69c2a3f09c8de02e9e847610e0419c\n"
    },
    {
      "commit": "e9e26cc727a1490db5eb0e572a40913f624529fe",
      "tree": "ae6efe298467321cd27c93577093a9f4c9e522d9",
      "parents": [
        "5b086eb5438b5048bd3fbf4e2ed9390ec10245b3"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Apr 20 19:01:50 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Apr 20 19:01:50 2012 -0700"
      },
      "message": "Clipboard service keeps separate clipboards per user.\n\nNo leaking personal information via the clipboard.\n\nChange-Id: I11125288e2e640eb0c0e4c73dae2b4d9aa7c0f3b\n"
    },
    {
      "commit": "8ff0c9204e565d7389b10495cf885c772d204be5",
      "tree": "f1aa6de8db6a70fbe95d2198b63c3edacb21ab43",
      "parents": [
        "7dc3d82a392696ede0757980cd68105682c46768",
        "19caadc08f09cc9f6665fbbb0d61e02861ce8562"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 20 18:58:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 18:58:53 2012 -0700"
      },
      "message": "Merge \"You can now long press on the power off menu to reboot to safe mode.\""
    },
    {
      "commit": "19caadc08f09cc9f6665fbbb0d61e02861ce8562",
      "tree": "e614ceb22d936fb11c155511ed7419efd516442e",
      "parents": [
        "e1a996e99dc68b48efad989876c01ce05a7a58ac"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 20 17:49:10 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 20 17:50:26 2012 -0700"
      },
      "message": "You can now long press on the power off menu to reboot to safe mode.\n\nChange-Id: I3aa575285058cf5a3d89486d6b944f6ea13d645c\n"
    },
    {
      "commit": "9392ad25a866ea2dff68683795294103157f8ed7",
      "tree": "327e00f8386e4122920506949c4d54ed1a3ad836",
      "parents": [
        "122b2c32dea573a3efbd0d608a70b7cd169d99dd",
        "7ea3e7df1f1ff5dde8ffb42fa179beef679f40ea"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Apr 20 17:37:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 17:37:43 2012 -0700"
      },
      "message": "Merge \"Fix dumpsys package.\""
    },
    {
      "commit": "122b2c32dea573a3efbd0d608a70b7cd169d99dd",
      "tree": "35e9abfd6b158ab9854663e752b76563f0d21e02",
      "parents": [
        "8b0af627997277978240525d87ef7a7f0661554b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 20 17:00:30 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 20 17:04:23 2012 -0700"
      },
      "message": "Fixing a couple of issues I have introduces in the last patch.\n\n1. Fix waiting for the wrong instance.\n\n2. Fix cloning of accessibility node info.\n\nChange-Id: Icabf0d4bc947602a32fddc6642cc787f2bc766e4\n"
    },
    {
      "commit": "8b0af627997277978240525d87ef7a7f0661554b",
      "tree": "50dc28a1e6602c7c408eb35076f8c73db6f05bbc",
      "parents": [
        "8d3696eca2fb26b33c71494eaf93a0a6588b946a",
        "2782a478d0214cf71a32d4537fc9fb191d1072fb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 20 16:10:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 16:10:45 2012 -0700"
      },
      "message": "Merge \"Move forward lock utilities to PackageHelper\""
    },
    {
      "commit": "8d3696eca2fb26b33c71494eaf93a0a6588b946a",
      "tree": "b892da5a5f77e7e875b70df553cdfddf95071dad",
      "parents": [
        "bb56676b07a85d38e8577a4151aad895d6522774",
        "9f6e4ba50e7e73704c7fbd3ba65fe73bdf8ad73f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 20 16:03:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 16:03:26 2012 -0700"
      },
      "message": "Merge \"Connect metered DHCP hint for Wi-Fi networks.\""
    },
    {
      "commit": "9f6e4ba50e7e73704c7fbd3ba65fe73bdf8ad73f",
      "tree": "ed8045c7cfb0fcea3c10b0f76d2808116ac1545e",
      "parents": [
        "f0c4c658488824707c206551fd1ccc0a0781031e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 19 23:01:08 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 20 15:57:19 2012 -0700"
      },
      "message": "Connect metered DHCP hint for Wi-Fi networks.\n\nWhen DHCP lease includes vendor info indicating that remote Wi-Fi\nnetwork is metered, advise NetworkPolicy.  Users can still manually\nchange the metered flag in Settings.\n\nAlso remove any policies belonging to removed Wi-Fi networks, and\nteach isNetworkMetered() about ethernet networks.\n\nBug: 6344821, 6369307, 6365872\nChange-Id: I108606c6fddf2d02828fcab011f3a1501415f1bc\n"
    },
    {
      "commit": "72de2062485f711c9a2291c204fd2c0fb6c4e20f",
      "tree": "b2bcb7fed59a6c276f58d401ef173ff409ef9ac0",
      "parents": [
        "4d7349bb6df5a01ba451aa1abd4c9f6349a57016",
        "aa780c110922148a6a4ba06734bb2b0bb8c98f93"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 20 15:26:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 15:26:24 2012 -0700"
      },
      "message": "Merge \"Adding support for traversing the content of a node info at granularity.\""
    },
    {
      "commit": "7ea3e7df1f1ff5dde8ffb42fa179beef679f40ea",
      "tree": "8832e2c53892e4929a74a13641f543ac7ae877f2",
      "parents": [
        "5b086eb5438b5048bd3fbf4e2ed9390ec10245b3"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Apr 20 15:19:35 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Apr 20 15:19:35 2012 -0700"
      },
      "message": "Fix dumpsys package.\n\nWas bailing out due to insufficient permissions to query users.\n\nBug: 6374050\nChange-Id: Ic4a4ab32e2efb4d1fc1f1607fd304f99d5382743\n"
    },
    {
      "commit": "aa780c110922148a6a4ba06734bb2b0bb8c98f93",
      "tree": "8709da20df481fea35219769285546802407ca9f",
      "parents": [
        "fefd20e927b7252d63acb7bb1852c5188e3c1b2e"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Apr 19 23:01:39 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 20 15:12:13 2012 -0700"
      },
      "message": "Adding support for traversing the content of a node info at granularity.\n\n1. A view that creates an accessibility node info may add to the info\n   a list of granularity labels. These are granularities by which the\n   source view can iterate over its content. For example a text view\n   may support character, word link while a web view may additionally\n   support buttons, tables, etc. There are actions on accessibility\n   node info to go to the next/previous at a given granularity which\n   is passesed as an argument.\n\n2. Added Bundle argument to the APIs for performing accessibility\n   actions. This is generic and extensible.\n\nbug:5932640\n\nChange-Id: I328cbbb4cddfdee082ab2a8b7ff1bd7477d8d6f9\n"
    },
    {
      "commit": "4d7349bb6df5a01ba451aa1abd4c9f6349a57016",
      "tree": "b9e9278a7d0fb2e764ae139e07dab0a54ba505fb",
      "parents": [
        "8e2f41426ce162a164d1074dd67ea4549ffd0711"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 20 14:52:47 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 20 15:09:51 2012 -0700"
      },
      "message": "Remove flicker from transitions.\n\nChange state progressions to handle animation/layout separation.\nAlso added debug as needed.\n\nFixes bug 6360835.\nFixes bug 6206366.\nFixes bug 6286371.\nFixes bug 6240494.\n\nChange-Id: I1079756a7e3e35ebb9f711f02d005bde9bf65ef0\n"
    },
    {
      "commit": "8e2f41426ce162a164d1074dd67ea4549ffd0711",
      "tree": "cfd14751bbb59f10389bc8673d02be0dfab6f13a",
      "parents": [
        "5778626d9b3aa2d81dc8bbe3139547ad90b90f25"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 20 14:57:11 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 20 14:57:18 2012 -0700"
      },
      "message": "Fixes in the accessibility gesture dispatching.\n\n1. The gesture dispatcher thread was not waiting in a loop\n   that check for complete initialization. Therefore is was\n   susceptible to missed signals and unexpected interrupts.\n\n2. In the gesture processing message handle the interaction id\n   was reading the wrong message argument.\n\nbug:5932640\n\nChange-Id: Ic65ecc01a7fe7d43929c6c07d0759ae9001cf515\n"
    },
    {
      "commit": "2d34b4a88531e51982b030c43d672ec2cc3d8f36",
      "tree": "18f9f82c3a5475d4e0c10d7677e59d5f6dbbef95",
      "parents": [
        "d7f256dd2f31ec74c8154f783a660dfe3e55b036"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Apr 20 13:08:02 2012 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Apr 20 14:56:32 2012 -0700"
      },
      "message": "Allow quoted strings from NativeDaemonConnector\n\nPreviously we\u0027d only handled quoted strings going into NDC.  This\nchange auto-handles quoted strings in broadcasts and allows\nprotocol handlers to request de-quoted elements when needed instead\nof using the generic split(\" \").\n\nbug: 6353048\nChange-Id: I8a07be86411063ed1b402294edc399b4cc076da5\n"
    },
    {
      "commit": "2782a478d0214cf71a32d4537fc9fb191d1072fb",
      "tree": "72d612a1bd3b88c88856ae5901dd2a1ec9884613",
      "parents": [
        "80a76276dc9440ffad30dc4c820eb7d65f4df368"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sat Apr 14 21:48:21 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 20 14:40:03 2012 -0700"
      },
      "message": "Move forward lock utilities to PackageHelper\n\nThe forward lock utilities will need to be called from\nDefaultContainerService for ASEC packages in the future. Move them to\nPackageHelper to aid in the transition.\n\nAlso move the public resource copying to the FileInstallArgs step which\nmakes a little bit more sense.\n\nChange-Id: I3a62ac817719db3ee1c89c106a551dcbe9c44744\n"
    },
    {
      "commit": "e1a996e99dc68b48efad989876c01ce05a7a58ac",
      "tree": "59b3362ca86cc68c19b6060feecda2cc7d44b1cc",
      "parents": [
        "ebd477518f10d61b1164c0df6c14cb2d0e59ecf0",
        "d0d7503fd3e941113094532f28986f49b11b5fdb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 20 13:44:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 13:44:43 2012 -0700"
      },
      "message": "Merge \"Move handling of package changes to a background thread.\""
    },
    {
      "commit": "d0d7503fd3e941113094532f28986f49b11b5fdb",
      "tree": "98866f30fbc23eceb6e34cc93801c92c93d4c812",
      "parents": [
        "5dd32fbcbf750b806175bc8648b6fae280dad576"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 19 23:12:09 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 19 23:12:09 2012 -0700"
      },
      "message": "Move handling of package changes to a background thread.\n\nHelps get rid of some jank when installing applications.\n\nChange-Id: I97d0022f82d67796e334d37086e5911dd6ca6b62\n"
    },
    {
      "commit": "e30df7744c2ff5c6f23ed7d6fb2cd229188c32f8",
      "tree": "542de24e4353eb817f9d31753e0b60763d192f57",
      "parents": [
        "b0668e4d1964cea8d54f9bc49445ddd0e4530ba3",
        "fefd20e927b7252d63acb7bb1852c5188e3c1b2e"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Apr 19 22:09:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 22:09:27 2012 -0700"
      },
      "message": "Merge \"Adding an opt-in mechanism for gesture detection in AccessibilityService.\""
    },
    {
      "commit": "fefd20e927b7252d63acb7bb1852c5188e3c1b2e",
      "tree": "1c61fca48a8221e93aa14f16da9881560be69313",
      "parents": [
        "749e796eb3a42e21613a3b360000373601a8f50d"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Apr 19 21:44:35 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Apr 19 22:08:42 2012 -0700"
      },
      "message": "Adding an opt-in mechanism for gesture detection in AccessibilityService.\n\n1. An accessibility service has to explicitly opt in to be notified\n   for gestures by the system. There is only one accessibility service\n   that handles gestures and in case it does not handle a gesture\n   the system performs default handling. This default handling ensures\n   that we have gesture navigation even if no accessibility service\n   would like to participate/customize the interaction model.\n\nbug:5932640\n\nChange-Id: Id8194293bd94097b455e9388b68134a45dc3b8fa\n"
    },
    {
      "commit": "dd184f9fb1cca51e2840ece187126caf933ab409",
      "tree": "db4940967e2837329afbbf3c891b25cd2c120e0e",
      "parents": [
        "8c44c181dea290c86f591c44f8955682512a136c",
        "e8724c82ab1479f13c85a2c6219841e1fd95f2d2"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Apr 19 18:45:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 18:45:37 2012 -0700"
      },
      "message": "Merge \"Adding callback for widget size changed, and potentially other extra info\""
    },
    {
      "commit": "e8724c82ab1479f13c85a2c6219841e1fd95f2d2",
      "tree": "f8886ae47bb75369819bc40cfe7aa393afeb638c",
      "parents": [
        "f2740b347bce35cc68dfdddfe2da3a23e00a518e"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Apr 19 17:11:40 2012 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Apr 19 18:01:46 2012 -0700"
      },
      "message": "Adding callback for widget size changed, and potentially other extra info\n\nChange-Id: I57738c92b6a0ba68ae66b19a533559470c64e6f1\n"
    },
    {
      "commit": "875f0643164e2235de7256c0a256f9f4c8768fa2",
      "tree": "3bcbeffbb0e145992b9d0878174312ce881a9714",
      "parents": [
        "27e2fa43dbb4ebf2824a21a6c5f05c8b45513f52",
        "35be7560300a97fc3675bdd325910f28827d9508"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 19 15:59:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 15:59:20 2012 -0700"
      },
      "message": "Merge \"Move SystemUI out of system UID.\""
    },
    {
      "commit": "661f362a2c531c46fdce5359b176a30ba7d16e1f",
      "tree": "3489c48288e41e7d7896662c1240ef181c29e6b5",
      "parents": [
        "675035d77403080e65308e2d37db624d4c4b8c78",
        "68c33ca7ce1f142eb5f1e1f90118aeba4c9db1e3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 19 15:01:36 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 15:01:36 2012 -0700"
      },
      "message": "Merge \"Add new API to find smallest/largest screen size.\""
    },
    {
      "commit": "68c33ca7ce1f142eb5f1e1f90118aeba4c9db1e3",
      "tree": "f598517d463bc750d7081e2bd84b1e325c254f32",
      "parents": [
        "1b965941713a395dc8003cf8ee29a40f92dd77aa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 19 14:51:25 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 19 14:55:13 2012 -0700"
      },
      "message": "Add new API to find smallest/largest screen size.\n\nChange-Id: I790801fceaf84ee2e3b1c9d32828285ad3231d0e\n"
    },
    {
      "commit": "4b49657c7f78f8cee30804f8b31a004a11fffd7f",
      "tree": "58cfad0852ac78fce2bda85ddbc93d3c56cc41be",
      "parents": [
        "1b965941713a395dc8003cf8ee29a40f92dd77aa"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 19 14:17:03 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 19 14:17:47 2012 -0700"
      },
      "message": "Log when /cache files are deleted.\n\nBug: 6362988\nChange-Id: Ib8497453c45612be5b83035eeaf3abe6d716ccbf\n"
    },
    {
      "commit": "35be7560300a97fc3675bdd325910f28827d9508",
      "tree": "03b5e5fe2e4236661e55f46d24c2e388e7a98e07",
      "parents": [
        "1b965941713a395dc8003cf8ee29a40f92dd77aa"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 18 19:16:15 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 19 11:54:34 2012 -0700"
      },
      "message": "Move SystemUI out of system UID.\n\nAdd permissions for various things it pokes.  Create new permission\nto control launching non-exported activities from recents.  Hidden\nAPI to relax WallpaperService checks.\n\nChange-Id: I547fdcd7c213dd153ae101533ce7c56cd8f86a0d\n"
    },
    {
      "commit": "f40a02f85f112e4b78fcea6f0d0390bfad15c2e2",
      "tree": "cd28be557574a718cfbe089894313a354d670004",
      "parents": [
        "6db653355bbf79f4bfe666fb96262c0df2ec34aa",
        "54ac7a510245e5f00c16ff5595b6ae8d002c1c3b"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Apr 19 10:27:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 10:27:58 2012 -0700"
      },
      "message": "Merge \"Fix build\""
    },
    {
      "commit": "54ac7a510245e5f00c16ff5595b6ae8d002c1c3b",
      "tree": "d157fb8f805cabbba95b76afdd3ecf5e894173da",
      "parents": [
        "6c07ba8183edc593527335238a2c6083392df7bc"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Apr 19 10:26:34 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Apr 19 10:26:34 2012 -0700"
      },
      "message": "Fix build\n\nChange-Id: I1968e0d7d25f613fa6cf72f82d79f17224e3d5ab\n"
    },
    {
      "commit": "76eb1032d8bb1580469563a79c36849c8b0a3cb3",
      "tree": "a4a74365f96c247c4c9e09d2bdd17010b49e08f1",
      "parents": [
        "1bf4d5f24e2f958a7045598f9263e6bfc526fbdb",
        "de6198ebd7f9ea5b7940d38bf5839dfbc6a192c4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Apr 19 10:07:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 10:07:35 2012 -0700"
      },
      "message": "Merge \"Defer the Surface.show until animation phase.\""
    },
    {
      "commit": "de6198ebd7f9ea5b7940d38bf5839dfbc6a192c4",
      "tree": "abef5acb9f2da446b37d59e6210f50c265af792b",
      "parents": [
        "b7c30a847ae3526cee28e2e3e96b010a6fe7961c"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Apr 19 09:59:31 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Apr 19 09:59:31 2012 -0700"
      },
      "message": "Defer the Surface.show until animation phase.\n\nThis fixes a rotation bug introduced by delaying rendering animation\ninto the Surface. Now instead of delaying the rendering we delay the\nshow by eliminating a point where we were showing the Surface too soon.\n\nChange-Id: I63ad3b494963111ffc96569093c8d43517c5408b\n"
    },
    {
      "commit": "66e69db6d99dd1c1a3906ae1b941ea13703f73b5",
      "tree": "1db8790cf72d00b1eb815c00612bbe07b9362288",
      "parents": [
        "d38e766e5ed461fcce96cf055ee0de7050126b01",
        "3ef889bf561e59561ff2c6c4b2ffb586b9c5af5c"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Apr 19 09:57:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 09:57:02 2012 -0700"
      },
      "message": "Merge \"Add user control to turn on/off nsd\""
    },
    {
      "commit": "3ef889bf561e59561ff2c6c4b2ffb586b9c5af5c",
      "tree": "34ce74d073837ee4c351753b50d401f209d1fa41",
      "parents": [
        "c5cbcb51baaf2e9e61f3bdbd5ef97a05aac25010"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Apr 17 23:15:29 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Apr 19 09:52:09 2012 -0700"
      },
      "message": "Add user control to turn on/off nsd\n\nChange-Id: Ide3cc20adb21ac6dffaf6b9b9136d77a129afa3b\n"
    },
    {
      "commit": "0da673f02e542c644c300568807c80e196296860",
      "tree": "3792b57fe26674eec61df907a3da4eda4852ede1",
      "parents": [
        "f7a1956b06faeb6025fdea331f81d66edda58b3c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Apr 11 12:33:16 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 19 11:39:49 2012 -0400"
      },
      "message": "Notifications may now be disabled on a per-package basis.\n\nWhen a package\u0027s ability to post notifications is disabled,\nall outstanding notifications from that package are\nimmediately canceled, and the score of any future\nnotification from that package is set so low that the\nnotification manager won\u0027t even send it to the status bar.\n\nNo UI for this yet, but you can try it out:\n\n  adb shell service call notification 8 s16 $PKG i32 (1|0)\n\nBug: 5547401\n\nChange-Id: Ieccac5746b40f60debd902a45d1dedbc91dcdc89\n"
    },
    {
      "commit": "08ce91a1a4c4b69a30a46095ed701d804dd6302e",
      "tree": "38aabc729384a307e2ec927b85a2559c2e41647f",
      "parents": [
        "4a900a6b488862919728306ead3fac05a04c3bcb",
        "7eda9de1a638e4ed1ce5dc65fecd673400b9f3c0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Wed Apr 18 20:45:45 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 18 20:45:45 2012 -0700"
      },
      "message": "am 7eda9de1: am 2fe57183: am 30eec832: Merge \"Transparent activity orientation problem when previous landsacpe fullscreen activity not yet destroyed.\"\n\n* commit \u00277eda9de1a638e4ed1ce5dc65fecd673400b9f3c0\u0027:\n  Transparent activity orientation problem when previous landsacpe fullscreen activity not yet destroyed.\n"
    },
    {
      "commit": "7f58b95f7c2bd75a991ec6a2f05676aaba47a544",
      "tree": "36d1ad2fb38dac8159d89e83896e97ec3ff0b2d9",
      "parents": [
        "f01d3dd710e8b86b3e2846af62835158fd4e0db1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 18 12:59:29 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 18 14:58:03 2012 -0700"
      },
      "message": "Fix to custom scale animations.\n\nThese now do something reasonable when performing transitions\nacross two activities that are both on top of the wallpaper.\n\nFixed computation of the pivot point of the animations.\n\nFixed issue where the recents panel was considered a status\nbar element for purposes of deciding if the animating elements\nare obscured by the status bar, which would result in us not\nrunning the animation correctly.\n\nChange-Id: I4b9b588b80243463e6f087a9703ee886ee281630\n"
    },
    {
      "commit": "f01d3dd710e8b86b3e2846af62835158fd4e0db1",
      "tree": "a644bb5682a50cb0585bc6052fb962d8794e5608",
      "parents": [
        "f35ea5d25b286e166bdc43a589a45b56b6358499",
        "005b83b0c62d3d0538f0d566b08bd457015ec661"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 18 14:14:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 14:14:37 2012 -0700"
      },
      "message": "Merge \"Adding some more gestures and actions for accessibility.\""
    },
    {
      "commit": "f35ea5d25b286e166bdc43a589a45b56b6358499",
      "tree": "c15eec8fd7f17d686318f0c1634e277af1d48837",
      "parents": [
        "f341e5545c8ac8ccec26ec549d57d2ddee069f55",
        "9546e457fcfed1da9448d72758642793d9e271bb"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 18 14:12:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 14:12:22 2012 -0700"
      },
      "message": "Merge \"Delay rendering into Surface until draw completed.\""
    },
    {
      "commit": "9546e457fcfed1da9448d72758642793d9e271bb",
      "tree": "206f44a853d1903f9aee1b959b9cef13918ad872",
      "parents": [
        "a51a9564fd53b661446cd63eea23208656acc678"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 18 14:04:38 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 18 14:04:38 2012 -0700"
      },
      "message": "Delay rendering into Surface until draw completed.\n\nHold off on updating surface with animation until the Surface draw has\ncompleted. Previously we were calling Surface.setAlpha/setLayer/\nsetMatrix prior to the app drawing into the surface. This fixes a bug\nthat caused a flash of the target animation image before the animation\nhad begun.\n\nChange-Id: Id9142e09b0b22d631dc002eba4dc787455dea03a\n"
    },
    {
      "commit": "005b83b0c62d3d0538f0d566b08bd457015ec661",
      "tree": "d83728a70e5a25f14289fafd0654b2e35c2c07e6",
      "parents": [
        "b3830f6737bb17185e2e1c95f4dcde9ce82ac7e4"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Apr 16 18:17:17 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 18 13:43:55 2012 -0700"
      },
      "message": "Adding some more gestures and actions for accessibility.\n\n1. Added more gesture for accessibility. After a meeting\n   with the access-eng team we have decided that the current\n   set of gestures may be smaller than needed considering\n   that we will use four gestures for home, back, recents,\n   and notifications.\n\n2. Adding actions for going back, home, opening the recents,\n   and opening the notifications.\n\n3. Added preliminary mapping from some of the new gestures\n   to the new actions.\n\n4. Fixed a bug in the accessibility interaction controller\n   which was trying to create a handled on the main looper\n   thread which may be null if the queried UI is in the\n   system process. Now the context looper of the root view\n   is used.\n\n5. Fixed a bug of using an incorrect constant.\n\n6. Added a missing locking in a couple of places.\n\n7. Fixed view comparison for accessibilityt since it was\n   not anisymmetric.\n\nbug:5932640\nbug:5605641\n\nChange-Id: Icc983bf4eafefa42b65920b3782ed8a25518e94f\n"
    },
    {
      "commit": "e7d9cd363d6095d37ca25d393c5e86067d3cc5e5",
      "tree": "58dc6cd7926ba1c3cf5d8685e4363ce12d6b74dc",
      "parents": [
        "23a2ce1fad31fc8467f3f53d39428e2d1f0a000e",
        "15ec7d6d7f23ec197a88619b5e03320cfebd2240"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 18 12:22:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 12:22:49 2012 -0700"
      },
      "message": "Merge \"Add ALLOW_METERED column to DownloadManager.\""
    },
    {
      "commit": "15ec7d6d7f23ec197a88619b5e03320cfebd2240",
      "tree": "7451becce140741cc122da92f5d1443f89125cb7",
      "parents": [
        "70544533aec6b318ff1687c9eec0cb9e86ce1b1a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 17 12:23:40 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 18 10:12:09 2012 -0700"
      },
      "message": "Add ALLOW_METERED column to DownloadManager.\n\nAlso allow isActiveNetworkMetered() to inspect networks without\nrequiring ACCESS_WIFI_STATE.\n\nBug: 3001465\nChange-Id: Ibc23577d4ad941e4f93db417be6b046881dcbfb1\n"
    },
    {
      "commit": "3cdfcdc1c4802ecc2f0eb6beb6f7bdb714a85d2d",
      "tree": "e464a11dfd8ddc0fd3a54f2a3967c98c3b5f3dd3",
      "parents": [
        "f52b6ede246cbf3d453d9c7093fa02d145e031ad",
        "95a6a96e1cfb79b1960bb2a9e6bc22d9d8e5a238"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Apr 18 10:04:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 10:04:28 2012 -0700"
      },
      "message": "Merge \"Fix an NPE when launching an activity that\u0027s not found.\""
    },
    {
      "commit": "95a6a96e1cfb79b1960bb2a9e6bc22d9d8e5a238",
      "tree": "fa666cab47aef05e74abf5e55b6cb52cf6a10d1b",
      "parents": [
        "d7f256dd2f31ec74c8154f783a660dfe3e55b036"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Apr 18 09:54:43 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Apr 18 09:54:43 2012 -0700"
      },
      "message": "Fix an NPE when launching an activity that\u0027s not found.\n\nBug: 6356194\nChange-Id: I66aeeda3ecab36a4aa32fb78c1d0559a73cd9a7a\n"
    },
    {
      "commit": "0445bc6e4eeba8af74e7eea7c9d68e1ede74f90d",
      "tree": "65cc73ea68caa5aebf00a0260913e3a4479193a7",
      "parents": [
        "544f89aece46e8f4bbe4eed93116c8736e68ac07"
      ],
      "author": {
        "name": "p13451",
        "email": "cheoloh.park@gmail.com",
        "time": "Wed Apr 18 15:13:26 2012 +0900"
      },
      "committer": {
        "name": "p13451",
        "email": "cheoloh.park@gmail.com",
        "time": "Wed Apr 18 15:13:26 2012 +0900"
      },
      "message": "Transparent activity orientation problem when previous landsacpe fullscreen activity not yet destroyed.\n\nAfter terminating landsacpe fullscreen activity,\nwhen user launch transparent activity via portrait home app, transparent activity is shown as landscape mode.\n\nAt this time AppWindowToken of previous acitivity has not been deleted, because Activity.onDestory() has not been returned yet.\nIn this case, getOrientationFromAppTokensLocked() returned ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE.\n\nIgnore hidden application is terminated on the top.\nSee also http://code.google.com/p/android/issues/detail?id\u003d28927\n\nChange-Id: I51239431120ec6ba8f8ff76871efb2347b9810ca\n"
    },
    {
      "commit": "420489ca1f92b290f4737fb675bfd3db9cdbed29",
      "tree": "f77b82c1d51a6ef84858397b29cdd494949f1f72",
      "parents": [
        "4db3ca7f814c54ca80211053c583df5163237a60",
        "6ec6f79e1ac1714e3b837796e99f07ff88f66601"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 17:59:03 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 17:59:03 2012 -0700"
      },
      "message": "Merge \"Support loading keyboard layout overlays from resources.\""
    },
    {
      "commit": "6ec6f79e1ac1714e3b837796e99f07ff88f66601",
      "tree": "02aa55617bfa6dd2eb0bec29156e279c8afaaa0d",
      "parents": [
        "a3bc565882dd3984e995363642b1295fe3d24d10"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 16:52:41 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 17:56:32 2012 -0700"
      },
      "message": "Support loading keyboard layout overlays from resources.\n\nAdded the concept of a keyboard layout overlay, which is\na key character map file that has \"type OVERLAY\".\n\nAdded support for loading keyboard layout overlays from\nresources dynamically.  The layouts are reloaded whenever they\nare changed in the Settings application or an application\nis installed.  This is somewhat more aggressive than necessary\nso we might want to optimize it later.\n\nBefore system-ready, the input system uses just the generic\nkeyboard layouts that are included on the device system image.\nAfter system-ready, it considers the user\u0027s selected keyboard\nlayout overlay and attempts to load it as necessary.  We need to\nwait until system-ready before doing this because we need to\nbe in a state where it is safe to start applications or access\ntheir resources.\n\nBug: 6110399\nChange-Id: Iae0886d3356649b0d2440aa00910a888cedd8323\n"
    },
    {
      "commit": "a51a9564fd53b661446cd63eea23208656acc678",
      "tree": "08b84aa11dd9b02309c1fa6508d2fd73e16e033d",
      "parents": [
        "c843642fbb76619520f960043adaa268e252a657"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 17 17:05:26 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 17 17:25:50 2012 -0700"
      },
      "message": "Add call-stack reporting methods into Debug\n\nAdded two public methods to Debug. These methods return a String\nindicating the caller (getCaller()) or callers (getCallers(int depth))\nof the calling method. The String indicates the class, method and line\nnumber of the caller(s). Similar to using Throwable.fillInStackTrace()\nbut much more concise.\n\nChange-Id: I53d0085aa50e4501d28e8eb3ad5b91ef700ac218\n"
    },
    {
      "commit": "c843642fbb76619520f960043adaa268e252a657",
      "tree": "1309dae3f15c0a60c3d8658dd632d80c2d7c0cdb",
      "parents": [
        "26c246a3f12553c9c4667d7ee32ce137638a9b07",
        "acaf9cca865902e6f1823e771f4234bfda53cfd1"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 17 13:18:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 13:18:45 2012 -0700"
      },
      "message": "Merge changes I4752bdf1,I37690cf2\n\n* changes:\n  Move Surface operations into existing transaction.\n  Clear orientation variable until rotation is done.\n"
    },
    {
      "commit": "d95ce04bdc92fe337c929c0dca9366fde7a564d2",
      "tree": "53c8f546e9fbb9bc7fa8303b53757809cd3f934f",
      "parents": [
        "0192e966ff9df6d8da2a07e26f06fedcc8fdafbd",
        "a4a54e2a5f383e766bfecaec776e0b00002badd1"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Apr 17 11:55:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 11:55:54 2012 -0700"
      },
      "message": "Merge \"Make sure persistent processes are not replicated for secondary users.\""
    },
    {
      "commit": "acaf9cca865902e6f1823e771f4234bfda53cfd1",
      "tree": "c8cdd65aee8e7ad38b1842ab69a259c7ffeec1c2",
      "parents": [
        "3255a28b6a18bb97f0e533dc1673c5e28837b4f2"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 17 11:45:25 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 17 11:55:00 2012 -0700"
      },
      "message": "Move Surface operations into existing transaction.\n\nSeveral Surface operations - notably setPosition, setSize, and show -\nhad been moved outside of a Surface.openTransaction/closeTransaction\nwindow. This corrects that problem.\n\nIn addition, before animations were separated from layout the Surface\nframe was computed prior to returning from relayoutWindow(). After\nseparation the frame was being computed during animation. This checkin\nrestores the frame calculation in layout.\n\nFixes bug 6343291.\n\nChange-Id: I4752bdf1fed0f2b46c5eb9508825c9b1b0fd702f\n"
    },
    {
      "commit": "0192e966ff9df6d8da2a07e26f06fedcc8fdafbd",
      "tree": "052da9d7fe8f6a55ea1b314950abba66950cd0d9",
      "parents": [
        "1645ee2473e6264d83122ed262e1f7485541c995",
        "a3bc565882dd3984e995363642b1295fe3d24d10"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 11:52:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 11:52:29 2012 -0700"
      },
      "message": "Merge \"Add persistence for selected keyboard layout.\""
    },
    {
      "commit": "a3bc565882dd3984e995363642b1295fe3d24d10",
      "tree": "e2894e12724075687867545d988c0eae4769b8e5",
      "parents": [
        "4481d9c10ceaf3b886fb5cab1d20941932af5b0f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 11:42:25 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 11:42:25 2012 -0700"
      },
      "message": "Add persistence for selected keyboard layout.\n\nBug: 6110399\nChange-Id: I99544bf05e9755385bee478b5f047ccec2e5cae3\n"
    },
    {
      "commit": "a4a54e2a5f383e766bfecaec776e0b00002badd1",
      "tree": "5ca5b9edf7ab887e69bb452e20e59eaef82e0363",
      "parents": [
        "455b7bb83ce4a12a72f5b8341eda19754d582293"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 16 15:44:19 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Apr 17 11:41:30 2012 -0700"
      },
      "message": "Make sure persistent processes are not replicated for secondary users.\n\nAn intent is launched in a singleton process if the process is persistent\nand the resolved activity/service/etc is not requested to run in a different\nprocess.\n\nChange-Id: I1463e73a76bc8bde4185f9cf4395edb47515841d\n"
    },
    {
      "commit": "2e3dec5aebb2020a9107e847659af5aaf7215f66",
      "tree": "c08d5f030875103dbba110d315fef673c789b4b0",
      "parents": [
        "70eafab9050601f869c21bf3aebc4f58737b7026",
        "92784670c48759c0db604ddb95c05a7b9bdebed8"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Apr 17 11:39:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 11:39:08 2012 -0700"
      },
      "message": "Merge \"Open network service discovery API\""
    },
    {
      "commit": "55a28720fe7ecb100a8068d818c6055678e85ed5",
      "tree": "c8b89de8a403ae0e6b1acb7e17b44eee13a2f925",
      "parents": [
        "14c92b8f8448b33c2f76e21ec67461f59d3ec2a5",
        "31725b3f387dacf018804e3c500d693261f1d994"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Apr 16 19:30:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 19:30:45 2012 -0700"
      },
      "message": "Merge \"Fixing a regression I have introduced.\""
    },
    {
      "commit": "31725b3f387dacf018804e3c500d693261f1d994",
      "tree": "0ade8e6ca8a5672118cc4ef6aff9f7b211d146db",
      "parents": [
        "3cb889caa3726256bd00976c2662f51a14d91d49"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Apr 16 19:28:22 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Apr 16 19:29:43 2012 -0700"
      },
      "message": "Fixing a regression I have introduced.\n\nbug:6344558\n\nChange-Id: Ie726e091942e337962baa052953002be724068b1\n"
    },
    {
      "commit": "e1531a65a93cfad27ff2ef743456a9b57a14cc7b",
      "tree": "82cb6880baf7d6806ab8c8119022c46150d2ffe5",
      "parents": [
        "21d1251637e0b0e23583e8c80d4437fe7e5e57d3",
        "60792375761c0b2aed11f7f2ccb60c2e59f9fec1"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Apr 16 19:24:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 19:24:55 2012 -0700"
      },
      "message": "Merge \"Log messages in dump\""
    },
    {
      "commit": "ac76e72272c957dc7609aa68224efa2d32c23cd0",
      "tree": "3fb89e515da0aabcfedddf871aa92ee0b1173c38",
      "parents": [
        "2c2ab0e07106942ee64dd66d6efa71e70b336b0d",
        "eabfb3a36e9469c5e219f92b39b7200104319185"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 17:34:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 17:34:25 2012 -0700"
      },
      "message": "Merge \"Add new scale-up window manager animation.\""
    },
    {
      "commit": "eabfb3a36e9469c5e219f92b39b7200104319185",
      "tree": "ef38c351e0d5f6b1a60b514c78a4396e3a2c20a6",
      "parents": [
        "455b7bb83ce4a12a72f5b8341eda19754d582293"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 16:28:22 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 17:32:50 2012 -0700"
      },
      "message": "Add new scale-up window manager animation.\n\nLike zoom thumbnail, but without the thumbnail.\n\nChange-Id: I9486dd204398b87c9e70ff0d05d03f4a22449cd6\n"
    },
    {
      "commit": "60792375761c0b2aed11f7f2ccb60c2e59f9fec1",
      "tree": "75f399a0ffce95a2dcc618c7f3250d81d9dcfe29",
      "parents": [
        "d4fecc2567ca54427b9c86900bccbc7103ea8fde"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Apr 16 16:47:10 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Apr 16 16:47:10 2012 -0700"
      },
      "message": "Log messages in dump\n\nRemove event logging and add messages in dump\n\nChange-Id: Ic79c68443bac9b7257644ed6941853f44a9b0661\n"
    },
    {
      "commit": "3255a28b6a18bb97f0e533dc1673c5e28837b4f2",
      "tree": "e3d046bdfb0f16ce95f58d2e326d1a5db3af1947",
      "parents": [
        "a0e9d0f60eb33e480be7e02b08863be588f4df7d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 16 15:42:47 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 16 15:52:48 2012 -0700"
      },
      "message": "Clear orientation variable until rotation is done.\n\nIn the old code orientationChangeComplete was set to true on each pass\nthrough perfomLayout. If any window was rotating the variable was set\nto false on the way through the performLayout. Since we can now make\npasses through performLayout before any animation step occurs we were\nseeing mOrientationChangeComplete true prior to rotation completing.\n\nThis change sets mOrientationChangeComplete false at the start of a\nrotation and sets it to true if we ever get through an animation step\nwithout encountering any rotating windows.\n\nChange-Id: I37690cf20868dfbaac94a81640bc4d9cb9fb8f00\n"
    },
    {
      "commit": "9704e78418a1ed9927ac2596a5c0084953dcb22b",
      "tree": "210fd93e313e4cd5bee2dfa86c06d0dda5cd2910",
      "parents": [
        "1c23ed621893c49db56a6d687112bdbaf8ef0200",
        "25157e458d6e10b027d1ba6b78b0487156c9f57a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 16 15:46:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 15:46:47 2012 -0700"
      },
      "message": "Merge \"Refactor SensorManager to move non-API bits into a subclass.\""
    },
    {
      "commit": "8206525b242ceb012d882849c4e355223ba81b9d",
      "tree": "f68d13cb8dc96e9532d7fc745f3e7b3b473fc710",
      "parents": [
        "70544533aec6b318ff1687c9eec0cb9e86ce1b1a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 16 13:19:05 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 16 13:19:05 2012 -0700"
      },
      "message": "Fix lock ordering bug due to use of reentrant lock.\n\nBug: 6340736\nChange-Id: I4dc738da8c976182669b89af9dcb6fd11dcb0223\n"
    },
    {
      "commit": "25157e458d6e10b027d1ba6b78b0487156c9f57a",
      "tree": "efa43a5f2f1ec18fef855b56c3f6b99442375c64",
      "parents": [
        "a5d552fc2bad6aea2087f56e88fb1ce836a79571"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 16 12:13:05 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 16 13:03:55 2012 -0700"
      },
      "message": "Refactor SensorManager to move non-API bits into a subclass.\n\nChanged the SensorManager class so that it only contains API-related\nbits including what\u0027s needed to support legacy sensors.  Mostly just\nmoved stuff around.  Making the class abstract is safe because\nit does not have a visible constructor in the API.\n\nOne minor change is that the cache of sensor type to sensor lists\nis now per instance of SensorManager instead of being static.\nWe can fix this if desired.\n\nAnother small change is that we bail out early from registerListener\nif the listener has already been registered for the particular\nsensor.  This happened for both legacy and standard listeners.\nThe problem is that the ListenerDelegate maintains two lists of\nsensors, one is a Map and the other is a List.  Adding a sensor\ntwice causes one entry to be added to the Map and two entries to be\nadded to the List, but when the sensor is removed the next time, only\none entry is removed from the List, leaving it in an inconsistent\nstate.\n\nRemoved Sensor.getLegacyType() since the value it provides is only\nneeded in LegacyListener and we don\u0027t really save any significant\ncomputation by caching it.  Removing the field makes support for\nlegacy sensors a little more self-contained.\n\nBug: 6339552\nChange-Id: I50d41ac97cf535924f2bfa2026d28547a4d00286\n"
    },
    {
      "commit": "123328778e99b5bbc68b80ab8efc43ca506a6a2c",
      "tree": "6e5dc502371322b0041a6a44c560f92387ca05d7",
      "parents": [
        "c0e5b8c7fab8d02e8a9cbae7a4e32f5176001712",
        "234766a36af6214644fa8205202287084ca9cf93"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 16 12:11:21 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 12:11:21 2012 -0700"
      },
      "message": "Merge \"Move TrafficStats iface counters to xt_qtaguid.\""
    },
    {
      "commit": "6e0ac89f3896369363698801e75671b3478e8d4f",
      "tree": "d89c64c0d6735757827f54e48ffced416c3bd16c",
      "parents": [
        "7bf8fba6f0e0fe8072201a0b174727b905437990",
        "ddf322915ba87ef0bf604406ae441c63b371fda0"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Apr 16 11:23:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 11:23:55 2012 -0700"
      },
      "message": "Merge \"Find new recognizer if old one is gone\""
    },
    {
      "commit": "7bf8fba6f0e0fe8072201a0b174727b905437990",
      "tree": "7b38d7d9bc0b8aa73d5fc472152ff4966cf0ba14",
      "parents": [
        "a5d552fc2bad6aea2087f56e88fb1ce836a79571",
        "9f7cbf0e50bcb7e9163b23524814003ba8784732"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 16 11:22:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 11:22:22 2012 -0700"
      },
      "message": "Merge \"API to report if active network is metered.\""
    },
    {
      "commit": "9f7cbf0e50bcb7e9163b23524814003ba8784732",
      "tree": "d9647d60bbe2f5f00142c72b6aef841f8dad4718",
      "parents": [
        "a94afeb5b3c3c95c6d2cf0cd4d69587aba569cfb"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 12 18:34:54 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 16 11:20:27 2012 -0700"
      },
      "message": "API to report if active network is metered.\n\nReport to developers if active network is \"metered\" and define it\nas the user being sensitive to heavy data usage.\n\nBug: 3001465\nChange-Id: I855ca3cd3eb1de3c4814148d70ccf24957af898a\n"
    },
    {
      "commit": "ddf322915ba87ef0bf604406ae441c63b371fda0",
      "tree": "bc90e868c6901eabc86bd3ad312b2e58dc08ea44",
      "parents": [
        "32f038deabc516cb9e1420eee300a581c5692460"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Apr 16 18:16:37 2012 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Apr 16 18:16:37 2012 +0100"
      },
      "message": "Find new recognizer if old one is gone\n\nBefore, RecognitionManagerService just cleared the recognizer\nsetting, which the Settings app really doesn\u0027t like.\n\nBug: 6332933\nChange-Id: If4f9b583c304c5ea99021dddda50fca55e3ac541\n"
    },
    {
      "commit": "a0e9d0f60eb33e480be7e02b08863be588f4df7d",
      "tree": "0d64372a2e18609d35973e424656367731e6c72f",
      "parents": [
        "32f038deabc516cb9e1420eee300a581c5692460",
        "7d8df3905d294127cc58100912a57c816bfb2502"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 16 08:39:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 08:39:32 2012 -0700"
      },
      "message": "Merge \"Animate from Choreographer only.\""
    },
    {
      "commit": "92784670c48759c0db604ddb95c05a7b9bdebed8",
      "tree": "b7cc7829b366f64e6bf9e8b200c2e6d915d6e945",
      "parents": [
        "d4fecc2567ca54427b9c86900bccbc7103ea8fde"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 13 12:15:41 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sun Apr 15 17:09:48 2012 -0700"
      },
      "message": "Open network service discovery API\n\nAdd support for DNS based network service discovery API. This\nallows applications to discover and resolve applications on a\nlocal network such as Wi-Fi\n\nChange-Id: Ie89895edd35d12b7f7a23fb5fed36cb2b2079f7a\n"
    },
    {
      "commit": "313a93ddf9dce7bdda21f29c10a464dd303871da",
      "tree": "7ee8b68c0783affb2e7b0be1cdfed3132eaa63e8",
      "parents": [
        "011d778c9ff3c03184ce12dbd363d0f2f844de57",
        "3f99afc0d5c25321b870f95415d7f31e2b3ec934"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sat Apr 14 18:43:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 14 18:43:53 2012 -0700"
      },
      "message": "Merge \"Close streams for forward-locked apps\""
    },
    {
      "commit": "3f99afc0d5c25321b870f95415d7f31e2b3ec934",
      "tree": "70f7f4de1948dc87379794f0d633b2c894437f4b",
      "parents": [
        "a94afeb5b3c3c95c6d2cf0cd4d69587aba569cfb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sat Apr 14 10:13:10 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sat Apr 14 12:23:13 2012 -0700"
      },
      "message": "Close streams for forward-locked apps\n\nForward-locked apps aren\u0027t very prevalent, but it needed to be\nrestructured to make sure both streams and ZipFile objects are closed.\n\nChange-Id: I41f863224fecd24069e525e9ce3738de8237bd5e\n"
    },
    {
      "commit": "011d778c9ff3c03184ce12dbd363d0f2f844de57",
      "tree": "eb64402f2b11588239b0e890b088d7042b51583a",
      "parents": [
        "9688fea77ee5415749d4b2e71e05961b28e748d5",
        "8c11f1d6abbf322f4e0aca2a27a076ec1af1e071"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sat Apr 14 12:16:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 14 12:16:58 2012 -0700"
      },
      "message": "Merge \"Add warning log for mismatched signatures\""
    },
    {
      "commit": "8c11f1d6abbf322f4e0aca2a27a076ec1af1e071",
      "tree": "b09871dd86fd995f7335eca79c8e36b48c3a3a38",
      "parents": [
        "a94afeb5b3c3c95c6d2cf0cd4d69587aba569cfb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sat Apr 14 12:10:38 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sat Apr 14 12:11:40 2012 -0700"
      },
      "message": "Add warning log for mismatched signatures\n\nIt\u0027s difficult to see in bugreports when this situation arises. Add a\nsmall log so we can easily determine installation failure reason.\n\nChange-Id: Ie59c205cf731cad7b3d04ceb995e58a093c62455\n"
    },
    {
      "commit": "7d8df3905d294127cc58100912a57c816bfb2502",
      "tree": "98e4fac6ce73b4773314d564579dbe849531bab5",
      "parents": [
        "9688fea77ee5415749d4b2e71e05961b28e748d5"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 06 15:26:23 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Apr 14 10:45:48 2012 -0700"
      },
      "message": "Animate from Choreographer only.\n\nAnimation steps are now executed on a Thread launched from the\nChoreographer rather than being called at the end of the WindowManager\nlayout process. Animations and layout are still tightly coupled in\nthat they share considerable state information and neither can be\nexecuted without holding a lock on WindowServiceManager.mWindowMap.\n\nChange-Id: Ie17d693706971507b50aa473da1b7258e9e67764\n"
    },
    {
      "commit": "9688fea77ee5415749d4b2e71e05961b28e748d5",
      "tree": "991354ace9fadbaf4944bf17206e86ec19e0be9c",
      "parents": [
        "75bf74460d057c0e21d707061407844c22fb4113",
        "7f6c231a76f0bedaf9655a24707737d343244312"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 13 20:39:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 13 20:39:50 2012 -0700"
      },
      "message": "Merge \"Add setting to redirect vibrator to game controller.\""
    },
    {
      "commit": "7f6c231a76f0bedaf9655a24707737d343244312",
      "tree": "63eaaa6255f04d34dd125da1459d2b2e70753002",
      "parents": [
        "90aba7caac78b407347b930cfb6ff7d6658ac90a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 13 20:38:38 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 13 20:38:38 2012 -0700"
      },
      "message": "Add setting to redirect vibrator to game controller.\n\nBug: 6334179\nChange-Id: I70093e38824ea3e5cf9cf242d1d7b6d26115ed80\n"
    },
    {
      "commit": "dd0c13060dc385da3f264a3c08d766826565b6bf",
      "tree": "f8bdd116458a00be847c03f91404dd5172c8b54a",
      "parents": [
        "4213804541a8b05cd0587b138a2fd9a3b7fd9350",
        "854b2b1670bda1eeb87a14b7ac3d222024f0aad6"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 13 20:15:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 13 20:15:54 2012 -0700"
      },
      "message": "Merge \"Surface list of apps with given network policy.\""
    },
    {
      "commit": "854b2b1670bda1eeb87a14b7ac3d222024f0aad6",
      "tree": "86991bce25cb49406daf069ea1d5c9496d532790",
      "parents": [
        "a94afeb5b3c3c95c6d2cf0cd4d69587aba569cfb"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 13 16:03:40 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 13 19:46:33 2012 -0700"
      },
      "message": "Surface list of apps with given network policy.\n\nBug: 6007276\nChange-Id: I0f0e939ee6481496480c4afaa108c99eb158547c\n"
    }
  ],
  "next": "4213804541a8b05cd0587b138a2fd9a3b7fd9350"
}
