)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "2677d0da34acad93cd7f164d587ccc30c46facc6",
      "tree": "403a1e2f834d13eae87dee4592593fd8b0e3a75e",
      "parents": [
        "7e3e04c144182c6807c66646b3f988beaba1720e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 12 09:22:21 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 12 09:22:21 2009 -0400"
      },
      "message": "LocationManager: Fix a Javadoc comment.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "158b2129cfd50105305ca0c170163d59e9804106",
      "tree": "bbaa37e9186d5a1b22c3332f75867debccfe0e85",
      "parents": [
        "7c6b6fbe4c2cf621844aba0c9b409f067f574ef0",
        "f792fc59c18aa470eb44cc596d5774115e2d9d02"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 07 08:24:05 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 07 08:24:05 2009 -0700"
      },
      "message": "am f792fc5: Merge change 1150 into donut\n\nMerge commit \u0027f792fc59c18aa470eb44cc596d5774115e2d9d02\u0027\n\n* commit \u0027f792fc59c18aa470eb44cc596d5774115e2d9d02\u0027:\n  location: Location Manager wakelock cleanup\n"
    },
    {
      "commit": "0528b9b26a9d64ba43acd0e334638303d514b8eb",
      "tree": "52b5ce3b9887e8b6e5ca7800b3fe41a42144a9f8",
      "parents": [
        "90da134befec804852775be7fd4905a1a188ff00"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 07 10:12:54 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 07 11:02:22 2009 -0400"
      },
      "message": "location: Location Manager wakelock cleanup\n\nLocation Providers are now responsible for their own wakelocks and scheduling.\n\nAlso fixed a deadlock in LocationManagerService in the code for releasing\nwakelocks after client notifications have been received.\nThe fix is to use the Receiver object and mWakeLock for synchronization\n instead of the global mLock lock.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f431b4b3ee636a0ba62f462fa51fc3e5ce09c734",
      "tree": "da9ac21fc70cd99f4dd62f9c1a0729da466d4891",
      "parents": [
        "84c9097d5b919521ed7032db80f044e397856467",
        "c770ed8a6bb7614ed4a85a672e4e6830bed19a95"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 06 08:20:03 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 06 08:20:03 2009 -0700"
      },
      "message": "am c770ed8: Merge change 1069 into donut\n\nMerge commit \u0027c770ed8a6bb7614ed4a85a672e4e6830bed19a95\u0027\n\n* commit \u0027c770ed8a6bb7614ed4a85a672e4e6830bed19a95\u0027:\n  GpsStatus: Increase NUM_SATELLITES to 255 for future compatibility.\n"
    },
    {
      "commit": "b7c4ae91d95cfdb9a87eca1f543ddb2fa38a7c45",
      "tree": "19bb01ba586d6b1cc74117190b4eeb69bfee2dd1",
      "parents": [
        "636274185ed5ee75faf6ef4d84bbb7d5b0371248"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 06 10:48:30 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 06 10:48:30 2009 -0400"
      },
      "message": "GpsStatus: Increase NUM_SATELLITES to 255 for future compatibility.\n\n64 satellties are required for NavStar, WAAS, EGNOS, and GLONASS satellites.\nIncreasing to 255 allows for future compatibility with Galileo.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e90c0da675a945a86ac06098c1f5694ddc4efb23",
      "tree": "f34f4c0f9409846103b59c362f8192f028d58d49",
      "parents": [
        "ee96dc5113922fdc7c678f791cb65ac8bef21f4b",
        "275555c8eb3fb5df6e7320873b88b77cdde85a9e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 01 12:39:03 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 01 12:39:03 2009 -0700"
      },
      "message": "am 275555c: location: Add support for location providers outside of the \n\nMerge commit \u0027275555c8eb3fb5df6e7320873b88b77cdde85a9e\u0027\n\n* commit \u0027275555c8eb3fb5df6e7320873b88b77cdde85a9e\u0027:\n  location: Add support for location providers outside of the system process.\n"
    },
    {
      "commit": "275555c8eb3fb5df6e7320873b88b77cdde85a9e",
      "tree": "96c3bfe004179e2c08e87bf8784ad278dfdfe53d",
      "parents": [
        "767db0a1ec760042b145e7c19a672c7180ad10f3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 01 11:30:34 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 01 15:06:31 2009 -0400"
      },
      "message": "location: Add support for location providers outside of the system process.\n\nAlso added new permissions android.permission.INSTALL_LOCATION_PROVIDER\nand android.permission.INSTALL_LOCATION_COLLECTOR to the public API.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ac7a3de471da65ae3111560a1404c12985c8741f",
      "tree": "59db348eb9851925405b50a304ddc2c8081b6d5d",
      "parents": [
        "da7b5e2dacb5a6010c23c4c9651389da58347a45",
        "15e3d0f082d551f8819fbe4b0d502cc108627876"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 01 05:26:44 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 01 05:26:44 2009 -0700"
      },
      "message": "am 15e3d0f: location: Use ILocationProvider Binder interface for all loc\n\nMerge commit \u002715e3d0f082d551f8819fbe4b0d502cc108627876\u0027\n\n* commit \u002715e3d0f082d551f8819fbe4b0d502cc108627876\u0027:\n  location: Use ILocationProvider Binder interface for all location providers.\n"
    },
    {
      "commit": "15e3d0f082d551f8819fbe4b0d502cc108627876",
      "tree": "ee0b12d89c14986b5447e7a000fd2a3f91fb6c13",
      "parents": [
        "a56b318cf2d4c3700899f9de394c5635761dda66"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 01 07:53:28 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 01 08:24:47 2009 -0400"
      },
      "message": "location: Use ILocationProvider Binder interface for all location providers.\n\nThis change eliminates the LocationProviderImpl class which had been used\nfor location providers running in the system process.\nNow the LocationProvider base class is only used to implement the\nLocationManager.createProvider() method for retrieving provider information.\nAdded a new IGpsStatusProvider interface for providers that serve GPS status.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "73ee32d41b4874f650be20f2f3e3c0c7d172e33c",
      "tree": "925776f9016447927b583727ccfcc89285dc3bff",
      "parents": [
        "05d024329604bb92dca02f1ecdff4876d6d7b28c",
        "b8adcad61d9225ecdabde1a01b73455f484cbed7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Apr 29 13:35:34 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 29 13:35:34 2009 -0700"
      },
      "message": "am b8adcad: location: Remove obsolete fake provider support.\n\nMerge commit \u0027b8adcad61d9225ecdabde1a01b73455f484cbed7\u0027\n\n* commit \u0027b8adcad61d9225ecdabde1a01b73455f484cbed7\u0027:\n  location: Remove obsolete fake provider support.\n"
    },
    {
      "commit": "05d024329604bb92dca02f1ecdff4876d6d7b28c",
      "tree": "6b1cc8baa4eab07e20e9bad7169953cdddae61a4",
      "parents": [
        "8749fecd99dbc468a79b993ff9926cded8e0552f",
        "79762a3ee34eb8be5549bcb183af844b6f19c266"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Apr 29 13:35:34 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 29 13:35:34 2009 -0700"
      },
      "message": "am 79762a3: location: Move DummyLocationProvider.java and LocationProvid\n\nMerge commit \u002779762a3ee34eb8be5549bcb183af844b6f19c266\u0027\n\n* commit \u002779762a3ee34eb8be5549bcb183af844b6f19c266\u0027:\n  location: Move DummyLocationProvider.java and LocationProviderImpl.java to the internal package.\n"
    },
    {
      "commit": "093dda9dec68029278cdf28b2a2d92bc5cdedcbc",
      "tree": "59d92542c9cb0ffd562ad67504405088a6872a07",
      "parents": [
        "d7047b0ca1c42ef7519aede116f7a2ee2b03595a",
        "5fa153302c1c7f179bfd6ddd301e7526b8c06de5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 29 13:35:22 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 29 13:35:22 2009 -0700"
      },
      "message": "am 5fa1533: Merge change 482 into donut\n\nMerge commit \u00275fa153302c1c7f179bfd6ddd301e7526b8c06de5\u0027\n\n* commit \u00275fa153302c1c7f179bfd6ddd301e7526b8c06de5\u0027:\n  location: Location Manager wakelock cleanup, phase 2\n"
    },
    {
      "commit": "b8adcad61d9225ecdabde1a01b73455f484cbed7",
      "tree": "b88cf6f21915391f1fbc1f0a910112215aeafd57",
      "parents": [
        "79762a3ee34eb8be5549bcb183af844b6f19c266"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 28 13:23:57 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 28 13:23:57 2009 -0400"
      },
      "message": "location: Remove obsolete fake provider support.\n\nNow that we have GPS support in the emulator and public APIs for mock providers,\nthe fake provider support is no longer needed.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "79762a3ee34eb8be5549bcb183af844b6f19c266",
      "tree": "e3cf612d4596fc4f5edf8f2edfab81776de48d79",
      "parents": [
        "eedf815a2bd44c365a6885553a52cd2fcbfdce8c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 28 11:31:44 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 28 12:42:08 2009 -0400"
      },
      "message": "location: Move DummyLocationProvider.java and LocationProviderImpl.java to the internal package.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "48f17518223a2917fd82195004fbb206cb9a05a3",
      "tree": "d87449f59ab8b22dada31f595c688bcee9bd3961",
      "parents": [
        "0a57e5b730beaea75c1c1b1ca51b40c463918b4d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Apr 23 09:12:08 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Apr 23 19:27:41 2009 -0700"
      },
      "message": "location: Location Manager wakelock cleanup, phase 2\n\nRemove two second timeout for wakelock when broadcasting events to\nlocation listeners. Instead, hold wakelock until receipt of the event\nis acknowledged, either via a Binder call or the\nPendingIntent.OnFinished interface.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "74008f608af0c567456d37e63d48643689388c74",
      "tree": "02354593bed51d5c4bb0ac5f9b44032034cbbaaf",
      "parents": [
        "6fc52c4928ec8a658d7eb0b7881fcbc879aeb18c",
        "644cf62660c87a9b8d5bcb22412cc2ad2aeea291"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 22 17:12:34 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 22 17:12:34 2009 -0700"
      },
      "message": "Merge donut into master\n"
    },
    {
      "commit": "cddff7c3ce9ea4828f108a879b8d3a2d77076df9",
      "tree": "09bb3f17015c108005decbf1fbd6cebee956d3cc",
      "parents": [
        "9f0b1a48506af8e18162f62570561135b65a4ed1",
        "4193558f232c8961039b9ae6f875e3303b8e5d30"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 22 12:09:59 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 22 12:09:59 2009 -0700"
      },
      "message": "Merge commit \u0027goog/readonly-p4-donut\u0027 into HEAD\n\nConflicts:\n\tlocation/java/android/location/Geocoder.java\n"
    },
    {
      "commit": "85ae1b1d5364c66f7dd8de26890287806bfdb63f",
      "tree": "f0c0784499ebdd3394aaebb008627e1511a91a1b",
      "parents": [
        "b0c6dbd53b26b172fe8eb7d117550e4edf7a0c9c"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "",
        "time": "Tue Apr 21 18:47:18 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Apr 21 18:47:18 2009 -0700"
      },
      "message": "AI 147295: am: CL 147294 am: CL 147290 Update Geocoder javadoc to reflect the need for a backend service.\n  Original author: xav\n  Merged from: //branches/cupcake/...\n  Original author: android-build\n\nAutomated import of CL 147295\n"
    },
    {
      "commit": "4193558f232c8961039b9ae6f875e3303b8e5d30",
      "tree": "1a2b6c69a0b9411e8a3666934bed9132cfc98599",
      "parents": [
        "348c1796d460e43e45e582739956c02c5bc8f602"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "",
        "time": "Tue Apr 21 18:47:12 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Apr 21 18:47:12 2009 -0700"
      },
      "message": "AI 147294: am: CL 147290 Update Geocoder javadoc to reflect the need for a backend service.\n  Original author: xav\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 147294\n"
    },
    {
      "commit": "71fd04616ba5b63f2ba9431e5ad5acf547f5f74d",
      "tree": "1d4b5bceece9a50ac6efc232004c077645e3f149",
      "parents": [
        "be456ac934c3d9839cdac00bd331fe5d82727246"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 21 16:45:33 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 21 16:45:33 2009 -0700"
      },
      "message": "Geocoder: Document behavior when no backend service is available.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e2b44c5aaff312fbb00e66dd42b8444938017672",
      "tree": "197313bebcf481c50c2f9fdcc40ce4fc7a880b94",
      "parents": [
        "98cb66797422c4ccdee6f1a07636146d784a471b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 21 09:38:18 2009 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 21 09:38:18 2009 -0700"
      },
      "message": "location: Location Manager wakelock cleanup, phase 1\n\nMove cell and wifi lock from LocationManagerService to NetworkLocationProvider\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "2f82c4eb0b4d315481ad79725ad6f52c5ec69685",
      "tree": "ef64e238443565b8f3e39a5079e4db27e8cd64b5",
      "parents": [
        "21b5817aaa2f0a61edff8752ed85130aa8cf7def"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Apr 17 08:24:10 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Apr 17 17:00:32 2009 -0400"
      },
      "message": "location: Generalize support for location provider usage tracking.\n\nThis replaces two different mechanisms that were used for GPS and Netork\nlocation provider tracking.\nMove BatteryStats logging of GPS usage from LocationManagerService to\nGpsLocationProvider.\nClean up tracking of location listeners in LocationManagerService and remove\nsome HashMaps that are no longer needed.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a55c321329ae52a2db7a4f2bd36673a20b8f271d",
      "tree": "97ee2b13cf6c464305930be581bcf14c072e7a55",
      "parents": [
        "967f7c169c0ff8723a72fce7073f591dcfab018d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Apr 15 11:10:11 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Apr 15 11:17:37 2009 -0400"
      },
      "message": "location: Move geocoding support from ILocationProvider to a new interface.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c1e8aa4c448807fc3ee9d21e8b67bb886fa065aa",
      "tree": "6d6a23ffa2de7abdfc742ca0f0dafb77e49b01d3",
      "parents": [
        "45dee41f5c55cd18c7f3716fbac765016132a214"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "",
        "time": "Mon Apr 06 10:52:24 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Apr 06 10:52:24 2009 -0700"
      },
      "message": "AI 144664: am: CL 144663 Use Binder interfaces between NetworkLocationManager and LocationManagerService.\n  This fixes a hack that was added when NetworkLocationManager was moved out of the framework.\n  This also lays the groundwork for supporting location providers outside of the system process.\n  BUG\u003d1729031\n  Original author: lockwood\n\nAutomated import of CL 144664\n"
    },
    {
      "commit": "e932f7f2a47b770c636443d411436bd29cc4bb43",
      "tree": "75a53e7d58fd8b9524aa22e370854e4c65bba17e",
      "parents": [
        "53566b140ffa7b1e2f522ab1cdec13c74f8779e7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "",
        "time": "Mon Apr 06 10:51:26 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Apr 06 10:51:26 2009 -0700"
      },
      "message": "AI 144663: Use Binder interfaces between NetworkLocationManager and LocationManagerService.\n  This fixes a hack that was added when NetworkLocationManager was moved out of the framework.\n  This also lays the groundwork for supporting location providers outside of the system process.\n  BUG\u003d1729031\n\nAutomated import of CL 144663\n"
    },
    {
      "commit": "33aa27856f4aa1ad870de3552089973a9afad6ca",
      "tree": "a094e28f7aceebd61c17d4047450948730eed508",
      "parents": [
        "d66737268e4e03997360ebe29b0b4f971e140b2a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "",
        "time": "Sun Apr 05 14:53:07 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Apr 05 14:53:07 2009 -0700"
      },
      "message": "AI 144600: am: CL 144599 Location Manager cleanup:\n  Move PhoneStateListener for listening to cell location changes from LocationManagerService\n  to the NetworkLocationProvider.\n  Move CellState class out of the core framework to the NetworkLocationProvider service.\n  NetworkLocationManager now notifies the collector of its state, rather than LocationManagerService.\n  BUG\u003d1729031\n  Original author: lockwood\n\nAutomated import of CL 144600\n"
    },
    {
      "commit": "66eb4acb89a5e54bdb5b9973e9a1c1b9853d154d",
      "tree": "e08d5314f3f6adc8e1bd4062bd92a2a4ccbfac85",
      "parents": [
        "b9db7c9f5a8924361ae2f439509e19993d82b884"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "",
        "time": "Sun Apr 05 14:50:22 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Sun Apr 05 14:50:22 2009 -0700"
      },
      "message": "AI 144599: Location Manager cleanup:\n  Move PhoneStateListener for listening to cell location changes from LocationManagerService\n  to the NetworkLocationProvider.\n  Move CellState class out of the core framework to the NetworkLocationProvider service.\n  NetworkLocationManager now notifies the collector of its state, rather than LocationManagerService.\n  BUG\u003d1729031\n\nAutomated import of CL 144599\n"
    },
    {
      "commit": "f6f9792d44ae9242981dab5ecc1ebf40190aada6",
      "tree": "4bf5e9432997d6dd2ea6d9b431963f2233b4d827",
      "parents": [
        "8fd3a039f8e8cfd9d2d46a3853901e30b19c30c0"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "",
        "time": "Fri Apr 03 08:24:47 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Apr 03 08:24:47 2009 -0700"
      },
      "message": "AI 144453: am: CL 144452 More Location Manager cleanup:\n  Remove 1 Hz \"heartbeat\" polling of location providers from LocationManagerService.\n  Now location providers report their location to LocationManagerService via\n  LocationManager.setLocation() rather than waiting to be polled.\n  This reduces GPS fix latency by up to one second.\n  Remove LocationProvderImpl.getLocation().\n  Since we are no longer polling, this method is no longer necessary.\n  BUG\u003d1729031\n  Original author: lockwood\n\nAutomated import of CL 144453\n"
    },
    {
      "commit": "4e50b78bda9cd58be61581d2886c88ff6348a1c1",
      "tree": "e94551d77542bc0a06844d536e1eface70005dde",
      "parents": [
        "e84de8d702bd26fb1e5b55f3cfdd953d8a31ec22"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "",
        "time": "Fri Apr 03 08:24:43 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Apr 03 08:24:43 2009 -0700"
      },
      "message": "AI 144452: More Location Manager cleanup:\n  Remove 1 Hz \"heartbeat\" polling of location providers from LocationManagerService.\n  Now location providers report their location to LocationManagerService via\n  LocationManager.setLocation() rather than waiting to be polled.\n  This reduces GPS fix latency by up to one second.\n  Remove LocationProvderImpl.getLocation().\n  Since we are no longer polling, this method is no longer necessary.\n  BUG\u003d1729031\n\nAutomated import of CL 144452\n"
    },
    {
      "commit": "bd2a7126e5b42e022228c6aac25e95b671e5263b",
      "tree": "ae3477744f7d640bdfb4663aac47c1a57b16b029",
      "parents": [
        "75e3034a353c5526170d983faf7f3c43d7682193"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "",
        "time": "Thu Apr 02 23:41:33 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 02 23:41:33 2009 -0700"
      },
      "message": "AI 144415: am: CL 144372 Cleanup Settings support for enabling and disabling location providers:\n  LocationManagerService now listens for changes to settings,\n  making LocationManager.updateProviders() unnecessary.\n  Removed LocationManager.updateProviders()\n  Added Settings.Secure.setLocationProviderEnabled(), which is a thread-safe way\n  of enabling or disabling a single location provider.\n  This is safer than reading, modifying and writing the LOCATION_PROVIDERS_ALLOWED directly.\n  BUG\u003d1729031\n  Original author: lockwood\n\nAutomated import of CL 144415\n"
    },
    {
      "commit": "9637d474899d9725da8a41fdf92b9bd1a15d301e",
      "tree": "5383ecf1ab4bd1e34df329c276309b29dc8ef225",
      "parents": [
        "f80f5d02ed5793d1a9bf6f69885fa3c509e7d312"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "",
        "time": "Thu Apr 02 21:41:57 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 02 21:41:57 2009 -0700"
      },
      "message": "AI 144372: Cleanup Settings support for enabling and disabling location providers:\n  LocationManagerService now listens for changes to settings,\n  making LocationManager.updateProviders() unnecessary.\n  Removed LocationManager.updateProviders()\n  Added Settings.Secure.setLocationProviderEnabled(), which is a thread-safe way\n  of enabling or disabling a single location provider.\n  This is safer than reading, modifying and writing the LOCATION_PROVIDERS_ALLOWED directly.\n  BUG\u003d1729031\n\nAutomated import of CL 144372\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "3001a035439d8134a7d70d796376d1dfbff3cdcd",
      "tree": "343ccdba15a594ff6e50c874a145232753315a30",
      "parents": [
        "da996f390e17e16f2dfa60e972e7ebc4f868f37e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:31 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:31 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132276\n"
    },
    {
      "commit": "f013e1afd1e68af5e3b868c26a653bbfb39538f8",
      "tree": "7ad6c8fd9c7b55f4b4017171dec1cb760bbd26bf",
      "parents": [
        "e70cfafe580c6f2994c4827cd8a534aabf3eb05c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
