)]}'
{
  "log": [
    {
      "commit": "7f3e62cd921e7dfcdec1ed78ba2ef072beeecdd3",
      "tree": "bdb1373ce97c8eb78f5285cbc75a0a2febece36e",
      "parents": [
        "e5efe212de241dedcc5c4e409a4bf0376bc28be3",
        "77e638dee8b8b0f9c0fcb5403f8c6fb97b52826f"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Mar 23 09:52:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 23 09:52:07 2010 -0700"
      },
      "message": "Merge \"Fix Tethering when DUN is required but wifi is ok\""
    },
    {
      "commit": "e5efe212de241dedcc5c4e409a4bf0376bc28be3",
      "tree": "2431a7b46de7e64131b534840c84c7e8f11a6eb1",
      "parents": [
        "b64f6f895325a4597ee17e9fca8e5bab38d8c3b5"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Mar 23 11:51:11 2010 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Mar 23 11:51:11 2010 -0400"
      },
      "message": "refresh from ascender, w/ hints\n\nChange-Id: I50e56741c5c808257f00bc274ea608f64b3a737f\n"
    },
    {
      "commit": "b64f6f895325a4597ee17e9fca8e5bab38d8c3b5",
      "tree": "88bf91ac4725528e42262153de8843b2b65c9d7c",
      "parents": [
        "6787b7c597f24a522be4bf02e8b3797ff42336f3"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Mar 23 10:29:37 2010 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Mar 23 11:43:02 2010 -0400"
      },
      "message": "only send new visiblerect and size on onscrollchanged if we\u0027re not in overscroll mode\n\nChange-Id: Ifa290121db8f0a3612f40c40bab4f92494ce93df\n"
    },
    {
      "commit": "6787b7c597f24a522be4bf02e8b3797ff42336f3",
      "tree": "37926795c3245c09072fb3934f937e39ad0bbd7d",
      "parents": [
        "b83b556eadd73b0cbcd50664b1cc4fca51815cc2",
        "961aa8c8879e9f68c0eddcaf87565200a4347134"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Mar 23 08:07:47 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 23 08:07:47 2010 -0700"
      },
      "message": "Merge \"Compact when NativeDaemonConnector hits buffer limit\""
    },
    {
      "commit": "b83b556eadd73b0cbcd50664b1cc4fca51815cc2",
      "tree": "29f5b098c533341b0a1b7565b34bb64fc5b6cd44",
      "parents": [
        "b4882ca26fbf55c385fbc2b37e1bab6a13ee963a",
        "62a8fc159ad8d8044f3cde6ee6d46e9cc56b823f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 23 04:54:18 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 23 04:54:18 2010 -0700"
      },
      "message": "Merge \"GpsLocationProvider: Do our work in a Handler running in a separate thread.\""
    },
    {
      "commit": "b4882ca26fbf55c385fbc2b37e1bab6a13ee963a",
      "tree": "4b080643dab6ffa7f9d32394a19e9b7d247d74c4",
      "parents": [
        "e3b2df827fa3bc36abdf151bc4903c5bc63a0578",
        "e41c317348cfe23a78bfd97609c3489c6cc4a786"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Mar 22 23:18:52 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 23:18:52 2010 -0700"
      },
      "message": "Merge \"Advance encodedKeySearchIndex if encodedKey matches a suffix of a parameter.\""
    },
    {
      "commit": "e3b2df827fa3bc36abdf151bc4903c5bc63a0578",
      "tree": "d0773272c197e6659580af8e5fb2680d62a3b85b",
      "parents": [
        "85f2c9ce5a0e074df2429a5d66e1754e368a0430",
        "f68258f454b54367ee83999fa747c2c633dc2496"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Mar 22 22:40:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 22:40:10 2010 -0700"
      },
      "message": "Merge \"Call super.close() in MargeCursor\""
    },
    {
      "commit": "85f2c9ce5a0e074df2429a5d66e1754e368a0430",
      "tree": "ab3dc62cabf9fc1ace4ace8b4011f66f024734c2",
      "parents": [
        "1a26c9aa0b96d30fc99eeb10bfd41f966ceb003a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 22 11:12:48 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 22 22:20:26 2010 -0700"
      },
      "message": "Fix issue #2530103: ActivePassword data in Device Policy Manager needs to be persisted\n\nAlso fixes how the quality vs. mode is handled to be more consistent, which also\nrequired introducing a new \"alphabetic\" quality since it is possible for the user\nto enter such a password.\n\nThe current password quality and length is stored in the DPM, since at boot it\ncouldn\u0027t figure this out from the stored password.\n\nChange-Id: I519d9b76dd0b4431bcf42920c34dda38c9f1136e\n"
    },
    {
      "commit": "f68258f454b54367ee83999fa747c2c633dc2496",
      "tree": "a451cf7c1bce4a9aadd83c224e690e5fb801d2a0",
      "parents": [
        "4b55d496dd9899731b26327e4cb71c9ef4a1137a"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Mar 19 21:02:37 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Mar 23 11:15:28 2010 +0900"
      },
      "message": "Call super.close() in MargeCursor\n\nBug: 2524465\nChange-Id: I1927940b4e3a9417b36ec6169da00475662b6004\n"
    },
    {
      "commit": "1a26c9aa0b96d30fc99eeb10bfd41f966ceb003a",
      "tree": "170d4f9e1fcf4015e0bc362d58ebebcf788f6705",
      "parents": [
        "464bf23688db3049741779554bb1c8276699bd56",
        "65554f27855ce1764123604b061b10346f8b8404"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Mar 22 19:08:22 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 19:08:22 2010 -0700"
      },
      "message": "Merge \"Improve export to bitmap layers for HierarchyViewer.\""
    },
    {
      "commit": "65554f27855ce1764123604b061b10346f8b8404",
      "tree": "fd4952bdfb8feaae1a2ba38ee35f861021803a76",
      "parents": [
        "ac96fa575f17d4a65e65eddebe805c904fb29c19"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Mar 22 18:58:21 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Mar 22 18:58:21 2010 -0700"
      },
      "message": "Improve export to bitmap layers for HierarchyViewer.\n\n- Do not show layers with an invisible parent\n- Correctly draw extras from dispatchDraw() (ListView\u0027s dividers for instance)\n\nChange-Id: Id2e24ae9d52879290dffbf1cc446c5eda9522fbb\n"
    },
    {
      "commit": "464bf23688db3049741779554bb1c8276699bd56",
      "tree": "e4e2e4a3deac3c1ceb22e1f5bdf44d3a34a52fce",
      "parents": [
        "c021e02fd464b91913e369229ed84348f554d150",
        "f657b63c1c20252e1b0eb0646efb479420c828be"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 22 18:19:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 18:19:10 2010 -0700"
      },
      "message": "Merge \"Fix restoring of permissions after a reboot.\""
    },
    {
      "commit": "f657b63c1c20252e1b0eb0646efb479420c828be",
      "tree": "73f593e912e93743169fa2f325ff87f2a3d77d94",
      "parents": [
        "49de491379fc56960d00ff6c52472fe1a7d907a7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 22 18:08:07 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 22 18:08:07 2010 -0700"
      },
      "message": "Fix restoring of permissions after a reboot.\n\nIt turns out the whole loadedPermissions thing was pointless at this\npoint, and causing the problem: we would write out the granted\npermissions, then at boot load them into loaded permissions, and\nnever actually put them in granted.\n\nJust remove loadedPermissions.  The grantedPermissions (that is\nthe permissions the user has approved be granted to the app) are\nall we care about.\n\nChange-Id: I54d9dc418d6277ae0b35b8c1fc4b9c11f34f86f0\n"
    },
    {
      "commit": "961aa8c8879e9f68c0eddcaf87565200a4347134",
      "tree": "af43cfd433d00220ee1510154e60d6cf05e8d301",
      "parents": [
        "49de491379fc56960d00ff6c52472fe1a7d907a7"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Mar 22 18:02:45 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Mar 22 18:02:45 2010 -0700"
      },
      "message": "Compact when NativeDaemonConnector hits buffer limit\n\nIf NativeDaemonConnector hits its buffer limit, it would truncate the\ndata and lose some information. This change compacts the buffer and then\nretries to read the rest of the data.\n\nChange-Id: I0d5fee097bdd6808212ef3ad6fb4abbc6310fd4a\n"
    },
    {
      "commit": "c021e02fd464b91913e369229ed84348f554d150",
      "tree": "fa7c851b2a2d47db0af8acd5de8e6c53a51d646c",
      "parents": [
        "49de491379fc56960d00ff6c52472fe1a7d907a7",
        "4d8ef420037ccc8fdab33ff2aac8b309a164120a"
      ],
      "author": {
        "name": "Shimeng (Simon) Wang",
        "email": "swang@google.com",
        "time": "Mon Mar 22 17:21:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 17:21:48 2010 -0700"
      },
      "message": "Merge \"Check mWebViewCore to prevent potential NPE.\""
    },
    {
      "commit": "4d8ef420037ccc8fdab33ff2aac8b309a164120a",
      "tree": "7257a68c41d701f56e5792f3e55a3a6ad95f1538",
      "parents": [
        "02034d3568fb3b984e8d185d70e18ba19e592ba3"
      ],
      "author": {
        "name": "Shimeng (Simon) Wang",
        "email": "swang@google.com",
        "time": "Mon Mar 22 17:06:17 2010 -0700"
      },
      "committer": {
        "name": "Shimeng (Simon) Wang",
        "email": "swang@google.com",
        "time": "Mon Mar 22 17:06:17 2010 -0700"
      },
      "message": "Check mWebViewCore to prevent potential NPE.\n\nBug:2532493\nChange-Id: I917c57dced8638f36252638bb9814e26cdbc2768\n"
    },
    {
      "commit": "49de491379fc56960d00ff6c52472fe1a7d907a7",
      "tree": "5c05ffeb1b64d1ac7d99e079d6d7edfb532dce68",
      "parents": [
        "02034d3568fb3b984e8d185d70e18ba19e592ba3"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Mar 22 14:55:34 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Mar 22 16:13:07 2010 -0700"
      },
      "message": "Use a single mWifiState instance\n\nmWifiState was split up to speed up access\nof wifi state when things are synchronized.\nUse a single atomic state variable throughout.\n\nChange-Id: I345981e3ffa3d2b0b7e70a5c6efc43185cba9062\n"
    },
    {
      "commit": "02034d3568fb3b984e8d185d70e18ba19e592ba3",
      "tree": "f17e33269cfecca5687d1175fd3858a1c265ac51",
      "parents": [
        "19eca316ca4a6c3c59f7eb469b33473e0ad0405a",
        "a2d776b2d36b38d94a30fc5692fd71ce9697fe9c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 22 15:55:38 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 22 15:55:38 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: Ie60db5faf407344b8fbe3d5c1e7c01e927ff251e\n"
    },
    {
      "commit": "19eca316ca4a6c3c59f7eb469b33473e0ad0405a",
      "tree": "ec8816d6c5aae0afb1bd9878d15b0cd868297ed8",
      "parents": [
        "23007a0f9b9009d2c550f54a2f22b4569ee752b6",
        "5b4e654d0c7de8e4d58d73e73b0d5220f19b68f7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 22 15:48:42 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 15:48:42 2010 -0700"
      },
      "message": "Merge \"Fix issue 2472495: Phone cannot be set to silent mode via volume keys while Driveabout is taking.\""
    },
    {
      "commit": "23007a0f9b9009d2c550f54a2f22b4569ee752b6",
      "tree": "7826f5a3920195c2689bb91411083da290ae1165",
      "parents": [
        "92e77dd718cc1c378efa0cf3bef737e463225e82",
        "633dfb6da6d70cb369797b42df4bf046fdb3a07f"
      ],
      "author": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Mon Mar 22 15:47:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 15:47:37 2010 -0700"
      },
      "message": "Merge \"Fix some typos and logging of calls to CDMA methods.\""
    },
    {
      "commit": "5b4e654d0c7de8e4d58d73e73b0d5220f19b68f7",
      "tree": "19da1650f66dafc64bb49e2ef1e2d57d04bf4af6",
      "parents": [
        "38390b4592cfdceb6ed21e49e0f22af400acac26"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 19 20:02:21 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 22 15:46:58 2010 -0700"
      },
      "message": "Fix issue 2472495: Phone cannot be set to silent mode via volume keys while Driveabout is taking.\n\nThe problem is that AudioService.adjustStreamVolume() only handles the ringer mode change when the\nSTREAM_RING volume changes from 1 to 0 or 0 to 1. If another stream is soloed, the STREAM_RING stream\nvolume is forced to 0 and then never transits from 0 to 0 when volume down key is pressed.\n\nThe fix consists in considering the saved value instead of current value when ajusting or setting\nthe volume of a muted stream: only the saved value is adjusted too, leaving the stream muted but updating\nthe value that will be restored when it will be unmuted.\n\nAlso changed implementation of stream volume control by setRingerModeInt() to use stream mute feature\ninstead of direct volume control.\n\nChange-Id: Id85d76450b36d61a0fe8195eb4bffe63ffbd427c\n"
    },
    {
      "commit": "77e638dee8b8b0f9c0fcb5403f8c6fb97b52826f",
      "tree": "6cf510ece812db24355634474b6ba26340302734",
      "parents": [
        "ac96fa575f17d4a65e65eddebe805c904fb29c19"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Mar 22 10:35:53 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Mar 22 15:28:09 2010 -0700"
      },
      "message": "Fix Tethering when DUN is required but wifi is ok\n\nIf the phone is configured to require a DUN connection when on mobile but also accepts\nwifi upstream connections, there was a bug in the logic and you\u0027d be left with no\nupstream connection.\n\nbug:2533914\nChange-Id: I30d44764f578be4cf2c29ee90d39e8563dda06fb\n"
    },
    {
      "commit": "633dfb6da6d70cb369797b42df4bf046fdb3a07f",
      "tree": "399df874912987acff2c78fbdaa82750487c94ba",
      "parents": [
        "6460d6e7b9608c00c4d38572b755f2d552a7e105"
      ],
      "author": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Fri Mar 19 14:47:29 2010 -0700"
      },
      "committer": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Mon Mar 22 14:41:43 2010 -0700"
      },
      "message": "Fix some typos and logging of calls to CDMA methods.\n\nFixed some comment typos and cleaned up logging of unexpected calls to\nCDMA-specific methods on a non-CDMA device.\n\nChange-Id: Ia6e5fba765122cbf3186fd9fecca7a3931a76dcc\n"
    },
    {
      "commit": "92e77dd718cc1c378efa0cf3bef737e463225e82",
      "tree": "634a5b6c4e1ba8a4d39110e973db458076ba9cc8",
      "parents": [
        "38390b4592cfdceb6ed21e49e0f22af400acac26",
        "f5bd092b5099cf43f031c3f53ad01592dda57f4b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 22 14:28:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 14:28:36 2010 -0700"
      },
      "message": "Merge \"Improve wakelock debugging:\""
    },
    {
      "commit": "38390b4592cfdceb6ed21e49e0f22af400acac26",
      "tree": "68e329aaf6279b8c57fc34fb640cd19f73dec992",
      "parents": [
        "d6e2cb0525b100cfc68f8cd40019fe671a60eaaf",
        "45b3dcd07ef58164484e3648ec0ddc8fdba8e5d1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Mar 22 14:20:15 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 14:20:15 2010 -0700"
      },
      "message": "Merge \"Fix possible NPE in AdapterView\u0027s OnItemClickListener clients. Bug #2533718\""
    },
    {
      "commit": "45b3dcd07ef58164484e3648ec0ddc8fdba8e5d1",
      "tree": "16d8494877da748c021e135d38d9d466c8941d2b",
      "parents": [
        "ac96fa575f17d4a65e65eddebe805c904fb29c19"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Mar 22 14:12:43 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Mar 22 14:12:43 2010 -0700"
      },
      "message": "Fix possible NPE in AdapterView\u0027s OnItemClickListener clients.\nBug #2533718\n\nChange-Id: I32e72e29a7b4bb8331f2492f5c5b5507d1b3993a\n"
    },
    {
      "commit": "f5bd092b5099cf43f031c3f53ad01592dda57f4b",
      "tree": "b09181d9ab4168d839640d292965ce9c2e1f8e18",
      "parents": [
        "fb0de34a47a435b57075d7a72cbc40a2daf5ee6c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 22 17:10:15 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 22 17:10:15 2010 -0400"
      },
      "message": "Improve wakelock debugging:\n\nThrow NullPointerException if tag is null in PowerManager.newWakelock()\nPrint wakelock owner\u0027s uid and pid in dumpsys power output.\n\nBUG: 2522675\n\nChange-Id: I462c7f8c49f9896b2f58cef5a678ebd2c062a8f7\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d6e2cb0525b100cfc68f8cd40019fe671a60eaaf",
      "tree": "05cb54696422084348bed69eab34db0ea4835b94",
      "parents": [
        "5b494c1ca4c3cf0e0992c59fe34ae66c81e6dcce",
        "bbbb1dc3c33f8fe3ed24bd0baacf1f196cb5addd"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Mar 22 13:59:09 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 13:59:09 2010 -0700"
      },
      "message": "Merge \"Unhide the MediaButton receiver API in android.media.AudioManager\""
    },
    {
      "commit": "5b494c1ca4c3cf0e0992c59fe34ae66c81e6dcce",
      "tree": "48e8da71a10055a64c50282883964f9a98b83921",
      "parents": [
        "0fc140431d620cc7d9f68f43ab3b3a0e36adf224"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Fri Mar 12 20:45:32 2010 +0000"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Mon Mar 22 20:50:16 2010 +0000"
      },
      "message": "Add an API on the Java side to allow WebKit to pause the current load. This is used when the plugin is streaming data but it\u0027s\nbuffer is full. In that case, WebCore instructs the laoder to pause loading to give the plugin a chance to clear it\u0027s buffer and\ncontinue.\n\nRequires an external/webkit change.\n\nChange-Id: Iec96a6325d92e979cbdc53289c2a20cad940ded2\n"
    },
    {
      "commit": "bbbb1dc3c33f8fe3ed24bd0baacf1f196cb5addd",
      "tree": "1ca26588d665af7d49165d9640394db3a7e28671",
      "parents": [
        "47b464a92bd6cc9429a5f535b6d559b599d2e970"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Mar 17 19:08:42 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Mar 22 13:49:30 2010 -0700"
      },
      "message": "Unhide the MediaButton receiver API in android.media.AudioManager\n\nChange-Id: Ic9222b0bf6e2ff481c6aa5f16ac0259fa7a52355\n"
    },
    {
      "commit": "0fc140431d620cc7d9f68f43ab3b3a0e36adf224",
      "tree": "25252f7a4a9c11a1e18b85843b1c05cebf9d0ad0",
      "parents": [
        "2f47989f65144764dd4d3284fadda5677aa9fc8e"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Mon Mar 22 14:00:38 2010 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Mon Mar 22 16:33:07 2010 -0400"
      },
      "message": "Close Cursors in finally blocks.\n\nFix for http://b/issue?id\u003d2533750\n\nChange-Id: I3ebcc6147e4035ce1c4bf6b76a359ce14196e357\n"
    },
    {
      "commit": "a2d776b2d36b38d94a30fc5692fd71ce9697fe9c",
      "tree": "416de081c6994846d08aa79b94ee6101a43717db",
      "parents": [
        "82d8b2806b5dca720ddad1546cd701f36d7073d9",
        "9119caa144c8eafdba986002003521af3aedfe67"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "pixelflinger@google.com",
        "time": "Mon Mar 22 13:17:50 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Mar 22 13:17:50 2010 -0700"
      },
      "message": "Merge \"Updated to WMM2010\""
    },
    {
      "commit": "2f47989f65144764dd4d3284fadda5677aa9fc8e",
      "tree": "f8bd70fc190e3f879bfb747337fe11cb67ab4c6e",
      "parents": [
        "f030462c83a91432b7cf2c699778b63b1e79de72",
        "7179b8133d4a1d8e5f26cbe3da6aa978094e75c9"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Mar 22 13:10:50 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 13:10:50 2010 -0700"
      },
      "message": "Merge \"Adding a hidden method to check if a surface is fixed in size.\""
    },
    {
      "commit": "f030462c83a91432b7cf2c699778b63b1e79de72",
      "tree": "4e46b130f6a1d6f620ae6186c6c56a0658948fdf",
      "parents": [
        "a990ef3abf91ef78ba43da48e0ba702aca293ecc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Mar 19 19:20:42 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Mar 22 13:08:52 2010 -0700"
      },
      "message": "Make trying to remount an asec container non-fatal\n\nIf an asec container is already mounted for some reason, start tracking\nit in the MountService\u0027s internal state and tell the caller we had\nsuccess mounting the secure container.\n\nChange-Id: I5bb0f84b2bafc0cd2dba248c35a8d68fd53ef1b2\n"
    },
    {
      "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": "62a8fc159ad8d8044f3cde6ee6d46e9cc56b823f",
      "tree": "8137c0a75510af3d5e48c6b8ab1ba91e88c1e96c",
      "parents": [
        "fb0de34a47a435b57075d7a72cbc40a2daf5ee6c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 22 14:23:26 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 22 15:14:31 2010 -0400"
      },
      "message": "GpsLocationProvider: Do our work in a Handler running in a separate thread.\n\nTo avoid adding a new thread to the system, we take the functionality that was\nin GpsNetworkThread for downloading NTP time and XTRA data and include this in\nthe new thread as well.\n\nBUG: 2531728\n\nChange-Id: I2a26b7f0aae0c60faceb36dc6bc29c915c039ae6\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "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": "7179b8133d4a1d8e5f26cbe3da6aa978094e75c9",
      "tree": "821f5e6b43ee1256eee960052faead6d25ed7e99",
      "parents": [
        "fb0de34a47a435b57075d7a72cbc40a2daf5ee6c"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Mar 22 13:41:20 2010 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Mar 22 14:27:35 2010 -0400"
      },
      "message": "Adding a hidden method to check if a surface is fixed in size.\n\nChange-Id: I5d719d436aa1475dfb25f26c258a6f417a9b5c1c\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": "82d8b2806b5dca720ddad1546cd701f36d7073d9",
      "tree": "925c78fbdc1b6766b6dfe08bcf0fd90d1a525c91",
      "parents": [
        "239750ff8ee5424d792cb21a99311d95589cc8e1",
        "ed0d1ab2864a62793ec9c0797251e11cec7e850c"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Mar 22 07:07:15 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Mar 22 07:07:15 2010 -0700"
      },
      "message": "Merge \"Everytime Bluetooth was turned off two file descriptors were not closed\""
    },
    {
      "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": "e41c317348cfe23a78bfd97609c3489c6cc4a786",
      "tree": "9e0623b7ca1b129e123a4faf0dc56339877a1533",
      "parents": [
        "ea3e8e0758b6561917ba35baf934ccbf414144b9"
      ],
      "author": {
        "name": "Keith Ito",
        "email": "kito@google.com",
        "time": "Sun Mar 21 14:31:33 2010 -0700"
      },
      "committer": {
        "name": "Keith Ito",
        "email": "kito@google.com",
        "time": "Sun Mar 21 14:41:20 2010 -0700"
      },
      "message": "Advance encodedKeySearchIndex if encodedKey matches a suffix of a parameter.\n\nBug: 2524610\nChange-Id: I51bbf8248133b61825d2ae14afe175cb4d0413b8\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.\""
    }
  ],
  "next": "cd40c355be1f59a43fb75518e48ad650c68c96ae"
}
