)]}'
{
  "log": [
    {
      "commit": "c458ce98ce42c00b98afe00670f822814f3da572",
      "tree": "c993b6f8b3361f2ee1116f76709427e6106bd875",
      "parents": [
        "3ea8761974a530218a246dc73583c8820b12bf0b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 30 14:58:40 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 30 15:48:42 2012 -0700"
      },
      "message": "Add support for using the lid switch to turn off the screen.\n\nAdded a config option to allow the lid switch to turn off the\nscreen.  This is a closer match to what a lid switch should be\ndoing.\n\nRemoved an old feature to bypass keyguard when keyboard is visible\nbecause the way it was plumbed in made bad assumptions about\nthe meaning of the lid switch.  Also, the last product we shipped\nthat had a physical keyboard turned this config option off.\nSo away it goes.  We can bring it back someday if we really want it.\nIt\u0027s questionable how useful the feature is anyhow, since it only\nworks when the keyguard is unsecure and when the lid switch is\nunlikely to be jostled in the user\u0027s pocket.\n\nFixed a bug where we would tell the power manager that the keyboard\nwas visible even if the lid switch did not control the keyboard.\nThis used to cause the power manager to try to set the keyboard\nbrightness, which doesn\u0027t work.\n\nBug: 6377115\nBug: 6406726\nChange-Id: Ic84b71d09563d51c92cd1cf132fa8bdee6509103\n"
    },
    {
      "commit": "427db9b3d10d5c203d0351e683c3cddfd270250c",
      "tree": "bba5480c40ad22c8e2cc23dbe6b5c3a6cc99981f",
      "parents": [
        "83a708e6ad1f12eb792662aeb635453dd58b0361",
        "166b05e0ce913711d27ce1a116b3f1fd906822e4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Sat Apr 28 12:00:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 28 12:00:02 2012 -0700"
      },
      "message": "Merge \"UsbService: Add support for accessory initiating USB audio support\" into jb-dev"
    },
    {
      "commit": "83a708e6ad1f12eb792662aeb635453dd58b0361",
      "tree": "62d0197508e0a6b443ca018445778a3dadaf4676",
      "parents": [
        "47f88d6b5229a5b0565a4e12dd3178a14e369463",
        "00a10a1494954d124e1b11bc1ba3128e47b8ffbd"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sat Apr 28 10:51:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 28 10:51:34 2012 -0700"
      },
      "message": "Merge \"Handle null SSID cleanly\" into jb-dev"
    },
    {
      "commit": "00a10a1494954d124e1b11bc1ba3128e47b8ffbd",
      "tree": "6c0b8b5bd09c5209bad0b319af5af227abb843b2",
      "parents": [
        "ca7086f5bdbc404b01863770b6023d069f4ab720"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 27 21:24:17 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 27 21:24:17 2012 -0700"
      },
      "message": "Handle null SSID cleanly\n\nBug: 6411912\nChange-Id: I12f9df403c9633d928d898ae675ce36303dda1a8\n"
    },
    {
      "commit": "79c6346100b555a8a3d51b3b1c34dbbe99305b9a",
      "tree": "f1fa24b3be063a4a340ec15d19476691b181264e",
      "parents": [
        "a36b7ab04650b598ea08de1f95bb34c5e694167c",
        "12d3a94397c33fdb773a1eaaaa13cab80bf0c571"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 27 17:42:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 17:42:48 2012 -0700"
      },
      "message": "Merge \"When a window is first shown only draw once while animating.\" into jb-dev"
    },
    {
      "commit": "6ee3fe884987d9d9915a8fce3d149719a35e9acb",
      "tree": "64565dd1cb6f5a2ba43cf1d821bf5a50560d90c9",
      "parents": [
        "2c85f5119e93fe7d3963931df53fc1e145c23a47",
        "098d580cc2bb6c0891c756a4e5230c6c6b0d2376"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 27 16:28:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 16:28:32 2012 -0700"
      },
      "message": "Merge \"Migrate ringtone playback to SystemUI.\" into jb-dev"
    },
    {
      "commit": "de7ff082c403682d6091888617111dcc1494088d",
      "tree": "3c41a8f5404a999358e474a89c32cef121371ae3",
      "parents": [
        "80f84a15aaf7c42301fd677b4d21e19ec604a4e5",
        "51bb12b3e5c51f1aeccd20d4a226ebc4c25eac50"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 27 15:37:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 15:37:59 2012 -0700"
      },
      "message": "Merge \"Call deferred windowFocusChange when draw complete\" into jb-dev"
    },
    {
      "commit": "12d3a94397c33fdb773a1eaaaa13cab80bf0c571",
      "tree": "607f0f7677f8597227883ced5d97f27b0cf39c52",
      "parents": [
        "11dea2945124b166f167d4b5a23a059f33c04fa1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 27 14:16:30 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 27 15:21:44 2012 -0700"
      },
      "message": "When a window is first shown only draw once while animating.\n\nOn some hardware allocating a new graphics buffer is quite\nexpensive, which blocks updates to the UI.  This can cause\nglitches when performing window animations.\n\nTo reduce these glitches, the view hierarchy will now only\nallow itself to be drawn once if its window is being shown\nwhile the window manager is animating, not resuming draws\nuntil it is told that the animation is done.\n\nChange-Id: Ie15192f6fddbd0931b022a72c76ddd55ca266d84\n"
    },
    {
      "commit": "c8e372031cccfbd5cc7ae626255442423240338f",
      "tree": "83ba7b4f357ef943d659372ff5e3f0c63f78aa1c",
      "parents": [
        "d8e0831b508bec52a2ad6de2659ce8a4f73b9154",
        "1efacf7fcab53f0096550edc2282afc3df408223"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 27 14:46:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 14:46:30 2012 -0700"
      },
      "message": "Merge \"Don\u0027t resize WindowStates without a Surface.\" into jb-dev"
    },
    {
      "commit": "51bb12b3e5c51f1aeccd20d4a226ebc4c25eac50",
      "tree": "33bb6eb43342e2c9a5231f7895acb8c236b3b374",
      "parents": [
        "002f53770a7f6850eab4d7e381e91dc94d28968f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 27 14:39:53 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 27 14:39:53 2012 -0700"
      },
      "message": "Call deferred windowFocusChange when draw complete\n\nMove the test for deferred window change notification after the drawing\nupdate. Previously there was never a second check after the drawing\ncompleted so we never sent the notification to the departing window.\n\nFixes bug 6335849.\n\nChange-Id: I8a7eafdb184567a47ae04f1e597bae4cccf6cf62\n"
    },
    {
      "commit": "098d580cc2bb6c0891c756a4e5230c6c6b0d2376",
      "tree": "bd5ae0f9e87a5516e8c481cebc54321272152491",
      "parents": [
        "f5d70fd2add31cdb2e4ca1e931b47db95fa4b3e0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 26 17:30:34 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 27 14:15:05 2012 -0700"
      },
      "message": "Migrate ringtone playback to SystemUI.\n\nIntroduce IRingtonePlayer, which handles playback for both Ringtone\nobjects and Notifications. SystemUI now hosts this player, which it\nregisters with AudioService. It also keeps MediaPlayer instances\nwarm, and cleans them up after stop() or Binder death.\n\nMove both Ringtone and NotificationManagerService to play back audio\nthrough this new interface.\n\nBug: 6376128, 6350773\nChange-Id: I1dcb86d16ee3c4f07cdb2248d33dcff4ead3609a\n"
    },
    {
      "commit": "1efacf7fcab53f0096550edc2282afc3df408223",
      "tree": "7134416ba501137b73d29436a91b304fcfff8246",
      "parents": [
        "002f53770a7f6850eab4d7e381e91dc94d28968f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 27 12:58:21 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Apr 27 12:58:21 2012 -0700"
      },
      "message": "Don\u0027t resize WindowStates without a Surface.\n\nCheck to make sure that a WindowState has a Surface before adding it to\nmResizingWindows.\n\nFixes bug 6300793.\n\nChange-Id: Ieb39422523360dcdd5f5bf8109f061ae1ced62b2\n"
    },
    {
      "commit": "f5d70fd2add31cdb2e4ca1e931b47db95fa4b3e0",
      "tree": "b74a6c29363e9962271e58703af57a8203cd91d7",
      "parents": [
        "d52e0c791f83d16cb5de32b6a9a1d785aa56b454",
        "eb4cc492c93ab9635dde78b958a834120412e72a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 27 10:16:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 10:16:40 2012 -0700"
      },
      "message": "Merge \"Protect system services with DUMP permission.\" into jb-dev"
    },
    {
      "commit": "ecc5a9cca000b62d2a649b795460fd791a206a89",
      "tree": "02d52fd9ae44a0be72dda0a2890001f9f8fae118",
      "parents": [
        "16fb5d444cea1c978257807910b96d4e47b78dce"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 26 18:56:09 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 26 18:56:09 2012 -0700"
      },
      "message": "Add new Activity.finishAffinity() method.\n\nIt\u0027s cool!\n\nChange-Id: I9fdcd9535b7f1ca2b311d3a1b23e5d058977b095\n"
    },
    {
      "commit": "eb4cc492c93ab9635dde78b958a834120412e72a",
      "tree": "986003ee62bb0727a3c782e90e6f557d4a50e849",
      "parents": [
        "7725180c646d1976a2a2097735862a75ec47c544"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 26 18:17:29 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 26 18:17:29 2012 -0700"
      },
      "message": "Protect system services with DUMP permission.\n\nChange-Id: I5e53859f8b8e5473e54eca43ebd7de841f1a05ff\n"
    },
    {
      "commit": "8e6159b821c0782776c030ab588c3e0d1d0143f6",
      "tree": "38d1933c3cb0d57d4a0826c109a10c54c968c6f0",
      "parents": [
        "2be1523ba9ee102dc0a2f825f6512fed2929a232",
        "1ded0b1f6af65c2f95f8327f7f3df4cee1bf2346"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 26 15:24:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 15:24:18 2012 -0700"
      },
      "message": "Merge \"Add traces for window manager and activity manager.\" into jb-dev"
    },
    {
      "commit": "166b05e0ce913711d27ce1a116b3f1fd906822e4",
      "tree": "51ac35f95905a28b7e15512ae8d9160723e45464",
      "parents": [
        "8f014059d3084fcce9e82b4b1f8b8323744ac52d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Apr 24 10:45:18 2012 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Apr 26 15:09:35 2012 -0700"
      },
      "message": "UsbService: Add support for accessory initiating USB audio support\n\nChange-Id: I0e468f4b841de9e1ca7b75a05fc58299dbc78222\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "1ded0b1f6af65c2f95f8327f7f3df4cee1bf2346",
      "tree": "2f0bbb0ce8dd08283d1c611dd1f2ec12de7392f3",
      "parents": [
        "1b8f499a14a4340d3422d95c7f6fdc8c0c72b3a4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 26 14:14:50 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 26 14:14:50 2012 -0700"
      },
      "message": "Add traces for window manager and activity manager.\n\nChange-Id: I525d762db328e4c597da27b6b56d9a808e199756\n"
    },
    {
      "commit": "1fa1de527e541c88fb3809279b67b0dc29419bac",
      "tree": "69105136a6397b0af3594d976df4db5404f37269",
      "parents": [
        "d7a2a428db781b3fae5df395dccac1bcab867bd5",
        "6dceb88f1c7c42c6ab43834af2c993d599895d82"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Apr 25 15:40:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 25 15:40:52 2012 -0700"
      },
      "message": "Merge \"Allow forward locked apps to be in ASECs\" into jb-dev"
    },
    {
      "commit": "3bc9a79fe83d19d4701bd6035fd30d83f267906e",
      "tree": "64f1b8a5ea3ba86ea6e68bdc128db1a2376aa0b9",
      "parents": [
        "7725180c646d1976a2a2097735862a75ec47c544"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Apr 25 13:45:02 2012 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Apr 25 14:31:08 2012 -0700"
      },
      "message": "Add bit to eventlog to handle new network types\n\nbug:5514930\nChange-Id: I29288cb39902578992ee53b171f228f8eeb407fd\n"
    },
    {
      "commit": "6dceb88f1c7c42c6ab43834af2c993d599895d82",
      "tree": "cbdc33b4dd84f7ad388a4f331c0e7a3056e142e5",
      "parents": [
        "7725180c646d1976a2a2097735862a75ec47c544"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Apr 12 14:23:49 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Apr 25 14:17:02 2012 -0700"
      },
      "message": "Allow forward locked apps to be in ASECs\n\nWe couldn\u0027t put forward-locked apps in ASEC containers before since we\ndidn\u0027t have any permissioned filesystems. This adds the ability for\nforward-locked applications to be in ASEC containers.\n\nThis means that forward locked applications will be able to be on the SD\ncard now.\n\nThis change also removes the old type of forward-locking that placed\nparts of apps in /data/app-private.  Now all forward-locked applications\nwill be in ASEC containers.\n\nChange-Id: I17ae0b0d65a4a965ef33c0ac2c47e990e55707ad\n"
    },
    {
      "commit": "9ca10c8c3c94151889f6906e2d239a978e8b473b",
      "tree": "f0cf122379ef217f0d205886612912b7e3557911",
      "parents": [
        "2c8e19e81fb930fbb4d353c91ca0852fe91d8166",
        "b7ff3255c6d4e12f9d2334e3bbec0a125b7b09dc"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 24 19:27:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 19:27:13 2012 -0700"
      },
      "message": "Merge \"Adding explicit text traversal granularities and actions for web navigation.\""
    },
    {
      "commit": "2c8e19e81fb930fbb4d353c91ca0852fe91d8166",
      "tree": "f705b6da91491542843042b2db0f814b62324c85",
      "parents": [
        "38cb84fd4b39c08cbd5b65b7383e712b9f476e3f",
        "61a5b0160d9f2e53ef4d4b451212a63032dad32d"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Tue Apr 24 19:06:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 19:06:14 2012 -0700"
      },
      "message": "Merge \"New API to allow third-party apps to bind widgets\""
    },
    {
      "commit": "38cb84fd4b39c08cbd5b65b7383e712b9f476e3f",
      "tree": "d9e8ef8ba1d88573da3378d0ca3eb41fda9d125a",
      "parents": [
        "908e71ed7c750112af3588f85d37c6dfe405be17",
        "108b0607cd82c1022f6ca211ed02cf731f01adc0"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Apr 24 19:03:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 19:03:55 2012 -0700"
      },
      "message": "Merge \"Reverting min scale in the previous animation changes.\""
    },
    {
      "commit": "108b0607cd82c1022f6ca211ed02cf731f01adc0",
      "tree": "31422e3a57d8b546ccc1b32e1d0b9747e1f48fd8",
      "parents": [
        "dc6f79bf4374f2fcea2b9d4d0aa7f2e39cc42456"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Apr 24 18:53:11 2012 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Apr 24 18:53:11 2012 -0700"
      },
      "message": "Reverting min scale in the previous animation changes.\n\nChange-Id: Ia21169386a038026d76a0bb3cf8c74576786e5ba\n"
    },
    {
      "commit": "b7ff3255c6d4e12f9d2334e3bbec0a125b7b09dc",
      "tree": "aff20ff88ba5de38bd883d37cc858ef79e16fbf6",
      "parents": [
        "76f287e416ded85734b610f316e38d243d2ddb09"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 24 18:40:07 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 24 18:49:15 2012 -0700"
      },
      "message": "Adding explicit text traversal granularities and actions for web navigation.\n\n1. The granularities for traversing the text content of an accessibility\n   node info are now predefined constants and custom ones will not be\n   supported. This is the simplest solution - we can always add namespaced\n   user defined ones (unlikely).\n\n2. Added actions for traversing web content. These actions can be used by\n   an accessibility service to transparently drive the JavaScript based\n   screen reader that is used for handling web content.\n\n3. Added a new accessibility event type for traversing the content of a\n   view. This event is needed to announce to the user what is the next\n   element, i.e. the one next to the cursor, after the view\u0027s text was\n   traversed.\n\nbug:5932640\nbug:6389591\n\nChange-Id: I144647da55bc4005c64f89865ef333af8359e145\n"
    },
    {
      "commit": "4797d57bf332d578ca1f67b8a8ca7c7e4fdf762f",
      "tree": "f56e67f0e9da47e7d782932da46f856e0804fef9",
      "parents": [
        "e4cd3b0d9529a1ef8d388ece83a101227e206cc3",
        "1e88e98d7d3bfe323bfbc551404d734cb69b2743"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 24 18:38:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 18:38:44 2012 -0700"
      },
      "message": "Merge \"Fix issue #6373340: Cannot unlock to app if app was the...\""
    },
    {
      "commit": "1e88e98d7d3bfe323bfbc551404d734cb69b2743",
      "tree": "fa6087ece90e29386f75b1571d0a9cce30e37a0b",
      "parents": [
        "ec046784e157dce998453a008a3b67a0e438473b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 24 18:35:55 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 24 18:35:55 2012 -0700"
      },
      "message": "Fix issue #6373340: Cannot unlock to app if app was the...\n\n...foreground app when the device was put to sleep\n\nThis is because of activities being kept in the stopped state\nwhile the lock screen is shown, so we never get to the point of\nit becoming visible again to know to proceed.\n\nJust at this point consider the lock screen hidden so the\nactivity can be resumed and run as normal; the whole point of\nthis is to soon hide the lock screen, anyway.\n\nChange-Id: I3a713a2f87b8e4412ff66724c051f09a2675be00\n"
    },
    {
      "commit": "069ac9a78d62a68d5eb640d3b87793f4ac924f6d",
      "tree": "12b6204742a70d277555b4f7727c198e99144d4f",
      "parents": [
        "579b337607aefdb218be9e2665020ae95b2f48ff",
        "dc6f79bf4374f2fcea2b9d4d0aa7f2e39cc42456"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Apr 24 18:24:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 18:24:08 2012 -0700"
      },
      "message": "Merge \"Updating activity/task transition animations.\""
    },
    {
      "commit": "dc6f79bf4374f2fcea2b9d4d0aa7f2e39cc42456",
      "tree": "b23e56f0fdaa4d45b4d7af00d56ff395fbb9a8a6",
      "parents": [
        "69c1a571acefc59d7260e6c805801656923b1330"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Apr 17 17:27:31 2012 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Apr 24 18:14:45 2012 -0700"
      },
      "message": "Updating activity/task transition animations.\n\nChange-Id: I0d4295d269222310a5a6594fb379b9592dd9ced0\n"
    },
    {
      "commit": "bb9d6e6d8f3062302f229b8e2d133eae312a148b",
      "tree": "e4d65d18490d946b616639a24c0eb441a948740f",
      "parents": [
        "4bde4b9274b790063983bc21992c2b59b569b6fb",
        "5294a2fc2f401cd248a4bc3f0f9ee1e2854f4e9a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 24 17:37:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 17:37:19 2012 -0700"
      },
      "message": "Merge \"Relax global restrict for system services.\""
    },
    {
      "commit": "5294a2fc2f401cd248a4bc3f0f9ee1e2854f4e9a",
      "tree": "aca2845da20c5942675f06747a0964e99beb8a46",
      "parents": [
        "af772be33caba9709b7c4c52c9a7182bf0fc3a03"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 24 17:07:22 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 24 17:33:32 2012 -0700"
      },
      "message": "Relax global restrict for system services.\n\nSince we control system services, we can ensure they are using little\ndata when data usage is globally restricted.  Continue restricting\nAID_MEDIA and AID_DRM, since they respond to app requests.\n\nBug: 6377903, 5772564\nChange-Id: I196bf334f903397ea6a67e6802240ee792e47b54\n"
    },
    {
      "commit": "4bde4b9274b790063983bc21992c2b59b569b6fb",
      "tree": "bf9897fdebce93dc9752270f36e1411316912ef2",
      "parents": [
        "80193e7748a70a83ac7bd0915476eaf52240433f",
        "b71a5bc02bb967d9774879401b58133c3e818419"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Apr 24 17:25:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 17:25:25 2012 -0700"
      },
      "message": "Merge \"Check for valid records associated with activity tokens in ActivityManagerService up-navigation methods.\""
    },
    {
      "commit": "61a5b0160d9f2e53ef4d4b451212a63032dad32d",
      "tree": "1a76754e0129d3074130c3563e5933eadb96e711",
      "parents": [
        "bdb1c4067c2453672652730d12466dc17ff4a120"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Apr 13 10:39:45 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Tue Apr 24 17:25:08 2012 -0700"
      },
      "message": "New API to allow third-party apps to bind widgets\n\nChange-Id: I1a3761c1a0f557a32d4d3bdd0207567fec918ba7\n"
    },
    {
      "commit": "ec046784e157dce998453a008a3b67a0e438473b",
      "tree": "7f5ba221740fafe2c983d72afb598dcd997e11a2",
      "parents": [
        "8b97745c6a27723b1aa8aa54cf484f339d2a8d03",
        "8a197a4e0887000241dfd183d1e83e6e0f9b2268"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 24 17:03:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 17:03:49 2012 -0700"
      },
      "message": "Merge \"Fix dark flash when transition ends.\""
    },
    {
      "commit": "8a197a4e0887000241dfd183d1e83e6e0f9b2268",
      "tree": "ceef2a620452ec74d72cdabe6a3e2b946c8590c3",
      "parents": [
        "bdb1c4067c2453672652730d12466dc17ff4a120"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 24 16:59:36 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 24 16:59:36 2012 -0700"
      },
      "message": "Fix dark flash when transition ends.\n\nThe DimSurface layer was momentarily being placed above the entering\napp animtion. This lets the layering be set after the animations have\nbeen evaluated.\n\nPlus debug enhancements.\n\nChange-Id: Icc034bc5264ae9bc6c57c593534683b56588b59a\n"
    },
    {
      "commit": "0430ce908510f501276e7f588ba5c34d33a9d27a",
      "tree": "84c2d51953e9e51c6e25d0dc4417dd79bc6149f9",
      "parents": [
        "d9a6042fd2a1367f60ae1b7574407e36f1f79a18",
        "76f287e416ded85734b610f316e38d243d2ddb09"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 24 16:08:05 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 16:08:05 2012 -0700"
      },
      "message": "Merge \"Removing hierarchical accessibility focus directions.\""
    },
    {
      "commit": "2ed9c20048d9aed5ce758635eaa109ebb18f0d24",
      "tree": "d04a42feacfba36a7b2f0bb8e97f54c0f08232c1",
      "parents": [
        "2d373a18345a5d0a5f8272833b6fdc8bfc4a91cd",
        "8238e717df4bc5eebf15f97172d68af3599a95bb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 24 15:42:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 15:42:26 2012 -0700"
      },
      "message": "Merge \"Add new signature-level permission to get details of tasks.\""
    },
    {
      "commit": "e29ccb0d678c712c71bf73f1c66626feff4fa346",
      "tree": "5cf22d5a42c88a51339384f4079a5c1f65bfe6d2",
      "parents": [
        "5c6d80c9348d61cf59cc0c5bf4bc19450feba947",
        "b3a766600275a004dfa2423e87229082d7f1232b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Tue Apr 24 14:51:21 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 24 14:51:21 2012 -0700"
      },
      "message": "am b3a76660: am 78e62111: am fee88fdb: Merge \"Issue: Foreground activity performs [Resume] and [Pause] when any process died in sleep mode.\"\n\n* commit \u0027b3a766600275a004dfa2423e87229082d7f1232b\u0027:\n  Issue: Foreground activity performs [Resume] and [Pause] when any process died in sleep mode.\n"
    },
    {
      "commit": "5c6d80c9348d61cf59cc0c5bf4bc19450feba947",
      "tree": "22a0d53e85d8016e475fc842ab3d3a132ffab9af",
      "parents": [
        "912507928ca54ed614b70ee87936a8f334aa148c",
        "27e1680b5cd3694029ddac4128050b17f59f235e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Tue Apr 24 14:51:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 24 14:51:19 2012 -0700"
      },
      "message": "am 27e1680b: am 5a3370e5: am 50b53700: Merge \"Fix for too many binder calls in packagemanager\"\n\n* commit \u002727e1680b5cd3694029ddac4128050b17f59f235e\u0027:\n  Fix for too many binder calls in packagemanager\n"
    },
    {
      "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": "8238e717df4bc5eebf15f97172d68af3599a95bb",
      "tree": "4664ed873e578b791f2342d47aae62fe34eddb0f",
      "parents": [
        "fd135bc809589d4cadcdbcc7ececaf2d9d0969cf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 24 11:15:40 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 24 14:27:02 2012 -0700"
      },
      "message": "Add new signature-level permission to get details of tasks.\n\nThird party apps now can\u0027t get access to the extras of the\nintents associated with tasks, to keep private data in them\nfrom leaking out.\n\nChange-Id: I95af9e181ac42557bc8b981807e7ddd266a88d0e\n"
    },
    {
      "commit": "b71a5bc02bb967d9774879401b58133c3e818419",
      "tree": "afc11f1a6376b02ef01a17ded1b91cfcf45ccdfb",
      "parents": [
        "69c1a571acefc59d7260e6c805801656923b1330"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Apr 24 14:20:57 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Apr 24 14:20:57 2012 -0700"
      },
      "message": "Check for valid records associated with activity tokens in\nActivityManagerService up-navigation methods.\n\nSilly monkeys.\n\nFixes bug 6328725\n\nChange-Id: Ifec3f162bdfc2e7e872a689210752c0f6b9b0ab7\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": "76f287e416ded85734b610f316e38d243d2ddb09",
      "tree": "1e3c5cca255e60a987a7836b69e39beb3dcff177",
      "parents": [
        "b983e27af47b6a3a6b13af0d3dd64b163f540efd"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Apr 23 11:02:36 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Apr 23 20:48:24 2012 -0700"
      },
      "message": "Removing hierarchical accessibility focus directions.\n\n1. The accessibility focus directions are not needed since an\n   accessibility service just get the root, first child, next\n   sibling, previous sibling and call execute the action to\n   give it accessibility focus. Now the accessibility node\n   info tree is properly ordered taking into account layout\n   manager directions for both layout manager that we report\n   and ones that we have determined as not important for\n   accessibility. Also the position of a node info are ordered\n   properly based on their coordinates after all transformations\n   as opposed to child index.\n\nbug:5932640\n\nChange-Id: I994a8297cb1e57c829ecbac73a937c2bcbe0bac7\n"
    },
    {
      "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": "fee88fdb64cd6c0a51b11426e28a1484390d473b",
      "tree": "d0ad6735819554f08d9273003caaef150736755e",
      "parents": [
        "50b53700aedfd3a662c26a2158c7d4937faf1b86",
        "dbad287b62966399d0d5029f3b10932895010337"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Fri Apr 20 18:36:52 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 18:36:53 2012 -0700"
      },
      "message": "Merge \"Issue: Foreground activity performs [Resume] and [Pause] when any process died in sleep 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": "9771a3144c8121877b5dc2fad439cfe378bc7a72",
      "tree": "0e50a22ca1078c7434cbac1b8bd464b1f0700690",
      "parents": [
        "60247737a7fa7f8e412b7047db4b5d33fe1d62a1"
      ],
      "author": {
        "name": "Henrik Engström",
        "email": "henrik.engstrom@sonyericsson.com",
        "time": "Tue Feb 21 09:05:17 2012 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Fri Apr 20 12:49:13 2012 +0200"
      },
      "message": "Fix for too many binder calls in packagemanager\n\nThe packagemanager uses a ParceledListSlice to send back its lists\nof installed packages and apps. The list slice has a method append\nwhich, in addition to adding the item to the list, also returns true\nif the list has passed a size limit (about 1/4 of the total possible\nIPC parcel size) to let the caller know that he should send the\nslice. However, when used by the pm, it has an extra ! that makes it\nsend whenever it ISN\u0027T over this limit instead (and conversely, not\nsend if it is under). This causes a lot more calls than needed since\nit sends tiny one item slices instead of larger ones. This patch\nremoves the extra ! making it behave correctly.\n\nChange-Id: I8db46d380a25406b55f3214aee1505e81949acc5\n"
    },
    {
      "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": "dbad287b62966399d0d5029f3b10932895010337",
      "tree": "3acb265b26f5993f6e0a6472668f32ffd17a68ef",
      "parents": [
        "544f89aece46e8f4bbe4eed93116c8736e68ac07"
      ],
      "author": {
        "name": "p13451",
        "email": "cheoloh.park@gmail.com",
        "time": "Wed Apr 18 11:39:23 2012 +0900"
      },
      "committer": {
        "name": "p13451",
        "email": "cheoloh.park@gmail.com",
        "time": "Fri Apr 20 09:21:08 2012 +0900"
      },
      "message": "Issue: Foreground activity performs [Resume] and [Pause] when any process died in sleep mode.\n\nStep to Reproduce\n1)\tTurn off device’s screen. (Sleep mode)\n2)\tKill any process.\nA.\tEngineer Version: kill [PID]\nB.\tUser Version: am force-stop [Package Name]\n3)\tForeground activity proceed [Resume] and [Pause] consecutively.\n\nReason: Since ICS version, activity goes to stopped status when screen turns off.\nstopIfSleepingLocked( ) makes activity to stopped status but, pauseIfSleepingLocked( ) was used in GB\nand, activity keep paused status and, this problem did not occur.\nThis change give effect to resuming activity when any process was killed.\nBecause, resume is proceed without exception for activity status.\nThe exception only filtered for [ActivityState.PAUSED] in sleep or shutdown mode.\nand, resume complete flow when activity status was [ActivityState.STOPPED].\n\nSolution for this issue:\nWe think that exception’s condition have to change if stopped activity status is intended in sleep mode.\nAccording to activity life cycle, activity can not resume from stop status.\n\nAlso check [ActivityState.STOPPING]. :)\n\nChange-Id: Icca3366ac30ffa3b18f6e2393e4d7309089ef26a\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"
    }
  ],
  "next": "7f58b95f7c2bd75a991ec6a2f05676aaba47a544"
}
