)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "55e395ab33f24b009d87a4d45a5566394260fff7",
      "tree": "43b06113a543c8fe4aff877e997653f0b10ee2a0",
      "parents": [
        "401b1f85746ab7005907747a59534def967d825b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 14:57:22 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 16 14:57:22 2012 -0700"
      },
      "message": "Remove freezeDisplay(), which is no-op.\n\nChange-Id: I981ee49e6e2d41a09feaee4b384392e83f7faf3d\n"
    },
    {
      "commit": "7d4252171c8f58e18359e476c9768fea39778489",
      "tree": "e5e4a8486bca968420a35eda9ded70a97eab0c44",
      "parents": [
        "b613e42f0c09106e1b134f1eed62ef4cb88a4506",
        "e0fd693c6098f59004f9e96ad75c058e26c337b0"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Jul 16 14:26:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 14:26:14 2012 -0700"
      },
      "message": "Merge \"Improve geofencing: throttle location updates with distance to fence.\""
    },
    {
      "commit": "e5827466217b0d44795b23b7c2a09bd08ddc1065",
      "tree": "c159345e2c6063ff82cbec3dcf147483d2919e2b",
      "parents": [
        "f8d05b4ea61bb0db32c1a7f93f27a13f67c9ef0c"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Jul 16 12:02:10 2012 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Jul 16 13:56:17 2012 -0700"
      },
      "message": "Fixing issue where you couldn\u0027t set null RemoteViews for a widget\n\n-\u003e As noted here: http://code.google.com/p/android/issues/detail?id\u003d35014\n\nChange-Id: Id5d1c47b6961d4b448453d8b16700801c0137f2b\n"
    },
    {
      "commit": "e0fd693c6098f59004f9e96ad75c058e26c337b0",
      "tree": "d015b05584ab8cb4feab93fe8bdbedcbad7502fa",
      "parents": [
        "357d9cb861e05c514acba8cc0a8fc5ef70e4a356"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Jul 11 10:26:13 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Jul 16 12:18:52 2012 -0700"
      },
      "message": "Improve geofencing: throttle location updates with distance to fence.\n\nPreviously any geofence (proximity alert) would turn the GPS on at full rate.\nNow, we modify the GPS interval with the distance to the nearest geofence.\nA speed of 100m/s is assumed to calculate the next GPS update.\n\nAlso\no Major refactor of geofencing code, to make it easier to continue to improve.\no Discard proximity alerts when an app is removed.\no Misc cleanup of nearby code. There are other upcoming changes\n  that make this a good time for some house-keeping.\n\nTODO:\nThe new geofencing heuristics are much better than before, but still\nrelatively naive. The next steps could be:\n- Improve boundary detection\n- Improve update thottling for large geofences\n- Consider velocity when throttling\n\nChange-Id: Ie6e23d2cb2b931eba5d2a2fc759543bb96e2f7d0\n"
    },
    {
      "commit": "f08a8b78b61bc7f1a6a71c70da25ec3ef41b8cff",
      "tree": "81aad8578fe2518b9c8159a88adba0f893d3d390",
      "parents": [
        "1696af969294e3270011407ad0ed5c4ceb9b28c1"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Jul 16 12:02:10 2012 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Jul 16 12:04:17 2012 -0700"
      },
      "message": "Fixing issue where you couldn\u0027t set null RemoteViews for a widget\n\n-\u003e As noted here: http://code.google.com/p/android/issues/detail?id\u003d35014\n\nChange-Id: Id5d1c47b6961d4b448453d8b16700801c0137f2b\n"
    },
    {
      "commit": "c9c9a48e7bafae63cb35a9aa69255e80aba83988",
      "tree": "80295bae9e6546d9d7fb604af0fa772ebd18a4fc",
      "parents": [
        "dd0d0ba654cea3051e44ba9ae20ac4b269e123c0"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jul 16 08:46:07 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jul 16 08:46:11 2012 -0700"
      },
      "message": "Removing a workaround for incorrect window position on window move.\n\n1. The window manager was not notifying a window when the latter\n   has been moved. This was causing incorrect coordinates of the\n   nodes reported to accessibility services. To workaround that\n   we have carried the correct window location when making a\n   call from the accessibility layer into a window. Now the\n   window manager notifies the window when it is moved and the\n   workaround is no longer needed. This change takes it out.\n\n2. The left and right in the attach info were not updated properly\n   after a report that the window has moved.\n\n3. The accessibility manager service was calling directly methods\n   on the window manager service without going through the interface\n   of the latter. This leads to unnecessary coupling and in the\n   long rung increases system complexity and reduces maintability.\n\nbug:6623031\n\nChange-Id: Iacb734b1bf337a47fad02c827ece45bb2f53a79d\n"
    },
    {
      "commit": "1abb1cb3a8fe17f7866150604c2fd73751da787e",
      "tree": "a2f4fa365665fc5b25fc66c6f7b90ea3ca719cfc",
      "parents": [
        "34196187365687d3f144a6de5fef811b52545ac0"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Jan 25 16:14:50 2012 -0800"
      },
      "committer": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Fri Jul 13 22:22:51 2012 -0700"
      },
      "message": "Changes to Bluetooth Service structure.\n\nChanges to make Bluetooth Service part of the system_service.\nThese changes may be temporary.\n\nChanges to update to the new disable API.\n\nChange-Id: If89dba17e6e6c6daa53c37684221763a2da076e9\n\nConflicts:\n\n\tservices/java/com/android/server/pm/PackageManagerService.java\n"
    },
    {
      "commit": "34196187365687d3f144a6de5fef811b52545ac0",
      "tree": "41b6c56fd27831be657e028f719130c21f03c010",
      "parents": [
        "9773ebb7783ecd29957b43acbe5b26ba459a7458"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue Jan 17 17:00:34 2012 -0800"
      },
      "committer": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Fri Jul 13 22:22:51 2012 -0700"
      },
      "message": "Remove BT references from System Server.\n\nChange-Id: Icfdb3e140aa35174a8b70da57472a1bf2bd0143b\n\nConflicts:\n\n\tservices/java/com/android/server/SystemServer.java\n"
    }
  ],
  "next": "9773ebb7783ecd29957b43acbe5b26ba459a7458"
}
