)]}'
{
  "log": [
    {
      "commit": "a990ef3abf91ef78ba43da48e0ba702aca293ecc",
      "tree": "5d3cdb8827b992dc760a2219cb208d8618234a93",
      "parents": [
        "47b464a92bd6cc9429a5f535b6d559b599d2e970",
        "90dd21eff5f4799dd770a6e1a0390ac68734429a"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Mar 22 12:49:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 12:49:25 2010 -0700"
      },
      "message": "Merge \"Make getting wifi state lockless.\""
    },
    {
      "commit": "90dd21eff5f4799dd770a6e1a0390ac68734429a",
      "tree": "2088f0389afe3a38e42a6b715e2645fc558f1c79",
      "parents": [
        "ac96fa575f17d4a65e65eddebe805c904fb29c19"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Mar 22 12:08:26 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Mar 22 12:08:26 2010 -0700"
      },
      "message": "Make getting wifi state lockless.\n\nPrevious it was synchronized on the same lock that was held while\ntransitioning wifi states, effectively making it impossible to ever\nfind out about such states, and worse: making calls during transitions\nblock.\n\nThis manifested itself in a really laggy power control widget, which\nI\u0027m working on fixing in general in a separate change.\n\nChange-Id: Ia34af98c73d7f5662e41360a213df87f6adaf130\n"
    },
    {
      "commit": "47b464a92bd6cc9429a5f535b6d559b599d2e970",
      "tree": "ff926b0ccc083e83a0193be6e27d5471818eb1e9",
      "parents": [
        "437e59a22074d3e06527f35315c46120badaf543",
        "db54ea0fb61b77920137bd5ad31cb4451e87fa95"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Mar 22 12:03:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 12:03:37 2010 -0700"
      },
      "message": "Merge \"Fix Tabwidget copy/paste bug.\""
    },
    {
      "commit": "437e59a22074d3e06527f35315c46120badaf543",
      "tree": "822133e135756c79cc643616c50bcc62feb07f08",
      "parents": [
        "6460d6e7b9608c00c4d38572b755f2d552a7e105",
        "b054f275369f3909a2eda1d2ae6a44cf62081d18"
      ],
      "author": {
        "name": "Mark Wagner",
        "email": "mxw@google.com",
        "time": "Mon Mar 22 11:51:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 11:51:51 2010 -0700"
      },
      "message": "Merge \"null check\""
    },
    {
      "commit": "b054f275369f3909a2eda1d2ae6a44cf62081d18",
      "tree": "08fedac6dfbf793bb75c18d2c059d6cb5388ff2a",
      "parents": [
        "ac96fa575f17d4a65e65eddebe805c904fb29c19"
      ],
      "author": {
        "name": "Mark Wagner",
        "email": "mxw@google.com",
        "time": "Mon Mar 22 11:43:24 2010 -0700"
      },
      "committer": {
        "name": "Mark Wagner",
        "email": "mxw@google.com",
        "time": "Mon Mar 22 11:43:24 2010 -0700"
      },
      "message": "null check\n\nChange-Id: I3ee3efb8588a5b6b7368b8c5b0e43a07d1427ad8\n"
    },
    {
      "commit": "db54ea0fb61b77920137bd5ad31cb4451e87fa95",
      "tree": "f917e5c0ad0b053f956ba4d8adfd86fddab06b48",
      "parents": [
        "189f65c12ff673087fda20e33ebcfb603143c0d3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Mar 22 11:20:48 2010 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Mar 22 11:20:48 2010 -0700"
      },
      "message": "Fix Tabwidget copy/paste bug.\n\nChange-Id: I8e75ec65353748ec794862cfb0e76653ba4fc428\n"
    },
    {
      "commit": "6460d6e7b9608c00c4d38572b755f2d552a7e105",
      "tree": "414cc8d750979a1583bd3e3e16a9c21636f3b509",
      "parents": [
        "8dfdf46fbf63d57c91c043368c60e62d871b7050",
        "7fb1f674c90eb8f85f1d1ad7dab29ac65c15cb6e"
      ],
      "author": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Mon Mar 22 11:16:16 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 11:16:16 2010 -0700"
      },
      "message": "Merge \"Add connectivity manager automation test framework:  - Create a dummy activity - ConnectivityManagerTestActivity - to listen to broadcast from connectivity manager, to control wifi, and to verify that connectivity information for different network types. This framework will be used for funcitonal tests and stress tests.\""
    },
    {
      "commit": "8dfdf46fbf63d57c91c043368c60e62d871b7050",
      "tree": "23475f341a8886ca3f1eb10a1947d4304eda34d7",
      "parents": [
        "85861c7a6f8b00143ae3b33ac98db20bb5c539e4",
        "189f65c12ff673087fda20e33ebcfb603143c0d3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Mar 22 11:14:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 11:14:38 2010 -0700"
      },
      "message": "Merge \"Fix javadoc copy/paste error.\""
    },
    {
      "commit": "85861c7a6f8b00143ae3b33ac98db20bb5c539e4",
      "tree": "4232c3812e81c2a7f422952f1a2fc4caf431a61c",
      "parents": [
        "e99bb5f10b90736d10cee9729b56cba156fc0921",
        "93a68398b661c02d6c417a2a04e64a6750a9a119"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Mar 22 11:14:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 11:14:25 2010 -0700"
      },
      "message": "Merge \"Unittests for EntropyService.  Make EntropyService more testable.\""
    },
    {
      "commit": "189f65c12ff673087fda20e33ebcfb603143c0d3",
      "tree": "5e07fbb731762a98ce197a1e61dd25e5808afb78",
      "parents": [
        "fb0de34a47a435b57075d7a72cbc40a2daf5ee6c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Mar 22 10:59:00 2010 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Mar 22 10:59:00 2010 -0700"
      },
      "message": "Fix javadoc copy/paste error.\n\nChange-Id: I6a504176e96b8dc54356305cc00acfe3d1e5b1ed\n"
    },
    {
      "commit": "e99bb5f10b90736d10cee9729b56cba156fc0921",
      "tree": "2977919e3fb3e0fcfeb5954240a2ee37abb55617",
      "parents": [
        "cbf953ed09b036441d90e14b0723a2ea417b3f35"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Mar 19 14:36:49 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Mar 22 10:49:49 2010 -0700"
      },
      "message": "Add new method call back in MountService.\nPackageManager invokes this call back when its done handling\nthe media status update.\nAdd new uid check for updateExternalMediaStatus\nChange killPids method in ActivityManager.\nRemove mountsd command in Pm.java We cannot arbitrarily enable/disable\npackages in PackageManager now.\n\nChange-Id: I28dcba4afd2b4486f68abdaa1628a31b66544c91\n"
    },
    {
      "commit": "cbf953ed09b036441d90e14b0723a2ea417b3f35",
      "tree": "4f1a24b9d72fc187496cef27fc20f97080d0e703",
      "parents": [
        "7897d1b61561fdfab682e0f68680e6999311493c"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Mar 22 10:30:13 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Mar 22 10:31:12 2010 -0700"
      },
      "message": "Permissions: Change ASEC permissions from \u0027dangerous\u0027 -\u003e \u0027signature\u0027\n\nChange-Id: I5e495332c45f718178486f2e07d37031e6fa5afc\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "7897d1b61561fdfab682e0f68680e6999311493c",
      "tree": "7d9ebeb0d15cdde813b18f13e7a173b3215f3fa5",
      "parents": [
        "2e805b19cdb309ea6eeb6d2e8b0915681f831f5a",
        "6a254403235196692b1769d2fe281b0852c0cc25"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Mar 22 10:30:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 10:30:27 2010 -0700"
      },
      "message": "Merge \"MountService: Handle volumes shared on startup\""
    },
    {
      "commit": "6a254403235196692b1769d2fe281b0852c0cc25",
      "tree": "a08ce02a7042f49096de168a5537d486d2202ed1",
      "parents": [
        "ac96fa575f17d4a65e65eddebe805c904fb29c19"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Mar 22 10:21:00 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Mar 22 10:21:00 2010 -0700"
      },
      "message": "MountService: Handle volumes shared on startup\n\nChange-Id: I7c38607adee7c89f27c24285a7ace2b9c87e7f30\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "2e805b19cdb309ea6eeb6d2e8b0915681f831f5a",
      "tree": "121a11a170e2f1ae7a37a2d992bf21769e6870b5",
      "parents": [
        "ac96fa575f17d4a65e65eddebe805c904fb29c19"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Mar 22 10:10:51 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Mar 22 10:10:51 2010 -0700"
      },
      "message": "Grammar fixes.\n\nChange-Id: I77672d2260c26aee146bb6a853137c14e3db1f28\n"
    },
    {
      "commit": "ac96fa575f17d4a65e65eddebe805c904fb29c19",
      "tree": "54c2482cfb7f3f96681622c927ed0b175bbf49f7",
      "parents": [
        "fb0de34a47a435b57075d7a72cbc40a2daf5ee6c"
      ],
      "author": {
        "name": "Cary Clark",
        "email": "cary@android.com",
        "time": "Mon Mar 22 10:56:37 2010 -0400"
      },
      "committer": {
        "name": "Cary Clark",
        "email": "cary@android.com",
        "time": "Mon Mar 22 11:12:46 2010 -0400"
      },
      "message": "use the stream instead of the cursor data to return its size\n\nMost content providers set up the data size in the cursor that\nprovides the file name, but sound recorder does not. Use the\nstream size instead, which will work with all sources and\nprobably is no slower.\n\nfixes http://b/2529352 http://b/2524574\n\nChange-Id: I32d101d07ca1d0fa2ff17c3c68393356902096d3\n"
    },
    {
      "commit": "fb0de34a47a435b57075d7a72cbc40a2daf5ee6c",
      "tree": "6915d0323919bdc157d94ed696b358b7a984ae65",
      "parents": [
        "cd90b15cb8cd3347c58dc0fe3a30ea3e1b17ab6e"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Mar 19 18:48:35 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Mon Mar 22 10:52:56 2010 +0000"
      },
      "message": "Implements layoutTestController.overridePreference()\n\nThis change provides the infrastructure for\nlayoutTestController.overridePreference(). Currently, we only provide an\nimplementation for the preference \u0027WebKitOfflineWebApplicationCacheEnabled\u0027,\nwhich is required by the layout test http/tests/appcache/disabled.html.\n\nChange-Id: I8552f2f4e23b982db2d067ffa20c052e56d8fb7f\n"
    },
    {
      "commit": "cd90b15cb8cd3347c58dc0fe3a30ea3e1b17ab6e",
      "tree": "561b7dfe02b294ff6fb3e8d447813eaa4e0c3388",
      "parents": [
        "547b83328e5a3abc882059d2de6e2edc42c2fe83"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Mar 19 15:57:41 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Mon Mar 22 10:52:56 2010 +0000"
      },
      "message": "Removes most remaining appcache layout tests from the DumpRenderTree ignoreResults list\n\nThe server serving the layout tests has now been updated to to reflect the\ncurrent version of WebKit (r54731) so serveral more tests now pass.\n\nChange-Id: I95afa0012bf3fed15c733b0317ecd4c03f7a158f\n"
    },
    {
      "commit": "547b83328e5a3abc882059d2de6e2edc42c2fe83",
      "tree": "171358c179582d54a4ee8c88201889eaa0882c9d",
      "parents": [
        "90f8680f41525e5e5d9b811af60793a0396a32e3",
        "427efcca1988e3f424e363808e8fd0978f4e78d1"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Mon Mar 22 03:44:09 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 03:44:09 2010 -0700"
      },
      "message": "Merge \"Implements layoutTestController.setAppCacheMaximumSize\""
    },
    {
      "commit": "90f8680f41525e5e5d9b811af60793a0396a32e3",
      "tree": "a85c2c3c4ce5a5dc2891f203db4dc1ddb4b1733b",
      "parents": [
        "cad9ab60ce3789335c37ca5c684a6b5c3356b7bf"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Mar 21 23:23:50 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 22 00:31:12 2010 -0700"
      },
      "message": "Update MediaRecorder.java documentation to mention it does not work on the emulator yet.\n\nbug - 2532726\n\nChange-Id: If6dbf0d89c4681a647419e1911213a4c22dc3dab\n"
    },
    {
      "commit": "cad9ab60ce3789335c37ca5c684a6b5c3356b7bf",
      "tree": "4a478701359dbd41660ae3d5a8bbba1dd4ff3d4e",
      "parents": [
        "7865fa97244d2f33d2a9c9ec359b475d6597e994"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Sun Mar 21 14:05:14 2010 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Sun Mar 21 14:05:14 2010 -0700"
      },
      "message": "In some case, like in Email, the WebView can be\ndetached from Window long after it is destroyed.\nAs we freed the native side by setting mWebViewCore\nto null, we can\u0027t access settings any more. In this\ncase, just hide both styles of zoom control.\n\nFix http://b/issue?id\u003d2532401"
    },
    {
      "commit": "7fb1f674c90eb8f85f1d1ad7dab29ac65c15cb6e",
      "tree": "8bd1e9e937648c79d100a8a9fdb8643f5cd62519",
      "parents": [
        "1bb63afca1372a6e8feb1e5d858ff4b69e406592"
      ],
      "author": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Thu Mar 04 11:54:39 2010 -0800"
      },
      "committer": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Sat Mar 20 15:29:52 2010 -0700"
      },
      "message": "Add connectivity manager automation test framework:\n - Create a dummy activity - ConnectivityManagerTestActivity - to listen to broadcast from connectivity manager, to control wifi, and to verify that connectivity information for different network types. This framework will be used for funcitonal tests and stress tests.\n\n - Add two functional test cases:\n   . test3GToWifiNotification: test enabling Wifi without associating with any access point, Wifi stays disconnected, device should still connect to cellular.\n   . testConnectToWifi: when switching from cellular to Wfi and associated with a given AP, connectivity manager broadcast the right informtion for mobile and Wifi.\n\nChange-Id: Ib6fcf0ff6dd9725076836032e567c0a6a52f622f\n"
    },
    {
      "commit": "427efcca1988e3f424e363808e8fd0978f4e78d1",
      "tree": "746cd297e48b0ec5fc05a57f2a16eb95ed4c1073",
      "parents": [
        "f19f9f55f9a1d95b1c741fc177b6b1cff4ab8034"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Mar 19 15:26:42 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sat Mar 20 11:03:53 2010 +0000"
      },
      "message": "Implements layoutTestController.setAppCacheMaximumSize\n\nChange-Id: Ib64123738bc384213ef80e2e60e4a0d9407c09d8\n"
    },
    {
      "commit": "7865fa97244d2f33d2a9c9ec359b475d6597e994",
      "tree": "9c4ea5ad8bd8ac6a9b4857e8a2de720dcc70f141",
      "parents": [
        "ee8500eeb07aa8f0b73df3f29bf9a0c0ad887377"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Mar 19 19:48:28 2010 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Mar 19 19:48:28 2010 -0700"
      },
      "message": "As http header can\u0027t be empty, check length before\nsetting lastModified and etag to the cacheResult.\n\nFix http://b/issue?id\u003d2531047"
    },
    {
      "commit": "ee8500eeb07aa8f0b73df3f29bf9a0c0ad887377",
      "tree": "3ae3d80a19c0e6fdbbe860d3e09bffaa8f8647c3",
      "parents": [
        "21817f6e2924217a1c456f3ba7e9a359b00602d2"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Mar 19 17:23:38 2010 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Mar 19 19:40:17 2010 -0700"
      },
      "message": "Don\u0027t overscroll horizontally if the content just\nfit in the WebView.\n\nFix http://b/issue?id\u003d2530843\n"
    },
    {
      "commit": "21817f6e2924217a1c456f3ba7e9a359b00602d2",
      "tree": "0c12f3a3af4028f67dc4e4bcbe73da01a3e893bc",
      "parents": [
        "1bb63afca1372a6e8feb1e5d858ff4b69e406592"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Mar 19 18:28:33 2010 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Mar 19 19:36:35 2010 -0700"
      },
      "message": "Explicitly dismiss the zoom control if\n 1. start double tap\n 2. start pinch\n 3. start a popup window\n 4. about to detach from window\n 5. WebView size change which happens when IME is up\n    or rotation changed.\n\nPartial fix http://b/issue?id\u003d2530401. Dismiss the\nzoom control of the main window when bringing up\nthe sub window"
    },
    {
      "commit": "1bb63afca1372a6e8feb1e5d858ff4b69e406592",
      "tree": "c9b07df9790d138da0787b6c4f01b2911f0f3f51",
      "parents": [
        "01c0c58190a133479835f3c78ad32d7e70e64661",
        "06312cae6b0e00c4ccbe84e9c682de8d607897a9"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Fri Mar 19 17:59:39 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 17:59:39 2010 -0700"
      },
      "message": "Merge \"Compare the cookie names to ensure a consistent ordering.\""
    },
    {
      "commit": "01c0c58190a133479835f3c78ad32d7e70e64661",
      "tree": "bbb22cc7030a40beb1764f1bc5ec0c8a76a9ed7e",
      "parents": [
        "be5b88b8930c1fc8e3129f60289b918986dbf5e6",
        "dba8cb76371960457e91b31fa396478f809a5a34"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 19 17:49:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 17:49:37 2010 -0700"
      },
      "message": "Merge \"b/2511635 Browser displays incorrect SSL cert information\""
    },
    {
      "commit": "be5b88b8930c1fc8e3129f60289b918986dbf5e6",
      "tree": "a38fd6b6e81fafb567f1ab6ad126d4452e78bd31",
      "parents": [
        "c2662bf9b98ff1dea1079f7fbf3aee9120aec4f1",
        "42973a4a03ac6ebea94b4d4db1b319c7d45f720d"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Mar 19 17:31:31 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 17:31:31 2010 -0700"
      },
      "message": "Merge \"Move the key feedback bubble to the side if there\u0027s not enough room above. bug: 2519903\""
    },
    {
      "commit": "42973a4a03ac6ebea94b4d4db1b319c7d45f720d",
      "tree": "8cd2867e45d5b0d4de296b16942128efedf3f521",
      "parents": [
        "0d6deeaa6ed22caad554c5671340660c5ee060fc"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Mar 19 17:21:44 2010 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Mar 19 17:21:44 2010 -0700"
      },
      "message": "Move the key feedback bubble to the side if there\u0027s not enough room above. bug: 2519903\n"
    },
    {
      "commit": "c2662bf9b98ff1dea1079f7fbf3aee9120aec4f1",
      "tree": "2cbb24ec00317f5646277bd5749e3f4337a2b2a7",
      "parents": [
        "9f3168b327dbacd99874fb1c423e926b228dd792",
        "a729f97e8bfba67a94b1cde26d0d78d84528de85"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 19 17:20:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 17:20:08 2010 -0700"
      },
      "message": "Merge \"libutils Condition are now PRIVATE by default\""
    },
    {
      "commit": "dba8cb76371960457e91b31fa396478f809a5a34",
      "tree": "c5f20bb8beb3fa7a44b743f825f755e2449c0a16",
      "parents": [
        "9f3168b327dbacd99874fb1c423e926b228dd792"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 18 16:56:41 2010 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 19 17:09:01 2010 -0700"
      },
      "message": "b/2511635 Browser displays incorrect SSL cert information\n\nTwo more cases of \"View certificate\" problems like b/2511635\n\nOne problem is that if there are multiple resources downloaded for a\npage. In that case the mCertificate shown ends up being from the last\nloaded resource instead of the main resource of the page. The solution\nis to only set the certificate if the LoadListener is the\nmIsMainResourceLoader as well as the mIsMainPageLoader.\n\nA larger problem was the fact that the EventHandler.certificate\ninterface method (in this case the LoadListener.certificate\nimplementation) once per https connection instead of once per request\nas was documented. That meant if an https connection was reused (which\nhappens frequently on login pages such as\nhttps://www.google.com/accounts which use the POST -\u003e redirect -\u003e GET\nidiom to avoid POST data page refresh warnings) then later pages never\nwere associated with an SslCertificate.\n\nThe solution was to change EventHandler.certificate to be called once\nper request, specifcally before the request. This means we no longer\ncall the certificate method in the handleSslErrorRequest case, which\nis okay because it includes the SslCertificate within the SslError and\nthat is what the BrowserActivity expects.\n\nChange-Id: Icbd9bd98c89db82762d1d06de85e1cde2470300d\n"
    },
    {
      "commit": "93a68398b661c02d6c417a2a04e64a6750a9a119",
      "tree": "f8a9d195781f95f682202e1cf979abcf0646095e",
      "parents": [
        "a0a59122ebb7f1c134e8b8f9c0c90b7d90b86279"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 19 16:57:21 2010 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 19 16:57:21 2010 -0700"
      },
      "message": "Unittests for EntropyService.  Make EntropyService more testable.\n\nI\u0027ve been meaning to write these tests for a long time...\n\nUse \"runtest frameworks-services\" to run these tests.\n\nChange-Id: I3a3cb7eda547f4a790f38be884b4a583426c7326\n"
    },
    {
      "commit": "9f3168b327dbacd99874fb1c423e926b228dd792",
      "tree": "36c57f7e5397e1169c36174151f0ce2e056dd734",
      "parents": [
        "19b9e2e839ba0a00d8b4076dbff181986200421d",
        "e5e1e870fdb35f5291790e6d178bde7126f6fe35"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 19 16:31:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 16:31:34 2010 -0700"
      },
      "message": "Merge \"Fix two AudioFocus issues: - if a focus owner abandons audio focus during a call, the next  focus owner in the stack was never notified - if a focus owner requests the focus while alread owning it, and  the type of focus request changes, the previous focus owner was  not notified that the type of focus loss had changed.\""
    },
    {
      "commit": "19b9e2e839ba0a00d8b4076dbff181986200421d",
      "tree": "e5595aeb628830a5354ae191a675054da0e02fd7",
      "parents": [
        "f4418b0113ff63c82348844f4c945c81aa9157ad",
        "c277f2c43dfae5d28c345663fa7b970dd5bc383e"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Fri Mar 19 16:26:52 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 16:26:52 2010 -0700"
      },
      "message": "Merge \"Fix bcm4329 FW dump in bugreport for user-debug build\""
    },
    {
      "commit": "c277f2c43dfae5d28c345663fa7b970dd5bc383e",
      "tree": "52aefbd856cae4c4e8c52de8fabccee9416b2369",
      "parents": [
        "6d33c5adde49eabeb2c31996700d4cd4cf9e3e05"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Fri Mar 19 16:22:07 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Fri Mar 19 16:22:07 2010 -0700"
      },
      "message": "Fix bcm4329 FW dump in bugreport for user-debug build\n\nChange-Id: I56dfdc700db5704a91015ddcdc2adb0952b097ba\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "f4418b0113ff63c82348844f4c945c81aa9157ad",
      "tree": "4823756b23bf777ba7691dc9a09cb3ece56dc932",
      "parents": [
        "15b487e4ead5b1af5f188606449e04bc707a3ee7"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Mar 19 15:22:18 2010 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Mar 19 16:18:25 2010 -0700"
      },
      "message": "Change api for webview overscroll background.\n"
    },
    {
      "commit": "15b487e4ead5b1af5f188606449e04bc707a3ee7",
      "tree": "6e285611cc669a9739d38340bf7bb6815198b175",
      "parents": [
        "57c7204c23636974cd1eb2fc01f2dc253a018d3d",
        "723f1097294396817bbe1ea0fc45cfea4a6430da"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Mar 19 16:17:00 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 16:17:00 2010 -0700"
      },
      "message": "Merge \"Allow space in SSID\""
    },
    {
      "commit": "a729f97e8bfba67a94b1cde26d0d78d84528de85",
      "tree": "348c44f823825856df69b8b8e640bc86146a438f",
      "parents": [
        "078fd47e91d495175927d1a4a8b9aad039a7ba4e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 19 16:14:13 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 19 16:16:43 2010 -0700"
      },
      "message": "libutils Condition are now PRIVATE by default\n\nCondition must be initialized with SHARED for the old behavior, where\nthey can be used accross processes.\n\nUpdated the two places android that require SHARED conditions.\n\nPRIVATE conditions (and mutexes) use more efficient syscalls.\n\nChange-Id: I9a281a4b88206e92ac559c66554e886b9c62db3a\n"
    },
    {
      "commit": "57c7204c23636974cd1eb2fc01f2dc253a018d3d",
      "tree": "6a635abed2e158cda743d4fbc34a3dd2fc575f97",
      "parents": [
        "983ac2b8cff85dda1f55b0d7779a33248b3fa7cf",
        "4cee725b1fd3958d850fc83214797f76d5f6b468"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 19 16:13:33 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 16:13:33 2010 -0700"
      },
      "message": "Merge \"Use atomic++ rather than lock/++/unlock in the input dispatch code path\""
    },
    {
      "commit": "983ac2b8cff85dda1f55b0d7779a33248b3fa7cf",
      "tree": "7355f76c4ff8ec8e4e68813a2c4bab183adf39d6",
      "parents": [
        "db129b886fedad1e57ff185ac680cdf3c34b1b99"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 19 12:09:25 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 19 16:10:42 2010 -0700"
      },
      "message": "Unhide new constants used in AudioFocus API to denote a situation\nwhere a new focus owner signals it  allows other audio apps to keep\nplaying by ducking their audio streams.\n\nChange-Id: I1109f44546f3cbcff8ad33ee21cfff50f4f12177\n"
    },
    {
      "commit": "723f1097294396817bbe1ea0fc45cfea4a6430da",
      "tree": "3670dedeed6b7e91068082505760e513023cbb6a",
      "parents": [
        "e5e63f492147b6d6dee2f5e7b85fe9a3110ff0ad"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Mar 19 15:55:58 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Mar 19 15:55:58 2010 -0700"
      },
      "message": "Allow space in SSID\n\nBug: 2530930\nChange-Id: Iaa6c44014d889ad0d023148b091fc01c22524bf3\n"
    },
    {
      "commit": "e5e1e870fdb35f5291790e6d178bde7126f6fe35",
      "tree": "705400a26b45bcd6cb231277b45fbd24b23e466d",
      "parents": [
        "a0a59122ebb7f1c134e8b8f9c0c90b7d90b86279"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 19 15:31:20 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 19 15:39:03 2010 -0700"
      },
      "message": "Fix two AudioFocus issues:\n- if a focus owner abandons audio focus during a call, the next\n focus owner in the stack was never notified\n- if a focus owner requests the focus while alread owning it, and\n the type of focus request changes, the previous focus owner was\n not notified that the type of focus loss had changed.\n\nChange-Id: Iee6c6e17bcdd3c225a4b600f40ba434294870f17\n"
    },
    {
      "commit": "4cee725b1fd3958d850fc83214797f76d5f6b468",
      "tree": "cdc534fbe0ed664d9d821a9402398f1b5586ae16",
      "parents": [
        "db129b886fedad1e57ff185ac680cdf3c34b1b99"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 19 14:50:40 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 19 15:28:43 2010 -0700"
      },
      "message": "Use atomic++ rather than lock/++/unlock in the input dispatch code path\n\nDecouples the input dispatch thread from the battery-stats object lock regime,\nto avoid the possibility of ever blocking the input dispatch thread on its\nbehalf.  The stats object is widely used and can sometimes be locked for a\nvery long time (on the order of seconds) during certain extensive dump\noperations.\n\nThis change does not alter the data format of the battery stats\u0027 externalized\nrepresentations.\n\nFixes bug #2530346\n\nChange-Id: Iee288be3bf4936641b532dceecb8f6de8f552bf0\n"
    },
    {
      "commit": "db129b886fedad1e57ff185ac680cdf3c34b1b99",
      "tree": "5ca8d08ded79055e1abf886afc800165b97f85c1",
      "parents": [
        "a0a59122ebb7f1c134e8b8f9c0c90b7d90b86279",
        "aa0071d11b597a3e8fa15544743af2791a54d599"
      ],
      "author": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Fri Mar 19 14:51:53 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 14:51:53 2010 -0700"
      },
      "message": "Merge \"Add check for null name on SCO connect\""
    },
    {
      "commit": "a0a59122ebb7f1c134e8b8f9c0c90b7d90b86279",
      "tree": "d57f85787382478fd63ecae48ec164547379ee15",
      "parents": [
        "379232c8f5c9faacfcb097b44930dde9a042b1bc",
        "80cb598599de1f867990d6070a5b0d663369bcbc"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Mar 19 14:08:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 14:08:01 2010 -0700"
      },
      "message": "Merge \"Fix wakelock\""
    },
    {
      "commit": "379232c8f5c9faacfcb097b44930dde9a042b1bc",
      "tree": "595e1f21f3fb4cc12a9da766c56a8ce3c52457ec",
      "parents": [
        "1afd1c90ebe789b8d3a137004127a50d2db7e3b5",
        "7d9af5ae762c59e879a86e77dcb330856774bc09"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 19 14:01:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 14:01:48 2010 -0700"
      },
      "message": "Merge \"Fix issue #2512131: Trackball goes up when moving\""
    },
    {
      "commit": "7d9af5ae762c59e879a86e77dcb330856774bc09",
      "tree": "aa53ca79b286e6a874a70540a3e92d620884ef91",
      "parents": [
        "b58fd82261efee1131eee7dcf3d66f98b11b5d24"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 23:40:21 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 19 14:01:17 2010 -0700"
      },
      "message": "Fix issue #2512131: Trackball goes up when moving\n\nChange-Id: Ib403de88f24bc1b6e5417732e3b69f89a5160bbc\n"
    },
    {
      "commit": "1afd1c90ebe789b8d3a137004127a50d2db7e3b5",
      "tree": "8ebbf7ee08b4aa0dab01a37a16b81c51af019d42",
      "parents": [
        "b58fd82261efee1131eee7dcf3d66f98b11b5d24"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 22:47:17 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 19 13:59:07 2010 -0700"
      },
      "message": "Maybe fix issue #2457218: Corrupt batterystats.bin file preventing phone boot - LIBtt68127\n\nNo steps to repro, but makes the code more robust by using the standard\nJournaledFile class and doing sanity checks on the input it reads.\n\nThis required moving the JournaledFile class in to the framework (and\nwe really should get rid of either it or AtomicFile, but they have\ndifferent recovery semantics so that is tough).  Also went through and\ncleaned up the file management in various places.\n\nChange-Id: Ieb7268d8435e77dff66b6e67bb63b62e5dea572e\n"
    },
    {
      "commit": "aa0071d11b597a3e8fa15544743af2791a54d599",
      "tree": "ef5560205b0255d284b317e183b0c9d4de71746e",
      "parents": [
        "408f333b43de796a7993d56c0fd7af23d2bdc959"
      ],
      "author": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Fri Mar 19 13:50:56 2010 -0700"
      },
      "committer": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Fri Mar 19 13:50:56 2010 -0700"
      },
      "message": "Add check for null name on SCO connect\n\nChange-Id: I5f5064fd57a5fffaf02b3e96b7faab219c490e86\nSigned-off-by: Eric Olsen \u003ceolsen@android.com\u003e\n"
    },
    {
      "commit": "b58fd82261efee1131eee7dcf3d66f98b11b5d24",
      "tree": "9b2667bd18bf19c37cfc91173eee872f4ec05076",
      "parents": [
        "e5e63f492147b6d6dee2f5e7b85fe9a3110ff0ad",
        "ebb83ade1eefb8a92990cc7b676d829b111cb7bf"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Mar 19 13:38:50 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 13:38:50 2010 -0700"
      },
      "message": "Merge \"Grant permissions to apps on sd when enabling/disabling packages.\""
    },
    {
      "commit": "ebb83ade1eefb8a92990cc7b676d829b111cb7bf",
      "tree": "fe75d94c11947bd51dab73a4bdc17d30232e981a",
      "parents": [
        "b05ec11868463fef0322689f5c0b0408a6a0e540"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Mar 19 11:55:29 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Mar 19 13:23:14 2010 -0700"
      },
      "message": "Grant permissions to apps on sd when enabling/disabling packages.\n\nChange-Id: I0f011bd4a3348ccd46fd7ae9765edf8933b94142\n"
    },
    {
      "commit": "80cb598599de1f867990d6070a5b0d663369bcbc",
      "tree": "23c570ff0c7f3e55fb6ac5dc3c89f56559fbdc8d",
      "parents": [
        "e5e63f492147b6d6dee2f5e7b85fe9a3110ff0ad"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Mar 19 10:40:18 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Mar 19 12:59:11 2010 -0700"
      },
      "message": "Fix wakelock\n\nBug: 2413908\nChange-Id: Ic7f2efa94b0ad1c561db0ffab8c531d19e6c235e\n"
    },
    {
      "commit": "e5e63f492147b6d6dee2f5e7b85fe9a3110ff0ad",
      "tree": "8460c657cb04755a0ce664f2a27ebc229bae6942",
      "parents": [
        "bbf655a113507ea8ceace7d6145f3b4676c0496d"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Mar 19 14:38:23 2010 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Mar 19 15:54:20 2010 -0400"
      },
      "message": "remove special-case logic to allow the titlebar to always scroll off the screen. This means that we\nnow won\u0027t force pages to resize due to scrolling.\n\nfixes http://b/issue?id\u003d2512549\n\nChange-Id: Icd91d032ccfc78db6011f293b33543ff2f27f3cf\n"
    },
    {
      "commit": "bbf655a113507ea8ceace7d6145f3b4676c0496d",
      "tree": "f09dfd4ef87cf6db6bd01310bc77adb1decf2006",
      "parents": [
        "52964243dc95f74ac2ab9a96d031a36931a11931",
        "7182ef360498b7f45cc5253c167bd9975cfc5335"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 19 12:42:29 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 12:42:29 2010 -0700"
      },
      "message": "Merge \"Ensure that binder incalls to the system process keep the fg cgroup\""
    },
    {
      "commit": "06312cae6b0e00c4ccbe84e9c682de8d607897a9",
      "tree": "699f1569df0046bc7f78c93e8c5f55bf7b91b6a9",
      "parents": [
        "aac4bfb49b4706a21b7ae7318409d8c7e2de9917"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Fri Mar 19 15:40:05 2010 -0400"
      },
      "committer": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Fri Mar 19 15:40:05 2010 -0400"
      },
      "message": "Compare the cookie names to ensure a consistent ordering.\n\nComparing the hash code provided a consistent order but it was not a logical,\ntestable order as the hash code was not related to lexicographic ordering.\n\nRemove a spurious \u0027\u003d\u0027 from a comment.\n\nBug: 2527671\nChange-Id: Ia2248cb8acbc4d5759a624eec13da3837f7406b8\n"
    },
    {
      "commit": "52964243dc95f74ac2ab9a96d031a36931a11931",
      "tree": "0dbf5b0b135d63e97e1c101c6d4f881d8d7fed32",
      "parents": [
        "415b46c32ba17ce80bb133e9f0e24a8e08371dc4"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Wed Feb 24 11:05:19 2010 -0800"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Mar 19 12:23:09 2010 -0700"
      },
      "message": "New OverScroller with edge bouncing effect.\n\nOverScroller has been made a Scroller child class. Both use a physical constant deceleration\nforce to compute the animation. OverScroller also includes a rubber edge bounce effect.\n\nApproved by Jim Palmer.\n\nChange-Id: I3f43a03694b8cb6bfa0784c2663b37c9c39322cc\n"
    },
    {
      "commit": "415b46c32ba17ce80bb133e9f0e24a8e08371dc4",
      "tree": "ef9e83f1c73ffb442375936d2cf66071e7b9de5b",
      "parents": [
        "4d9840bfc8dd86a5b4fc40dc5cf9f5f1d465bdc6",
        "7254afd4c275dec243d4825f8f68c815ced1342c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Mar 19 11:59:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 11:59:56 2010 -0700"
      },
      "message": "Merge \"Ensure adapter is not null in AutoCompleteTextView\""
    },
    {
      "commit": "4d9840bfc8dd86a5b4fc40dc5cf9f5f1d465bdc6",
      "tree": "e674fe8903f1486526e86e4a6f33cc7420725041",
      "parents": [
        "8340afe0f66663f032dd999e2d377564df0bb6d5",
        "89c0ef4aba57172bbc9288f2d22c943f220a3dd1"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Mar 19 11:41:42 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 11:41:42 2010 -0700"
      },
      "message": "Merge \"Add -e package description to InstrumentationTestRunner javadoc.\""
    },
    {
      "commit": "89c0ef4aba57172bbc9288f2d22c943f220a3dd1",
      "tree": "54366fa0f8ca63ff9f0db8c7356e84e6b7f50d81",
      "parents": [
        "ed531b37e5315dab8987b6bfb4adcbb49df9cf88"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Thu Mar 18 20:03:31 2010 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Mar 19 11:40:50 2010 -0700"
      },
      "message": "Add -e package description to InstrumentationTestRunner javadoc.\n\nBug 2528316\n\nChange-Id: Ic707115e40a18521e0d57ee12f43df96be7033f2\n"
    },
    {
      "commit": "8340afe0f66663f032dd999e2d377564df0bb6d5",
      "tree": "7e03e4567416106d160e219e26bd8df1b1096a76",
      "parents": [
        "bb1934a5baa28dcf06d4615b692a197c4b7adbdb"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Thu Mar 11 16:25:13 2010 -0800"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Mar 19 11:15:49 2010 -0700"
      },
      "message": "New HeterogeneousExpandableList interface.\n\nThis interface can be used in conjunction with ExpandableListAdapter to\ndeclare more types of child and/or group views.\n\nNone of the ExpandableListAdapter implementations is heterogeneous in the\nframework. BaseExpandableListAdapter was decalred to use this interface so that users\nsee the methods and can overload. DateSortedExpandableListAdapter was left unchanged.\n\nThis feature is related to http://b/issue?id\u003d1459940\n\nChange-Id: Ifc589b697913778b16abfdcaaa9f8f81e564add7\n"
    },
    {
      "commit": "bb1934a5baa28dcf06d4615b692a197c4b7adbdb",
      "tree": "1bf23b704dada0ca9b7a974f714c47b315671b4c",
      "parents": [
        "cd40c355be1f59a43fb75518e48ad650c68c96ae",
        "f8338d4a98f87c426c4281d97e5df0fecaa74184"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Fri Mar 19 10:41:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 10:41:01 2010 -0700"
      },
      "message": "Merge \"Change overscroll background to be same as status bar pulldown.\""
    },
    {
      "commit": "cd40c355be1f59a43fb75518e48ad650c68c96ae",
      "tree": "a83e4ad8e3a3fef399367265927be88db1ea6990",
      "parents": [
        "408f333b43de796a7993d56c0fd7af23d2bdc959",
        "0a1344efc268283a16c04d932722e7824114185a"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Fri Mar 19 10:38:29 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 10:38:29 2010 -0700"
      },
      "message": "Merge \"limit sql statement in finalizer warning to 100 chars\""
    },
    {
      "commit": "0a1344efc268283a16c04d932722e7824114185a",
      "tree": "a51cedda78d9985f2dd6ea5f6eae92298ba5bfc5",
      "parents": [
        "aa773543c4b93e0396eac39d31bdb85f8465688e"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Thu Mar 18 22:17:24 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Fri Mar 19 10:37:09 2010 -0700"
      },
      "message": "limit sql statement in finalizer warning to 100 chars\n\ntoo long a sql statement reduces the amount of stack trace printed.\n\nChange-Id: Id980b184850adb2bcb5e47eebe35796bc731a490\n"
    },
    {
      "commit": "408f333b43de796a7993d56c0fd7af23d2bdc959",
      "tree": "4b3b1e267fe27d77e23e2052b9a8e813bc165d36",
      "parents": [
        "aac4bfb49b4706a21b7ae7318409d8c7e2de9917",
        "5e12aec16335dc3ae09d4cc8faa3e0deac5f2d31"
      ],
      "author": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Fri Mar 19 10:26:53 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 10:26:53 2010 -0700"
      },
      "message": "Merge \"Add the blacklist for the SCO connections\""
    },
    {
      "commit": "aac4bfb49b4706a21b7ae7318409d8c7e2de9917",
      "tree": "bd2eca267fdd0fb5d55b56d27fb08e049a98cd1a",
      "parents": [
        "b05ec11868463fef0322689f5c0b0408a6a0e540",
        "0096b8d7d119281466763160d5c88c5f9832d005"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 19 10:25:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 10:25:13 2010 -0700"
      },
      "message": "Merge \"We should pass null for the album artist if it was not set, instead of a copy of the artist, since the media provider needs to know whether the album artist was actually set.\""
    },
    {
      "commit": "7254afd4c275dec243d4825f8f68c815ced1342c",
      "tree": "93025d00bac86e3b7120581930d0eab2c0b0381f",
      "parents": [
        "b05ec11868463fef0322689f5c0b0408a6a0e540"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Mar 19 10:09:59 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Mar 19 10:15:29 2010 -0700"
      },
      "message": "Ensure adapter is not null in AutoCompleteTextView\n\nA runnable is posted for AutoCompleteTextView\u0027s PopupDataSetObserver, but\nthere\u0027s a possibility that mAdapter would be set to null between when\nthe runnable is run and the time it is posted.\n\nThis fixes a monkey crash seen in build 29176.\n\nChange-Id: Ie7be51db580d6e9775533890e5f6902409bec84d\nMonkeyCrashID: 2071507494::1632:123:521\n"
    },
    {
      "commit": "b05ec11868463fef0322689f5c0b0408a6a0e540",
      "tree": "e187485474ed4ce57ad4f6f4c0f42cce846b9bdc",
      "parents": [
        "951749ba2e014566553d17c512e947472951a060",
        "cdb86673a78b021f2ba46c48c1a6e7639d013551"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Mar 19 09:34:31 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 09:34:31 2010 -0700"
      },
      "message": "Merge \"Force all views to relayout when ViewRoot is resized. Bug #2519590\""
    },
    {
      "commit": "951749ba2e014566553d17c512e947472951a060",
      "tree": "0b927d18a5a5b3c74cd8a384e6003e71c7b99def",
      "parents": [
        "b18af656f01f465baf1ab5a9b6eb246101372b04"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Mar 19 09:03:13 2010 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Mar 19 09:09:12 2010 -0700"
      },
      "message": "Use the new HSM capability that allows transitionTo in enter methods.\n\nChange-Id: If87a30257111d4a2b0506428c75eae81a7ccf77b\n"
    },
    {
      "commit": "b18af656f01f465baf1ab5a9b6eb246101372b04",
      "tree": "d8d0a27a2ad0cf476af5610a24e16b1d82dc9b47",
      "parents": [
        "ad17d11c7495b1fdb5ca6faba74a741b17cf19f9",
        "78b6e899145b08bbb8ccf3f12ecf0a5bb792033b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Mar 19 09:03:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 09:03:27 2010 -0700"
      },
      "message": "Merge \"Add support for DUN over a cdma connection.\""
    },
    {
      "commit": "ad17d11c7495b1fdb5ca6faba74a741b17cf19f9",
      "tree": "eb8e89e4732e4c2ffa32b24298382689dfd4ae67",
      "parents": [
        "d12b232575faa44163157c2d4aa988e7a5974a3e",
        "db3fe9edd4cb638d3dd20b23456f6cdb0a414ed1"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Mar 19 09:02:00 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 09:02:00 2010 -0700"
      },
      "message": "Merge \"Fix Tethering Notifications for multiple ifaces\""
    },
    {
      "commit": "db3fe9edd4cb638d3dd20b23456f6cdb0a414ed1",
      "tree": "1aa4418bb2c7cd53e4e338a37e182012fc5a0f2d",
      "parents": [
        "2fbc10f3559b85f6550dd34b8779e9ee94e4c73c"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 18 16:28:30 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Mar 19 08:59:20 2010 -0700"
      },
      "message": "Fix Tethering Notifications for multiple ifaces\n\nUsed to see multiple notifications if usb tethering and wifi tethering were both used.\n\nbug:2527862\nChange-Id: Idc6299c0a70564dd7c8d8d7fe13bde83723134ae\n"
    },
    {
      "commit": "d12b232575faa44163157c2d4aa988e7a5974a3e",
      "tree": "e229d1cbfb65911a2ed91c93b3e33446bf76924d",
      "parents": [
        "cfe688d8d9d09d2a9e6602361f20a8d5a4fe3621",
        "c877c6b87a2e72bdffda756fc75f0ec684de6fbd"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Mar 19 08:47:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 19 08:47:56 2010 -0700"
      },
      "message": "Merge \"Fix HttpAuthHandler for synchronous requests\""
    },
    {
      "commit": "0096b8d7d119281466763160d5c88c5f9832d005",
      "tree": "ed3ce33370f2cfdd20b2825cbfe687a266caa077",
      "parents": [
        "abc2819328c32f2f66506d342c5f560da5107889"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 19 08:05:53 2010 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 19 08:07:26 2010 -0700"
      },
      "message": "We should pass null for the album artist if it was not set, instead of a copy\nof the artist, since the media provider needs to know whether the album artist\nwas actually set.\n\nChange-Id: I29b885c8293609299a55babadf9ca2a30e20e5bd\n"
    },
    {
      "commit": "cfe688d8d9d09d2a9e6602361f20a8d5a4fe3621",
      "tree": "c7e13cc476fb339d0931bf5a7c2aa7bdcff6a793",
      "parents": [
        "f19f9f55f9a1d95b1c741fc177b6b1cff4ab8034"
      ],
      "author": {
        "name": "Cary Clark",
        "email": "cary@android.com",
        "time": "Fri Mar 19 10:36:35 2010 -0400"
      },
      "committer": {
        "name": "Cary Clark",
        "email": "cary@android.com",
        "time": "Fri Mar 19 10:52:41 2010 -0400"
      },
      "message": "create absolute layout if view layout can\u0027t be reused\n\nThe existing view layout may not be an absolute layout,\nand will throw a ClassCastException. Check to see if it\nis compatible before the cast.\n\nChange-Id: I7309600a1e7405a29e49a3bab469a164d51126ae\nhttp://b/2526854\n"
    },
    {
      "commit": "f19f9f55f9a1d95b1c741fc177b6b1cff4ab8034",
      "tree": "7832812fb9f32280097fa96086b576cf97164ae4",
      "parents": [
        "4b55d496dd9899731b26327e4cb71c9ef4a1137a"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Mar 18 15:16:35 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Mar 19 13:59:10 2010 +0000"
      },
      "message": "Removes an appcache test from the DumpRenderTree ignoreResults list\n\nAndroid-specific results for this test were added in\nhttps://android-git.corp.google.com/g/45462\n\nChange-Id: I7716c2c061ab955d0bf96523b6aab747898cc4e7\n"
    },
    {
      "commit": "c877c6b87a2e72bdffda756fc75f0ec684de6fbd",
      "tree": "bc1b3c6e860608288bdefb7eac65acc319c15893",
      "parents": [
        "9b63c8ee37efa728c7be33baf748078329894437"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Mar 12 18:49:48 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Mar 19 13:48:49 2010 +0000"
      },
      "message": "Fix HttpAuthHandler for synchronous requests\n\nWhen HttpAuthHandler queries the WebViewClient to obtain a username and\npassword, we need to make sure that this is done synchronously when the request\nis synchronous.\n\nBug: 2511043\nChange-Id: I9ff2156cfb3c81edaf4a50ec7094a00a8f8ff91f\n"
    },
    {
      "commit": "f8338d4a98f87c426c4281d97e5df0fecaa74184",
      "tree": "a8ca7ee1fedfe3382c006e680d0d0589e8cd3d37",
      "parents": [
        "4b55d496dd9899731b26327e4cb71c9ef4a1137a"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Mar 18 22:47:34 2010 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Mar 18 23:00:51 2010 -0700"
      },
      "message": "Change overscroll background to be same as status\nbar pulldown.\n\nFix http://b/issue?id\u003d2520825"
    },
    {
      "commit": "4b55d496dd9899731b26327e4cb71c9ef4a1137a",
      "tree": "a748039d74e36fcf5f651eeacbca56ab056241a1",
      "parents": [
        "95b88fbe744d8ce53b5f54f6fcd90c55094a8d14"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 18 21:37:29 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 18 21:37:29 2010 -0700"
      },
      "message": "Fix SDK build Remove links to hidden constant in javadoc.\n\nChange-Id: I21495f0ef64b3dc154ce0e0ca2d44686afd752e9\n"
    },
    {
      "commit": "95b88fbe744d8ce53b5f54f6fcd90c55094a8d14",
      "tree": "40a80bcfae63dca3252d20e40f3906d3edfc8886",
      "parents": [
        "ee379aacc59445b9c9a6dc52e341b06872d8cd4f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 18 20:35:49 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 18 20:39:38 2010 -0700"
      },
      "message": "Attempt to fix the SDK build.\n\nChange-Id: I024df1b513da117057a21c27e6c0cd134cdd8023\n"
    },
    {
      "commit": "ee379aacc59445b9c9a6dc52e341b06872d8cd4f",
      "tree": "a85961057f7b201e2e95e58811fda5e4db9c816e",
      "parents": [
        "8ee1d97c0909fc2679b457ea9eb6e2d1c1131211",
        "806da1d46c94c71728b94dec75dec6519c962b5c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 19:25:57 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 18 19:25:57 2010 -0700"
      },
      "message": "Merge \"Fix issue #2512507: Shortcuts and Widgets lost on upgrading from Eclair to FRE70D\""
    },
    {
      "commit": "806da1d46c94c71728b94dec75dec6519c962b5c",
      "tree": "09662b2cd1ce939d04557a0e33b4f25ebd963f01",
      "parents": [
        "078fd47e91d495175927d1a4a8b9aad039a7ba4e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 16:50:07 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 19:25:19 2010 -0700"
      },
      "message": "Fix issue #2512507: Shortcuts and Widgets lost on upgrading from Eclair to FRE70D\n\nApps on the system partition are now allowed to change their certs, as\nlong as they are not using a shared user id.\n\nChange-Id: I02ff7ac874dc649b7f8cbb705ae8d7ed31e1d125\n"
    },
    {
      "commit": "8ee1d97c0909fc2679b457ea9eb6e2d1c1131211",
      "tree": "570daf61eb920493782420bffaa9f327e728b5c5",
      "parents": [
        "078fd47e91d495175927d1a4a8b9aad039a7ba4e",
        "ed9830999aede5e827b31446f91ad90a37b8bba9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 18 19:15:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 18 19:15:51 2010 -0700"
      },
      "message": "Merge \"Make aapt warning concise\""
    },
    {
      "commit": "cdb86673a78b021f2ba46c48c1a6e7639d013551",
      "tree": "bad9546f40a13670950476128104ff55391d8f9f",
      "parents": [
        "ed531b37e5315dab8987b6bfb4adcbb49df9cf88"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Mar 18 18:54:50 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Mar 18 18:54:50 2010 -0700"
      },
      "message": "Force all views to relayout when ViewRoot is resized.\nBug #2519590\n\nChange-Id: Ia6b9d4cf6d719f713703a1eb2e1ccdd5d61a5123\n"
    },
    {
      "commit": "078fd47e91d495175927d1a4a8b9aad039a7ba4e",
      "tree": "1408fe17122a10ce04578610515c726c49dd1462",
      "parents": [
        "84b446fad27f47eee34c26b9d396c31823a57860"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 18 16:51:04 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 18 18:28:27 2010 -0700"
      },
      "message": "Support focus requests where ducking of the loser of audio focus\nis acceptable for the new audio focus owner.\n\nChange-Id: I965483f12eeb717115a8f6992d8f1ab7fafa4e45\n"
    },
    {
      "commit": "84b446fad27f47eee34c26b9d396c31823a57860",
      "tree": "2c3206ea1ae4061721b6b0315d17ec503ad51e62",
      "parents": [
        "1b13e5a057d4fb0414b94dd2a7337f43eee8d16b",
        "738b75864123b85c0aec2433571d74ea09df9b02"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 18:26:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 18 18:26:06 2010 -0700"
      },
      "message": "Merge \"Only backup real files.\""
    },
    {
      "commit": "1b13e5a057d4fb0414b94dd2a7337f43eee8d16b",
      "tree": "c530fcbb2dec20e887834bacdeea472ce61784ff",
      "parents": [
        "e4ec08a8386c2bc90bd7528e72ab853b5e0c09a6",
        "c04cfa35968783f5af007db95680f0087201d9ea"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 18 18:23:17 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 18 18:23:17 2010 -0700"
      },
      "message": "Merge \"Unhide AudioManager API to control bluetooth SCO audio connection.\""
    },
    {
      "commit": "e4ec08a8386c2bc90bd7528e72ab853b5e0c09a6",
      "tree": "db6ffcac0ae6f4d6ef204ce5b6e0cecb1a6752dc",
      "parents": [
        "e6d36ffb2cfd943afa39b49084e270c7132248d3",
        "e7fea45863afb10335cb7845aebcf2907d3c3e41"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Mar 18 18:22:57 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 18 18:22:57 2010 -0700"
      },
      "message": "Merge \"Fix bug 2520540\""
    },
    {
      "commit": "c04cfa35968783f5af007db95680f0087201d9ea",
      "tree": "8d4cd35639a00829ddb0249aa463749b9a1256ba",
      "parents": [
        "7942b33e8905bbc177ff3c92596404530c860bcd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 18 12:38:54 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 18 18:18:48 2010 -0700"
      },
      "message": "Unhide AudioManager API to control bluetooth SCO audio connection.\n\nNeeded for issue 2416481 in order to allow unbundled applications to play and record\naudio to/from a bluetooth SCO headset while not in call.\n\nChange-Id: Ie1f96ded991e65da538c2c4a58bfa1e548d58a01\n"
    },
    {
      "commit": "e6d36ffb2cfd943afa39b49084e270c7132248d3",
      "tree": "3dbc45456da9aed773d2e58ee45cb0e88458a260",
      "parents": [
        "7942b33e8905bbc177ff3c92596404530c860bcd",
        "28359cc7512420bf05fd202d6b4766bc32abe85e"
      ],
      "author": {
        "name": "Dmitri Plotnikov",
        "email": "dplotnikov@google.com",
        "time": "Thu Mar 18 18:18:02 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 18 18:18:02 2010 -0700"
      },
      "message": "Merge \"Cleaning up list of common nicknames\""
    },
    {
      "commit": "7182ef360498b7f45cc5253c167bd9975cfc5335",
      "tree": "0cfd720f759df1398bdabe6d4a02811b0e5fe70d",
      "parents": [
        "e5bdecea289a09070f0ea2a1067ae2a8f498098a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 18 17:55:03 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 18 18:13:57 2010 -0700"
      },
      "message": "Ensure that binder incalls to the system process keep the fg cgroup\n\nOn binder incalls, the handler thread is given the caller\u0027s priority by the\ndriver, but not the caller\u0027s cgroup.  We have explicit code that sets the\nhandler\u0027s cgroup to match the caller\u0027s, *except* that the system process\nexplicitly disables this behavior.  This led to a siuation in which we were\nrunning binder incalls to the system process at nice\u003d10 but cgroup\u003dfg.\n\nThat\u0027s fine as far as it goes, except that if a GC happened in the handler\nthread, it would be promoted to foreground priority and cgroup both, to avoid\nhaving the GC take forever.  Then, when GC finished, the original priority\nis reset, and the cgroup set *based on that priority*.  This would push the\nhandler thread into nice\u003d10 cgroup\u003dbg_non_interactive -- which matches the\ncaller, but is supposed to be impossible in the system process.\n\nThe end result of this was that we could be running \"lengthy\" operations in\nthe system process in the background.  Unfortunately, some of the operations\nthat wound up like this would hold important global system locks for up to\ntwenty seconds as a result, making the entire device unresponsive to input\nfor that period.\n\nThis CL fixes the binder incall setup to ensure that within the system process,\na binder incall is always begun from the normal foreground priority as well\nas cgroup.  In practice now the device still becomes laggy/sluggish when the\noffending lock-holding time-consuming incall occurs, but since it still runs\nas a foreground task it is able to proceed to completion within a short time\nrather than taking 20 seconds.\n\nFixes bug #2403717\n\nChange-Id: Id046aeabd0e80c48eef94accc37842835eab308d\n"
    },
    {
      "commit": "5e12aec16335dc3ae09d4cc8faa3e0deac5f2d31",
      "tree": "b3d54adf19dde7a12f43134601f432ab120fafd4",
      "parents": [
        "db78bbc063ce15009aa70e62fa6883e33ae52f3a"
      ],
      "author": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Thu Mar 18 18:08:02 2010 -0700"
      },
      "committer": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Thu Mar 18 18:08:02 2010 -0700"
      },
      "message": "Add the blacklist for the SCO connections\n\nChange-Id: Ibfdfb21fb2f27d01d2b8bff48041398aa4308353\nSigned-off-by: Eric Olsen \u003ceolsen@android.com\u003e\n"
    },
    {
      "commit": "7942b33e8905bbc177ff3c92596404530c860bcd",
      "tree": "d777108d324235bbc493326b3a86327a7a6b1e49",
      "parents": [
        "e5bdecea289a09070f0ea2a1067ae2a8f498098a",
        "90d8ee650be988d8479f4f14ae8e541bb4cb034b"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Mar 18 18:07:54 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 18 18:07:54 2010 -0700"
      },
      "message": "Merge \"Switch default install location to unspecified. Add a new install location unspecified for backward compatibility. There is not much difference between policies auto and unspecified. But we dont have to make any code changes in PackageParser based on our preference for install location. Add tests\""
    },
    {
      "commit": "e5bdecea289a09070f0ea2a1067ae2a8f498098a",
      "tree": "c3622d3c24a2e94575430cfc992c473a51c250a2",
      "parents": [
        "42a9c537885cb7e846af8383e83796f63ba8f1b1",
        "e7be6a85da5be32348f4e83ede195477a7ec1790"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Mar 18 18:03:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 18 18:03:48 2010 -0700"
      },
      "message": "Merge \"Allow transitionTo in enter/exit.\""
    },
    {
      "commit": "738b75864123b85c0aec2433571d74ea09df9b02",
      "tree": "6e18f316ea12bbafa6306be505e8ecab7106e6d4",
      "parents": [
        "6d33c5adde49eabeb2c31996700d4cd4cf9e3e05"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 17:45:15 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 17:45:15 2010 -0700"
      },
      "message": "Only backup real files.\n\nFixes hang when backing up droid.\n\nChange-Id: Ie8b5c9f76c39c2e6c2cdf1e3b03f56ae37912bad\n"
    },
    {
      "commit": "90d8ee650be988d8479f4f14ae8e541bb4cb034b",
      "tree": "5a7701a199c115ac5ecca6d981a5f8fd563ebc40",
      "parents": [
        "b82ac6bf374c14082f7142614eb7d8e545b9a18b"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Mar 18 11:38:35 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Mar 18 17:44:21 2010 -0700"
      },
      "message": "Switch default install location to unspecified.\nAdd a new install location unspecified for backward compatibility.\nThere is not much difference between policies auto and unspecified.\nBut we dont have to make any code changes in PackageParser based\non our preference for install location.\nAdd tests\n\nChange-Id: I563238133261d911d08fbc66344687b7dfc870b1\n"
    },
    {
      "commit": "78b6e899145b08bbb8ccf3f12ecf0a5bb792033b",
      "tree": "94dd188f060b5e4b6d7fe2b2e355586ea33e494f",
      "parents": [
        "ceffa1597d574599cbaca71f5855a986b0857463"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Mar 17 23:21:12 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 18 17:43:42 2010 -0700"
      },
      "message": "Add support for DUN over a cdma connection.\n\nIt uses the data profile paramater when setting up the connection to indicate\nit\u0027s a tethered connection.  We get different behavior from vzw afterwards, so\nit is getting picked up.\n\nbug:2422545\nChange-Id: Ic022845088726d723813b82e166d15d7b2945da1\n"
    },
    {
      "commit": "42a9c537885cb7e846af8383e83796f63ba8f1b1",
      "tree": "a11912cc9759b4661b8151b2afe4e60378a93537",
      "parents": [
        "6d33c5adde49eabeb2c31996700d4cd4cf9e3e05",
        "abc2819328c32f2f66506d342c5f560da5107889"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 18 17:23:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 18 17:23:32 2010 -0700"
      },
      "message": "Merge \"Include \"album artist\" when inserting items in the media provider.\""
    },
    {
      "commit": "abc2819328c32f2f66506d342c5f560da5107889",
      "tree": "e52c1cd599d09413cf7ab321aaf8cba3d03094e7",
      "parents": [
        "b82ac6bf374c14082f7142614eb7d8e545b9a18b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 18 17:10:38 2010 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Mar 18 17:15:56 2010 -0700"
      },
      "message": "Include \"album artist\" when inserting items in the media provider.\n\nChange-Id: Ic34e2d54557409866dc35c29ee397afdfe874762\n"
    },
    {
      "commit": "e7fea45863afb10335cb7845aebcf2907d3c3e41",
      "tree": "2e8877809305091c8acd9637f68bba897860bd73",
      "parents": [
        "f298a027ed9a35d46e224ee973401c8b189c7653"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Mar 18 14:51:39 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Mar 18 17:08:15 2010 -0700"
      },
      "message": "Fix bug 2520540\n\nPreferenceActivity will now persist view hierarchy state properly.\n\nChange-Id: I4e7fe036d0d0bced78e58e2a15808facf502e449\n"
    }
  ],
  "next": "e7be6a85da5be32348f4e83ede195477a7ec1790"
}
