)]}'
{
  "log": [
    {
      "commit": "4e31c4fffbc42b4c2b5dca6431cfeef9e078f5b4",
      "tree": "e1e5a1df577872de6f947623cdccfe50062cb521",
      "parents": [
        "74fa7eabda3d0c1a85e0b568e3fc4230ed4fe7a4"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Aug 13 19:35:39 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Aug 16 17:59:34 2012 -0700"
      },
      "message": "Add javadoc for new location API\u0027s.\n\nChange-Id: If15024ee88421c07ba3a174747774fc451fd002e\n"
    },
    {
      "commit": "74fa7eabda3d0c1a85e0b568e3fc4230ed4fe7a4",
      "tree": "aaf46ec024fa88f5172c39cfb46a0f8bf8c4a877",
      "parents": [
        "08ca1046fe4f1890f91241f8d082a024ef6cfd93"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Aug 13 19:36:38 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Aug 16 15:22:24 2012 -0700"
      },
      "message": "Improve coarse locations.\n\nFix a couple of bugs, and modify the behavior of the random offset.\n\nThe random offset now slowly changes over time, to mitigate against\napplications averaging out the offset over time while at a\ngrid boundary.\n\nChange-Id: Iecffff29145b8c2b30d1eca1662cf9d3e8cff756\n"
    },
    {
      "commit": "08ca1046fe4f1890f91241f8d082a024ef6cfd93",
      "tree": "da4e378d5fb57beac9ab8bca3f28e0f6da335456",
      "parents": [
        "3914e4b7d12b014f73085cd6e34b6fd69ea26226"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 10 15:47:53 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 10 17:17:32 2012 -0700"
      },
      "message": "Fix a couple of bugs from the location overhaul.\n\nMarshall LocationRequest array correctly.\n\nObserve reportLocation from FusionEngine.\n\nActually deliver the setRequest message to fusion engine.\n\nChange-Id: Iff64596fdd42f9fb06e563591dda9fbe0241533a\n"
    },
    {
      "commit": "6fa9ad4afcd762aea519ff61811386c23d18ddb2",
      "tree": "5b027550205ada4b972f5cc3d8073819c07d9c75",
      "parents": [
        "c47f80f1ae96e3c8b6a750d68cc12dfbbca97254"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Jul 16 12:18:23 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 10 14:57:09 2012 -0700"
      },
      "message": "Location overhaul, major commit.\n\nThemes: Fused Location, Geofencing, LocationRequest.\n\nAPI changes\no Fused location is always returned when asking for location by Criteria.\no Fused location is never returned as a LocationProvider object, nor returned\n  as a provider String. This wouldn\u0027t make sense because the current API\n  design assumes that LocationProvider\u0027s have fixed properties (accuracy, power\n  etc).\no The fused location engine will tune itself based on the criteria passed\n  by applications.\no Deprecate LocationProvider. Apps should use fused location (via Criteria\n  class), instead of enumerating through LocationProvider objects. It is\n  also over-engineered: designed for a world with a plethora of location\n  providers that never materialized.\no The Criteria class is also over-engineered, with many methods that aren\u0027t\n  currently used, but for now we won\u0027t deprecate them since they may have\n  value in the future. It is now used to tune the fused location engine.\no Deprecate getBestProvider() and getProvider().\no Add getLastKnownLocation(Criteria), so we can return last known\n  fused locations.\no Apps with only ACCESS_COARSE_LOCATION _can_ now use the GPS, but the location\n  they receive will be fudged to a 1km radius. They can also use NETWORK\n  and fused locatoins, which are fudged in the same way if necessary.\no Totally deprecate Criteria, in favor of LocationRequest.\n  Criteria was designed to map QOS to a location provider. What we\n  really need is to map QOS to _locations_.\n  The death knell was the conflicting ACCURACY_ constants on\n  Criteria, with values 1, 2, 3, 1, 2. Yes not a typo.\no Totally deprecate LocationProvider.\no Deprecate test/mock provider support. They require a named provider,\n  which is a concept we are moving away from. We do not yet have a\n  replacement, but I think its ok to deprecate since you also\n  need to have \u0027allow mock locations\u0027 checked in developer settings.\n  They will continue to work.\no Deprecate event codes associated with provider status. The fused\n  provider is _always_ available.\no Introduce Geofence data object to provide an easier path fowards\n  for polygons etc.\n\nImplementation changes\no Fused implementation: incoming (GPS and NLP) location fixes are given\n  a weight, that exponentially decays with respect to age and accuracy.\n  The half-life of age is ~60 seconds, and the half-life of accuracy is\n  ~20 meters. The fixes are weighted and combined to output a fused\n  location.\no Move Fused Location impl into\n  frameworks/base/packages/FusedLocation\no Refactor Fused Location behind the IProvider AIDL interface. This allow us\n  to distribute newer versions of Fused Location in a new APK, at run-time.\no Introduce ServiceWatcher.java, to refactor code used for run-time upgrades of\n  Fused Location, and the NLP.\no Fused Location is by default run in the system server (but can be moved to\n  any process or pacakge, even at run-time).\no Plumb the Criteria requirements through to the Fused Location provider via\n  ILocation.sendExtraCommand(). I re-used this interface to avoid modifying the\n  ILocation interface, which would have broken run-time upgradability of the\n  NLP.\no Switch the geofence manager to using fused location.\no Clean up \u0027adb shell dumpsys location\u0027 output.\no Introduce config_locationProviderPackageNames and\n  config_overlay_locationProviderPackageNames to configure the default\n  and overlay package names for Geocoder, NLP and FLP.\no Lots of misc cleanup.\no Improve location fudging. Apply random vector then quantize.\no Hide internal POJO\u0027s from clients of com.android.location.provider.jar\n  (NLP and FLP). Introduce wrappers ProviderRequestUnbundled and\n  ProviderPropertiesUnbundled.\no Introduce ProviderProperties to collapse all the provider accuracy/\n  bearing/altitude/power plumbing (that is deprecated anyway).\no DELETE lots of code: DummyLocationProvider,\no Rename the (internal) LocationProvider to LocationProviderBase.\no Plumb pid, uid and packageName throughout\n  LocationManagerService#Receiver to support future features.\n\nTODO: The FLP and Geofencer have a lot of room to be more intelligent\nTODO: Documentation\nTODO: test test test\n\nChange-Id: Iacefd2f176ed40ce1e23b090a164792aa8819c55\n"
    },
    {
      "commit": "14262d79c42072b01d8beccc3a0d688938da4214",
      "tree": "99be5cc1bdfd5aebae7c8f785db024a2b0c547f5",
      "parents": [
        "f6e802283cea8d682d05ee15fe0d500cff118533",
        "1715cb36d9231f08f244ec6c0a373f1a46d66cc7"
      ],
      "author": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Thu Aug 09 18:46:09 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 09 18:46:10 2012 -0700"
      },
      "message": "Merge \"Control GPS logging with property\" into jb-mr1-dev"
    },
    {
      "commit": "1715cb36d9231f08f244ec6c0a373f1a46d66cc7",
      "tree": "a7f26aaa988919f6e6d965f7bc0f4d6c25feddf0",
      "parents": [
        "7c46e4380e6c50c30aad80807f87af25f000c7ff"
      ],
      "author": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Wed Aug 08 17:32:21 2012 -0700"
      },
      "committer": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Thu Aug 09 17:14:13 2012 -0700"
      },
      "message": "Control GPS logging with property\n\nThis allows users of the PDK to debug GPS issues.\n\nChange-Id: I4aff12e124f4264abd1a0be012df4c431044189c\n"
    },
    {
      "commit": "c5bfe1962626ec73ce8dac67ab26bad96637e2f1",
      "tree": "ab22dccd39af329e51cb9cb37cca92528dc7046e",
      "parents": [
        "a7bbbabc15724e2aef0e6354d5dafa9e225e2ea9",
        "b9ba2b6768063b4a4135143bc5b6219fb9b3b22f"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Aug 09 15:43:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 09 15:43:25 2012 -0700"
      },
      "message": "Merge \"Fix screen timeout determination for starting dream.\" into jb-mr1-dev"
    },
    {
      "commit": "b9ba2b6768063b4a4135143bc5b6219fb9b3b22f",
      "tree": "1f24c618d2811e1b914c0d4914defbd952b9a5ab",
      "parents": [
        "7c46e4380e6c50c30aad80807f87af25f000c7ff"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Aug 09 14:47:49 2012 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Aug 09 14:47:49 2012 -0400"
      },
      "message": "Fix screen timeout determination for starting dream.\n\nIt turns out OFF_BECAUSE_OF_TIMEOUT is not the best indicator\nof actual screen timeout.\n\nFor example, it is the reason passed down when acquiring a wake lock.\nThis was causing us to launch Dreams in the wrong situations, and\ndeadlocking on calls to WindowManager.\n\nThis fix simply adds an additional check ensuring the intention is to\nturn the screen off.\n\nChange-Id: If8adff446b5b1fcb19424b45878b75bfd0552b90\n"
    },
    {
      "commit": "2c02933b13b426637808d3d4fd57aea1ff11011a",
      "tree": "5cb4d58306e46f3256d76af62a88d1e874857d49",
      "parents": [
        "1567a4341bf642e17432a079d3de3381c7a93340",
        "4860cfc68464ebdcc391324518772c79f047597f"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Aug 09 11:45:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 09 11:45:55 2012 -0700"
      },
      "message": "Merge \"Send BOOT_COMPLETED to all users.\" into jb-mr1-dev"
    },
    {
      "commit": "015b9f45d4cfa1e9764d7fbd6142ee612b2ea628",
      "tree": "0f0cb8bd2437675dface7b994af0fe11951f1a83",
      "parents": [
        "a1300467332e3189e1b7c02af03fd66aac8e79e9"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Aug 09 00:05:36 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Aug 09 11:11:33 2012 -0400"
      },
      "message": "Fix the dock-insertion Dream entry codepath.\n\nBug: 6956040\nChange-Id: I663e13f8a28db13b94d0f5aa4dbcf0cd64ef22fe\n"
    },
    {
      "commit": "4860cfc68464ebdcc391324518772c79f047597f",
      "tree": "fb4ba6771bb384eb6af51fc7d365730f653e3078",
      "parents": [
        "a56d9cecee8a34e0554770ac6253dd3a76b9199c"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Aug 08 19:14:18 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Aug 08 19:15:58 2012 -0700"
      },
      "message": "Send BOOT_COMPLETED to all users.\n\nAt least until we have a concept of logged-in users.\n\nChange-Id: I65e3bed2aeef9692dbc64169cf02a7451cfed1cd\n"
    },
    {
      "commit": "8264408f5995534f8e3147b001664ea0df52aaa5",
      "tree": "e6e963d2ec701047872bf641b28888a93c7b866a",
      "parents": [
        "fb11ffa2a04f0a6b1291cd7ffc68032fcc322312"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 03 13:09:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 08 16:52:53 2012 -0700"
      },
      "message": "Start the correct settings from the status bar.\n\nAdded a new method to Context: startActivityAsUser() requiring the\nINTERACT_ACROSS_USERS_FULL permission.\n\nShow the correct Recents list, based on current user.\nAdded a getRecentTasksForUser() in ActivityManager. Hidden and requires\nthe INTERACT_ACROSS_USERS_FULL permission.\n\nChange-Id: If5b56465efdd3ead36601a3b51ed4af157bbf35c\n"
    },
    {
      "commit": "fb11ffa2a04f0a6b1291cd7ffc68032fcc322312",
      "tree": "ba8010132fbf760c285ab7d2465f670fd5f69260",
      "parents": [
        "82f479d0647855148af84fe2ba5484cb188c92cc",
        "fb878b66b9456f8fee2bcb1076263852d207949d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 08 16:25:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 08 16:25:41 2012 -0700"
      },
      "message": "Merge \"Isolate NetworkStateTracker creation, test.\" into jb-mr1-dev"
    },
    {
      "commit": "fb878b66b9456f8fee2bcb1076263852d207949d",
      "tree": "2f2d3f1de5c8de8e04c4a84d5c443471837adf58",
      "parents": [
        "088f29f55eebc6862a4cb5dddeaefacf24f74d95"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 26 18:32:30 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 08 16:23:41 2012 -0700"
      },
      "message": "Isolate NetworkStateTracker creation, test.\n\nChange ConnectivityService to use a factory when creating\nNetworkStateTrackers, which gives us a good place to inject mocks\nfor testing.  Add initial tests to verify that network routes are\nadded and removed as networks changed.\n\nChange-Id: I11cbc61a84c2ed4afa2670036295b1494eab26e1\n"
    },
    {
      "commit": "82f479d0647855148af84fe2ba5484cb188c92cc",
      "tree": "db1d276b5151af550ab97b4fe9d2f95bdaf42c9a",
      "parents": [
        "f3c16a12aa0408a69ff358843d020f9ff6b883f1",
        "088f29f55eebc6862a4cb5dddeaefacf24f74d95"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 08 16:22:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 08 16:22:23 2012 -0700"
      },
      "message": "Merge \"Cleaner controls between Vpn and init services.\" into jb-mr1-dev"
    },
    {
      "commit": "a56d9cecee8a34e0554770ac6253dd3a76b9199c",
      "tree": "3e617e7c34c9dafec25b373af7cd392154881b19",
      "parents": [
        "f007bd3cf8cacd75287781c1bb37fe4167c79cba",
        "e1d7c711df3e3a2d2f195457882aa4ddb5626167"
      ],
      "author": {
        "name": "Rich Cannings",
        "email": "richc@google.com",
        "time": "Wed Aug 08 13:50:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 08 13:50:56 2012 -0700"
      },
      "message": "Merge \"Revert \"Pass URLs to package verifiers\"\" into jb-mr1-dev"
    },
    {
      "commit": "5017f2328407447002ab2d0cae1fe8ef87c50501",
      "tree": "3e47a10c7c51935be5e134af19649d0b6c79985d",
      "parents": [
        "86d09388ee1b98513de40dfff5de6e7c3b24cc07"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Fri Jul 27 15:44:39 2012 -0700"
      },
      "committer": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Wed Aug 08 13:15:00 2012 -0700"
      },
      "message": "Call systemReady on the lock settings before doing so on the window manager\n\nAt systemReady time, the window manager needs to obtain values from the lock\nsettings service (e.g. whether the lock screen is disabled).  During the\ninitial boot of a wiped device, the window manager was getting the wrong\nvalues because LockSettingsService.systemReady/migrateOldData had not yet been\ncalled.\n\nChange-Id: I60825d0e4fad53a5b4349dabf9e5e299b863d0d0\n\n(cherry pick of 2458abaf6676d5015af733c1010ecd67a085e9e2 from jb-aah-dev)\n"
    },
    {
      "commit": "e1d7c711df3e3a2d2f195457882aa4ddb5626167",
      "tree": "d27b6e508c1bdbd29028034471ee46acfe5d6cf8",
      "parents": [
        "24713907fe4632d263aea82f7a35c8fb08918a09"
      ],
      "author": {
        "name": "Rich Cannings",
        "email": "richc@google.com",
        "time": "Wed Aug 08 12:46:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 08 12:46:06 2012 -0700"
      },
      "message": "Revert \"Pass URLs to package verifiers\"\n\nThis reverts commit 24713907fe4632d263aea82f7a35c8fb08918a09\n\nChange-Id: Ie04ba73475b813635c4a74915c45e83250801b6b\n"
    },
    {
      "commit": "537915828b45693e846a126292e026c5b4f05152",
      "tree": "6c47dca99eda5792f1fc006e0f20088ad4048db1",
      "parents": [
        "ec0feefd4422db1151aee722732d8c9528f6dfa8",
        "7d19e0242faac8017033dabb872cdf1542fa184c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 08 10:22:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 08 10:22:49 2012 -0700"
      },
      "message": "Merge \"More mult-user API work.\" into jb-mr1-dev"
    },
    {
      "commit": "786546eaccfc7a284b90b077f505cf42206c6f5f",
      "tree": "eca70253bd3fafbc617618ee6f071bc2de212e41",
      "parents": [
        "85b1041f891b4bbfe81e4f6423397fca50c14e5b"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Aug 08 11:40:20 2012 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Aug 08 11:40:20 2012 -0400"
      },
      "message": "Check the ACTIVATE_ON_DOCK setting in DockObserver.\n\nOtherwise docking the device will always launch a Dream.\n\nChange-Id: I2e74ca62f80d7e386d11c00920a75a5a6e78926c\n"
    },
    {
      "commit": "7d19e0242faac8017033dabb872cdf1542fa184c",
      "tree": "ab12d3c6597bc42bc7c0dca10ded546192c5c249",
      "parents": [
        "03ad783c5078c7bd487e47bb2a2af67dfbe89f1a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 07 19:12:33 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 07 19:19:22 2012 -0700"
      },
      "message": "More mult-user API work.\n\n- You can now use android:singleUser with receivers and providers.\n- New API to send ordered broadcasts as a user.\n- New Process.myUserHandle() API.\n\nFor now I am trying out \"user handle\" as the name for the numbers\nrepresenting users.\n\nChange-Id: I754c713ab172494bb4251bc7a37a17324a2e235e\n"
    },
    {
      "commit": "85b1041f891b4bbfe81e4f6423397fca50c14e5b",
      "tree": "e9fcd98e2326aeb0a4855ca25550f0583939b5d3",
      "parents": [
        "3c91724e7a8850df41a00fe4829a4d69d6ba9094",
        "758143ecfedbe08cc6c4fed0ad8ad7a854194ca4"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Aug 06 23:51:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 06 23:51:36 2012 -0700"
      },
      "message": "Merge \"Window position not reported if the window is not moved.\" into jb-mr1-dev"
    },
    {
      "commit": "758143ecfedbe08cc6c4fed0ad8ad7a854194ca4",
      "tree": "c7102e7f3b5f71180cb23d1a13c01158f558feb6",
      "parents": [
        "4cb3384772cf7015a4e05789470123efb07219d9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Aug 06 16:40:27 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Aug 06 23:49:38 2012 -0700"
      },
      "message": "Window position not reported if the window is not moved.\n\n1.If a window is shown but never moved the window window\n  is never notified for its current location. Therefore,\n  accessibility nodes do not contain correct bounds in\n  screen coordinates.\n\nbug:6926295\n\nChange-Id: I7df18b095d33ecafffced75aba9e4f4693b0c393\n"
    },
    {
      "commit": "3c91724e7a8850df41a00fe4829a4d69d6ba9094",
      "tree": "9e82bbf47ba41faf5cca9fbdce8a48a49afa792f",
      "parents": [
        "ecbbfdd3bfd5f82fb4bce78ffef48dc6fe12bd48",
        "599db5c85faa5733af538a712b870e1f507cd380"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 06 17:53:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 06 17:53:18 2012 -0700"
      },
      "message": "Merge \"Refactor Service code out of main ActivityManagerService class.\" into jb-mr1-dev"
    },
    {
      "commit": "599db5c85faa5733af538a712b870e1f507cd380",
      "tree": "765a44d3a895e56c76968a5584a5c938982c9934",
      "parents": [
        "4cb3384772cf7015a4e05789470123efb07219d9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 03 19:28:48 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 06 17:52:02 2012 -0700"
      },
      "message": "Refactor Service code out of main ActivityManagerService class.\n\nChange-Id: I83ade73b48e8fda1ad413634c1eb0dba2a545ca7\n"
    },
    {
      "commit": "088f29f55eebc6862a4cb5dddeaefacf24f74d95",
      "tree": "c641ced2808f01868c146699259d09f3c6f10363",
      "parents": [
        "216c181e76ee11a47a0b2a180f9af96740ab38ad"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Aug 05 14:55:04 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 06 14:48:49 2012 -0700"
      },
      "message": "Cleaner controls between Vpn and init services.\n\nChange-Id: I35edf054f4a1190f7fb7b4c48ee832e899c9528b\n"
    },
    {
      "commit": "4e4306ab14f1f2125035ed43fbb021db8bc99c3f",
      "tree": "0a04d688799841c9cb7bfec820b7f7550734f368",
      "parents": [
        "4cb3384772cf7015a4e05789470123efb07219d9",
        "75fbb4bdfde9188081f000506845d852f31362f0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 06 13:40:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 06 13:40:44 2012 -0700"
      },
      "message": "Merge \"Include network type that caused broadcast.\" into jb-mr1-dev"
    },
    {
      "commit": "75fbb4bdfde9188081f000506845d852f31362f0",
      "tree": "567b30e20b9c8ef14ac61d072e22d0faac4236c0",
      "parents": [
        "187019c51fb1f8f79d4d5919facbc8d569ff844e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 06 11:41:50 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 06 11:45:01 2012 -0700"
      },
      "message": "Include network type that caused broadcast.\n\nNetwork type can be obtained through EXTRA_NETWORK_INFO, but offer\nit as first-class extra since the returned NetworkInfo is deprecated.\n\nBug: 6936247\nChange-Id: Ief59577afd2bd930f0f4c5650b413feef86bfbc3\n"
    },
    {
      "commit": "bec1d13da2ef3c8c2c4cc4f740474d095068bd8b",
      "tree": "b7f3a7b10e5a19280cdd955c381a27ab2e62c2a2",
      "parents": [
        "9c5c65959790bdceda384f87cf457bc7f9c2d433",
        "216c181e76ee11a47a0b2a180f9af96740ab38ad"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Aug 05 14:58:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 05 14:58:13 2012 -0700"
      },
      "message": "Merge \"Make generic BaseNetworkObserver.\" into jb-mr1-dev"
    },
    {
      "commit": "9c5c65959790bdceda384f87cf457bc7f9c2d433",
      "tree": "dc7fc1bef126901ee89e6e833bfc34a65c8cb314",
      "parents": [
        "fe33a09a3f0d53bf96f7c65bfeb271d6487012e1",
        "065b299df4159602327977dd007cb2cd6b64ab20"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Aug 05 14:55:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 05 14:55:28 2012 -0700"
      },
      "message": "Merge \"Make LocalSocket Closeable.\" into jb-mr1-dev"
    },
    {
      "commit": "216c181e76ee11a47a0b2a180f9af96740ab38ad",
      "tree": "dd32870b7e0cbe4a52d90e593de1b0d8b8d3b771",
      "parents": [
        "065b299df4159602327977dd007cb2cd6b64ab20"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Aug 05 14:29:23 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Aug 05 14:32:41 2012 -0700"
      },
      "message": "Make generic BaseNetworkObserver.\n\nThis makes it easier to add new INetworkManagementEventObserver events\nin future.\n\nChange-Id: I432263d745558de4b878f313c1951230ed9db2b1\n"
    },
    {
      "commit": "065b299df4159602327977dd007cb2cd6b64ab20",
      "tree": "962d115b14145cf1af13ae9de6f599a15617a9eb",
      "parents": [
        "187019c51fb1f8f79d4d5919facbc8d569ff844e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Aug 05 14:16:48 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Aug 05 14:21:07 2012 -0700"
      },
      "message": "Make LocalSocket Closeable.\n\nEnables usage of IoUtils.closeQuietly().\n\nChange-Id: I91126297c1f235ae9da09f82d8f4f22db46558eb\n"
    },
    {
      "commit": "2e5746a7a807c6d9d61af48978695214ef9d6717",
      "tree": "9b750a0101d2e4b963c85d541a17813d309bdcd0",
      "parents": [
        "c09211911c28795354f7ce5a1b75b13ac6a7b4d0",
        "dde331cebd87982faded6818ad5f9927ff994c96"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 03 17:45:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 03 17:45:52 2012 -0700"
      },
      "message": "Merge \"We can now (kind-of) change screen density on the fly.\" into jb-mr1-dev"
    },
    {
      "commit": "dde331cebd87982faded6818ad5f9927ff994c96",
      "tree": "c2f9c4c62113fc93948d3988fc09cc3727c4b9ca",
      "parents": [
        "5345c310af8363948cee6a91d11add3ec51e8a9c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 03 14:01:57 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 03 17:27:29 2012 -0700"
      },
      "message": "We can now (kind-of) change screen density on the fly.\n\nPreloaded drawables now have a density associated with them, so we\ncan load the correct drawable if we are using a different density.\n\nWindow manager now formally keeps track of the density for each\nscreen, allowing it to be overridden like you can already do with\nsize, and relies on this density to drive itself internally and\nthe configurations it reports.\n\nThere are a new set of Bitmap constructors where you provide a\nDisplayMetrics so they can be constructed with the correct density.\n(This will be for when you can have different windows in the same\napp running at different densities.)\n\nActivityThread now watches for density changes, and pushes them\nto the DENSITY_DEVICE and Bitmap global density values for that\nprocess.\n\nA new am command allows you to change the density.\n"
    },
    {
      "commit": "0b24b1d37a955a0674a31d4da9ee1d0357a1d7f8",
      "tree": "dc40ce14607c20565d3f19e7b6d83f46152122f4",
      "parents": [
        "a70cd04985eec51d95355cc7b822bc65f4ebce05",
        "821bd8081a3a02de946af7a5c2ab52cdc3e48c4e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 03 11:56:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 03 11:56:03 2012 -0700"
      },
      "message": "Merge \"Pass changed NetworkInfo to LocationProvider.\" into jb-mr1-dev"
    },
    {
      "commit": "821bd8081a3a02de946af7a5c2ab52cdc3e48c4e",
      "tree": "c30bc9303fd555e250f13eeb05b2a54b42c4b6c8",
      "parents": [
        "187019c51fb1f8f79d4d5919facbc8d569ff844e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 03 11:53:01 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 03 11:53:01 2012 -0700"
      },
      "message": "Pass changed NetworkInfo to LocationProvider.\n\nLocationProviders often rely on non-default networks, so pass the\nnetwork that actually changed, instead of the default.\n\nBug: 6929692\nChange-Id: I31d9eec792e07259282aa1bb57ec66c01962df64\n"
    },
    {
      "commit": "3185b376b0b9b8c393fb8300b18df441a3481ad0",
      "tree": "29830b1310100b0b03a062d67e0d0a7a5807d363",
      "parents": [
        "72c30e2cec3ad67d4673baa31291ea0ddd712786",
        "bc632a28e4fba4a659baf39b9fd3d06d10cfda97"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Fri Aug 03 08:36:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 03 08:36:41 2012 -0700"
      },
      "message": "Merge \"Re-enable dreams: frameworks/base\" into jb-mr1-dev"
    },
    {
      "commit": "7de53949bc89e1e79ed63d730beaa49f838038b6",
      "tree": "ecf844ccd7f15112c2311034700f362eff0ed207",
      "parents": [
        "187019c51fb1f8f79d4d5919facbc8d569ff844e",
        "9de4936c99b979f6010440b043edc6d6142d1980"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Aug 03 08:25:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 03 08:25:42 2012 -0700"
      },
      "message": "Merge \"Add features to DisplayManager.\" into jb-mr1-dev"
    },
    {
      "commit": "bc632a28e4fba4a659baf39b9fd3d06d10cfda97",
      "tree": "7673f90d9f6a3aa9c47ea5c3a926ffa155e60f0c",
      "parents": [
        "187019c51fb1f8f79d4d5919facbc8d569ff844e"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Jul 31 08:28:12 2012 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Fri Aug 03 08:51:17 2012 -0400"
      },
      "message": "Re-enable dreams: frameworks/base\n\nEnable feature in config. Expose Dream in public api for unbundled apps.\nUnhide package.  Add isDreaming() method to service.\n\nRe-arrange the Dream api a bit.  (use onStart as hook for subclasses).\nCoordinate properly with power manager.\n\nReplace old dock mode (don\u0027t fire old intent).\n\nChange-Id: I1318d20cc1613e5d862f2913f2fcdc9719302cf7\nBug: 6921930\n"
    },
    {
      "commit": "329465c6b2407ee086a171cac1a3581f83dbb048",
      "tree": "0d69eee745692b133e3f2c955561c0e09807ffb5",
      "parents": [
        "478923885da8fac0c1e0a8b7d85b98d1988504bc",
        "b4163a6e12ee7100c758c6d3d062ade1f2843fce"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 02 19:14:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 19:14:39 2012 -0700"
      },
      "message": "Merge \"Add APIs for interacting across users.\" into jb-mr1-dev"
    },
    {
      "commit": "b4163a6e12ee7100c758c6d3d062ade1f2843fce",
      "tree": "2948e83dec184906f2c44ee332431f219b78359d",
      "parents": [
        "b1758cf8cd007bfffb3d8adceca25f3b0c82bd77"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 02 18:31:26 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 02 19:07:57 2012 -0700"
      },
      "message": "Add APIs for interacting across users.\n\n- Expose the existing Context.sendBroadcast() as\n  Context.sendBroadcastAsUser().\n- Add new android:singleUser attribute for services.\n- Add new INTERACT_ACROSS_USERS_FULL permission for full\n  system-level access to cross-user interface (allows\n  sendBroadcastAsUser() to send to any receiver).\n- Add new INTERACT_ACROSS_USERS_FULL permission for\n  more restricted cross-user interaction: this is required\n  for android:singleUser, and allows you to use\n  sendBroadcastAsUser() but only to send to your own\n  receivers.\n\nChange-Id: I0de88f6718e9505f4de72e3f45d29c0f503b76e9\n"
    },
    {
      "commit": "f95f3ebf12bf9ee23b8ed4e940ab007cbc22f3f3",
      "tree": "1cf63ea99447d0336101e56e92b2c8273296b316",
      "parents": [
        "7786687e7eb17c7670dacb08eca3346a945232aa",
        "e7c1d88fba71122038d516d3b758d68f9f92fa64"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 02 14:58:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 14:58:47 2012 -0700"
      },
      "message": "Merge \"Allow access to display manager service from isolated processes.\" into jb-mr1-dev"
    },
    {
      "commit": "e7c1d88fba71122038d516d3b758d68f9f92fa64",
      "tree": "6953f3e7c7c4ee0d36117ef7620d70572d5fb58d",
      "parents": [
        "5590027b9b44eb4cabe415720278b85c30d720a8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 02 14:55:26 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 02 14:55:26 2012 -0700"
      },
      "message": "Allow access to display manager service from isolated processes.\n\nBug: 6921302\nChange-Id: I9eed4a24992538e18ad0540b96a8cea2c8a9ef76\n"
    },
    {
      "commit": "9de4936c99b979f6010440b043edc6d6142d1980",
      "tree": "d8a17234255275c282eb3cf6cd9be3018e1c8816",
      "parents": [
        "2a642a450a07dfdb94d897ef06d2348855dcc431"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 02 14:30:30 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 02 14:30:30 2012 -0700"
      },
      "message": "Add features to DisplayManager.\n\nAdded Surface.setDisplayId().\nAdded callbacks to DisplayManagerService.\n\nChange-Id: Idd3f85f8ca1f1208962f1196efd6a3ab51c8c259\n"
    },
    {
      "commit": "2a642a450a07dfdb94d897ef06d2348855dcc431",
      "tree": "0640ccc4efbb78bece455b53890a51226efd37d6",
      "parents": [
        "9866d60ea4f7476df781230a7f33ed5c2af031c9",
        "4f67ba6ba4e861b287a3ff0323c107aa77f66264"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 02 13:16:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 13:16:13 2012 -0700"
      },
      "message": "Merge \"Refactor DisplayManagerService to be functional.\" into jb-mr1-dev"
    },
    {
      "commit": "24713907fe4632d263aea82f7a35c8fb08918a09",
      "tree": "fbf80caed2388c579d64b20b86b9b9f2586b1640",
      "parents": [
        "26ea2e5df58edfd14717c86854f6bb99975b6a77"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Thu Jul 26 14:07:53 2012 -0700"
      },
      "committer": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Thu Aug 02 11:26:47 2012 -0700"
      },
      "message": "Pass URLs to package verifiers\n\nThis change passes the originating URL and accompanied referrer to\npackage verifiers, when available.\n\nBug: 6544677\nChange-Id: If9ff6663ad7f3426b7aea2aceb1413b689788138\n"
    },
    {
      "commit": "4f67ba6ba4e861b287a3ff0323c107aa77f66264",
      "tree": "d386443cb9522ddd0586e2cb811228d874825022",
      "parents": [
        "26ea2e5df58edfd14717c86854f6bb99975b6a77"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 02 11:23:00 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 02 11:23:00 2012 -0700"
      },
      "message": "Refactor DisplayManagerService to be functional.\n\nChange-Id: Ieac1eca172be5dc5db45302d3afa26188acd4d6d\n"
    },
    {
      "commit": "437a0fbd57662e1d9d260da6f62ff83da2769a7e",
      "tree": "7df1f02b3bcc2d3fc4e22926e55c33e712879419",
      "parents": [
        "a7ce1551a6c05d4f983e283b413cadb1ddc1026d",
        "59c009776dae5ccbdfb93d7151ff2065ca049dc3"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 02 09:20:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 09:20:14 2012 -0700"
      },
      "message": "Merge \"Introduce multiple displays with DisplayContent.\" into jb-mr1-dev"
    },
    {
      "commit": "59c009776dae5ccbdfb93d7151ff2065ca049dc3",
      "tree": "45ffbc8d93e8f245ed1c78ffa64b8bcc5ae59355",
      "parents": [
        "fa14d824d235c33b137a429c3eb6818f273407ab"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jul 30 12:10:24 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 02 08:47:44 2012 -0700"
      },
      "message": "Introduce multiple displays with DisplayContent.\n\nFix a couple of bugs that turned up.\nRemove touch/focus from display. Add iterators for access.\nRespond to comments. Remove TODOs, and some deviceId parameters.\n\nChange-Id: Idcdb4f1979aa7b14634d450fd0333d6eff26994d\n"
    },
    {
      "commit": "908aecc3a63c5520d5b11da14a9383f885b7d126",
      "tree": "11806df7f127ea695474ae7ab490a95c19965508",
      "parents": [
        "b1980049855fd6c53e109b44ff012a053f9436f7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 31 16:37:34 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 01 10:54:39 2012 -0700"
      },
      "message": "Start moving away from DisplayMetrics.DENSITY_DEVICE.\n\nThis puts in most of the infrastructure needed to allow us to\nswitch between different densities at run time.  The main remaining\nuses of the global are to initialize the Bitmap object (not sure\nwhat to do about that since it doesn\u0027t have anything passed in\nthe constructor to get this information from), and being able to\nload drawables if we need a different density than what was preloaded\nby zygote.\n\nChange-Id: Ifdbfd6b7a5c59e6aa22e63b95b78d96af3d96848\n"
    },
    {
      "commit": "3805e8ca0a5ba05afd8e04e19e440bbbe3469b81",
      "tree": "107a5134100fe07f10c4e5e5fea681d7f655f56a",
      "parents": [
        "40e5df95ff9468cec0624ca7fb14e51c13e4b047",
        "9ec6cdde9f8f22356dcc9f811d99ebf813194721"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 31 18:24:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 31 18:24:25 2012 -0700"
      },
      "message": "Merge \"Optimize memory use of IntentResolver.\" into jb-mr1-dev"
    },
    {
      "commit": "40e5df95ff9468cec0624ca7fb14e51c13e4b047",
      "tree": "f6c14477b4079c1c8344654d3fdd75c4e5d3d276",
      "parents": [
        "24d19fb6ab94cc5fd23f1c9a1d7916948a7fd571",
        "39606a007a5b1309dd000234f2b8cf156c49fd0f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 31 18:11:03 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 31 18:11:03 2012 -0700"
      },
      "message": "Merge \"Make AtomicFile a public API.  It\u0027s about time!\" into jb-mr1-dev"
    },
    {
      "commit": "39606a007a5b1309dd000234f2b8cf156c49fd0f",
      "tree": "bc9e19a6ad821170705cc26f7f529ae8b7b8bcc1",
      "parents": [
        "d913cf18595b8288125171eec86e42a1d1b4d93e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 31 17:54:35 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 31 17:54:52 2012 -0700"
      },
      "message": "Make AtomicFile a public API.  It\u0027s about time!\n\nChange-Id: Ib34e294747405b7ab709cb0bbb2d9a0cc80ce86a\n"
    },
    {
      "commit": "24d19fb6ab94cc5fd23f1c9a1d7916948a7fd571",
      "tree": "d39fd80a88cb2bfc4ce8a0447856be565a57c632",
      "parents": [
        "8ab8fbbf46d8779f53301e7f706f97608eed7117"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jul 31 17:11:07 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jul 31 17:11:07 2012 -0700"
      },
      "message": "Revert \"API to adjust network stats.\"\n"
    },
    {
      "commit": "16ef57791766b92b8e34de4f752db2f522f34c82",
      "tree": "220e69cf69428f93185e8062cda796af88d381bf",
      "parents": [
        "18a917250d4d595759a054e354c99c4c1e633768",
        "e7ed1ce4c84fe92caafc97b1f9044c6647aa3f7f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jul 31 12:09:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 31 12:09:54 2012 -0700"
      },
      "message": "Merge \"API to adjust network stats. DO NOT MERGE.\" into jb-mr1-dev"
    },
    {
      "commit": "e7ed1ce4c84fe92caafc97b1f9044c6647aa3f7f",
      "tree": "4f2b555dd7fa1eb6a8bfd812b483db4e25a820a8",
      "parents": [
        "7267babae3695408daa96da1f5951c8f22e823a7"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jul 27 17:35:32 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jul 31 11:45:17 2012 -0700"
      },
      "message": "API to adjust network stats. DO NOT MERGE.\n\nEnables system apps to correctly account network usage performed on\nbehalf of another application.\n\nBug: 6695246\nChange-Id: I39e243afd57936b6b30157a6ca511a17b6c55c39\n"
    },
    {
      "commit": "e23ae144cc1b6487a7c0e7a33d3016431c81850c",
      "tree": "8c05c1032fc346fbf0d415b8fe6f6997fa473d53",
      "parents": [
        "4fcaa382b79e5f7395ae75dc4687a2f3f3df3f23",
        "fa74f7e04fcad1258a1b85515547dba0466086d8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 31 11:19:40 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 31 11:19:40 2012 -0700"
      },
      "message": "am fa74f7e0: am bba948dc: Merge \"Delay AccountManagerService initialization\" into jb-dev\n\n* commit \u0027fa74f7e04fcad1258a1b85515547dba0466086d8\u0027:\n  Delay AccountManagerService initialization\n"
    },
    {
      "commit": "fa74f7e04fcad1258a1b85515547dba0466086d8",
      "tree": "23c5f583a74ffcc839d9364d281ee1aa637dabed",
      "parents": [
        "bed43546760180f967f0ee0538afbf1f5ef0d649",
        "bba948dc9e95baab9e6fb728927aada4a00d93de"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 31 11:17:11 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 31 11:17:11 2012 -0700"
      },
      "message": "am bba948dc: Merge \"Delay AccountManagerService initialization\" into jb-dev\n\n* commit \u0027bba948dc9e95baab9e6fb728927aada4a00d93de\u0027:\n  Delay AccountManagerService initialization\n"
    },
    {
      "commit": "bba948dc9e95baab9e6fb728927aada4a00d93de",
      "tree": "740b8ab9c8639e42e8c1f164158d985888b5ef2c",
      "parents": [
        "971c05a07b42018fa994d0f48d559838de7ed1a0",
        "26ff6626fc4ee0ae46f01ad309b366921da589fe"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 31 11:14:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 31 11:14:02 2012 -0700"
      },
      "message": "Merge \"Delay AccountManagerService initialization\" into jb-dev"
    },
    {
      "commit": "5dcbe638ee063201fb476ef475d2beb347f02097",
      "tree": "ef72774687ea0a7585a00fe25227f1e84d1158a8",
      "parents": [
        "66f13d75107fac3e1f251b65229e6d99d212e380",
        "1af5ac1b6801c4da2ef689449fd1fd2eba1ff48e"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Jul 31 09:20:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 31 09:20:25 2012 -0700"
      },
      "message": "am 1af5ac1b: Merge \"DO NOT MERGE. Add package-name-prefix blacklist for location updates.\" into jb-dev\n\n* commit \u00271af5ac1b6801c4da2ef689449fd1fd2eba1ff48e\u0027:\n  DO NOT MERGE. Add package-name-prefix blacklist for location updates.\n"
    },
    {
      "commit": "9ec6cdde9f8f22356dcc9f811d99ebf813194721",
      "tree": "93322ac5ce0a87965a664b9d54c2b269e550f193",
      "parents": [
        "619e4dca8e9dfe4daa0754b0568a7590788cd50e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 31 10:57:54 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 30 17:31:19 2012 -0700"
      },
      "message": "Optimize memory use of IntentResolver.\n\nUse raw arrays instead of ArrayList for data structures.\n\nTemporarily includes a copy of the old intent resolver for\nvalidating the new implementation.\n\nChange-Id: I988925669b6686ac73b779be6cd6fe3a9fd86660\n"
    },
    {
      "commit": "26ff6626fc4ee0ae46f01ad309b366921da589fe",
      "tree": "5b2469ff5463e1a7f9175943074877b6dfdb9e49",
      "parents": [
        "47db02bad8fed67025669c41ef0c0dd9cafe7ed2"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 30 12:58:03 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 30 16:28:44 2012 -0700"
      },
      "message": "Delay AccountManagerService initialization\n\nSince applications can have Account providers, they need to be delayed\nuntil after PackageManagerService says everything is mounted.\nOtherwise the accounts associated with that provider will be removed\nimmediately when startup happens.\n\nBug: 6820670\nChange-Id: Iba81765260421649f706624d0605a40ebc1347b1\n"
    },
    {
      "commit": "48c5eb018b1731bd47caccd43cda2cd36ebc271f",
      "tree": "8d4161bddb28cb388d875e9639e1c7c53d41f5d3",
      "parents": [
        "47db02bad8fed67025669c41ef0c0dd9cafe7ed2"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Sun Jul 29 21:23:08 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Jul 30 13:17:30 2012 -0700"
      },
      "message": "DO NOT MERGE. Add package-name-prefix blacklist for location updates.\n\nThe Settings.Secure value locationPackagePrefixBlacklist and\nlocationPackagePrefixWhitelist contains comma seperated package-name\nprefixes.\n\nLocation \u0026 geo-fence updates are silently dropped if the receiving\npackage name has a prefix on the blacklist. Status updates are\nnot affected. All other API\u0027s work as before.\n\nA content observer is used so run-time updates to the blacklist\napply immediately. There is both a blacklist and a whitelist.\nThe blacklist applies first, and then exemptions are allowed\nfrom the whitelist. In other words, if your package name prefix\nmatches both the black AND white list, then it is allowed.\n\nChange-Id: I4ea2ad56fa6bd75d32151bc250ac25c26a5777c4\n"
    },
    {
      "commit": "fa14d824d235c33b137a429c3eb6818f273407ab",
      "tree": "791ff232610cc8590f3cfabbc0e85b98ce838f4e",
      "parents": [
        "af3fb2325ef43450916882d85928abc5e474133f",
        "b696de5c10ebcc7bf42d8487fc0e56e0e937754d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 27 18:23:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 27 18:23:22 2012 -0700"
      },
      "message": "Merge \"Move and rename user activity event type constants.\" into jb-mr1-dev"
    },
    {
      "commit": "b696de5c10ebcc7bf42d8487fc0e56e0e937754d",
      "tree": "3339fd190bad6be36c5e2ba8f57ebc11a5bb972b",
      "parents": [
        "155fc70252fd9ccee1f05da4e6966a99ec86d499"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 27 15:38:50 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 27 18:14:56 2012 -0700"
      },
      "message": "Move and rename user activity event type constants.\n\nChange-Id: Ie565808796773b6896e71ddfac6aaaf8031de846\n"
    },
    {
      "commit": "ab88f9864e67aca97df8dcca8e99c17854a54510",
      "tree": "7ce1ce9269ec6e740afc56691a14d77b1881ecf0",
      "parents": [
        "a0aa479c0eadd446dc9159195c175e3a5fe083c0",
        "4c628eba480d271d5547af5d4fafc01e0e53a5eb"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jul 27 16:04:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 27 16:04:56 2012 -0700"
      },
      "message": "Merge \"Split NST handler events away from CS internals.\" into jb-mr1-dev"
    },
    {
      "commit": "6881a10557acf3b0270de54799d6f19437acf584",
      "tree": "2e9bb85ac96858ce0b0f4e10e7f9e176276cd881",
      "parents": [
        "2b8c4b076d24bc7464e9be63946e8c7bd27bb360"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jul 27 13:04:51 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jul 27 13:04:51 2012 -0700"
      },
      "message": "Small step towards supporting multiple displays\n\nChange-Id: I353449c2b464394988c7e0203656b5851a0c9127\n"
    },
    {
      "commit": "4c628eba480d271d5547af5d4fafc01e0e53a5eb",
      "tree": "f53a2b5cf1161a16a8ca7f2b4fca2c2a9eec1ce4",
      "parents": [
        "c58392bc2905b0e50ff26340d47c970e78752b99"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jul 23 13:19:46 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 26 14:09:09 2012 -0700"
      },
      "message": "Split NST handler events away from CS internals.\n\nInstead of sharing event space, use a different handler backed by\nthe same looper.\n\nChange-Id: I11f1e4701c341665770ca640f3cba0c295bb7561\n"
    },
    {
      "commit": "10d940d99ff3814cbf4a1b1759a9377b88752f5f",
      "tree": "afc47fe7efa25632dd04129f869a2d275f89e672",
      "parents": [
        "c58392bc2905b0e50ff26340d47c970e78752b99"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Jul 26 09:12:58 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Jul 26 11:09:16 2012 -0700"
      },
      "message": "Fix permission issues for apps\n\nAdd a work around and create a bug for proper fix\n\nBug: 6882233\nChange-Id: I342ef7ecade8b9e2c7d16e82ea9031214b1b4462\n"
    },
    {
      "commit": "fa25bf5382467b1018bd9af7f1cb30a23d7d59f7",
      "tree": "2b65e9c19319112d1873db55a02303a43d68547a",
      "parents": [
        "bbcb123d4923b0c2f36af7b2ade82f5d7832357d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 23 19:26:30 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 25 18:56:16 2012 -0700"
      },
      "message": "Add display manager skeleton.\n\nThe purpose of this change is to remove direct reliance on\nSurfaceFlinger for describing the size and characteristics of\ndisplays.\n\nThis patch also starts to make a distinction between logical displays\nand physical display devices.  Currently, the window manager owns\nthe concept of a logical display whereas the new display\nmanager owns the concept of a physical display device.\n\nChange-Id: I7e0761f83f033be6c06fd1041280c21500bcabc0\n"
    },
    {
      "commit": "ffed02b95adc552a402c646260b9f4dbc3fcf553",
      "tree": "7dfee76192973f7ad97df2a070f995f5d186f0f2",
      "parents": [
        "a807a50cf2c4cec3cb13421043c05a29458b1120",
        "a8b9defade5b937d4ad64f9aff4bca792298f43c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 25 16:14:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 25 16:14:38 2012 -0700"
      },
      "message": "Merge \"Stop using raw display size except in window manager.\""
    },
    {
      "commit": "b208a24cf521401912cfce16fce550a995cf1250",
      "tree": "d1e12fdd728ff9de8059fe5d22a380ec30568f2a",
      "parents": [
        "ea56e5ca7444298f2129d221c1b7d7dcbcc079a6"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jul 25 14:08:09 2012 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jul 25 14:08:09 2012 -0700"
      },
      "message": "Revise and update CellInfo API\u0027s\n\nChange-Id: I25a46076a244f50edb9da65816b3717e00820b34\n"
    },
    {
      "commit": "a8b9defade5b937d4ad64f9aff4bca792298f43c",
      "tree": "804ddc7192e739ce8ed92a6986d203d16f54d254",
      "parents": [
        "fb5549f64b73069934d79b8ceefa51475bfb2d08"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 23 14:22:49 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 25 11:38:48 2012 -0700"
      },
      "message": "Stop using raw display size except in window manager.\n\nWe don\u0027t actually need the raw size in these places.\nThe logical size is good enough.\n\nStarting to move dependencies on surface flinger\nand window manager out of the Display class.\n\nChange-Id: I2065bee8e5bf7f42c5a452dd1e8479e40ebb0d37\n"
    },
    {
      "commit": "85d28a00043e5985b11f517031d7b2317ac19e10",
      "tree": "7b4ae3d15192046d84e7de3ff047e8fe21948aff",
      "parents": [
        "b6a45cb92892f9080b7a2f131b4386fd1167efbb",
        "aac0d4ed026d1cfbcf3fa81c6e4eb96f4347ca17"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Tue Jul 24 11:11:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 24 11:11:02 2012 -0700"
      },
      "message": "Merge \"Replace left/right with start/end for Gravity / LayoutParams / Padding\""
    },
    {
      "commit": "2eeeec248a38ff33999c83f4b8d5bab7d50e79d2",
      "tree": "2886aaefdd09bbafa7853dbbbb29aa866846045f",
      "parents": [
        "b8acd060d409f0e81ab3510b429cb86d3f34adb8"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Jul 18 13:13:37 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Jul 20 10:07:07 2012 -0700"
      },
      "message": "Improve Location object.\n\nAdd getElapsedRealtimeNano():\n\nCurrently Location just has getTime() and setTime() based on UTC time.\nThis is entirely unreliable since it is not guaranteed monotonic.\nThere is a lot of code that compares fix age based on deltas -\nand it is all broken in the case of a system clock change. System\nclock can change when switching cellular networks (and in some\ncases when switching towers).\n\nDocument the meaning of getAccuracy():\nIt is the horizontal, 95% confidence radius.\n\nMake some fields mandatory if they are reported by a LocationProvider:\n\nAll Locations returned by a LocationProvider must include at the\nminimum a lat, long, timestamps, and accuracy. This is necessary\nto perform fused location. There are no public API\u0027s for applications\nto feed locations into a location provider so this should not cause\nany breakage.\n\nIf a LocationProvider does not fill in enough fields on a Location\nobject then it is dropped, and logged.\n\nBug: 4305998\nChange-Id: I7df77125d8a64e174d7bc8c2708661b4f33461ea\n"
    },
    {
      "commit": "aac0d4ed026d1cfbcf3fa81c6e4eb96f4347ca17",
      "tree": "aba6b8d3317aca0319e2bc447686dc5532914f11",
      "parents": [
        "9a1aa4c4a42f0d7674c762fa70d23ffdd86b1054"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Jul 19 19:21:26 2012 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Jul 19 19:21:26 2012 -0700"
      },
      "message": "Replace left/right with start/end for Gravity / LayoutParams / Padding\n\n- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)\n\nChange-Id: Id9af5375fb9b0edeae5232c77e52ecd497bd2e67\n"
    },
    {
      "commit": "db3c8678e5cbdfec011afaf25bde2091152c30ad",
      "tree": "e0f4b593cfba82bd5a35e921eebf351091d2e542",
      "parents": [
        "6b7358d9511df7e519bb417fbed6017c06a33d45"
      ],
      "author": {
        "name": "Haoyu Bai",
        "email": "bhy@google.com",
        "time": "Wed Jun 20 14:29:57 2012 -0700"
      },
      "committer": {
        "name": "Haoyu Bai",
        "email": "bhy@google.com",
        "time": "Tue Jul 17 17:13:03 2012 -0700"
      },
      "message": "Network data activity change intent for network interfaces.\n\nThe activity notification is received from netd, an intent\nDATA_ACTIVITY_CHANGE is then raised for other part of the system to\nconsume.\n\nChange-Id: Idfcc4763c51c5b314c57f546c12557082f06bebf\n"
    },
    {
      "commit": "6b7358d9511df7e519bb417fbed6017c06a33d45",
      "tree": "d3ed008a6b7237153974cf0c6636607a1ee2d848",
      "parents": [
        "71cac13beaf6bb01e0cd8bb58273ccc9b8cbda87"
      ],
      "author": {
        "name": "Haoyu Bai",
        "email": "bhy@google.com",
        "time": "Tue Jul 17 16:36:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 17 16:55:05 2012 -0700"
      },
      "message": "Netd event code for interface class acitivity.\n\nChange-Id: I83d5ca9ab854cb30ce6d9c06a977ca295f0cdbfd\n"
    },
    {
      "commit": "cdce0b9897183f8aef08fe200feb4027fac56290",
      "tree": "43ca233c53b86d7e076aa5ee055872de720d020f",
      "parents": [
        "fe19f1234e460a22e43a53665db1c48613844fa6"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Thu Jul 12 19:06:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:31:02 2012 -0700"
      },
      "message": "Handle airplane mode messages in BroadcastReceiver, safe locking, etc\n\nHandle airplane mode messages in BroadcastReceiver\nSafe-lock the access of mBluetooth as a indication of binding state\nbreak indent\n\nChange-Id: Ib24ba0b1f5102c80e55e44b40a8dbf88bc2fad2e\n"
    },
    {
      "commit": "fe19f1234e460a22e43a53665db1c48613844fa6",
      "tree": "43d2967d27df85f154d32c2c2af75cb15bc47584",
      "parents": [
        "6fde3098074ab2551867d1cd919958383b15725f"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Thu Jul 12 16:03:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:30:45 2012 -0700"
      },
      "message": "Add TODO comments to remove start/stopReverseTethering\n\nChange start/stopReverseTethering permission from CHANGE_NETWORK_STATE\nto CONNECTIVITY_INTERNAL\n\nChange-Id: Iac76d5af6418e6a3e2d2f77bf713466981285e1a\n"
    },
    {
      "commit": "6fde3098074ab2551867d1cd919958383b15725f",
      "tree": "1890a45cdc44c8cfd8db46de62a7d3b41e360f1b",
      "parents": [
        "a8c6df0d3a6b929cac3e59abde8309e8a45ea78a"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Wed Jul 11 17:10:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:30:10 2012 -0700"
      },
      "message": "Minor changes. Change some instance variables to be final.\n\nVariable name changes, better code reability.\n\nChange-Id: I9f0e9c8a57d4bacf0723be1f91d621c592860683\n"
    },
    {
      "commit": "a8c6df0d3a6b929cac3e59abde8309e8a45ea78a",
      "tree": "93fe3513d777e30ac8a75cfc1cd5145de6b44106",
      "parents": [
        "9631314e3d28b6e96ef0b7cc777f1a7747a0ac39"
      ],
      "author": {
        "name": "Fred",
        "email": "fredc@broadcom.com",
        "time": "Wed Jul 11 10:25:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:29:44 2012 -0700"
      },
      "message": "Removed startService() call from BluetoothManagerService.\n\nBT enable()/disable() are handled by using the binder interface\n\nChange-Id: I0bb8d4984129706e424320241ca3ea7e12caf0d3\n\nConflicts:\n\n\tcore/java/android/bluetooth/IBluetooth.aidl\n"
    },
    {
      "commit": "9631314e3d28b6e96ef0b7cc777f1a7747a0ac39",
      "tree": "382904644d26733e0cafd295924397e81198a634",
      "parents": [
        "5a1195fd5faf40428bc98e5bc24d09edbf3c3b6c"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Fri Jun 29 16:57:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:29:12 2012 -0700"
      },
      "message": "Fix merge error, put in tmp workaround for input manager.\n\nFix merge error, missing enableNoAutoConnect api.\nRemove bluetoothF from inputManageF.systemReady call as tmp workaround.\nRecover shutdownRadios(MAX_RADIO_WAIT_TIME) call in ShutdownThread\n\nChange-Id: Ice2b5c54267755bdbf56c742feabbb8709b92570\n"
    },
    {
      "commit": "bf072a712f584ae1c01022835b0de21c40513d06",
      "tree": "ca02907919a6fc53d048f20059960f68062a314b",
      "parents": [
        "c2f5cc50f70bbb82729659f72e1491de137f7fe2"
      ],
      "author": {
        "name": "fredc",
        "email": "fredc@broadcom.com",
        "time": "Wed May 09 16:52:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:28:12 2012 -0700"
      },
      "message": "Moved BluetoothAdapter.ACTION_STATE_CHANGED broadcast from AdapterService to BluetoothManagerService\n\nChange-Id: I88e5f3fe050cf11eae9c5cf1b7c393a178b8f9b1\n"
    },
    {
      "commit": "c2f5cc50f70bbb82729659f72e1491de137f7fe2",
      "tree": "b4ab8a4f700eee070c1544780324f01b44e6e159",
      "parents": [
        "20738945d482d9e313cd8b48c1bd83b6278934c7"
      ],
      "author": {
        "name": "zzy",
        "email": "zhenye@broadcom.com",
        "time": "Tue May 01 18:05:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:27:44 2012 -0700"
      },
      "message": "disable the sync addr flag\n"
    },
    {
      "commit": "a732ffd8e07a024fb15832990546d38d1ddf384e",
      "tree": "043fc5ca4e6118601ed771225759a5fb60096445",
      "parents": [
        "7329e70841ff1ab78e0a9e2042aee1f10102eaf4"
      ],
      "author": {
        "name": "Andre Eisenbach",
        "email": "andre@broadcom.com",
        "time": "Wed May 02 00:39:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:26:26 2012 -0700"
      },
      "message": "Re-enable Bluetooth after a reboot, even if airplane mode is enabled.\n\nThis is to resolve Buganizer issue 6325950 and make the behaviour of\nBlueooth and Wifi consistant.\n\nChange-Id: Idd6cfa79136f7847e9e670d6d2aa0bf613b0381f\n"
    },
    {
      "commit": "d6883533e4ac3f73d2fde1db9a1dddf06dac6709",
      "tree": "97b2c1857ff7fd3467541958c2d3c61f4bbee671",
      "parents": [
        "903ac6f399dcd4f574bf388daa7b5f5907d448d3"
      ],
      "author": {
        "name": "fredc",
        "email": "fredc@broadcom.com",
        "time": "Wed Apr 25 17:46:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:25:05 2012 -0700"
      },
      "message": "Fixed socket not closing on BT off. Used RemoteCallbackList to monitor binder deaths in BluetoothManagerService.\n\nChange-Id: I524964bd2836d8c5a4bae095b93ac9481337941d\n"
    },
    {
      "commit": "116d1d4696ac8e300c83dd8a95e20e67717ef520",
      "tree": "8a29707de7929b1964a580a3174894c2d82e2bd4",
      "parents": [
        "649fe497cea2f19e937f84218d1080bdcefe47f2"
      ],
      "author": {
        "name": "fredc",
        "email": "fredc@broadcom.com",
        "time": "Fri Apr 20 14:47:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:23:34 2012 -0700"
      },
      "message": "Fixed issue with getting Bluetooth adapter\u0027s name and airplane mode\n\nChange-Id: I18b632223574aa41b09ba30de8e35417fad86cbe\n"
    },
    {
      "commit": "649fe497cea2f19e937f84218d1080bdcefe47f2",
      "tree": "35a6e3b7a02ba6f342feb4258336c43d54e08a4d",
      "parents": [
        "4bedba49fe6989387fd04499b175af56e068da28"
      ],
      "author": {
        "name": "fredc",
        "email": "fredc@broadcom.com",
        "time": "Thu Apr 19 01:07:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:22:56 2012 -0700"
      },
      "message": "Fixed BT on/off issues and added airplane mode handling\n\nChange-Id: If39df19b99a3f45ebe82e89205d8bb0ff036e2a2\n"
    },
    {
      "commit": "f24588615efa6c781ad963f1a5bbdf47359e1b53",
      "tree": "499b3c68998fe139e24b9f18df3dabfccbbaf45b",
      "parents": [
        "a097f51e5fde9d00ebe99f4e1915cc6d4cd078ad"
      ],
      "author": {
        "name": "fredc",
        "email": "fredc@broadcom.com",
        "time": "Mon Apr 16 15:18:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:21:50 2012 -0700"
      },
      "message": "Fixed issue with Bluetooth not turning on if enabled called twice in a row or disabled called twice in a row\n\nChange-Id: I26cac2fa347934e0740578b811aa5a6767cf4862\n"
    },
    {
      "commit": "0f42037eb7b5118015c2caca635538324ccf0ccf",
      "tree": "46a7ba36216a2cb617541ec68f18b413419e148f",
      "parents": [
        "919a4c6264b733585152ce1dc6f868c1093d368b"
      ],
      "author": {
        "name": "fredc",
        "email": "fredc@broadcom.com",
        "time": "Thu Apr 12 00:02:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:20:54 2012 -0700"
      },
      "message": "Non persistent adapter service\n\nChange-Id: Ib13d5c77416e58161df0e04d7a15ec0dddbde8b5\n\nConflicts:\n\n\tcore/java/android/bluetooth/BluetoothInputDevice.java\n\nConflicts:\n\n\tcore/java/com/android/internal/app/ShutdownThread.java\n\tservices/java/com/android/server/SystemServer.java\n\nConflicts:\n\n\tservices/java/com/android/server/SystemServer.java\n\tservices/java/com/android/server/pm/ShutdownThread.java\n"
    },
    {
      "commit": "e21a4ac09d2473becaea43a73d19e9e836e7732a",
      "tree": "83818e511bf4a9592d4711458c8c8c305037904e",
      "parents": [
        "75780aa43103c1810ce422f30fb0cbebde4a0716"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue Mar 06 17:15:16 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:14:15 2012 -0700"
      },
      "message": "Add a new version of the disable API.\n\nThis allows for the setting to be persisted or not.\nAlso turn on Bluetooth in System Server if needed.\nIt won\u0027t work currently because the service wouldn\u0027t have\nstarted.\n\nChange-Id: I15fa2bff93aa32134c1b565fcbe90ba68614b6a1\n"
    },
    {
      "commit": "3a6794cad739c2b6fcc9b3fc6c4461f88728af8a",
      "tree": "8b809f80ebb1654f7634d294b40dcd67097dd982",
      "parents": [
        "a0a69897dfa3f0ede5558326172fb676e5dbe359",
        "1abb1cb3a8fe17f7866150604c2fd73751da787e"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Mon Jul 16 21:13:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:13:26 2012 -0700"
      },
      "message": "Merge \"Changes to Bluetooth Service structure.\""
    },
    {
      "commit": "a0a69897dfa3f0ede5558326172fb676e5dbe359",
      "tree": "f03a8e512704ee7715aaf4f6a1f40cba847c17d9",
      "parents": [
        "a8ae2ee371decb9504c8b449de45a253eae7d5c4",
        "34196187365687d3f144a6de5fef811b52545ac0"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Mon Jul 16 21:13:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:13:06 2012 -0700"
      },
      "message": "Merge \"Remove BT references from System Server.\""
    },
    {
      "commit": "a8ae2ee371decb9504c8b449de45a253eae7d5c4",
      "tree": "51d02e73cf0d590abc4251f54d8d60519df96bc2",
      "parents": [
        "d4d4e715c5f4423b9fadce77b120b8488e011337",
        "9773ebb7783ecd29957b43acbe5b26ba459a7458"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Mon Jul 16 21:12:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 21:12:48 2012 -0700"
      },
      "message": "Merge \"Dock: Temporary removal of function to get BT address\""
    },
    {
      "commit": "c69238ebc8d011ce225c9540bcf4e79bd3fa8eb0",
      "tree": "d0ce233e8b7df56fd7e3c61015f027ae09e6cdee",
      "parents": [
        "11b0395acad2556a7d20e67799dc31a967294a30",
        "3cc321ecf505d87850740ad3c63849e6793a8ef6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 16:18:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 16:18:13 2012 -0700"
      },
      "message": "Merge \"Remove dithering support.\""
    },
    {
      "commit": "3cc321ecf505d87850740ad3c63849e6793a8ef6",
      "tree": "a0bb81da762033fc65a5837de1c27193a4b64c28",
      "parents": [
        "ef4e817ad642303509da1cb28ce5a265e1ac3e17"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 16:04:23 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 16:17:25 2012 -0700"
      },
      "message": "Remove dithering support.\n\nThe dithering flag is no longer implemented in Surface Flinger\nso this is all dead code.\n\nChange-Id: I74c0e452923207e5b7cfe0eeca9457e5cb990947\n"
    },
    {
      "commit": "f422a5669457c152e36e889c820d64b37e005167",
      "tree": "b32ec54f710ef3b08c624cbff52a2ef44a792a7d",
      "parents": [
        "8ec65d5ba723c6e305680285f5327ae2f04dc38b",
        "55e395ab33f24b009d87a4d45a5566394260fff7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 15:52:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 15:52:54 2012 -0700"
      },
      "message": "Merge \"Remove freezeDisplay(), which is no-op.\""
    },
    {
      "commit": "a46cdc04fa2561de158d3e3beb505e4ba200b315",
      "tree": "aa13963deb52df91b495163f8294d3e5ea6ef229",
      "parents": [
        "f1e43f76e225a7fb845d9e4e52686b3b7a6162e2",
        "c80f72f75e8d5b5fa85b694b64510fad74ea345d"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Jul 16 15:33:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 16 15:33:19 2012 -0700"
      },
      "message": "am c80f72f7: Merge \"Fixing issue where you couldn\\\u0027t set null RemoteViews for a widget\" into jb-dev\n\n* commit \u0027c80f72f75e8d5b5fa85b694b64510fad74ea345d\u0027:\n  Fixing issue where you couldn\u0027t set null RemoteViews for a widget\n"
    },
    {
      "commit": "c80f72f75e8d5b5fa85b694b64510fad74ea345d",
      "tree": "5b3d2ef20f18ebcbc188a79b226431cffc4c2143",
      "parents": [
        "eb6727963713137a0f68f02207f057ebec597691",
        "e5827466217b0d44795b23b7c2a09bd08ddc1065"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Jul 16 15:29:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 15:29:44 2012 -0700"
      },
      "message": "Merge \"Fixing issue where you couldn\u0027t set null RemoteViews for a widget\" into jb-dev"
    }
  ],
  "next": "55e395ab33f24b009d87a4d45a5566394260fff7"
}
