)]}'
{
  "log": [
    {
      "commit": "65dd62a306b733b4891aa455b2e099d9c15fffa8",
      "tree": "b25925b21e13ddb153b47e92011a6ef71099ca3a",
      "parents": [
        "1ab60b44e6d1317d168185666b7597ed1c8029d5",
        "ee27dd356e7257f553e8aec74d2c7dcbbde8bd5a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Dec 07 13:17:37 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Dec 07 13:17:37 2010 -0800"
      },
      "message": "resolved conflicts for merge of ee27dd35 to master\n\nChange-Id: Ia9f4ea86b8554ff04a3aa6b9e065239ae73740e7\n"
    },
    {
      "commit": "12902d687fa1bd4bff3c2dfc079c71eacb00eedd",
      "tree": "aa62ab756e61c52df8e02a1ba559da35b04fda11",
      "parents": [
        "1ee2394edd4b90111f8174862c7c0f435e1a3634",
        "78742e01f73d098076f55cf4f40f0a013a3d88ce"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Dec 07 12:47:12 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Dec 07 12:51:49 2010 -0800"
      },
      "message": "resolved conflicts for merge of 78742e01 to stage-korg-master\n\nChange-Id: I0ce429afeb26184f075b4ed326fc4e1c0833e905\n"
    },
    {
      "commit": "dea74b0285ef946cceb4f56e576800cbedbc3a95",
      "tree": "a192ca0dcb201db68feace26c2369cdca404eb3b",
      "parents": [
        "e1de3f390e7be3f82fa5e3e5bf6d6c8cc8414091"
      ],
      "author": {
        "name": "Hakan Gustavsson",
        "email": "hakan.gustavsson@sonyericsson.com",
        "time": "Mon Nov 22 16:08:35 2010 +0100"
      },
      "committer": {
        "name": "Kenneth Andersson",
        "email": "kenneth.andersson@sonyericsson.com",
        "time": "Fri Dec 03 09:47:21 2010 +0100"
      },
      "message": "Strings for NI position request are moved to resources\n\nThe strings used by the framework for network initiated position\nrequests are now string resources that can be properly localized.\n\nChange-Id: If1cba89adb1bfcb9c8fdb59b9c5aa1107b11279e\n"
    },
    {
      "commit": "2a32c493cead3913bc3cb50ff22c4af2b87dbfef",
      "tree": "f00bd75daf534af7c6a9a369967e01c3444ffd73",
      "parents": [
        "bff405f91001237ec94ec64f86fa2370c4509559",
        "cb51c0c7b155a5141a51fc4d3e57792da7e89cc4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 28 18:24:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 18:24:48 2010 -0700"
      },
      "message": "am cb51c0c7: am 3e94b94f: Merge \"Remove old location classes.\" into gingerbread\n\nMerge commit \u0027cb51c0c7b155a5141a51fc4d3e57792da7e89cc4\u0027\n\n* commit \u0027cb51c0c7b155a5141a51fc4d3e57792da7e89cc4\u0027:\n  Remove old location classes.\n"
    },
    {
      "commit": "0f5eee0bf8fbdc7c770301f04a69bcf26864f951",
      "tree": "73666869e48c93449cebabe01fba5a096fc1b8e4",
      "parents": [
        "4f67e1ccf1ae1a855521a307a13a728b8069838f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 28 17:50:50 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 28 17:50:50 2010 -0700"
      },
      "message": "Remove old location classes.\n\nChange-Id: Ib7e883c64996a8bfaaa755d88b855e17e3442e26\n"
    },
    {
      "commit": "f72d1e2129500179f973d46bca571546e1192e3f",
      "tree": "0b01a888426762c8456422f66e5a42a0d4d0b6d1",
      "parents": [
        "c9a9800fa1572c3a25831bdf22f7b4579fd8bd10",
        "e5317fbd48875896e04a34d955edf650f11f9771"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 28 17:40:02 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 17:40:02 2010 -0700"
      },
      "message": "am e5317fbd: am 4f67e1cc: Merge \"Add location shared library for location provider APIs.\" into gingerbread\n\nMerge commit \u0027e5317fbd48875896e04a34d955edf650f11f9771\u0027\n\n* commit \u0027e5317fbd48875896e04a34d955edf650f11f9771\u0027:\n  Add location shared library for location provider APIs.\n"
    },
    {
      "commit": "63c82c027bb3bd2b803e3225c9135c77b1f92b7b",
      "tree": "077aee528f27fcb279d2409b46afa882ad3c0325",
      "parents": [
        "65a5ba45559e88a50c258d794a1728498c248376"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 28 14:24:39 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 28 15:19:29 2010 -0700"
      },
      "message": "Add location shared library for location provider APIs.\n\nFirst part, adding the existing classes in their new library.  The old\ncode will be removed once everything gets switched to using this.\n\nChange-Id: I27b6ad8c75c16f35300090e95f12a7db5608e3a3\n"
    },
    {
      "commit": "537ce32c71284f7bef40371778926f34d41f277e",
      "tree": "fa74b1f1e6db182562a07967c8a5dca951a34dd0",
      "parents": [
        "caa9aa08aaa5d3e879fcccad5c4bcb1c79fba6e3",
        "24956d36f46dd7be0b029a7b2b43c1020ae8a4c5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Sep 20 19:33:58 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 20 19:33:58 2010 -0700"
      },
      "message": "am 24956d36: am 307aef01: Merge \"LocationManager: Hide location provider and geocode provider APIs.\" into gingerbread\n\nMerge commit \u002724956d36f46dd7be0b029a7b2b43c1020ae8a4c5\u0027\n\n* commit \u002724956d36f46dd7be0b029a7b2b43c1020ae8a4c5\u0027:\n  LocationManager: Hide location provider and geocode provider APIs.\n"
    },
    {
      "commit": "e15735a9e0c0b1448b68f2d6b3247404fc1df417",
      "tree": "6fd1cf74181abfc926c730bf451af4cb6b42b49f",
      "parents": [
        "4db643eb8430d063b1adc4ba164bfa1c1281bdf3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Sep 20 17:48:47 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Sep 20 20:14:34 2010 -0400"
      },
      "message": "LocationManager: Hide location provider and geocode provider APIs.\n\nAlso rename Geocoder.isImplemented() to Geocoder.isPresent()\n\nBUG: 3000738\nBUG: 3001413\n\nChange-Id: I56bb4e9a9c59f8b79de585eeb168f74c3ff1a853\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e746f03c6c8b8d0897d322ab524d545ace200fcd",
      "tree": "c994b35c248fe2f75bbb4060b1441289a9cca292",
      "parents": [
        "1510770165b7bc675e5171560e907c0269dbe0fa",
        "53686433a9790bcfe7211a661b26783ee12bb436"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 13 16:02:57 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 13 16:56:10 2010 -0700"
      },
      "message": "resolved conflicts for merge of 53686433 to master\n\nChange-Id: I27004dc464f5771d3205ae5757c6eccc5b16854d\n"
    },
    {
      "commit": "7e9f4eb2608148436cef36c9969bf8a599b39e72",
      "tree": "16351bff3017f948792a6308f4f6698e0a9d769c",
      "parents": [
        "cc5494c9996f809e36539b24e8b6b67683383d29"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 10 18:43:00 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 13 14:20:48 2010 -0700"
      },
      "message": "Track client requests through location manager.\n\nThis fixes a problem where applications could ask the location\nmanager to do very heavy-weight things (like...  say... update\nlocation every minute), which would get accounted against the\nsystem instead of the application because ultimately it is the\nsystem making the heavy calls (wake locks, etc).\n\nTo solve this, we introduce a new class WorkSource representing\nthe source of some work.  Wake locks and Wifi locks allow you\nto set the source to use (but only if you are system code and thus\ncan get the permission to do so), which is what will be reported\nto the battery stats until the actual caller.\n\nFor the initial implementation, the location manager keeps track\nof all clients requesting periodic updates, and tells its providers\nabout them as a WorkSource param when setting their min update time.\nThe network location provider uses this to set the source on the\nwake and wifi locks it acquires, when doing work because of the\nupdate period.\n\nThis should also be used elsewhere, such as in the GPS provider,\nbut this is a good start.\n\nChange-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf\n"
    },
    {
      "commit": "b445946deaad61fc3acaf4760a135fb92d0547b0",
      "tree": "1df9bd63fd9856c36061b779007b0041ca0d4ff1",
      "parents": [
        "3e34d135f7fca756d00ebdc50c55b4f12ef7a328"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 17 07:42:54 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 30 19:42:26 2010 -0400"
      },
      "message": "GPS: Initialize XTRA support when GPS is enabled\n\nBUG: 2923148\n\nChange-Id: If9a643e385c6c567b30f47d4caa35fa812a2ba43\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3e34d135f7fca756d00ebdc50c55b4f12ef7a328",
      "tree": "5246dd3416d22ab0e91f7f672b280514c1361c7c",
      "parents": [
        "12dbee827353ecdb690d27c3f52e26afc71e0774"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Aug 06 10:06:26 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 30 19:38:45 2010 -0400"
      },
      "message": "GPS: Don\u0027t set XTRA download pending flag at boot time.\n\nXTRA data downloads are now strictly on demand from the GPS engine.\nAlso fix typo in handleDownloadXtraData()\n\nChange-Id: Ied1a6e2e62134add4d965326aae909c86f834682\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "59e61354801b378c074b85f0dea0da62481298c9",
      "tree": "422c065e738cbe1e99e5ae35482eede3a3760990",
      "parents": [
        "769690e9ea87e00dee7c15d652333eaa2c6c5264",
        "d71021cb30bd20dabd6783f4235d5f245a7bd1a3"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Aug 27 18:10:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 27 18:10:38 2010 -0700"
      },
      "message": "am d71021cb: am 0c731f99: Merge \"Send broadcast intent when configured location providers change.\" into gingerbread\n\nMerge commit \u0027d71021cb30bd20dabd6783f4235d5f245a7bd1a3\u0027\n\n* commit \u0027d71021cb30bd20dabd6783f4235d5f245a7bd1a3\u0027:\n  Send broadcast intent when configured location providers change.\n"
    },
    {
      "commit": "0c5a04014d3833c9a82772a832d3bc6410fc52ac",
      "tree": "79831e18eee9d29207d199499a9ece7a7068fedc",
      "parents": [
        "445ab76c49779998543bb78881f5d9f8ae81e598"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Aug 27 14:01:23 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Aug 27 14:01:23 2010 -0700"
      },
      "message": "Send broadcast intent when configured location providers change.\n\nSee e.g. http://code.google.com/p/android/issues/detail?id\u003d10042\n\nThis is also needed by the power control widget, which has no reliable\nway otherwise of staying in-sync.\n\nChange-Id: I8f2b6b79b1843329bae952a25ea56f15e3cf92aa\n"
    },
    {
      "commit": "a58a8751b4c2ce457f0082a0baaee61312d56195",
      "tree": "14521164e8ce7f53e55f3af25efa9c4078a8c8b0",
      "parents": [
        "42d8f6f2fbf2d73f01dd485e043bc33b575f9881"
      ],
      "author": {
        "name": "Bai Tao",
        "email": "michaelbai@google.com",
        "time": "Tue Jul 13 15:32:16 2010 +0800"
      },
      "committer": {
        "name": "Bai Tao",
        "email": "michaelbai@google.com",
        "time": "Wed Jul 28 09:45:57 2010 +0800"
      },
      "message": "Add new system service CountryDetector\n\na. The CountryDetector detects the country the user is in\n   in order of mobile network, location, sim card or locale.\n   It will be used by contact and contact provider.\n\nb. All added APIs are hidden at this stage.\n\nChange-Id: I4ba278571ffb6ab6ded0996d4f440a18534f8ed4\n"
    },
    {
      "commit": "f4d207b1c2212d6e9adc3e7954a8d14c6b9abc51",
      "tree": "1dc9c49461ae15e7b6787306a49c4b89f278ee62",
      "parents": [
        "eec69d2923636b2aaa51df93bacc2b3bbb742736"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Jul 17 08:21:33 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Jul 17 08:21:33 2010 -0400"
      },
      "message": "Don\u0027t throw an exception from isProviderEnabled and getLastKnownLocation\n\nif the location provider does not exist.  Instead use the same behavior\nas if the provider were disabled in settings\n(return false for isProviderEnabled and null from getLastKnownLocation).\nThis eliminates for a lot of exception handling around some simple\nqueries to the location manager.\n\nBUG: 2841014\n\nChange-Id: I4fbe0c088e915c90969e13083201dd3e7f4029cb\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8900c32986eb9b06f30ecbe6709857fd2cc7b576",
      "tree": "a932086c9d2da198796151306358444d0c34adca",
      "parents": [
        "2c2ce8e53f5eb94916a5d0f40b2877cc7551870d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 23 14:34:03 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 23 14:34:03 2010 -0400"
      },
      "message": "andriod.location.Criteria: Simplify new location criteria APIs a bit.\n\nRemove ACCURACY_BEST and only use ACCURACY_MEDIUM for horizontal accuracy.\nRemove accuracy priority support, since it be difficult to implement in some cases.\n\nChange-Id: I785a781f8d8f3bf3be6693ad71d077b6eb280c31\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1e11e95f61510ad600b52e2b24c927cada8c2ee4",
      "tree": "c942a4c52990f123fab00e705e4436e2c014432c",
      "parents": [
        "6c537e53cef1b0177a1734e2a5f302d80c0a26f8",
        "01ac80b715881db22bde8b31633dd8a4dc375389"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon May 24 12:59:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 24 12:59:27 2010 -0700"
      },
      "message": "Merge \"Add Geocorder.isImplemented()\" into kraken"
    },
    {
      "commit": "01ac80b715881db22bde8b31633dd8a4dc375389",
      "tree": "2a49fc9e6ff824f729f64bdacb3b48835d99e367",
      "parents": [
        "11c6847d5960edeb0f15d0fd34045c89bd302d41"
      ],
      "author": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Fri May 21 15:43:26 2010 -0700"
      },
      "committer": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Fri May 21 15:43:26 2010 -0700"
      },
      "message": "Add Geocorder.isImplemented()\n\nThe Geocorder interface is not part of the Android core.  It\nrequires a backend service which may or may not be available\non a device.  The new isImplemented static method allows\napps to discover whether the Geocorder is in fact available\non the device.\n\nChange-Id: I2b5cf7bcc9cce4766bcbb156e91edf34b01f9296\n"
    },
    {
      "commit": "965b3d2b84c1ac9ed38c56f818e4f0aae9e138ac",
      "tree": "a4a1c78dfa1d09403f6a63b7811b55c160f65f6d",
      "parents": [
        "0881f4f9339febee85c9ab4cba69970ac5cbde55"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 21 15:19:42 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 21 15:19:42 2010 -0400"
      },
      "message": "Fix broken Javadoc links\n\nChange-Id: I6896d6ec16b522e9e63776c0992ef55a6db82d50\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "71677f84e7705aa48b04829538b954a13cd11dec",
      "tree": "3d5239cffd784bdd02cecf2625dddf60735a8661",
      "parents": [
        "03ca216ac19ea4e7afcb183c20c7c780f0d97756"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 21 14:03:45 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 21 14:03:45 2010 -0400"
      },
      "message": "Unhide new location manager APIs:\n\nCriteria.java\nLocationManager.java\nNew APIs for criteria based location requests and single shot support.\n\nGeocoderParams.java\nGeocodeProvider.java\nLocationProvider.java\nAPIs for network location unbundling.\n\nChange-Id: I3311fa01ce76fe4cba3537617e5b1c8d1f1d42b7\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "03ca216ac19ea4e7afcb183c20c7c780f0d97756",
      "tree": "38e47efa7aeeff99fde78adb5f83446d2407eda0",
      "parents": [
        "4979601f88154bdeda4cc5277940771ba6597c0f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Apr 01 08:10:09 2010 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 21 11:47:19 2010 -0400"
      },
      "message": "New Location Manager APIs for Criteria based requests and single shot mode.\n\nUse MS-Assisted mode for single shot GPS fixes if it is supported.\n\nAdd finer grained control over accuracy to the android.location.Criteria class\nand location criteria logic from LocationManager to LocationManagerService\n\nChange-Id: I156b1f6c6a45d255c87ff917cf3e9726a6d7a75b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e88ae544e3e54958dfb6e866d4444f7f7b5d2d68",
      "tree": "5b58f2e412e6df4379d957feb36e39a36ca1867f",
      "parents": [
        "38a410f12a1cbb5f49cdee6323da898b11c907e7",
        "b6f0cbdcbb566368ebe0468f61de024f644db6e1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 10 13:50:32 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 10 13:50:32 2010 -0700"
      },
      "message": "am b6f0cbdc: merge from open-source master\n\nMerge commit \u0027b6f0cbdcbb566368ebe0468f61de024f644db6e1\u0027 into kraken\n\n* commit \u0027b6f0cbdcbb566368ebe0468f61de024f644db6e1\u0027:\n  Include the API level 4 fields in the Parcel.\n"
    },
    {
      "commit": "b6f0cbdcbb566368ebe0468f61de024f644db6e1",
      "tree": "11652711271f299feede2c21640985b7ba7b4424",
      "parents": [
        "686d9ff53c32ded9b2b02eb9f2040f2030846e51",
        "855a9e6d12e4d42efe336535f9fdf5fc2e14c5d5"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 10 13:48:37 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 10 13:48:37 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: Ia4cbea9d94b2ff34fc8ce97c1fe35ca5898d6c1c\n"
    },
    {
      "commit": "855a9e6d12e4d42efe336535f9fdf5fc2e14c5d5",
      "tree": "f50e4f30ebb435948b96fa8803bd1f1cf80c8a6f",
      "parents": [
        "0a26aaad8b98c3b80be9562503100e925d078749",
        "e6ec57727e2da14a9027293858d97a84b08768b1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon May 10 11:14:01 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon May 10 11:14:01 2010 -0700"
      },
      "message": "Merge \"Include the API level 4 fields in the Parcel.\""
    },
    {
      "commit": "f4dffd8a45386b5a5f0e6de4f30facc9eaac4001",
      "tree": "8bb50f53d5cc0458327cbca8ed93bb5228f188dd",
      "parents": [
        "71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c",
        "af7c978216cec465ad038b579ffc2be3ca8c7c66"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 06 15:18:59 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 06 15:18:59 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I4c28751bd84b41259b12b0f3e3307e11234c8b64\n"
    },
    {
      "commit": "fa94ff074d3200fae2f5d14a6d0f454e2ad23cfa",
      "tree": "cb29be3fc592830ef4ae34c2e93cfcd6eee0bdfe",
      "parents": [
        "69acb6b746c82f88607b3365795ebb3279188eed"
      ],
      "author": {
        "name": "Hakan Gustavsson",
        "email": "hakan.gustavsson@sonyericsson.com",
        "time": "Tue Feb 23 09:12:38 2010 +0100"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Apr 19 16:16:23 2010 -0700"
      },
      "message": "GpsLocationProvider: Store new Location before onGpsStatusChanged is sent\n\nIn reportLocation() the new location is now stored before the callback\nonGpsStatusChanged(GPS_EVENT_FIRST_FIX) is sent. This will prevent users\nfrom getting a faulty location from LocationManager.getLastKnownLocation()\nafter receiving onGpsStatusChanged(GPS_EVENT_FIRST_FIX).\n\nChange-Id: I6c654b2acbf2e216c99058a20f068bf4721a1c7a\n"
    },
    {
      "commit": "a3d2d769833c7b796d073fb4002efe21142a7dc4",
      "tree": "d6a9bb1661f90d6044079338dcede4a9a80ba6a3",
      "parents": [
        "04598b67a58fad93e5060bb77756ba4863013aed"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Apr 14 18:55:41 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Apr 14 19:38:26 2010 -0400"
      },
      "message": "GpsStatus: Bounds check PRN to avoid array indexing exceptions.\n\nChange-Id: Iea8b525dd8681f32cb7ce7415dad0ec665d9016d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "00b74270c9f136a8727c5f6cda0997a3a905f385",
      "tree": "57e8b7aa5d09ef5909326e952e04367d24c291e7",
      "parents": [
        "5b53244a4e6c81b5346cde22fabbbefe5b472cf7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 26 10:41:48 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Apr 04 18:44:05 2010 -0400"
      },
      "message": "Move files internal to LocationManagerService from framework.jar to services.jar\n\nChange-Id: Iebbfc49b8300ab59730733efdf489ec87ea45a25\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "5b53244a4e6c81b5346cde22fabbbefe5b472cf7",
      "tree": "a64de313b3e4ebe22b3efa41fdb7312e6be5c142",
      "parents": [
        "79e642e8ed75033eacc461633a8f4cd5157d25df"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 17 23:28:36 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Apr 04 18:44:05 2010 -0400"
      },
      "message": "GpsNetInitiatedHandler: whitespace cleanup\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "79e642e8ed75033eacc461633a8f4cd5157d25df",
      "tree": "ebc3346802f4868d9dae41e10003b2c0e893d2b7",
      "parents": [
        "a9d0771377a1208cfaab7c7b2bf68332ab370f49"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 17 23:19:25 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Apr 04 18:44:05 2010 -0400"
      },
      "message": "Call LocationManager.sendNiResponse() instead of calling directly to GpsLocationProvider\n\nChange-Id: I6a5b47abb0519f5228d29bc3340bb2490564803e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "89096317104722219f73a5c3cc424e6e98c90a61",
      "tree": "60b9f9c80ab3e93234908ab739eeb1cad1e244ef",
      "parents": [
        "7f49b9e47416808d7ef5de77b4094fd83f50134d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 24 10:14:55 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 24 12:38:42 2010 -0400"
      },
      "message": "Wait until GpsLocationProvider is fully initialized before returning from the constructor.\n\nOtherwise we are left with a race condition that might result in the provider\nbeing called before it is ready.\n\nBUG: 2539392\nChange-Id: I05f4a2501c43d5fa95c0e68f5a963015cf9c6e8f\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "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": "69d63446d868ea7b33d6b7c1b5e267693a09c127",
      "tree": "9dbbcc11a9f9eea4e9c30c15c2f76204f62e87c2",
      "parents": [
        "6c261f327a58ebf1393ef94c9228d11771fe65cc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 17 22:36:15 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 17 22:36:15 2010 -0400"
      },
      "message": "Remove unused file NmeaParser.java\n\nChange-Id: I8027b98ccf1271870243ced8a7ccc61d25a224b2\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3c8fbdf5dd19fad0b3006557716ee1026d7d5899",
      "tree": "d80caab324d5b8addf49e6ee9ee6ecdd1e03fecc",
      "parents": [
        "83835359e51ddb8be37cea9bf4bb32f9390d82b7"
      ],
      "author": {
        "name": "Fred Fettinger",
        "email": "fred.fettinger@motorola.com",
        "time": "Mon Jan 04 15:38:13 2010 -0600"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Mar 07 09:29:15 2010 -0500"
      },
      "message": "location: dump LocationProvider internal state\n\nFor each location provider, call getInternalState() to see if it has any\nstate information to include in a bugreport. If the returned string is not\nnull, then print a header with the provided name followed by the returned\nstring.\n\nChange-Id: I0a388d7fba14ac8cadcb80eda0a0ceb95032410b\nSigned-off-by: Fred Fettinger \u003cfred.fettinger@motorola.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "689e449b244703335a27b076133377a192d6e36d",
      "tree": "ebb3e7bc86f27a0c8db8b9111ff36a0d775567c9",
      "parents": [
        "687c44f2f02cecc4103c611ead225f990402d1af"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 03 15:35:13 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 03 15:35:13 2010 -0500"
      },
      "message": "Check for null provider in LocationManager.getProviders()\n\nChange-Id: I294ce0b1f364cfdf956ac55260f9d40f0704b5f7\nBUG: 2485977\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8754be5cac3aca54f83e2eb2c199bc01e934034e",
      "tree": "1a13c8ad2479a358d1ee12d6136c5054074e95a8",
      "parents": [
        "bd80e560ac09c42b8081fe555d74a922ebca080a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 02 19:39:50 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 02 19:39:50 2010 -0500"
      },
      "message": "Hide GeocoderParams class from public API.\n\nThis does not need to be publc until we unbundle the network location provider.\n\nChange-Id: Ib4109d2392624242eee33f271a8151588e3f0c56\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "2269d1572e5fcfb725ea55f5764d8c3280d69f6d",
      "tree": "7ce0788be6d85972d42ee7135cdce82aa323fcc7",
      "parents": [
        "e46145f7c114b9ac6d19c6a7886e9239463f91e1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 24 19:54:22 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 25 11:39:33 2010 -0800"
      },
      "message": "Re-arrange android-common so framework no longer links with it.\n\nThis is the framework part, moving classes around so the framework\nno longer needs to link to android-common.  Makes some APIs public,\nothers that didn\u0027t need to be public are private in the framework,\nsome small things are copied.\n"
    },
    {
      "commit": "b7be5447a002b4a1cf7d4030cc8a0a330cd7517c",
      "tree": "60fbdbeb8fc454b347411e435c1a1663b0957c67",
      "parents": [
        "63598a0619776b421f27cd12fb29eb83dc327997"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 24 14:34:50 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 24 14:44:18 2010 -0500"
      },
      "message": "GpsLocationProvider: Be less aggressive about getting fixes in bad conditions if we have a long fix interval.\n\nChange-Id: I68bd884409ca15e584ab70e53cf142d60f318d9c\nBUG: 2215714\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "63598a0619776b421f27cd12fb29eb83dc327997",
      "tree": "bd729629acb4eac8663a769cb73a133f8be15b44",
      "parents": [
        "6c0df0b47328655aa450f406ffb39fda5703a55c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 24 11:52:59 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 24 11:56:33 2010 -0500"
      },
      "message": "Fix broken location extras in GpsLocationProvider.\n\nFixes http://code.google.com/p/android/issues/detail?id\u003d4151\n(Satellite count not being provided by Location class any more. Location.getExtras() returns null.)\n\nChange-Id: I4cf2922f4a5ed216541f8a8553523d1f6a1c1d0c\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a4903f254b4711c8fc0ac5f7e3d605f4dce34f35",
      "tree": "e43cd5c8258315768da788f390d230a105920154",
      "parents": [
        "c6a0a9cb67930f7259f3f019e8fba22b07a906bf"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 17 06:42:23 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 17 18:36:40 2010 -0500"
      },
      "message": "Add passive location provider.\n\nThe passive location provider allows receiving location updates without\nactually triggering them.  This allows an application to receive location\nupdates that are being generated due to other clients of the location manager.\n\nChange-Id: Ibf7a96b089c56875d4f62d3210252ae8d9f32768\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d03ff94fe58045b5bd1dd783fb98026778a4265d",
      "tree": "c35d201ab498f23f075f1c48ce4ce3ce55e9f2e4",
      "parents": [
        "ca35953c9064114cb09181e8bffddb2f7c2d8d53"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 09 08:46:14 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 10 09:41:25 2010 -0500"
      },
      "message": "Clean up interface between LocationManagerService and the location providers:\n\nLocationManagerService now uses new Java interface LocationProviderInterface\nrather than LocationProviderProxy to refer to location providers internally.\n\nLocationProviderProxy and the ILocationProvider binder interface are only\nused for location providers implemented as services (NetworkLocationProvider)\n\nBuilt-in location providers (GpsLocationProvider and mock providers) now just\nimplement LocationProviderInterface rather than using a Binder interface and proxy object.\n\nDelete obsolete and unused TestLocationProvider class.\n\nChange-Id: Id800e7c1864f7c666f8e37125c05896493b9c8c4\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "628fd6d9c11ed9806abebf34bc986247c106328f",
      "tree": "402876b69159436587770bc8754f6a66d02326ed",
      "parents": [
        "53bd2522ca7767f46646606123b6e2689b811850"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jan 25 22:46:13 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 08 23:20:27 2010 -0500"
      },
      "message": "Network Location unbundling:\n\nThe network location and geocode provider services are now started on demand\nand their interfaces are now retrieved via bindService().\n\nRemove obsolete LocationManager installLocationProvider() and installGeocodeProvider() methods.\n\nAdd abstract class android.location.provider.GeocodeProvider to provide a public wrapper to\nthe IGeocodeProvider Binder interface. Replaces the LocationManager.GeocodeProvider interface.\n\nRename LocationProviderImpl to android.location.provider.LocationProvider.\n\nMove LocationManager.reportLocation() to android.location.provider.LocationProvider,\nso all methods related to external location providers are now all in one class.\n\nAvoid calling from the Location Manager Service into providers that are disabled so we\ndo not start the network location service unnecessarily.\n\nChange-Id: If3ed2d5d62b83ba508006711d575cad09f4a0007\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ad9bcb22d05fbf130ac64254abd51a137e9a3d3f",
      "tree": "51ef94ac11b8822b27b06da4669375863ece12b8",
      "parents": [
        "0af0449301e72a52beeed8f26021e5460004d67a",
        "7d039fbe07687c9046b23b9a3735fe8f95906dde"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 05 13:55:16 2010 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 05 13:55:16 2010 -0800"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "8ab11f87acf01b830ad0db46ec549406b33c39de",
      "tree": "462c3dc1cc93b608abe6101bb1abea9081e734e0",
      "parents": [
        "c2a6738215af95bc50639e43c8f9291a0d521b37"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 02 11:41:52 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 02 13:26:52 2010 -0500"
      },
      "message": "Fix for GPS engines without separate session and engine status events.\n\nGPS_STATUS_SESSION_BEGIN now implies GPS_STATUS_ENGINE_ON\nand GPS_STATUS_ENGINE_OFF now implies GPS_STATUS_SESSION_END.\n\nChange-Id: Ifeeb1d5094d1e7304974b7c3ac27dd83b1e65bca\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c2a6738215af95bc50639e43c8f9291a0d521b37",
      "tree": "64b91ac50e1ca2dfd16d7abad2d5bf54ed68fa40",
      "parents": [
        "2f3a615feaa1286612576bc15f6bd8cae011301f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 20 10:14:54 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 02 13:26:33 2010 -0500"
      },
      "message": "Be tolerant of GPS session and engine on status messages arriving out of order.\n\nBUG: 2366194\n\nChange-Id: Iac152cc46f3647e12c9077f1bfa4183f19ac94b6\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "2f3a615feaa1286612576bc15f6bd8cae011301f",
      "tree": "19500de36cbdbd547198df0f4ec4335293e0c8ee",
      "parents": [
        "19563cc278446c2df7a2df6d5f7c89f43228c437"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Dec 07 18:43:36 2009 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 02 13:21:21 2010 -0500"
      },
      "message": "GpsLocationProvider: Do not release wakelock until the GPS engine is fully off\n\nChange-Id: I705b1d33af2d70aa1084cca8f6280fade9461d2c\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "271f9f172b241607b1ed39a7709c3ed47ee5dee7",
      "tree": "ed12a67b3487768ba693115c40686b8f2d7af9bc",
      "parents": [
        "5310b36a3710f0e298b944a74759ae8ce3af755c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 02 11:41:52 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 02 11:41:52 2010 -0500"
      },
      "message": "Fix for GPS engines without separate session and engine status events.\n\nGPS_STATUS_SESSION_BEGIN now implies GPS_STATUS_ENGINE_ON\nand GPS_STATUS_ENGINE_OFF now implies GPS_STATUS_SESSION_END.\n\nChange-Id: I7217dc5213ae9a5658ac81b0a14b61d3e36ca0f6\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "5310b36a3710f0e298b944a74759ae8ce3af755c",
      "tree": "38dfbf076ed941cf43fd55dc81d93af2e54dad99",
      "parents": [
        "5e7bb0a9cafc5e90bf451faa5722bb80fb4294e9",
        "21875ab33291d4c25bd9701e7ac51c589e665177"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 02 09:15:37 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 02 09:15:37 2010 -0500"
      },
      "message": "resolved conflicts for merge of 21875ab3 to master\n\nChange-Id: I447e813b3ec460bbc9050de6b95bd663bb33c86f\n"
    },
    {
      "commit": "56fcd69b14610e5ae7fc08f285c7b57585723c5a",
      "tree": "beadf635b9c335f3e35283a9ca886f5be8c9e69f",
      "parents": [
        "2cd543aad5cc38fb3e7158f1cc5080c7e9ff5d24"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 01 15:34:52 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 01 15:34:52 2010 -0500"
      },
      "message": "Remove unused method LocationProviderImpl.isEnabled().\n\nThis should have been removed in my previous change.\n\nChange-Id: I3a080888f995e77a61e3ebf1c194ccd65686af1e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "2cd543aad5cc38fb3e7158f1cc5080c7e9ff5d24",
      "tree": "c1f3027d539fabb90d75a345df4e668d4fbfe09c",
      "parents": [
        "3ff37c1d48e2347bb8e20b5b433543064a36f50a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 01 12:16:35 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 01 12:18:59 2010 -0500"
      },
      "message": "Remove ILocationProvider.isEnabled() binder call and use cached value instead.\n\nChange-Id: Id6a9f6d2e2f5cc5810a2beeb0f869f06e2d18860\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1a44d5dcabc18cd5ef111f732ccff91683a1a093",
      "tree": "e370267a65ba54a43e3026ff9b282cc4e3dad869",
      "parents": [
        "35ec7863e18ce3d242010b76a50df5a8c285325b"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 13 10:42:43 2010 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Fri Jan 29 13:35:51 2010 -0800"
      },
      "message": "Phase 2 of test cleanup: moving test files from AndroidTests closer to their sources.\n\nMost of these are file moves; a couple notable exceptions are the changes due to the move, and fixing up test code:\n- database/DatabaseCursorTest.java\n- database/DatabaseStatementTest.java\n- net/UriTest.java\n"
    },
    {
      "commit": "f1218be2d8f68f3f445f3bc90e0eca01946a0ddf",
      "tree": "c1da99490fa5d347bf6068173556bc4d78d1f533",
      "parents": [
        "196ec566b39340942f146ce4a9af775f4c648d2d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jan 29 09:20:06 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jan 29 09:20:06 2010 -0500"
      },
      "message": "Ignore NTP time fixes that differ from system time by more than 5 minutes.\n\nChange-Id: I603195f6925e25baccd18190016cf8611bb9dc1b\nBUG: 2402380\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "22e31e5b609136d5bf7d77b1dccd6b042b83ebdf",
      "tree": "d42bca2b4b406fa1fda149365985a25e2692b2dc",
      "parents": [
        "9ecaf8b8da6a556be6143b74b9e77cf4e08ff1e8"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Thu Jan 07 10:14:05 2010 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 27 13:36:38 2010 -0800"
      },
      "message": "Moving framework core tests closer to their source files.\n\nPhase 2 of test case cleanup; distributing CoreTests files closer to their respective sources under frameworks.\n"
    },
    {
      "commit": "345bf168db1534685232ef809c5669be6c65a949",
      "tree": "83841a927782c90eecfa97b68eb5143c8cb27f40",
      "parents": [
        "92da0b4453b46f314a9acdc60302cf196ff0d1fe",
        "47d302a001c71f90bee8dc31d868b463a47f2d51"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Jan 22 17:04:47 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 22 17:04:47 2010 -0800"
      },
      "message": "am 47d302a0: am bb79e5fd: Merge \"Be tolerant of GPS session and engine on status messages arriving out of order.\" into eclair\n\nMerge commit \u002747d302a001c71f90bee8dc31d868b463a47f2d51\u0027\n\n* commit \u002747d302a001c71f90bee8dc31d868b463a47f2d51\u0027:\n  Be tolerant of GPS session and engine on status messages arriving out of order.\n"
    },
    {
      "commit": "e6ec57727e2da14a9027293858d97a84b08768b1",
      "tree": "ecf1834d6fba3aecd36ffde10589bb78a9ba8efc",
      "parents": [
        "19563cc278446c2df7a2df6d5f7c89f43228c437"
      ],
      "author": {
        "name": "Paul Watts",
        "email": "paulcwatts@gmail.com",
        "time": "Tue Jan 19 15:53:11 2010 -0800"
      },
      "committer": {
        "name": "Paul Watts",
        "email": "paulcwatts@gmail.com",
        "time": "Wed Jan 20 17:04:08 2010 -0800"
      },
      "message": "Include the API level 4 fields in the Parcel.\n"
    },
    {
      "commit": "cf1d8cb36fade2bfbfb94af371de23684e0f7ac7",
      "tree": "d86420ed6ee06bab3da2539b9878e3dcdfb7ac2d",
      "parents": [
        "5615ca1979caa79041bf16a2cae49f9cfadd7ee5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 20 10:14:54 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 20 10:20:54 2010 -0500"
      },
      "message": "Be tolerant of GPS session and engine on status messages arriving out of order.\n\nBUG: 2366194\n\nChange-Id: I642dacd397202f671adba5a863394438ca62988d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "52eab1c7601862d94c90366878088e072b1c6017",
      "tree": "4a7af6e47f21069dac1ce2764b04dc07a87afac2",
      "parents": [
        "3b06c9f3dda91dbbf567f3163da1ac9648221f14"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Jan 10 22:25:31 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jan 11 12:32:50 2010 -0500"
      },
      "message": "Unhide LocationManager APIs needed for unbundled location providers.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f5d95cbc1a6974afeb4d3155bdaa8dae55722a39",
      "tree": "a999860303c704ecfd8ac0848a005fc0b8447dc3",
      "parents": [
        "51d3e798985944a3be1aafb1e01216a6627625e0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jan 07 21:48:32 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jan 08 15:46:24 2010 -0500"
      },
      "message": "less log spew\n"
    },
    {
      "commit": "be5ed378d94d9df6ab7588da13a004849cffe03b",
      "tree": "fb8014dc33670e6d207e92d9d6ab4244977cdd8a",
      "parents": [
        "9d2f7a7d66d1802f2f25ad6a556063ea9340f8c8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 06 23:15:33 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 06 23:15:33 2010 -0500"
      },
      "message": "Fix broken Javadoc link.\n\nChange-Id: Ia72dc3dccf95f95c6847eb52d8b210ed774a804b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9d2f7a7d66d1802f2f25ad6a556063ea9340f8c8",
      "tree": "4e1c3b5adbb40f8957507602a5acdcdeb6775c1f",
      "parents": [
        "0caa13b257935d2ed436ed0b05f6144c5f48a23c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 06 10:15:58 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 06 22:35:46 2010 -0500"
      },
      "message": "Add LocationManagerImpl class to act as a public wrapper for the ILocationProvider interface\n\nLocation providers implemented outside of the core android platform (like network location)\ncan subclass LocationManagerImpl to implement the location provider interface\nwithout being bound too tightly to the location manager internals.\n\nChange-Id: Id193d4d09f9a14bea13e81af03c914074cd37cb9\n"
    },
    {
      "commit": "34901409a404c8c66914c5a8ad0f29b1bcde0e78",
      "tree": "acb354a4cc41207692e486a84d9541925a15e8e6",
      "parents": [
        "3e7b44fade95848a717b0f4d1b7365ce72e885ed"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jan 04 12:14:21 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 05 23:39:29 2010 -0500"
      },
      "message": "Cleanup and add public wrapper for IGeocodeProvider interface to prepare for network location unbundling.\n\nChange-Id: I6523d115b56dbf450121e73d48e151f200827eb4\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7762d93621f508f4410fd37b5bbdfec0071b0420",
      "tree": "1429bfabf0ebbc77c5bd2e924d46530e96db981b",
      "parents": [
        "b6ddc7ae3507f0e1ea9a76c76f829bc8b26a292c"
      ],
      "author": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Fri Dec 11 14:13:48 2009 -0800"
      },
      "committer": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Mon Dec 14 09:24:09 2009 -0800"
      },
      "message": "Unbundling work\n\nMoved AndroidHttpClient, Rfc822InputFilter, Rfc822Validator\nNumberPicker, NumberPickerButton to android-common\n---\n"
    },
    {
      "commit": "dbd6fd8ebb60dd7bb243f9c78db994a8e7e5b5c9",
      "tree": "8dd0662bdb926020b60f72ea62e26802a852e3e7",
      "parents": [
        "0019215fc395ef12c191049b1903eeabf70859cf"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Dec 07 18:43:36 2009 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Dec 07 18:46:55 2009 -0500"
      },
      "message": "GpsLocationProvider: Do not release wakelock until the GPS engine is fully off\n\nChange-Id: I705b1d33af2d70aa1084cca8f6280fade9461d2c\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9db3d07b9620b4269ab33f78604a36327e536ce1",
      "tree": "41e294f34b9695187af098cd42167489fb0c8fb0",
      "parents": [
        "6c63ee4fc4acae4bbbbd2a49e0a68206221f0de0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Nov 12 18:45:53 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Nov 13 13:53:39 2009 -0800"
      },
      "message": "eclair snapshot\n"
    },
    {
      "commit": "03d246779ea65fc2bd10d0b4f32620f45211133a",
      "tree": "c0bba5558070d24e11c324af60f716f580229703",
      "parents": [
        "9d5b58991ef90e91b3c942c80ae3502ed62d10aa"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Oct 08 15:45:03 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Oct 08 17:24:21 2009 -0400"
      },
      "message": "GPS: Fix problem with SUPL when SUPL APN is already active.\n\nUse ConnectivityManager.CONNECTIVITY_ACTION broadcast in LocationManagerService\nto notify GPS when SUPL connection is ready instead of TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED,\nwhich is not sent in all cases.\nExpand LocationProvider.updateNetworkState() to include NetworkInfo object.\n\nFixes bug b/2155661\n\nChange-Id: Iee227ace7d536b36cf7973e3e6a8b7a621ce6565\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9aa1fa2d3612d1d8ffeae6552d65669f4ca194d9",
      "tree": "21545e2ec4c53e65147b3f4129afd16b4e3fe89d",
      "parents": [
        "3a76fd627945c1df59aa0318867401e0e53da022"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Sep 01 07:51:15 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Sep 01 07:51:15 2009 -0400"
      },
      "message": "LocationManagerService: Remove caching of last known locations to flash.\n\nChange-Id: Ibbab20a7c48823fb74c2e175824f55248f25bf8a\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "22d1f9fb23015471de6af1a70e40fb5c82ecb665",
      "tree": "0952ea04b5b0059aa48812f76e26599946e605c2",
      "parents": [
        "0409cde3601131caf14c88d132c65d74774bbd79"
      ],
      "author": {
        "name": "Danke Xie",
        "email": "dankex@qualcomm.com",
        "time": "Tue Aug 18 18:28:45 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 27 14:18:30 2009 -0700"
      },
      "message": "gps: Network initiated SUPL\n\nInitial contribution from Qualcomm.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "660bbfcc54d48d5d32e64da683c76b9c372c19b1",
      "tree": "c447abf2184d4851acd960f18d5effcabd0f569c",
      "parents": [
        "02901eb7f21751b8a9486ffa9f50531bd59133a2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 25 16:01:37 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 25 16:01:37 2009 -0700"
      },
      "message": "GpsLocationProvider: Default to AGPS on if the setting is missing.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "640992dec96fa88f0bbd42c6a02902640a000b35",
      "tree": "c2e3d4130f2230557b5f5fc7b8776b8bb041a1df",
      "parents": [
        "509ca0792b7cb14ddcea7d2c7e83159d0621e725"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 06 15:52:55 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 06 19:19:45 2009 -0400"
      },
      "message": "gps: Unhide GpsStatus.NmeaListener interface for receiving NMEA sentences\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b16e7800be4f879135f239f1f8f586f3712df01e",
      "tree": "d3c41d32ac4341d66d9e042612237c13ab49e879",
      "parents": [
        "d4f09592f721e6358fdadbdf363f034f842f860d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 06 09:26:02 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 06 15:05:07 2009 -0400"
      },
      "message": "gps: Add GpsStatus.NmeaListener interface for receiving NMEA sentences.\n\nNMEA sentences are passed from the GPS engine to the GpsLocationProvider.\nThey are then sent via the IGpsStatusListener binder interface to clients\nusing the same path as the other GPS status information.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a8675f67e33bc7337d148358783b0fd138b501ff",
      "tree": "71fb9d10330ef9161b3ead71d01074b3ef9e53ba",
      "parents": [
        "cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jul 29 14:25:07 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jul 29 14:25:07 2009 -0700"
      },
      "message": "donut snapshot\n"
    },
    {
      "commit": "734d6031a662a275ec68627bd1258159041d44de",
      "tree": "15a382ca4666c6a7875fcd876fa4a2d99365b9c5",
      "parents": [
        "6c70a8b76b636a4cc68aa0045205202d8fae8232"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jul 28 18:30:25 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jul 28 18:33:41 2009 -0700"
      },
      "message": "GPS: Don\u0027t call native_set_agps_server() until after we call native_init().\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f",
      "tree": "6510f35ad004f1a4640b48264c290926e8596d7a",
      "parents": [
        "4cf03d381b2dff908857fceff0bec445f8d44f36"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jul 21 11:16:54 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jul 21 11:16:54 2009 -0700"
      },
      "message": "donut snapshot\n"
    },
    {
      "commit": "2bb99d1e2f0296dd8b09a451575f70f49da30a1b",
      "tree": "6d7fd5e0bfe66b19aa378f2cbe3ae71029ade2fa",
      "parents": [
        "2e661a7c03be9c596423b18243c8a4ee3a67b8fe"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jul 17 10:56:56 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jul 17 10:56:56 2009 -0400"
      },
      "message": "GpsLocationProvider: remove mAgpsConfigured configured flag.\n\nThis flag was unnecessary because the lower level GPS code already checks for this\nand this was causing problems for a GPS implementation that does not use /etc/gps.conf\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "334a67740c9f7f35fa9ee93cf0f8051d41ce2d7a",
      "tree": "e7bcf93c2ac804030b8f69192aa06818adc4a47b",
      "parents": [
        "dace230043314d6fab1c5ced4b031eaccd814c25",
        "b82759a051f55852dabe201ad3354ea9b7b2979d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 14 12:54:41 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jul 14 12:54:41 2009 -0700"
      },
      "message": "am b82759a0: Merge change 6906 into donut\n\nMerge commit \u0027b82759a051f55852dabe201ad3354ea9b7b2979d\u0027\n\n* commit \u0027b82759a051f55852dabe201ad3354ea9b7b2979d\u0027:\n  location: Add sub-locality, sub-thoroughfare and premises fields to Address class\n"
    },
    {
      "commit": "8cd1084ed1138b9c8b7ff5370ab404c8bb559dd2",
      "tree": "c6a7043ece0ffbbd1d206a5251522669929f27c0",
      "parents": [
        "c1d82e68eb4aae1b575e82b08e71a87670cc1532"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 13 07:41:56 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jul 14 14:41:22 2009 -0400"
      },
      "message": "location: Add sub-locality, sub-thoroughfare and premises fields to Address class\n\nThis is required for fully describing locations in Japan.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "55ed4914de69f30c1067bf1894b193f89dfd53b3",
      "tree": "0f04fbe2a0e07de1d026bead74072f1cb2dbbe37",
      "parents": [
        "507f8ed2e05f97b20307b900fbc7308e0f8fdb83"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kenny@the-b.org",
        "time": "Tue Jun 09 12:12:39 2009 -0500"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jul 07 12:42:51 2009 -0700"
      },
      "message": "Fix typo in Javadoc for LocationManager.GPS_PROVIDER\n"
    },
    {
      "commit": "0d0012ef1617170701b9cd7492ef04ac47bfb5ca",
      "tree": "01b85c97f37b1356b723187578157e4f443de4c8",
      "parents": [
        "1c502a4624859289c1000af6be8bea1aacee41bd",
        "54af78a3f7064e04d7ebd64c985d4149f9f7b05c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 15:23:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 02 15:23:56 2009 -0700"
      },
      "message": "am 54af78a3: Merge change 5950 into donut\n\nMerge commit \u002754af78a3f7064e04d7ebd64c985d4149f9f7b05c\u0027\n\n* commit \u002754af78a3f7064e04d7ebd64c985d4149f9f7b05c\u0027:\n  Fix memory leaks in system_server\n"
    },
    {
      "commit": "fff2fda0199dedbf1079454dca98a81190dce765",
      "tree": "c45c5960e5c3469b36b5d728378a1aa901d1ec4e",
      "parents": [
        "c56096fe1fe3486102079f06ca5de3e2bef12e47"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Jun 30 21:36:16 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Jul 01 12:55:30 2009 -0700"
      },
      "message": "Fix memory leaks in system_server\nunlink DeathRecipients in a whole bunch of places to avoid memory leaks\n"
    },
    {
      "commit": "bcab8df83e6e769a7cbcc742e72b47d665998793",
      "tree": "977a714f787c861e480c4dfc0893ed7109b089b4",
      "parents": [
        "8b81160054184d7cbddeab3bae9a7a53e44c9e77"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jun 25 16:39:09 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jun 25 17:15:32 2009 -0400"
      },
      "message": "Settings: Add preference to enable/disable assisted GPS.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3618160a1a10ab7574f14e0e5a45fe79ec660a64",
      "tree": "1ee8d98eeee9c33fce3e8638d7f1e0b1baab700c",
      "parents": [
        "03e53b4a6601823622dc9316f4c57899269b2349",
        "2e418428987132ea66533cbc05f9c526eb59519a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 23 13:08:40 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 23 13:08:40 2009 -0700"
      },
      "message": "am 2e418428: Possibly fix an issue where we thought an app was always using GPS.\n\nMerge commit \u00272e418428987132ea66533cbc05f9c526eb59519a\u0027\n\n* commit \u00272e418428987132ea66533cbc05f9c526eb59519a\u0027:\n  Possibly fix an issue where we thought an app was always using GPS.\n"
    },
    {
      "commit": "2e418428987132ea66533cbc05f9c526eb59519a",
      "tree": "b8ea1812f8e1514f960cb88fc496e25c718707e4",
      "parents": [
        "61ab270c17094ef1373f54d8fb9ade6d287c3a60"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 22 20:00:17 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 23 12:51:06 2009 -0700"
      },
      "message": "Possibly fix an issue where we thought an app was always using GPS.\n\nThere may be some race conditions in the gps provider where it can cause a uid\nto be double booked for gps usage and never released.  Address this by tweaking\nsome locking (so mLocation and the uid array are protected by a lock both when\nreading and writing).  Also add some code to log a warning if someone tries to\nnote a particular uid multiple times, since the code will break in that case.\n\nFinally, fix a problem in the battery stats where we weren\u0027t allowing a new Uid\nstructure to be created in many cases for calls coming in.\n"
    },
    {
      "commit": "15d748659df12d05289a00a850547b241470a959",
      "tree": "cd8a63103027a9c3eedec4027f3d1c5442e6eca3",
      "parents": [
        "4527acb0c39258792ae55604cb4d71006bf8d938",
        "cde13e6bfa6465d5770755892e2ee234a1f85d5c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 13:24:50 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 22 13:24:50 2009 -0700"
      },
      "message": "am cde13e6b: Merge change 4954 into donut\n\nMerge commit \u0027cde13e6bfa6465d5770755892e2ee234a1f85d5c\u0027\n\n* commit \u0027cde13e6bfa6465d5770755892e2ee234a1f85d5c\u0027:\n  gps: Check for null APN name to avoid a runtime restart.\n"
    },
    {
      "commit": "b362a9ab91bb4c05ef1d5c4e7019499257c7f849",
      "tree": "0ec842520209c12ce2e391881f65e514ea834851",
      "parents": [
        "ecfb9f91afa49df7b9b62526dcaca431b5ff1e01"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jun 22 16:20:39 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jun 22 16:20:39 2009 -0400"
      },
      "message": "gps: Check for null APN name to avoid a runtime restart.\n\nWe still need to figure out how the APN name is getting set to empty string\nby the telephony code.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "84c4335f86555059729460c1be94a1579f485315",
      "tree": "a4a19730fc83c3c42fca85c4e9ad0afc8250b51e",
      "parents": [
        "d0b47a1740408d4e97d03765d41c39313791f943",
        "f781b39cb89dc19e6ad090bd3eb1bedbe7928429"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 12:12:18 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 19 12:12:18 2009 -0700"
      },
      "message": "am f781b39c: Merge change 4786 into donut\n\nMerge commit \u0027f781b39cb89dc19e6ad090bd3eb1bedbe7928429\u0027\n\n* commit \u0027f781b39cb89dc19e6ad090bd3eb1bedbe7928429\u0027:\n  gps: Set SUPL server via hostname rather than IP address.\n"
    },
    {
      "commit": "a9e546169b3c2c9c5f248d2f3abe3b934f48695d",
      "tree": "ca6b5b01b76e239c021903981f6a246e9566af9c",
      "parents": [
        "649f99e8347984c1e031dae302830f4c9ebd3df4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jun 19 14:54:42 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jun 19 14:54:42 2009 -0400"
      },
      "message": "gps: Set SUPL server via hostname rather than IP address.\n\nThe GPS engine needs the hostname for the secure SUPL case\nand deferring the DNS lookup to the HAL might be helpful in the future\nif the SUPL server is on a carrier\u0027s private network.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "989895e43f59e00fe0f07ac3dd6e373258caf693",
      "tree": "ef2d4c13e80add0a157c679c4f6e873907ece171",
      "parents": [
        "d881dc7d6aafd08b8a82edddd2735dc411c9ab43",
        "fa699ea22a13a92694de75ef948a81da23e71642"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 11:41:38 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 11 11:41:38 2009 -0700"
      },
      "message": "am fa699ea2: Merge change 3899 into donut\n\nMerge commit \u0027fa699ea22a13a92694de75ef948a81da23e71642\u0027\n\n* commit \u0027fa699ea22a13a92694de75ef948a81da23e71642\u0027:\n  GpsLocationProvider: Add hooks for GPS location injection.\n"
    },
    {
      "commit": "d26ce0d903f5141a346d67b2b94437ef3e2880aa",
      "tree": "f6982f2058ed1d61eeb13906f2703f0c459789e4",
      "parents": [
        "174231d89adf4a01f28e6074eb8f743240400c26"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jun 11 12:25:46 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jun 11 12:42:25 2009 -0400"
      },
      "message": "GpsLocationProvider: Add hooks for GPS location injection.\n\nThis will allow injecting cell ID location to the GPS\n(not implemented yet).\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9b1e1400df4c6c4b69985f164097f0c842dd796f",
      "tree": "cae61f8f495e8a93dcc0ffdc887e7445c46fae70",
      "parents": [
        "a59fa9b6cba9cae0f7d02e240dbd10603cc127a5",
        "8c690ea9976d644db3c96eddbbbd2d50eac56913"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 21 09:42:38 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 21 09:42:38 2009 -0700"
      },
      "message": "am 8c690ea9: Merge change 2182 into donut\n\nMerge commit \u00278c690ea9976d644db3c96eddbbbd2d50eac56913\u0027\n\n* commit \u00278c690ea9976d644db3c96eddbbbd2d50eac56913\u0027:\n  location: Replace ILocationCollector interface with new ILocationProvider method\n"
    },
    {
      "commit": "fd6e5f0dda50e113db4ccc55338b6c4f09da37a4",
      "tree": "faf8e2c6510d2a0c4439cdcdfe74d97100dc9020",
      "parents": [
        "bb7b7b316a6a15f4df6af3c62a293920c68c7b00"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 21 11:28:20 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 21 11:28:20 2009 -0400"
      },
      "message": "location: Replace ILocationCollector interface with new ILocationProvider method\n\nThis change replaces ILocationCollector with a more general mechanism that\npasses locations received from a provider to all other providers.\nThe network location provider now uses this to implement the location collector.\nIn the future, this could be used to inject network locations to the GPS\nas aiding data.\n\nThis change also removes the now obsolete permission INSTALL_LOCATION_COLLECTOR.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0376fe43e68cbfa7f846d1663a008dd67ec52c22",
      "tree": "440ea41e63068d98b9bbc167c5f03f9742cbf9c7",
      "parents": [
        "9d248d4ab4ae0923dcd5c61fafb99ffa8d65d1d7",
        "2d10ba33190c2ff1b24d6c48dd621c55a25bf2cc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 20 14:11:34 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 20 14:11:34 2009 -0700"
      },
      "message": "am 2d10ba33: Merge change 2111 into donut\n\nMerge commit \u00272d10ba33190c2ff1b24d6c48dd621c55a25bf2cc\u0027\n\n* commit \u00272d10ba33190c2ff1b24d6c48dd621c55a25bf2cc\u0027:\n  GPS: Add support for forcing NTP time and XTRA data injection.\n"
    },
    {
      "commit": "93bc44d72125cfe798183b5b6891716dadac0ed7",
      "tree": "c11b4de84e52d27e0bb12a6688bc7a4e5bb1c3a3",
      "parents": [
        "40f5a4ea3bc90e43a442ab336f2342020bba86b3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 20 16:58:22 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 20 16:58:22 2009 -0400"
      },
      "message": "GPS: Add support for forcing NTP time and XTRA data injection.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "843ef36f7b96cc19ea7d2996b7c8661b41ec3452",
      "tree": "560e1648c99a93986f8b7deef851ef8bb8029db7",
      "parents": [
        "358d23017d0d6c4636eb7599ae7a9b48108899a3"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed May 20 11:28:04 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed May 20 11:28:04 2009 -0700"
      },
      "message": "donut snapshot\n"
    },
    {
      "commit": "28489545304723d530fc609b8326bd138018acd4",
      "tree": "353d6f91236b087f31bfde3778eaa0bd6b258374",
      "parents": [
        "a9e0bdbbd06c90c8f79ef6d59afedc1401c4926f",
        "02c1c46fff22490f884f05520d58eadae1442db8"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 14 14:53:34 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 14 14:53:34 2009 -0700"
      },
      "message": "am 02c1c46f: Merge change 1674 into donut\n\nMerge commit \u002702c1c46fff22490f884f05520d58eadae1442db8\u0027\n\n* commit \u002702c1c46fff22490f884f05520d58eadae1442db8\u0027:\n  gps: Time out after 1 minute if we are unable to get a fix and our fix interval is long.\n"
    },
    {
      "commit": "0632ca7bbea5dbd89a584cc3cd6a0630a767e94b",
      "tree": "45ab093528779e30e2a0e55dedd2223775f65ba1",
      "parents": [
        "ec2d74d40f9b7a8bf96feeb45a5d054d8b0ce0dd"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 14 15:51:03 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 14 15:51:03 2009 -0400"
      },
      "message": "gps: Time out after 1 minute if we are unable to get a fix and our fix interval is long.\n\nThis will prevent us from keeping the processor awake indefinitely if a\nbackground service is requesting periodic updates and we are unable to get a fix.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9e5d5d6fac951d4d97c4d1df250f6a0f67a95c77",
      "tree": "53b9f9e342eabae4bb6c8b81f8bf183c8700ddaa",
      "parents": [
        "9e355606720858edf72c16cef4dbef8c15814d7a",
        "3681f2614fa8c10560c790f6b4287f65d6fd2663"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 12 07:58:55 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 12 07:58:55 2009 -0700"
      },
      "message": "am 3681f26: LocationManager:  Recover if process containing NetworkLocat\n\nMerge commit \u00273681f2614fa8c10560c790f6b4287f65d6fd2663\u0027\n\n* commit \u00273681f2614fa8c10560c790f6b4287f65d6fd2663\u0027:\n  LocationManager:  Recover if process containing NetworkLocation provider crashes\n"
    },
    {
      "commit": "3681f2614fa8c10560c790f6b4287f65d6fd2663",
      "tree": "e63317d42231df5146a9406efe18ae47208971b1",
      "parents": [
        "2677d0da34acad93cd7f164d587ccc30c46facc6"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 12 10:52:03 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 12 10:52:03 2009 -0400"
      },
      "message": "LocationManager:  Recover if process containing NetworkLocation provider crashes\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9e355606720858edf72c16cef4dbef8c15814d7a",
      "tree": "259639a3df3975aefb4ec7ebc5f7e9d21ec0f2f3",
      "parents": [
        "65e13171e12cb9e9fc2f608d0c8a92cd3c098648",
        "2677d0da34acad93cd7f164d587ccc30c46facc6"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 12 06:26:37 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 12 06:26:37 2009 -0700"
      },
      "message": "am 2677d0d: LocationManager: Fix a Javadoc comment.\n\nMerge commit \u00272677d0da34acad93cd7f164d587ccc30c46facc6\u0027\n\n* commit \u00272677d0da34acad93cd7f164d587ccc30c46facc6\u0027:\n  LocationManager: Fix a Javadoc comment.\n"
    }
  ],
  "next": "2677d0da34acad93cd7f164d587ccc30c46facc6"
}
