)]}'
{
  "log": [
    {
      "commit": "481cd5a8938b5055942f3a9ccaeb08f373b8a4ea",
      "tree": "211e1b0b2c05362b084def656488fcc0a1dab1e2",
      "parents": [
        "cf927f229f55849caf3461621023b5bd61908334",
        "3d672e1e789e171e913605945efe95a477ab0505"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Dec 15 11:08:51 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 15 11:08:51 2011 -0800"
      },
      "message": "am 3d672e1e: Android U Class: Monetization / Ads without Compromising User Experience\n\n* commit \u00273d672e1e789e171e913605945efe95a477ab0505\u0027:\n  Android U Class: Monetization / Ads without Compromising User Experience\n"
    },
    {
      "commit": "3d672e1e789e171e913605945efe95a477ab0505",
      "tree": "4c420f4a8875f6137d45464b4042a129cdec4d5f",
      "parents": [
        "aed4ced6556383483209f454c9e4872e8ad28ebf"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Dec 15 10:44:11 2011 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Dec 15 10:44:11 2011 -0800"
      },
      "message": "Android U Class: Monetization / Ads without Compromising User Experience\n\nChange-Id: I1aaddc6bbbc9fc2b53119893f2b70260f1b0d9a7\n"
    },
    {
      "commit": "cf927f229f55849caf3461621023b5bd61908334",
      "tree": "f5280d507cbf7a9a84827438634446bc852765bd",
      "parents": [
        "e4e6c06641a6446c0f26a0ac59c665f34476a6b4",
        "aed4ced6556383483209f454c9e4872e8ad28ebf"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Dec 15 10:41:18 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 15 10:41:18 2011 -0800"
      },
      "message": "am aed4ced6: Android U Class: Developing Android Applications for the Enterprise. This class uses a sample app.\n\n* commit \u0027aed4ced6556383483209f454c9e4872e8ad28ebf\u0027:\n  Android U Class: Developing Android Applications for the Enterprise. This class uses a sample app.\n"
    },
    {
      "commit": "aed4ced6556383483209f454c9e4872e8ad28ebf",
      "tree": "586711224ef5b64c98a84494300275121daa1e54",
      "parents": [
        "f9cca66e8b4acbc8d50713b4ed4b92d8274285c1"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Dec 15 10:25:41 2011 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Dec 15 10:38:32 2011 -0800"
      },
      "message": "Android U Class: Developing Android Applications for the Enterprise.\nThis class uses a sample app.\n\nChange-Id: I508edbb98c8e9dea1d3ea26c8dcd9da213330d87\n"
    },
    {
      "commit": "9a6b4245c98b0327f6aaeaafc72de86cdc8e3e62",
      "tree": "f000042b12a113f8b05649e86508163eac965274",
      "parents": [
        "2e335cb02891d3653b938340a11698844e2c3d6d"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Mon Dec 12 13:49:31 2011 -0800"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Wed Dec 14 17:17:09 2011 -0800"
      },
      "message": "Doc change: add MR1 API summary and updated highlights.\n\nChange-Id: I9a9b13b9c7b8ae3011772a62735c788762b45f7f\n"
    },
    {
      "commit": "37191e1dc783a5558eb8ee4f096bd8350c34415d",
      "tree": "672016f2b3b8d6843123c8b84099c8536755c010",
      "parents": [
        "3ab630084071eb5dc7f92b4a8a617f8cef10c514",
        "801fda548c719a8618e7f4cd64cad8404b0970b9"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Dec 13 13:10:42 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 13 13:10:42 2011 -0800"
      },
      "message": "am 801fda54: AndroidU lesson on designing for multiple screens.\n\n* commit \u0027801fda548c719a8618e7f4cd64cad8404b0970b9\u0027:\n  AndroidU lesson on designing for multiple screens.\n"
    },
    {
      "commit": "801fda548c719a8618e7f4cd64cad8404b0970b9",
      "tree": "9f3cb3bd6e293d8a5f9371ad9c351161fc4a23b3",
      "parents": [
        "89c3bc38421a3f01b39f0246e53884bdf8b14415"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Dec 09 17:27:21 2011 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Mon Dec 12 17:13:31 2011 -0800"
      },
      "message": "AndroidU lesson on designing for multiple screens.\n\nThis change adds the text for the AndroidU lesson \"Designing for Multiple\nScreens\", which shows how to write applications that adapt properly\nto screen size, density and orientation for maximum compatibility.\nUpdate makefile and resources-data.js for rendering source in HTML\nAdd ZIP file for sample\n\nChange-Id: I671bb3063d5bf02681bc547ffe5262a9df22037a\n"
    },
    {
      "commit": "25bcbbb5971e2832c3020ee406b27d641d4ca05b",
      "tree": "ce587ad9e55cb61a0a418b88be766a0b0f60cbb2",
      "parents": [
        "6d90c1c6fedc7add177418324ba5e591af543fa4",
        "431c3e4c7e2103865a90501a552b4e5145ed3f35"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Dec 02 12:46:51 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 02 12:46:51 2011 -0800"
      },
      "message": "am 431c3e4c: Merge \"Documentation for the VPN sample for ICS SDK. Staging server: http://fredchung.i:9999/resources/samples/ToyVpn/index.html\" into ics-mr0\n\n* commit \u0027431c3e4c7e2103865a90501a552b4e5145ed3f35\u0027:\n  Documentation for the VPN sample for ICS SDK. Staging server: http://fredchung.i:9999/resources/samples/ToyVpn/index.html\n"
    },
    {
      "commit": "8e076fe774386762da21d78823f905751f2803d9",
      "tree": "c0beacb5b7f8bca1405b5d577f76fd5f4a211c72",
      "parents": [
        "fe464a76d8fc858be971dbb5e67b1d22fd925347"
      ],
      "author": {
        "name": "Fred Chung",
        "email": "fchung@google.com",
        "time": "Mon Nov 28 16:44:13 2011 -0800"
      },
      "committer": {
        "name": "Fred Chung",
        "email": "fchung@google.com",
        "time": "Mon Nov 28 16:44:13 2011 -0800"
      },
      "message": "Documentation for the VPN sample for ICS SDK.\nStaging server: http://fredchung.i:9999/resources/samples/ToyVpn/index.html\n\nChange-Id: I35a17374fc0d9d165cedc9d6e1052eaec0028ace\n"
    },
    {
      "commit": "92f12f5e40019e6e9b8672e8d88f246b8534e003",
      "tree": "ffec83314a38623972ab170b09c40400f3f12d4e",
      "parents": [
        "85c7394836843b2cbfa2b51504448794a6071b3a"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Nov 17 11:53:46 2011 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Nov 17 15:56:13 2011 -0800"
      },
      "message": "Add the support libraries to the platform documentation (build).\n\nUpdated the make file to generate documentation for the support libs.\n\nbug:5629339\n\nChange-Id: I44222f78d002660ad52610083421e4b840ceb541\n"
    },
    {
      "commit": "6cf8f73586f01f93015bd761fcacdecbbf643955",
      "tree": "0487c0846dd789c68eae61c1fbfce3e75304f1fe",
      "parents": [
        "33fe4a36b7d1ef84b13447f2a765db465ef96e56"
      ],
      "author": {
        "name": "Fred Chung",
        "email": "fchung@google.com",
        "time": "Wed Nov 16 15:15:30 2011 -0800"
      },
      "committer": {
        "name": "Fred Chung",
        "email": "fchung@google.com",
        "time": "Wed Nov 16 15:28:35 2011 -0800"
      },
      "message": "Adding missed Android.mk file to the original Bluetooth HDP sample Change-Id: I7035cb13da6f6cd64e63df8a5ccf2391fe41f18e.\n\nChange-Id: I23f7d4ece831ea449ecfc848dbb5733021107350\n"
    },
    {
      "commit": "2d410df1c7852aec4131f276841758d43e9507f1",
      "tree": "b4d9eb4b013145925215a2e9a5feb719ae105b4b",
      "parents": [
        "d28bb28e080f1dcd27f5b4f8b697d77cac09495b"
      ],
      "author": {
        "name": "Fred Chung",
        "email": "fchung@google.com",
        "time": "Mon Nov 14 11:39:23 2011 -0800"
      },
      "committer": {
        "name": "Fred Chung",
        "email": "fchung@google.com",
        "time": "Wed Nov 16 15:24:08 2011 -0800"
      },
      "message": "DO NOT MERGE: Bluetooth HDP sample.\nCherry pick from ics-mr1 Change ID I7035cb13da6f6cd64e63df8a5ccf2391fe41f18e\n\nChange-Id: I6f9bd5fec6e841395b9fc85d419510c81bfb620c\n"
    },
    {
      "commit": "aeb11b598877523fd3c530c7a086c38b4a13c7a1",
      "tree": "15b8ff4a7f6ca1c56353098d9f3ce0f63b64cbea",
      "parents": [
        "50d0511ddbf226255347e95a6382af8b0e7d366b",
        "a840462feb846a5c8d1d7d024562d5739b75e591"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Oct 31 13:28:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 31 13:28:57 2011 -0700"
      },
      "message": "Merge \"Folding Accessibility Service sample into ApiDemos.\" into ics-mr0"
    },
    {
      "commit": "a840462feb846a5c8d1d7d024562d5739b75e591",
      "tree": "66eebdf128d07522d1ee487c59932bcbade36058",
      "parents": [
        "4eec98edee3d6eb516e30a7151da13fd726f93a9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Oct 28 19:16:18 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Oct 28 19:16:24 2011 -0700"
      },
      "message": "Folding Accessibility Service sample into ApiDemos.\n\n1. Moving Accerssibility Service sample into ApiDemos since\n   we are putting all accessibility samples there.\n\nChange-Id: If2deec7f6ad49b0d50112300eda0f7cb48660450\n"
    },
    {
      "commit": "2323e9bcdca521d8b9c3990ebf8c0bf779374de6",
      "tree": "0b9785af56fb29b12a2bffc85016f81017739232",
      "parents": [
        "c1cf3b160b4852e021a45806d496a9f9a76d6683"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Oct 28 15:55:39 2011 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Oct 28 15:55:39 2011 -0700"
      },
      "message": "docs: fix spell checker client location\n\nChange-Id: Ic94eab2720cd96b1130869d2071c635b4acb27f5\n"
    },
    {
      "commit": "182e4ae2f4bbfdd2272f6e425c6f3734b3f157bf",
      "tree": "22f59836a99a6504b565b2881bcc5f5b0528b21f",
      "parents": [
        "28e4f87f38cae799b494e160467d732e988bad89"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Oct 27 19:57:34 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Oct 28 02:27:53 2011 +0900"
      },
      "message": "Add a path to HelloSpellChecker sample application for SDK build\n\nChange-Id: I77e334f8e2b50b8609b1729edb253254d6b7360b\n"
    },
    {
      "commit": "44619d3e087138775fb19fbd5d7b9f497a0805f4",
      "tree": "e381b12fe7767fea1190120dbfdb74bb34561159",
      "parents": [
        "f7613743f29f38cbbaf4ae09996c380845a17daf"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Oct 19 22:46:18 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Oct 19 23:52:03 2011 +0900"
      },
      "message": "Update links for SampleSpellCheckerService for I938ba499\n\nChange-Id: I528fc5ee5f9971ecb3bf47ef1c8b999546724c1f\n"
    },
    {
      "commit": "3087b94f7beafda54d3871e354dcde951b0c52a0",
      "tree": "3f7fedc8c05be52663766d513bb61202569c3374",
      "parents": [
        "202b38cb71d123e4ebc8741643e84fa455ecd002"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Oct 14 14:29:14 2011 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Oct 14 14:29:14 2011 -0700"
      },
      "message": "fix android beam demo path\n\nChange-Id: I16a467155feac54fb14b1b7af034a3854efe1fb7\n"
    },
    {
      "commit": "49eb519696526fa066830bd4a2341b6a105ce5c8",
      "tree": "ab3932196f5ea2e781f8e0d82e41353fbf4cf2d2",
      "parents": [
        "3406886939b0f28c426acefbe9dc77292210d8b4"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Oct 14 01:24:57 2011 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Oct 14 01:24:57 2011 -0700"
      },
      "message": "change android beam sample name\n\nChange-Id: Ic3c1d6d75d06a4de55824e69fa9d4d9564bfdb95\n"
    },
    {
      "commit": "5d0dbea9e9630ff2792a76b00b1016ae8215cdd9",
      "tree": "5df74596cc8eab96a85b9e541ad818841d2294d6",
      "parents": [
        "26ae7db48d94c7247e1faef9cfc08c85097b9ba3"
      ],
      "author": {
        "name": "Anirudh Dewani",
        "email": "anirudhd@google.com",
        "time": "Thu Oct 06 08:03:45 2011 +0530"
      },
      "committer": {
        "name": "Anirudh Dewani",
        "email": "anirudhd@google.com",
        "time": "Thu Oct 06 12:53:47 2011 +0530"
      },
      "message": "Docs changes for WiFiDirect sample\n\nChange-Id: Icfe3cc12c451563792745fc4c326d064cac978c3\n"
    },
    {
      "commit": "f4b2ba18942eb2ae06a8f64dda5c691b2a2a914b",
      "tree": "0e1d85782d97ef5e16c7bc8d4df662a76be137ce",
      "parents": [
        "67f9d32e5ed55b15b84be4d0bdff828d48abe2eb"
      ],
      "author": {
        "name": "Roman Nurik",
        "email": "romannurik@google.com",
        "time": "Fri Sep 30 15:48:34 2011 -0700"
      },
      "committer": {
        "name": "Roman Nurik",
        "email": "romannurik@google.com",
        "time": "Wed Oct 05 15:59:23 2011 -0700"
      },
      "message": "Add ActionBarCompat sample (CL 2 of 2)\n\nChange-Id: Ie64eaad0c5cd148288ee48c524ff3516522fc10f\n"
    },
    {
      "commit": "2950b1b2340292f1dec3165e65da3b635c29d168",
      "tree": "0a5c9b86722bc6aad2352e7b09d97d66cb192ef3",
      "parents": [
        "94d2f366f971bc052da9856e9f8867094e738cd1"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Oct 05 13:08:18 2011 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Oct 05 13:08:18 2011 -0700"
      },
      "message": "add spell checker sample to build\n\nChange-Id: Id03246e140ee6676810fcefebff0ba73115987ec\n"
    },
    {
      "commit": "d8afdb49ffaf727ff5d493854501d42c27faae28",
      "tree": "997008dc163505ca8833a6484f6b2d4895fd6254",
      "parents": [
        "d87448f7a7b6e3b05dc7d4248f79f5a5285a7435"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Tue Oct 04 16:57:09 2011 -0700"
      },
      "committer": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Tue Oct 04 17:07:06 2011 -0700"
      },
      "message": "adding Android Beam sample\n\nChange-Id: I30df24bc41fe61ebaab29f23a8df54f2c9599394\n"
    },
    {
      "commit": "abb06265efad56434ca8dfa73cad9c9a7dff781d",
      "tree": "9aa3104ee738d8576efbb5b293f2e6cf3479bc9e",
      "parents": [
        "04ef5b8dd7262ee90b56df9c992f103695d0a21c"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Sep 21 18:09:25 2011 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Sep 21 18:09:25 2011 -0700"
      },
      "message": "update version codes for doc filtering and footer version name\n\nChange-Id: I63feac1e5dcf7c0f7f2acc3ff23fcd3224a90e14\n"
    },
    {
      "commit": "b1f57728d9b0122abfc1426052a5a1ab464a934e",
      "tree": "4f3571dbdc06423c67572cb6a678dba3de82d809",
      "parents": [
        "cb995121ee4bb4da236e8181fbfbd33bc2f9173a"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Sep 15 16:16:45 2011 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Sep 15 16:16:45 2011 -0700"
      },
      "message": "Use the correct dependency\n\n$(LOCAL_BUILT_MODULE) of the module framework points to a\nproduct-specific file (required by dex-preopt), which is nuked by installclean.\nWhile the result of $(java-lib-deps) points to a file in the common\ndirectory.\n\nThis change reduces the incremental build time significantly:\nIt takes around 7 minutes to run \"make instalclean \u0026\u0026 make\" without this\nchange v.s. 3 minutes with this change.\nSo it will save lots of build time when switching between user, userdebug\nand eng builds on the build server.\n\nChange-Id: I832bafca04677af561bb0c28e2e0260f633b96a1\n"
    },
    {
      "commit": "6edf2637e96139735df83907c221cce16d4d7eaa",
      "tree": "9723bbfacee42b9878ecc80dd0dc37c0cc65e825",
      "parents": [
        "a4248f6932750ac8a472a02fb9d3927194ba59b6"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Sep 05 16:03:14 2011 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Sep 09 00:53:02 2011 -0700"
      },
      "message": "Fix 5185505: Add support for weak biometric sensors to lockscreen.\n\nAdded binder interfaces to the framework.\n\nChange-Id: I7d55b45baa4d1600ebd2a3828e85c3357cfcfb58\n"
    },
    {
      "commit": "4426e42ac6107bf6b09f7c4cdad39eb161d8b9ca",
      "tree": "27528bb34ea1b83f0c798ac975fd27c38f5869c1",
      "parents": [
        "0197d825f15844e51b91a0006d411ecb06350641"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Aug 18 19:16:47 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 23 11:23:22 2011 -0700"
      },
      "message": "Bug 5045498 New implementation of remote control API\n\nRemote control displays expose an IRemoteControlDisplay interface\n which they register through AudioManager.\nRemote control clients create a RemoteControlClient object, which\n implicitely exposes an IRemoteControlClient interface registered\n in AudioService through AudioManager.\nAudioService tells all clients and displays when a new client\n is the one that should be displayed.\nA client\u0027s data gets sent to the display when it is valid, or\n it sets new data (while being valid).\n\nThe implementation for setting metadata and album art is temporary,\n and will migrate to the MetadataEditor API in future CLs.\n\nChange-Id: Ibab6ea1d94c68f32482c760c6ae269541f885548\n"
    },
    {
      "commit": "01675902e0310ad93993e29a5cbf3a3c6c85a25b",
      "tree": "64418aea5434990babe270416617cd4e54334c78",
      "parents": [
        "9f550e91f4d82313135a37a426d563f855a4f6a5",
        "b1dec71a45d980d1ce1bf41411594a1cae400bfc"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 17 17:55:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 17 17:55:42 2011 -0700"
      },
      "message": "Merge \"NEW_API: Add real-time Effects.\""
    },
    {
      "commit": "178889eff7fa3361a5cb08d6d43846a1baf5216b",
      "tree": "e4ae523d0c72f27366cbb7b63f8043bb694eb56c",
      "parents": [
        "ed2d658af0856fb800631b9dfbced0ff2b9ca037"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Aug 15 17:17:52 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 17 09:53:12 2011 -0700"
      },
      "message": "Bug 5045498 RemoteControlClient interface\n\nDefine a RemoteControlClient interface that applications must\n implement and register to be displayed on the lockscreen.\n\nChange-Id: I67276ae653f203e76727432231f1d76535c31942\n"
    },
    {
      "commit": "b1dec71a45d980d1ce1bf41411594a1cae400bfc",
      "tree": "31ab545b2f5fd28f13baf61265a764f0b99dace6",
      "parents": [
        "21351d1b440d3665ebedd7736915f5ef88477c42"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jun 20 12:14:33 2011 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 03 19:27:13 2011 -0700"
      },
      "message": "NEW_API: Add real-time Effects.\n\nAdd simple effects API, based on the mobile filter framework.\n\nBug-Id: 4966161\n\nChange-Id: I1fa8aa6effd0f13029e6dd09d6e0a6c3f29f6cda\n"
    },
    {
      "commit": "4415629112af2a62eb58a4daf1f2533c5089be53",
      "tree": "fddb900a9e70faa07b0390c5fef567b773b76160",
      "parents": [
        "3f76ca47e22a32fa6445120b29891ee4a64a89d0",
        "8f619182cb759718f64ab95fd6d61c16138f6952"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 03 09:09:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 03 09:09:43 2011 -0700"
      },
      "message": "Merge \"Remote control display API and implementation\""
    },
    {
      "commit": "8f619182cb759718f64ab95fd6d61c16138f6952",
      "tree": "a6f3824563ebee8f80216f1ec5aafc4eb3d6f03b",
      "parents": [
        "80df829e35d0a97f92e599d36b0b16dcc956130b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jul 21 15:10:10 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 02 17:15:42 2011 -0700"
      },
      "message": "Remote control display API and implementation\n\nExtend the media button event registration AudioManager API to\n enable applications to register as a client of \"remote controls\"\n and let them provide information meant to be displayed\n by the remotes.\nAudioService sends a AudioManager.REMOTE_CONTROL_CLIENT_CHANGED\n intent to let remote controls know when / from whom they can\n retrieve the information to display.\nOnly application that own audio focus, are the currently\n registered media button event receiver, and have registered\n a remote control client, are eligible to appear on the\n remote control.\n\nTo address in future CLs:\n- change how a remote control client forces a refresh\n- rename methods called under lock to ___Locked()\n- make API public\n\nChange-Id: Icca30ab05dac2605ee9246f8acb27a03dcea077a\n"
    },
    {
      "commit": "c3afd39c6722cd57307fd90aee405179aea77f6b",
      "tree": "e6dade096f021ce59a32f2c728ba0c8f39237972",
      "parents": [
        "33e6ad6eed598e4a8f328613d22ef439404373dd"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Wed Jun 29 22:02:42 2011 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Tue Aug 02 15:30:26 2011 -0500"
      },
      "message": "Remove the binder interface for LLCP.\n\nChange-Id: Idc9631cdbcac1435e285c656948a37315e32515d\n"
    },
    {
      "commit": "5a876b4ce0831bb30c14400424be39a7d68a1011",
      "tree": "55416c19ba86cc1c35843108155962278ca48475",
      "parents": [
        "5465e054d33436fa446465ebcff871f6b7e1e3cc"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Jul 27 18:18:57 2011 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Jul 27 18:18:57 2011 -0700"
      },
      "message": "add since flag for ICS\n\nChange-Id: Id6d82f0ecd9f24af85a0fa7c4e712e4ea8a59bb3\n"
    },
    {
      "commit": "c7bf44d9f752febc8cc5bf42341cc360b0cf5429",
      "tree": "c22b88aab06a6a2a9969c2ef5bc2eb9d7a60ddbb",
      "parents": [
        "ffcbe48d06ec7ae96f0f48bd37bdd141ebf80703"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Mon Jul 18 12:13:24 2011 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Jul 27 12:12:51 2011 -0700"
      },
      "message": "cherrypick Change-Id: Ic41d05c61e7b20d9303384c63528f0a79b22310b\nupdate version code to 3.2 for docs footer\n\nChange-Id: Ia62622383fe73c3e62fa9856ef9742327029be5c\n"
    },
    {
      "commit": "ef2cb7c93a99096799d415e721dda46d1bf7a005",
      "tree": "133fb82001d51efe2ed84e8c17015ada855b99aa",
      "parents": [
        "070ce94b9fd91d1bb22161a85178440cb46d8ece"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Thu Jul 21 18:13:38 2011 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue Jul 26 14:49:36 2011 -0700"
      },
      "message": "Add ability to turn BT on / off on a per application basis.\n\nThis changes adds an API for system applications\nto enable bluetooth without all the side effects like\nauto connection to headsets etc.\n\nAlso some tweaks to the adapter state machine\n\nChange-Id: Ib9f22d548a26d72334b300101c8eb0d80f08a4bb\n"
    },
    {
      "commit": "55bc5f3e0408bcb5a39a6732de0b2d1aa99a55be",
      "tree": "1206af1015ea8248a8fefbf2672d8df7bfa56bc8",
      "parents": [
        "895de9269fa125bf3903c21faf5e8d2750bfb000"
      ],
      "author": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Fri Jun 24 14:23:07 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sun Jul 24 10:08:47 2011 -0700"
      },
      "message": "Updated: Wi-Fi p2p framework\n\nFirst stage. Get the bones in right now even though\nwe are not ready on the native side.\n\nOnce, we have things underneath working - we will further update the\nframework\n\nChange-Id: I4a7dab5cd4267373dc5f8989ae4122f91c384ed5\n"
    },
    {
      "commit": "988323c57bd25a58f05dfa492d9b9c8ab62c5153",
      "tree": "ee817ff3950a064cd3546294c9428ec41c8e7cee",
      "parents": [
        "b4cd566767f736e723acb5444cbfb26117a2fbb8"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Jun 22 16:38:13 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 22 14:52:21 2011 +0900"
      },
      "message": "Create TextServiceManager and SpellCheckerService\n\nBug: 4176026\n\nThis CL inherits https://android-git.corp.google.com/g/112600\n\nSpec of TextServiceManager\n- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)\n    for each locale\n\nSpec of SpellCheckerService\n- Returns whether the given string is a correct word or not\n- Returns Suggestions for the given string\n\nChange-Id: Iaa425c7915fe70767ad0b17bf6c6fbcd2a1200b2\n"
    },
    {
      "commit": "6dabb63307a0b63f9386d61e8444aed29db2081e",
      "tree": "61ee416900ae7e91414995e887126ac5591de55c",
      "parents": [
        "221bfab8429b91ddd4f5835f399a1c9628122cbd"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jul 08 12:13:03 2011 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jul 08 17:55:25 2011 +0100"
      },
      "message": "Add event-log logging for TTS requests.\n\nChange-Id: I5023194c469a602b85259088a2e59373c96a941e\n"
    },
    {
      "commit": "42de13c3b01daa755cb6b7b83b3429c53238fd4a",
      "tree": "397ca46e155555bdb2a9b4cfdf19209ab0a2f08a",
      "parents": [
        "e074e221a8d80b79ec2e8eca0dc026bfcce87cd2",
        "af1ad3cc2d6152dfe62520a87bf5fa85337ca1ab"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jul 06 02:01:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 06 02:01:59 2011 -0700"
      },
      "message": "Merge \"Add a sample app for the TTS engine API\""
    },
    {
      "commit": "44e27b5c74b5f441973561a4f945cb58e0cc45a4",
      "tree": "5c49ca549fb48177ec46e5a2cc4cd5a0e7712486",
      "parents": [
        "0c6bb2737e231c365656befe1d4ce44557de939a"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sat Jul 02 20:19:26 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sat Jul 02 20:21:09 2011 -0700"
      },
      "message": "VPN: remove the old VpnService.\n\nNow VPN is (kind of) integrated into ConnectivityService.\n\nChange-Id: If98e456e779f8e97f562d99c57d909b1f5d9db55\n"
    },
    {
      "commit": "c9286ebbf4ee8233908bc6b4c472ed89b0e60228",
      "tree": "fdd71eb73fd8539885974f858186b64b33f4d267",
      "parents": [
        "b0b1b11b965598cb8fb724e636ebb58a77d437b5",
        "2ea1e85dcb57d17f5782dbafa1d25eb51c630e4b"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Fri Jun 24 11:34:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 24 11:34:35 2011 -0700"
      },
      "message": "Merge \"Implement APIs for Bluetooth Health profile.\""
    },
    {
      "commit": "2ea1e85dcb57d17f5782dbafa1d25eb51c630e4b",
      "tree": "490a07dffcd15d712020f52d5e446c2cf58ec929",
      "parents": [
        "7096b660548a15938b2c2fcfda7aa41ec16c4a72"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Fri Apr 01 16:33:09 2011 -0700"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Fri Jun 24 11:31:43 2011 -0700"
      },
      "message": "Implement APIs for Bluetooth Health profile.\n\nThis first patch implements all the APIs.\nThe APIs wil be made public soon. The data specification\nAPI will be submited in another patchset.\nChange-Id: I2462683b7e07380e2c42474b0036b34d03b4bed1\n"
    },
    {
      "commit": "3987ea15577aecdb068a22bbdc75fb95c8bfbc14",
      "tree": "afcc960be2dedae2c28d8a7f51f59da58e922eb7",
      "parents": [
        "cf828c41eb704669b15a6c72035aaa5780a5b1d9",
        "a62f707da28226d5c6d160d1f0e21a65dcfba5fc"
      ],
      "author": {
        "name": "Bruno Oliveira",
        "email": "btco@google.com",
        "time": "Thu Jun 23 07:47:39 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 23 07:47:39 2011 -0700"
      },
      "message": "am a62f707d: am f1c71771: am da61eab8: Merge \"Integrating RandomMusicPlayer sample into tree.\" into honeycomb-mr2\n\n* commit \u0027a62f707da28226d5c6d160d1f0e21a65dcfba5fc\u0027:\n  Integrating RandomMusicPlayer sample into tree.\n"
    },
    {
      "commit": "cf828c41eb704669b15a6c72035aaa5780a5b1d9",
      "tree": "980d507765fcdd86f1d4ebbf53360404daea1da8",
      "parents": [
        "e07141a5623bc3d5f34b1de18f52044147bc2ac9",
        "69ff6a47c6e302f1b8aaeccffea3434f1edc4ee6"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jun 23 07:47:31 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 23 07:47:31 2011 -0700"
      },
      "message": "am 69ff6a47: am a6632992: am 04295266: add api level 13 flag for docs\n\n* commit \u002769ff6a47c6e302f1b8aaeccffea3434f1edc4ee6\u0027:\n  add api level 13 flag for docs\n"
    },
    {
      "commit": "af1ad3cc2d6152dfe62520a87bf5fa85337ca1ab",
      "tree": "20c4653b55b904ad0462a43d19b4d8ebcd984946",
      "parents": [
        "cf559377b750271472aa0a717bf3b7d34abc0b39"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jun 23 10:43:27 2011 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jun 23 10:49:22 2011 +0100"
      },
      "message": "Add a sample app for the TTS engine API\n\nChange-Id: I2ab86ca95a11bbc41494454d7dee0f3d87779ac9\n"
    },
    {
      "commit": "8969d9924c662ab4cdacc342bbdc33756db730be",
      "tree": "78c40779921964585644305ef38d17ba8ecf70ee",
      "parents": [
        "f86ee14f6a53d409489261415901c6397877ce3d"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Jun 22 16:41:58 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Jun 22 16:41:58 2011 +0900"
      },
      "message": "Revert \"Create TextServiceManager and SpellCheckerService\"\n\nThis reverts commit eaddb894865a804279659b4aad6364a34ab50beb.\n"
    },
    {
      "commit": "f1c71771a2164ed0009ef9b22f9c03bd3b1af3f9",
      "tree": "b6afb67acea6c64dddcffb4a43df9a616796c32f",
      "parents": [
        "a6632992135cf25b273abf7f239d7d378c936007",
        "da61eab862dabe00f95c784a01c019e4f7776b23"
      ],
      "author": {
        "name": "Bruno Oliveira",
        "email": "btco@google.com",
        "time": "Tue Jun 21 11:11:18 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 21 11:11:18 2011 -0700"
      },
      "message": "am da61eab8: Merge \"Integrating RandomMusicPlayer sample into tree.\" into honeycomb-mr2\n\n* commit \u0027da61eab862dabe00f95c784a01c019e4f7776b23\u0027:\n  Integrating RandomMusicPlayer sample into tree.\n"
    },
    {
      "commit": "da61eab862dabe00f95c784a01c019e4f7776b23",
      "tree": "04cf4ee1f9566f78745bdd4a3c23d4cd8fb6d6b9",
      "parents": [
        "04295266b03f3c588b8be6b6be409d59f757b27b",
        "9e67587d022675f4b6f62e565b23745c4a550ed9"
      ],
      "author": {
        "name": "Bruno Oliveira",
        "email": "btco@google.com",
        "time": "Tue Jun 21 11:07:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 21 11:07:47 2011 -0700"
      },
      "message": "Merge \"Integrating RandomMusicPlayer sample into tree.\" into honeycomb-mr2"
    },
    {
      "commit": "a6632992135cf25b273abf7f239d7d378c936007",
      "tree": "77408c227f8bcb2f3c9e8bd1c6d7b0958551a2ef",
      "parents": [
        "e0da3f3bc9aaefbf3e3737b69e91b7823f639751",
        "04295266b03f3c588b8be6b6be409d59f757b27b"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jun 21 10:31:09 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 21 10:31:09 2011 -0700"
      },
      "message": "am 04295266: add api level 13 flag for docs\n\n* commit \u002704295266b03f3c588b8be6b6be409d59f757b27b\u0027:\n  add api level 13 flag for docs\n"
    },
    {
      "commit": "04295266b03f3c588b8be6b6be409d59f757b27b",
      "tree": "5869de7a949fe9fd77b6e8422aa74b2700a98dbe",
      "parents": [
        "444336dd5f233c59e5a222d366d2498c888664b5"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jun 21 10:14:44 2011 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jun 21 10:17:18 2011 -0700"
      },
      "message": "add api level 13 flag for docs\n\nChange-Id: I03a7739c923b1f38de6b4e77374daed438559548\n"
    },
    {
      "commit": "eaddb894865a804279659b4aad6364a34ab50beb",
      "tree": "33477fb0944f391b3f77928111a5876a2727c665",
      "parents": [
        "75a0e9c0f076093368ca50ac7e905a48af919f8b"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Jun 01 19:24:14 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Jun 20 23:00:30 2011 +0900"
      },
      "message": "Create TextServiceManager and SpellCheckerService\n\nBug: 4176026\n\nSpec of TextServiceManager\n- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)\n    for each locale\n\nSpec of SpellCheckerService\n- Returns whether the given string is a correct word or not\n- Returns Suggestions for the given string\n\nChange-Id: Ia25e7b4f308778891929e31b8cbd741f6848cce4\n"
    },
    {
      "commit": "a7f88508d307c7554968ad3d1c1c58895ea3a223",
      "tree": "82d557930c2809300cbad7b97a74351158a6ea94",
      "parents": [
        "9347d9ad92b0467a1ad56423ecfbba39ed66ac5c",
        "872a1e793c2bd218c1ad1f485f3a76974c72a547"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 16 16:01:27 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 16 16:01:27 2011 -0700"
      },
      "message": "resolved conflicts for merge of 872a1e79 to master\n\nChange-Id: I50253b22f181729d4e748970acf1a3ad868ccd74\n"
    },
    {
      "commit": "9a73c4d3a9c7ce02f80b078ca9ba5106234ecd9c",
      "tree": "6f0ad11403cf8381370f9ccc11bdb32486da1666",
      "parents": [
        "f1c5dbbd457bb14d3673508aaba497cdc328a1ef",
        "2f04883ff880966d63d1aa4a1c7b05e497cfcc58"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 16 15:22:10 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 16 15:22:10 2011 -0700"
      },
      "message": "am 2f04883f: SDK only: integrate new sample code, deprecating along the way.\n\n* commit \u00272f04883ff880966d63d1aa4a1c7b05e497cfcc58\u0027:\n  SDK only: integrate new sample code, deprecating along the way.\n"
    },
    {
      "commit": "2f04883ff880966d63d1aa4a1c7b05e497cfcc58",
      "tree": "27f0845ad19db223c02c13f02dfacd680026240a",
      "parents": [
        "abd4dffc86202d48e50bd21807574fa861854dca"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 16 13:31:57 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 16 14:52:00 2011 -0700"
      },
      "message": "SDK only: integrate new sample code, deprecating along the way.\n\nThe new support library features and sample code for switching\nbetween fragments using a TabHost now eliminates the utility of\nthe TabActivity class, so deprecate it.  This also means there is\nno longer any use in ActivityGroup or LocalActivityManager.  Yay.\n\nAlso fix up things so the new support API demos are included in\nthe documentation.\n\nChange-Id: I4f073b82787f32560ba1fa5b6a23746ecc8aecdc\n"
    },
    {
      "commit": "93201f545b67da15cb69830a5988810aef52c0b2",
      "tree": "1386ffcba41a1e94de13ea6920cf11a296b8b9c6",
      "parents": [
        "e1a255a89f64730272a66b93f82ec348989a0899"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 09 15:05:35 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 09 21:11:06 2011 -0700"
      },
      "message": "KeyChain API refinements\n\nChange-Id: I177ab4642e6cd1aa13526c14f0a707175fd79655\n"
    },
    {
      "commit": "9e67587d022675f4b6f62e565b23745c4a550ed9",
      "tree": "365958f1eba6007aba9501ab9a17c55237f089ba",
      "parents": [
        "95f397adb13aa69b15b53bb089078d4dbdb269f1"
      ],
      "author": {
        "name": "Bruno Oliveira",
        "email": "btco@google.com",
        "time": "Tue Jun 07 01:23:02 2011 -0400"
      },
      "committer": {
        "name": "Bruno Oliveira",
        "email": "btco@google.com",
        "time": "Tue Jun 07 01:28:05 2011 -0400"
      },
      "message": "Integrating RandomMusicPlayer sample into tree.\n\nThis is a cherrypick of CL 112174 (originally written for\nhoneycomb-mr1) into the honeycomb-mr2 branch. Original CL:\nhttps://android-git.corp.google.com/g/#change,112174\n\nPatch Set 2: ammending to fix spaces in title (as suggsted by smain@)\n\nChange-Id: I1c6e2f4f3585bb65f9f87342445e21f27bed242d\n"
    },
    {
      "commit": "8643aa0179e598e78d938c59035389054535a229",
      "tree": "c1d0ab0f77329fb34231e45703687d21a601fc88",
      "parents": [
        "219451363d7c9e657cb856bebce34bc29d7876fa"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 20 12:12:33 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 06 18:46:03 2011 -0700"
      },
      "message": "Interrogation of the view hierarchy from an AccessibilityService.\n\n1. Views are represented as AccessibilityNodeInfos to AccessibilityServices.\n\n2. An accessibility service receives AccessibilityEvents and can ask\n   for its source and gets an AccessibilityNodeInfo which can be used\n   to get its parent and children infos and so on.\n\n3. AccessibilityNodeInfo contains some attributes and actions that\n   can be performed on the source.\n\n4. AccessibilityService can request the system to preform an action\n   on the source of an AccessibilityNodeInfo.\n\n5. ViewAncestor provides an interaction connection to the\n   AccessibiltyManagerService and an accessibility service uses\n   its connection to the latter to interact with screen content.\n\n6. AccessibilityService can interact ONLY with the focused window\n   and all calls are routed through the AccessibilityManagerService\n   which imposes security.\n\n7. Hidden APIs on AccessibilityService can find AccessibilityNodeInfos\n   based on some criteria. These API go through the AccessibilityManagerServcie\n   for security check.\n\n8. Some actions are hidden and are exposes only to eng builds for UI testing.\n\nChange-Id: Ie34fa4219f350eb3f4f6f9f45b24f709bd98783c\n"
    },
    {
      "commit": "75279904202357565cf5a1cb11148d01f42b4569",
      "tree": "db3b40af4fdfda1d46d1d4c9e471bf4630656036",
      "parents": [
        "77c1cc0aa4d088f54c3b36a05a19acfa5295c4da"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 24 18:39:45 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 01 17:44:52 2011 -0700"
      },
      "message": "Collect historical network stats.\n\nPeriodically records delta network traffic into historical buckets to\nsupport other services, such NetworkPolicyManager and Settings UI.\n\nIntroduces NetworkStatsHistory structure which contains sparse, uniform\nbuckets of data usage defined by timestamps.  Service periodically\npolls NetworkStats and records changes into buckets.  It only persists\nto disk when substantial changes have occured.  Current parameters\ncreate 4 buckets each day, and persist for 90 days, resulting in about\n8kB of data per network.\n\nOnly records stats for \"well known\" network interfaces that have been\nclaimed by Telephony or Wi-Fi subsystems.  Historical stats are also\nkeyed off identity (such as IMSI) to support SIM swapping.\n\nChange-Id: Ia27d1289556a2bf9545fbc4f3b789425a01be53a\n"
    },
    {
      "commit": "c006f1aec15454782c35e028ad64d79a5c161cc1",
      "tree": "1cc9ecc18e55fce30c7054b21d7ecb326934e4f6",
      "parents": [
        "b145112effca63e770f52c5573980a204035b23a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu May 19 17:12:49 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 01 17:00:42 2011 -0700"
      },
      "message": "Policy and rules work for ConnectivityManager.\n\nTeach ConnectivityManager about UID-specific rules derived from policy,\nsuch as rejecting network traffic on \"paid\" interfaces.  Calls that\nreturn NetworkInfo now filter based on any REJECT rules in effect for\nthe calling UID.  (Added uid parameter if callers that still want all\ninterfaces.)\n\nChanged NetworkPolicyManager to derive rules based on current policy\ncombined with PowerManager and ActivityManager status, which it passes\nto ConnectivityService for eventual enforcement through netd.  When\nrules change the usability of a NetworkInfo for a specific UID, it also\ndispatches CONNECTIVITY_ACTION broadcasts to that UID.  Combined paid\nand background policy together to match current working definition.\n\nChange-Id: I797ea49439fcc487cfe2cbc16703d4b91ceb9af6\n"
    },
    {
      "commit": "31beb6db09174da843a4af243842c0d265f02402",
      "tree": "22da4120d4f1d657f75c702a00bbd049433b4de2",
      "parents": [
        "8c1132e3ceed8e1a8c696e2afe0e6fe456ccd7ef",
        "acd6f5fcfae019f7bd1fdb47b42c7771049df645"
      ],
      "author": {
        "name": "Debashish Chatterjee",
        "email": "debashishc@google.com",
        "time": "Thu May 26 07:45:28 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 26 07:45:28 2011 -0700"
      },
      "message": "Merge \"framework/base changes to add new voicemail provider sample.\""
    },
    {
      "commit": "ba1a667b1d6c95050f6c88316ac58fe9e0ff878b",
      "tree": "c045f3673f7471659f20899f94338da3e45a0d69",
      "parents": [
        "f8355d5489a52dcdd904afb48c0f170886becdae"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 24 21:54:37 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 25 10:27:46 2011 -0700"
      },
      "message": "Remove need for onActivityResult from KeyChain API\n\nChange-Id: I97bb9db06978f6dc039d22bfee116671d7b3e336\n"
    },
    {
      "commit": "8f40e5871213afb63ae4b68a44dd09e0a014e417",
      "tree": "fb0d8341fe80dd6be29ee8a7bf61ea1a0d2ff51a",
      "parents": [
        "dfe1645c2293db7d574473139aec6d5ce69efe0b",
        "65ee22aa01c038fbcf656748ba7655c17df3ea61"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 24 16:27:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 24 16:27:17 2011 -0700"
      },
      "message": "Merge \"Fix intermediate src dir for framework.jar\""
    },
    {
      "commit": "01425365a85e605139f612502f68954cad869e5b",
      "tree": "d4d6527b7c0bba01c64a1df2a57aed24469e0cd7",
      "parents": [
        "1ff04d8e567c03f697d99027e64ea31f5043fba7"
      ],
      "author": {
        "name": "Jason parks",
        "email": "jparks@google.com",
        "time": "Tue May 24 02:57:37 2011 -0700"
      },
      "committer": {
        "name": "Jason parks",
        "email": "jparks@google.com",
        "time": "Tue May 24 15:22:07 2011 -0500"
      },
      "message": "Add public API to do NDEF push.\n\nChange-Id: I102da9bbc6d78577a26fa03ee363a60abc389d6c\n"
    },
    {
      "commit": "a4620793038b9a9163b26c6ece882cb454fcbf87",
      "tree": "450e8f355658bcc56bf19dc00f8c63d3464cb69f",
      "parents": [
        "442fa21e98835ceb966f196906907eb236d38d65"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 20 15:29:23 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon May 23 18:39:56 2011 -0700"
      },
      "message": "Observe screen on/off events in NetworkPolicy.\n\nThe POLICY_REJECT_BACKGROUND policy requires that network traffic be\nblocked when a UID goes into the background.  Even if the UID has an\nactivity in the foreground, it\u0027s considered \"background\" if the screen\nis turned off.\n\nThis changes watches for SCREEN_ON/OFF broadcasts, and rule generation\nnow observes screen state.  It also introduces an observer pattern so\nthat ActivityManager doesn\u0027t directly know about NetworkPolicy, and\nmoves the service management into SystemServer.\n\nChange-Id: Ie7a84929d3ca60ae4578d47e19d5a8da10fd8d58\n"
    },
    {
      "commit": "acd6f5fcfae019f7bd1fdb47b42c7771049df645",
      "tree": "d171ad0e8ac42dd3f03014874c273f3fe102070c",
      "parents": [
        "f4fea9a903b5a9cb8b7d1c6ec01e4116ef5f0604"
      ],
      "author": {
        "name": "Debashish Chatterjee",
        "email": "debashishc@google.com",
        "time": "Thu May 19 13:21:48 2011 +0100"
      },
      "committer": {
        "name": "Debashish Chatterjee",
        "email": "debashishc@google.com",
        "time": "Thu May 19 13:21:48 2011 +0100"
      },
      "message": "framework/base changes to add new voicemail provider sample.\n\nChanges are primarily to include documentation for the new sample\ncode under resources tab of external android documentation.\n\nChange-Id: If2b24e37819ae7d5145226681051605a96711ce2\n"
    },
    {
      "commit": "65ee22aa01c038fbcf656748ba7655c17df3ea61",
      "tree": "70ae500ec52e98fc344a17f2175e20ce18c68b95",
      "parents": [
        "fa1e5561cc65b932067919fcd5d39fda7032793e"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 17 13:12:42 2011 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed May 18 09:48:40 2011 -0700"
      },
      "message": "Fix intermediate src dir for framework.jar\n\nIntermediate src dir for JAVA_LIBRARIES should be in the common\nintermediate dir.\n\nChange-Id: Ib16ddd63aed080cdd1494204b347c1e1e1beafcb\n"
    },
    {
      "commit": "d5cdd597b895a48ffa9a8e39f8a2504cd9b905c4",
      "tree": "4c35c0c334ff2961093461b8b4b5f0ccfa1422f7",
      "parents": [
        "674b595fa5299d138e068b2b786027d6d6225394"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 03 20:27:17 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 13 16:20:21 2011 -0700"
      },
      "message": "First pass at NetworkPolicy and activity tracking.\n\nNew system service that maintains low-level network policy rules and\ncollects statistics to drive those rules.  Will eventually connect to\nnetfilter kernel module through NetworkManagementService and \"netd\".\n\nBegin tracking foreground activities in ActivityManagerService, which\nis updated as part of OOM adjustment.  Eventually a network policy of\nPOLICY_REJECT_BACKGROUND will reject network traffic from background\nprocesses.\n\nChange-Id: I5ffbbaee1b9628e9c3eff6b9cb2145fc5316e64d\n"
    },
    {
      "commit": "4a627c71ff53a4fca1f961f4b1dcc0461df18a06",
      "tree": "270190b1e030424210b6375ca886c45db10c4fb6",
      "parents": [
        "2bb51bb203c117649db10ad8bd497f199ca797b0"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 01 14:43:32 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue May 10 17:52:51 2011 -0700"
      },
      "message": "Full local backup infrastructure\n\nThis is the basic infrastructure for pulling a full(*) backup of the\ndevice\u0027s data over an adb(**) connection to the local device.  The\nbasic process consists of these interacting pieces:\n\n1. The framework\u0027s BackupManagerService, which coordinates the\n   collection of app data and routing to the destination.\n\n2. A new framework-provided BackupAgent implementation called\n   FullBackupAgent, which is instantiated in the target applications\u0027\n   processes in turn, and knows how to emit a datastream that contains\n   all of the app\u0027s saved data files.\n\n3. A new shell-level program called \"bu\" that is used to bridge from\n   adb to the framework\u0027s Backup Manager.\n\n4. adb itself, which now knows how to use \u0027bu\u0027 to kick off a backup\n   operation and pull the resulting data stream to the desktop host.\n\n5. A system-provided application that verifies with the user that\n   an attempted backup/restore operation is in fact expected and to\n   be allowed.\n\nThe full agent implementation is not used during normal operation of\nthe delta-based app-customized remote backup process.  Instead it\u0027s\nused during user-confirmed *full* backup of applications and all their\ndata to a local destination, e.g. via the adb connection.\n\nThe output format is \u0027tar\u0027.  This makes it very easy for the end\nuser to examine the resulting dataset, e.g. for purpose of extracting\nfiles for debug purposes; as well as making it easy to contemplate\nadding things like a direct gzip stage to the data pipeline during\nbackup/restore.  It also makes it convenient to construct and maintain\nsynthetic backup datasets for testing purposes.\n\nWithin the tar format, certain artificial conventions are used.\nAll files are stored within top-level directories according to\ntheir semantic origin:\n\napps/pkgname/a/  : Application .apk file itself\napps/pkgname/obb/: The application\u0027s associated .obb containers\napps/pkgname/f/  : The subtree rooted at the getFilesDir() location\napps/pkgname/db/ : The subtree rooted at the getDatabasePath() parent\napps/pkgname/sp/ : The subtree rooted at the getSharedPrefsFile() parent\napps/pkgname/r/  : Files stored relative to the root of the app\u0027s file tree\napps/pkgname/c/  : Reserved for the app\u0027s getCacheDir() tree; not stored.\n\nFor each package, the first entry in the tar stream is a file called\n\"_manifest\", nominally rooted at apps/pkgname.  This file contains some\nmetadata about the package whose data is stored in the archive.\n\nThe contents of shared storage can optionally be included in the tar\nstream. It is placed in the synthetic location:\n\nshared/...\n\nuid/gid are ignored; app uids are assigned at install time, and the\napp\u0027s data is handled from within its own execution environment, so\nwill automatically have the app\u0027s correct uid.\n\nForward-locked .apk files are never backed up.  System-partition\n.apk files are not backed up unless they have been overridden by a\npost-factory upgrade, in which case the current .apk *is* backed up --\ni.e. the .apk that matches the on-disk data.  The manifest preceding\neach application\u0027s portion of the tar stream provides version numbers\nand signature blocks for version checking, as well as an indication\nof whether the restore logic should expect to install the .apk before\nextracting the data.\n\nSystem packages can designate their own full backup agents.  This is\nto manage things like the settings provider which (a) cannot be shut\ndown on the fly in order to do a clean snapshot of their file trees,\nand (b) manage data that is not only irrelevant but actively hostile\nto non-identical devices -- CDMA telephony settings would seriously\nmess up a GSM device if emplaced there blind, for example.\n\nWhen a full backup or restore is initiated from adb, the system will\npresent a confirmation UI that the user must explicitly respond to\nwithin a short [~ 30 seconds] timeout.  This is to avoid the\npossibility of malicious desktop-side software secretly grabbing a copy\nof all the user\u0027s data for nefarious purposes.\n\n(*) The backup is not strictly a full mirror.  In particular, the\n    settings database is not cloned; it is handled the same way that\n    it is in cloud backup/restore.  This is because some settings\n    are actively destructive if cloned onto a different (or\n    especially a different-model) device: telephony settings and\n    AndroidID are good examples of this.\n\n(**) On the framework side it doesn\u0027t care that it\u0027s adb; it just\n    sends the tar stream to a file descriptor.  This can easily be\n    retargeted around whatever transport we might decide to use\n    in the future.\n\nKNOWN ISSUES:\n\n* the security UI is desperately ugly; no proper designs have yet\n  been done for it\n* restore is not yet implemented\n* shared storage backup is not yet implemented\n* symlinks aren\u0027t yet handled, though some infrastructure for\n  dealing with them has been put in place.\n\nChange-Id: Ia8347611e23b398af36ea22c36dff0a276b1ce91\n"
    },
    {
      "commit": "c44b8855775a5d781f8742e2312fe801959f1c97",
      "tree": "11026c1548fa81fe60de9309899f2e41c448e464",
      "parents": [
        "b841a639b33782a82e27d0e05b979a4dca615674",
        "cda9fda4fdeac3c3ce24df27e1c24c72d5b70960"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu May 05 15:27:30 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 05 15:27:30 2011 -0700"
      },
      "message": "am cda9fda4: am 4c8fa6d1: am 1c71fffe: update platform version number for docs\n\n* commit \u0027cda9fda4fdeac3c3ce24df27e1c24c72d5b70960\u0027:\n  update platform version number for docs\n"
    },
    {
      "commit": "4c8fa6d13500a7921601e098b47e2eb34aa18024",
      "tree": "97da3a5c2fcfbc218d40851ccb44fce7371868bd",
      "parents": [
        "475917c7e4002c42cdf668eabc1a04f604a82005",
        "1c71fffeb5d6a241ccbe7f035ce0d030eaeef562"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu May 05 15:18:19 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 05 15:18:19 2011 -0700"
      },
      "message": "am 1c71fffe: update platform version number for docs\n\n* commit \u00271c71fffeb5d6a241ccbe7f035ce0d030eaeef562\u0027:\n  update platform version number for docs\n"
    },
    {
      "commit": "1c71fffeb5d6a241ccbe7f035ce0d030eaeef562",
      "tree": "41dc00982eba9e37235b7fc542a8bc85a8fd61f7",
      "parents": [
        "e6746acde2a0cc4faad9bdec026a9554797e2f94"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu May 05 14:49:47 2011 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu May 05 14:49:47 2011 -0700"
      },
      "message": "update platform version number for docs\n\nChange-Id: If0866ab1544ce0f5e70bbbe93d30ed27c4403406\n"
    },
    {
      "commit": "427a51ab735e2075b2a783fcf073c9db56727104",
      "tree": "5f805d1d68fcbaa47d578f45545528424f228d51",
      "parents": [
        "70b276a16264ab232403f2f44f137df129408c67",
        "232ea51c9c1af7a56e2315de863d65382c7c9a67"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Wed May 04 13:20:11 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 04 13:20:11 2011 -0700"
      },
      "message": "am 232ea51c: am 7c8be3a7: am 762481f0: Merge \"adding the usb apis to the resources browser\" into honeycomb-mr1\n\n* commit \u0027232ea51c9c1af7a56e2315de863d65382c7c9a67\u0027:\n  adding the usb apis to the resources browser\n"
    },
    {
      "commit": "7c8be3a75d541652a4eca9ad2433af90232b2af5",
      "tree": "8a01b733e709b6a8dda61d1f4ca6be2e2030c63e",
      "parents": [
        "f0a1d683d9c45a2d5e8e22edaf991b1f9c5b4402",
        "762481f0b58ac41b7583f74315fcb213ca0eb630"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Wed May 04 13:14:48 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 04 13:14:48 2011 -0700"
      },
      "message": "am 762481f0: Merge \"adding the usb apis to the resources browser\" into honeycomb-mr1\n\n* commit \u0027762481f0b58ac41b7583f74315fcb213ca0eb630\u0027:\n  adding the usb apis to the resources browser\n"
    },
    {
      "commit": "8cdb2e2d834fc1dbff8d02124a08c0f426aa1de7",
      "tree": "357803c8956dbe9655d9edbd193a750c2cbe635e",
      "parents": [
        "1f07f1257b62f2ac71696bb430f9328597c3de27"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Mon May 02 17:49:05 2011 -0700"
      },
      "committer": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Mon May 02 17:49:05 2011 -0700"
      },
      "message": "adding the usb apis to the resources browser\n\nChange-Id: I79e9f93ebfa3aaf03e4f4deeb70d6c5a7a4ad07f\n"
    },
    {
      "commit": "b9a07c18e678da35b4c2a618b315fa174a21e818",
      "tree": "82bd62c2e0617b9c7f256d62c1ad4a725693d85c",
      "parents": [
        "f76dc56c33ba66138af70d72803cf55f881c3717"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Apr 11 09:03:51 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Apr 20 13:35:31 2011 -0700"
      },
      "message": "Adding KeyChain API and IKeyChainService\n\nChange-Id: Id3eaa2d1315481f199777b50e875811e3532988a\n"
    },
    {
      "commit": "50e657bb2d005568f5dd8bc1d904d07b0d94018f",
      "tree": "bcf319e64984c80f4793602aeb366e7f6b33afdd",
      "parents": [
        "720dd9a89857512d14adabea4efbb542d25fbb02"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Tue Mar 08 16:00:40 2011 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri Apr 15 10:04:31 2011 +0100"
      },
      "message": "Add Java API for writing TTS engines\n\nThis removes the old non-public C++ API for TTS\nengines and replaces it with a Java API.\n\nThe new API is still @hidden, until it has been approved.\n\nBug: 4148636\nChange-Id: I7614ff788e11f897e87052f684f1b4938d539fb7\n"
    },
    {
      "commit": "bcbab3684349353ee8cab30b556001824d0e7ccf",
      "tree": "cd5699f89c052a71e8ebad1cc4fbbb256c5c0883",
      "parents": [
        "0741b1ae22ecb5f6ac449bf85ef06e05c8d8f438",
        "f26fd99a7c2f554b0297760bb66336473c7db61f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 08 18:28:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 08 18:28:14 2011 -0700"
      },
      "message": "Merge \"Rework thumbnails in activity manager.\""
    },
    {
      "commit": "f26fd99a7c2f554b0297760bb66336473c7db61f",
      "tree": "292bc65e6d068857bda10f2f45727a7c88601b64",
      "parents": [
        "bdf7b013f81b0b56a18cc9dd2fb987b56d595650"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 08 18:14:09 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 08 18:16:21 2011 -0700"
      },
      "message": "Rework thumbnails in activity manager.\n\nWe now only keep a thumbnail for the task, not for each\nactivity.  However if you use FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET,\nwe will make a new secondary thumbnail for that series of\nactivities.  There is a new API for the app to get these\nsecondary thumbnails.\n\nAlso set a default thumbnail size for non-xlarge screens\nso we have thumbnails on phones.  (We need some smarter\ncode in the platform for computing the actual thumbnail\ndimensions of the current device).  And add a test app\nto show recent tasks + thumbnails.\n\nChange-Id: Ic36759f6635522118a2cb7f156662229a610c492\n"
    },
    {
      "commit": "5e88ac73ce2de9d5eb22ab222ff25c9dcca99644",
      "tree": "1ec98ca0d844ffaa998d17f06ea7c4fef1e1c2b3",
      "parents": [
        "dcd2ef9acc34c70e7a3c698d7e01e8af0af00f20"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Mar 09 13:34:39 2011 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Fri Apr 08 16:21:34 2011 -0700"
      },
      "message": "Use the new API file format, and some minor tweaks to the old XML files that make the parser easier.\n\nChange-Id: I9307d0d323f1b65816b3e097bf9c4d92f3962b2f\n"
    },
    {
      "commit": "43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09",
      "tree": "a5aac88ebb367a0f046a5724edc8e35cbe192cb9",
      "parents": [
        "ea4af8914a3b6ea68558f20ce502966032ca1ab1"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Apr 06 19:22:23 2011 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Apr 07 19:23:05 2011 -0700"
      },
      "message": "Remove the deprecated things from Config.java. These haven\u0027t been working since before 1.0.\n\nChange-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e\n"
    },
    {
      "commit": "08065b9f09ead8895d97b2971622af8c179e1768",
      "tree": "6bd821f0c111e72ea84f3e7f736e082800721a12",
      "parents": [
        "827107f4ec7d9a53d7bb6e4071858252f263fa8c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 01 15:49:41 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 01 16:00:23 2011 -0700"
      },
      "message": "Tracking merge of dalvik-dev to master\n\ngit cherry-pick --no-commit  a80febd83c8bf0b6717da2a7136179bdc906a5b7\n\ngit cherry-pick --no-commit  5e642b41cf44c5da7afdd95ab3d5e2bdbf7b31dd\n\ngit cherry-pick --no-commit  4886db14c9eee4b6fee69bd54c57c5af04709c4c\n\ngit cherry-pick --no-commit  560c685e448769904047507b9484ce8111967d7e\n\ngit cherry-pick --no-commit  63dde7a2fcfa53dc531558635b64cea613d3cdb4\n\ngit cherry-pick --no-commit  74e5cb91060a379d98dd3a333b5f231bfb4f502e\n\ngit cherry-pick --no-commit  1cc8c9708b555e2e338b7798d38887a2fefcfea6\n\ngit cherry-pick --no-commit  09625a21f5abe0c0db15757f58585d552d62c3d7\n\ngit cherry-pick --no-commit  fcb02dfe0f5a2bb7c07e6d6fc69f756a484b5458\n\ngit cherry-pick --no-commit  a68cb7fa3ab42854768b8145ff85231663770292\n\ngit cherry-pick --no-commit  716beb1c131dd2c6b805d4f681debaa20075010c\n\ngit cherry-pick --no-commit  8c29b1097a7afe3a77e27546a56e396f3620a4ec\n\ngit cherry-pick --no-commit  9c6a1a55d1c8086c1cc57464eea43725694ff70c\n\ngit cherry-pick --no-commit  b14f5ea5c57acdd009ba5b51f1bbe430f3d353b8\n\nChange-Id: I8cc94175441b009e23549762d6baee1dbace4881\n"
    },
    {
      "commit": "4cead493fd77db24826ed925222860d5b473363d",
      "tree": "1715eef215c80d6f38993d63d140a71beccae25d",
      "parents": [
        "05e11b29b28006270a508e015723601eba5f4301",
        "02a7f8eb3a5680a5b4c00b649b461bcb65c665e4"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Mar 30 16:40:03 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 30 16:40:03 2011 -0700"
      },
      "message": "am 02a7f8eb: am 5c35c059: am 5b68c655: Merge \"docs: update makefile to show javadocs diffs for api level 12\" into honeycomb-mr1\n\n* commit \u002702a7f8eb3a5680a5b4c00b649b461bcb65c665e4\u0027:\n  docs: update makefile to show javadocs diffs for api level 12\n"
    },
    {
      "commit": "5c35c05909640768bbe7f1ecef3165382825c31b",
      "tree": "a05ee46dab6248c4923afdc52b85beca2897b9e3",
      "parents": [
        "8de5df439244e77d7892deceb86520551ff0499c",
        "5b68c655a1f56dce1ffd6f175e991dd542d415cf"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Mar 30 12:12:15 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 30 12:12:15 2011 -0700"
      },
      "message": "am 5b68c655: Merge \"docs: update makefile to show javadocs diffs for api level 12\" into honeycomb-mr1\n\n* commit \u00275b68c655a1f56dce1ffd6f175e991dd542d415cf\u0027:\n  docs: update makefile to show javadocs diffs for api level 12\n"
    },
    {
      "commit": "d3b62c961b90f45b801121ab11b0af9625c91707",
      "tree": "4f5adf742dc9411b1751cb6d483e3c0875931429",
      "parents": [
        "0664a4b18c3dcea82891a7389976a9d62ac7bc61"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Mar 29 16:25:16 2011 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Mar 29 16:25:16 2011 -0700"
      },
      "message": "docs: update makefile to show javadocs diffs for api level 12\n\nChange-Id: I1ac584db778ec14b18129785126159f692459158\n"
    },
    {
      "commit": "a9602db3d5a6c9bc5a7a31b4fe3cc141235ad332",
      "tree": "95cbade17f710208dba7ab45b741a05c7e62f58b",
      "parents": [
        "15cb32ed9d189526d5a98add386b28cea6bc46b7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 24 14:14:28 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 24 17:06:41 2011 -0700"
      },
      "message": "Tracking SamplingProfiler change in libcore\n\nChange-Id: Ic45a1570c01340a5406468a9d0f2a5357175fd80\n"
    },
    {
      "commit": "a64e2ad4da3612586594a19489a2b5d44f3f23a0",
      "tree": "1c682135210ff543b511152425bc0406b754780d",
      "parents": [
        "2d24213fca55fece8ce4a69a53abcd45983b0443",
        "38d0d5628d36bb1c2a8353a2b3e1a041e9e84652"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Mar 14 10:28:11 2011 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Mar 14 10:28:11 2011 -0700"
      },
      "message": "resolved conflicts for merge of 38d0d562 to honeycomb-plus-aosp\n\nChange-Id: Iff9ea08b810b0d142a9227272492c0305a9bcf42\n"
    },
    {
      "commit": "38d0d5628d36bb1c2a8353a2b3e1a041e9e84652",
      "tree": "938c8ee0c9c318fd0fd2056d02f45eafd221e99f",
      "parents": [
        "55b53d351073238f9083e185eae213639e1937ff",
        "367f41f8f61126c2ab34a34cc676756a9fc23ac2"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Mar 10 16:32:28 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 10 16:32:28 2011 -0800"
      },
      "message": "am 367f41f8: Implement new NFC-EE API\\\u0027s as shared library (frameworks/base).\n\n* commit \u0027367f41f8f61126c2ab34a34cc676756a9fc23ac2\u0027:\n  Implement new NFC-EE API\u0027s as shared library (frameworks/base).\n"
    },
    {
      "commit": "367f41f8f61126c2ab34a34cc676756a9fc23ac2",
      "tree": "263a6f3501d1d435dd3da49a0c8cca8787edf544",
      "parents": [
        "dfcb8c511635431d536fd3ef1894378f4424ef1a"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Mar 08 11:43:30 2011 -0800"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Mar 10 16:03:46 2011 -0800"
      },
      "message": "Implement new NFC-EE API\u0027s as shared library (frameworks/base).\n\nChange-Id: I45c4eaf59ec78167fc236fdd59676465a5e1bcb7\n"
    },
    {
      "commit": "7866be2b76e421ca28e5dcbd3e7d362baf279dd9",
      "tree": "bfc1a245c331afa906b8ff7d618c8bcb615b7a1c",
      "parents": [
        "66d46ac61478c967ed45bd1c27b0436654d54299",
        "40bbf9295d5245d3917629ce15f7b37670aef1ac"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 02 15:16:32 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 02 15:16:32 2011 -0800"
      },
      "message": "am 40bbf929: DO NOT MERGE: Backport USB accessory support to gingerbread\n\n* commit \u002740bbf9295d5245d3917629ce15f7b37670aef1ac\u0027:\n  DO NOT MERGE: Backport USB accessory support to gingerbread\n"
    },
    {
      "commit": "40bbf9295d5245d3917629ce15f7b37670aef1ac",
      "tree": "40bb301c9e739a9026a6351c3d79c80ea43ca01b",
      "parents": [
        "db52ab69f22e24615eaa2e8f9845e157426d3dd6"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 10:23:48 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 23:09:12 2011 -0800"
      },
      "message": "DO NOT MERGE: Backport USB accessory support to gingerbread\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c4308f01c965571dc2354107c3574df113e397ee",
      "tree": "fa0c8c934147ab99f2ff6aec87edfb7266ba7890",
      "parents": [
        "43cdf9b4191e18b5a4d646d23b06438c0e10b8dd"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 08:04:54 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 08:07:20 2011 -0800"
      },
      "message": "Move USB framework support from android.hardware to android.hardware.usb package\n\nChange-Id: I00fd4f0caaa4aebe48f71c576bb211b5f38bf88d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "44b362c34066764b6711ce04923ce71b5d011283",
      "tree": "501f45a1250d7cc6520b198481d84e5983bebdf7",
      "parents": [
        "20ccb06a7c7fe368901c07b4acc70ad6513714cd"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Mon Feb 28 15:53:15 2011 -0800"
      },
      "committer": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Mon Feb 28 15:53:15 2011 -0800"
      },
      "message": "fixing resource browser for renderscript samples because the samples moved\n\nChange-Id: Ic63399f8f6ff0b33461a8e6c8ce1ce398bd8085f\n"
    },
    {
      "commit": "7719436342611a106df5d379fedf180a5dd0809e",
      "tree": "c18c321d33a27b777765ce9133899d7b6d30d8f4",
      "parents": [
        "65260be5d4e9793b466d84ca5f59b20a8605126c",
        "b732b7b5e8192501360edc15fb8c6399d11fb97d"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 28 10:15:48 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 28 10:15:48 2011 -0800"
      },
      "message": "am b732b7b5: am ce57a7f3: am 6504490c: am dff6b8e7: Merge \"Add --non-constant-id to aapt.\"\n\n* commit \u0027b732b7b5e8192501360edc15fb8c6399d11fb97d\u0027:\n  GpsLocationProvider: Clean up HAL initialization/cleanup sequence\n  Fixed GSM encoded network initiated position request\n  Ensuring thread-safe usage of DateFormat.\n  Fixing infinite loop for zero duration.\n  Fix for an infinite loop while scrolling lists.\n  WAPPushManager, WAP Push over SMS message handler\n  Add --non-constant-id to aapt.\n"
    },
    {
      "commit": "b732b7b5e8192501360edc15fb8c6399d11fb97d",
      "tree": "a2fab9c785f055c9962e565896d5e4a1bdadc769",
      "parents": [
        "1649d91f781445a78ce09ed5500503fd96eb9113",
        "ce57a7f35344e76689d30f45964d1e37b78280cb"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 28 10:10:38 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 28 10:10:38 2011 -0800"
      },
      "message": "am ce57a7f3: am 6504490c: am dff6b8e7: Merge \"Add --non-constant-id to aapt.\"\n\n* commit \u0027ce57a7f35344e76689d30f45964d1e37b78280cb\u0027:\n  GpsLocationProvider: Clean up HAL initialization/cleanup sequence\n  Fixed GSM encoded network initiated position request\n  Ensuring thread-safe usage of DateFormat.\n  Fixing infinite loop for zero duration.\n  Fix for an infinite loop while scrolling lists.\n  WAPPushManager, WAP Push over SMS message handler\n  Add --non-constant-id to aapt.\n"
    },
    {
      "commit": "6504490cde3ec5d48321d539e654d1f2072b33f9",
      "tree": "d149151c9f41af11830023ee8b9dd783d13e9383",
      "parents": [
        "a2090bea4824cf153c4d9c735ee779613cf2e3d7",
        "dff6b8e71dda9f5d841fa26408714aec2aef1505"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 28 09:16:38 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 28 09:16:38 2011 -0800"
      },
      "message": "am dff6b8e7: Merge \"Add --non-constant-id to aapt.\"\n\n* commit \u0027dff6b8e71dda9f5d841fa26408714aec2aef1505\u0027:\n  GpsLocationProvider: Clean up HAL initialization/cleanup sequence\n  Fixed GSM encoded network initiated position request\n  Ensuring thread-safe usage of DateFormat.\n  Fixing infinite loop for zero duration.\n  Fix for an infinite loop while scrolling lists.\n  WAPPushManager, WAP Push over SMS message handler\n  Add --non-constant-id to aapt.\n"
    },
    {
      "commit": "7a2222b2605b52fc24baf6c7df509979cbec8d9b",
      "tree": "a382a228b14efdc86e4e7abf74ca7f40d6bd01bc",
      "parents": [
        "9e7d5f987636846608bf23b0c445242cd1570352",
        "d2acfd6d04545562fcacd266e175461f26b25da9"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Thu Feb 17 20:23:49 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 17 20:23:49 2011 -0800"
      },
      "message": "am d2acfd6d: am a58f58da: Merge \"Doc change: fixing renderscript samples\" into honeycomb\n\n* commit \u0027d2acfd6d04545562fcacd266e175461f26b25da9\u0027:\n  Doc change: fixing renderscript samples\n"
    },
    {
      "commit": "6518f486a5b9cdcb48df3ca09732b51b6df249bf",
      "tree": "d86e3b3b0c3f5587053b60d9e00df899b38871a9",
      "parents": [
        "e766fcd5e967c2400a1fe90a4a01e4f0a12dbd1d"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Mon Feb 14 18:57:46 2011 -0800"
      },
      "committer": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Thu Feb 17 18:44:31 2011 -0800"
      },
      "message": "Doc change: fixing renderscript samples\n\nChange-Id: Ie5d17df121ec4bc5fd46448c1670d306322b92d8\n"
    },
    {
      "commit": "7640caaf912a7eefacc3e2108c5afd70f7b072a4",
      "tree": "97f11557638e80122d456e6985677a42e9ca7753",
      "parents": [
        "3769240b7976bfa50bb7bf235747b7f6bb7be08e"
      ],
      "author": {
        "name": "noda",
        "email": "noda@nttdocomo.co.jp",
        "time": "Fri Aug 20 08:10:00 2010 +0900"
      },
      "committer": {
        "name": "noda",
        "email": "noda@nttdocomo.co.jp",
        "time": "Fri Feb 18 00:31:24 2011 +0900"
      },
      "message": "WAPPushManager, WAP Push over SMS message handler\n\nThe WAPPushManager is a new, optional service for handling WAP Push\nover SMS messages.  This service allows a carrier to designate a high\npriority handler for specific WAP Push over SMS messages without\naffecting other WAP Push over SMS, binary SMS, or SMS text messages.\nIt is also optional, so that it can be configured out of the target\nimage resulting in no change in the WAP Push over SMS handling\nbehavior compared to the current AOSP.\n\n- This patch contains the WAPPushManager itself, the associated test\n  code, and the modifications to telephony to use the WAPPushManager.\n\nChange-Id: I4f7fb5b68fc666da9bdeeea525e8797ae317e4b5\n"
    },
    {
      "commit": "d3b6abc4667e6e69e945db7e62fcd5dff49d3c23",
      "tree": "aa1d8b55a418b74b6b3f7463ca52b74f0e8e99fb",
      "parents": [
        "5fd8dd01a776e21df39e9de9777f034fd2d40e5b",
        "2b0c6fdfff0faf17163d126ac21c1651e4053968"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Feb 15 11:38:50 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 15 11:38:50 2011 -0800"
      },
      "message": "am 2b0c6fdf: am 97ef3b41: Merge \"docs: revise a couple sample app names to match side nav\" into honeycomb\n\n* commit \u00272b0c6fdfff0faf17163d126ac21c1651e4053968\u0027:\n  docs: revise a couple sample app names to match side nav\n"
    }
  ],
  "next": "d873e660c57eabb15a95acf71398c38929504284"
}
