)]}'
{
  "log": [
    {
      "commit": "f80a9b2f8a841d32c7398ebbf4cba82b02e9f167",
      "tree": "1d20b6710ad96e10b1fc69e1cd81b3f3c5c979e7",
      "parents": [
        "3b772c6b6754aede43cbc849b89e91b399d6828d"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 24 19:38:28 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 10:31:47 2012 -0700"
      },
      "message": "Watch for voice recognition service changes for all users\n\nMonitor package changes and update the default recognizer\n\nBug: 7216043\n\nChange-Id: I6b358b62401eaf58b38059caa57f72585f332eb5\n"
    },
    {
      "commit": "fe3632bcbea6aabe0e363c00097767465a1d7797",
      "tree": "6d6ff6896f2b4d3221154da728e1b5bb112848ae",
      "parents": [
        "56d8cc103150eecad8911754735abec3a7ce9691",
        "03e7b8881599da69207a93a2bcbbe5050efb6633"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:41:58 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:42:01 2012 -0700"
      },
      "message": "Merge into jb-mr1-dev\n\nChange-Id: Ib0523ded92e2fe4be6a32d092baa55b527229c07\n"
    },
    {
      "commit": "56d8cc103150eecad8911754735abec3a7ce9691",
      "tree": "faaecef28f4b10b939d2e2280378540fa7f7efff",
      "parents": [
        "ecfc9ca5f5233ad2eb6921c05250b8b3ebbc4c58",
        "187f3f94901001792328b40366b434135e3f1dde"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:41:22 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:41:25 2012 -0700"
      },
      "message": "Merge into jb-mr1-dev\n\nChange-Id: I6504b000be7e3b6e770af99c5a922fd1e9ec73de\n"
    },
    {
      "commit": "ecfc9ca5f5233ad2eb6921c05250b8b3ebbc4c58",
      "tree": "43a34e42811918d39cace14036be9a52e91a4dd4",
      "parents": [
        "d33646008948db439ea8cde8dfc0188aced6436d",
        "35d323a5206644029eb53ae751268feca430cc46"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:40:36 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:40:41 2012 -0700"
      },
      "message": "Merge into jb-mr1-dev\n\nChange-Id: Ia9c5e2295fe61ae0f5275d3ddfd056d9778b66d1\n"
    },
    {
      "commit": "95293865bde95d2a41cb6edb0d113277000ccb29",
      "tree": "a26b4f137116071a2a6fdde8724a77534d5fbc09",
      "parents": [
        "0dfe1cf3cda5accef0a3c361593ccc716e725539"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 24 18:14:47 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:39:36 2012 -0700"
      },
      "message": "Fix build\n\nMerge error...\n\nChange-Id: I0e674ee25a080fa6abfaa9da893084d6b4fa69a6\n"
    },
    {
      "commit": "0dfe1cf3cda5accef0a3c361593ccc716e725539",
      "tree": "f7c0faad50a042f5231928b529e784716331481e",
      "parents": [
        "07e35aa80bff6ca83ba9b62797ab8f27b4fdbfa5",
        "3671410b9e09e1c5ec05dfc58651a8efaa7790dd"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:37:48 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:37:51 2012 -0700"
      },
      "message": "Merge into jb-mr1-dev\n\nChange-Id: Id8bbccaa542bef3351958fb6749370880a1921f3\n"
    },
    {
      "commit": "7951c459aefeb012638477b762e19b792ecbe009",
      "tree": "7a9625e8186f9e040a2daa3121f4189feb1685ac",
      "parents": [
        "a5e1d21f566c8df750d766c76f6a99432a703c5e",
        "ea7e91514ee1968d15713e82a5cca745e2c46a05"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:36:28 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:36:32 2012 -0700"
      },
      "message": "Merge into jb-mr1-dev\n\nChange-Id: Ifc2328e30a52c2baebc1322c9b161104dcf21618\n"
    },
    {
      "commit": "ec1996131d2e17408a22fd55fbc3edba5ea80d02",
      "tree": "dff2d2c31abe3abca11316618782616d38e32d29",
      "parents": [
        "7a7c6aa0c35d80145e163d9e637180d3be127441",
        "8d0243a3d0269d3a57d90eb2e7b12b41f53b27d9"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:35:16 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:35:19 2012 -0700"
      },
      "message": "Merge into jb-mr1-dev\n\nChange-Id: I97ff2551b36a1b590f2d314cabfcf198dd10f404\n"
    },
    {
      "commit": "6fb2514cdf77e2657d7b73b0cd97e060aefc6b53",
      "tree": "1f914b2dc2bb371a2b41388a0c0fe056e4f439ee",
      "parents": [
        "8f862ef9f74f2d2ebf767c645ce39db8412dd08f",
        "139748fd724b482e2c012a6ec44d1c5abc0c0e97"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:24:39 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 25 09:25:15 2012 -0700"
      },
      "message": "Merge into jb-mr1-dev\n\nChange-Id: I1baab28b12364213673ed7992207ad198491f286\n"
    },
    {
      "commit": "03e7b8881599da69207a93a2bcbbe5050efb6633",
      "tree": "fa86236136e0cebbe71af056e30f4834c18c58d3",
      "parents": [
        "bc391d58c8d09bd58b57dda20dd9d2281d90db32"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 24 18:35:54 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 24 18:43:30 2012 -0700"
      },
      "message": "More than one finger at a time can trigger a system crash.\n\n1. The crash was happening if: two active pointers are performing a drag;\n   there are some inactive pointers down; the main dragging pointer (we are\n   merging the dragging pointers into one) goes up; now an inactive pointer\n   goes up and the explorer tries to inject up for the dragging pointer\n   which is no longer in the event resulting in a crash. Basically two\n   problems: inactive pointers were not ignored; 2) having only one\n   active pointer should not only send the up event but also transition\n   the explorer in touch exploring state.\n\nbug:6874128\n\nChange-Id: I341fc360ebc074fe3919d5ba3b98ee5cb08dd71e\n"
    },
    {
      "commit": "3671410b9e09e1c5ec05dfc58651a8efaa7790dd",
      "tree": "5b13a2d3635c9ad5e7aa9f97d1c0bf4bcf135e50",
      "parents": [
        "8d0243a3d0269d3a57d90eb2e7b12b41f53b27d9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 24 17:36:06 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 24 17:36:06 2012 -0700"
      },
      "message": "Fix dialogs on secondary displays.\n\nBug: 7183618\nChange-Id: I65b650a0c423f3081c412a7341b7427b6ac85e24\n"
    },
    {
      "commit": "ea7e91514ee1968d15713e82a5cca745e2c46a05",
      "tree": "cea4f88f0db9fa4132f93745ee4605a59a129e80",
      "parents": [
        "bc391d58c8d09bd58b57dda20dd9d2281d90db32"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 24 16:11:18 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 24 17:19:03 2012 -0700"
      },
      "message": "AppInfo from Notifications for secondary users\n\nRequired wiring up startActivitiesAsUser()\n\nBug: 7224950\n\nAlso fix a bug in navigateUp in secondary user\n\nChange-Id: I114ae2de0457362d62e899fdb94b12239a3eb778\n"
    },
    {
      "commit": "187f3f94901001792328b40366b434135e3f1dde",
      "tree": "d1f54e97f9d65c1375ce5e63b586e085d9d3e805",
      "parents": [
        "bc391d58c8d09bd58b57dda20dd9d2281d90db32"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 24 16:32:53 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 24 16:34:26 2012 -0700"
      },
      "message": "Magnified frame not properly computed when keyguard goes away.\n\n1. The keyguard force hides some windows when it is shown and as soon\n   as the keyguard goes away there windows are made visible. However,\n   the window transition that the keyguard is moving away is reported\n   before the force hidden windows are shown which makes the screen\n   magnifier compute the magnified region with an incomplete list of\n   windows of interest.\n\nbug:7215285\n\nChange-Id: I3abc4d97b7a74de8183ad20477dadf66c82da037\n"
    },
    {
      "commit": "14a9f2b9d23976b7aae5330b56c633a03181c710",
      "tree": "c311d1374acb5416d70c3c628eab17e01d7265d4",
      "parents": [
        "2033763bb18913773eea3ac82bf9dbb053444ac6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 24 14:36:44 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 24 14:37:31 2012 -0700"
      },
      "message": "Fix drag and drop surfaces on secondary displays.\n\nBug: 7183618\nChange-Id: I4ef746916aad984640f1eb3b3c71b1e34595aabd\n"
    },
    {
      "commit": "2033763bb18913773eea3ac82bf9dbb053444ac6",
      "tree": "bca0d0db9c888c376547a3b32ccf2d779ada3b5e",
      "parents": [
        "efd43bdb831351f1b0332ec3d55197e61e38bbb3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 24 14:25:54 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 24 14:37:30 2012 -0700"
      },
      "message": "Allow a window on a secondary display to have focus.\n\nIf any window on the default display has focus, then it\ngets focus as usual.  If no window on the default display\nhas focus, then we consider windows on the secondary display.\n\nIn the future we will need more elaborate schemes for\nmanaging focus across multiple displays, but this is enough\nfor testing purposes now.\n\nBug: 7183618\nChange-Id: I21ddb9904eb9e574e42d28743aeca51f4ffebf64\n"
    },
    {
      "commit": "139748fd724b482e2c012a6ec44d1c5abc0c0e97",
      "tree": "aef4a2d661092f667e3c932e195c6bacd1208663",
      "parents": [
        "4249be40bd1c51dae37c27f9450ed01f19edcbef"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 24 11:36:57 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 24 14:15:14 2012 -0700"
      },
      "message": "Fix issue #7215984: java.lang.RuntimeException: Unable to create...\n\n...service com.android.systemui.SystemUIService: java.lang.NullPointerException\n\n- Don\u0027t acquire the activity manager lock in handleIncomingUser(),\n  there is really no need to do so.\n- Rework the settings provider client side cache code to not hold\n  locks while calling into the provider.\n\nI also changed the way the settings provider uses system properties\nso that there is one property for all users.  We can\u0027t do one per\nuser, since the system property name space is limited with a fixed\nsize.  And we don\u0027t really need to do that; the worse that happens\nby combining all users is that if one running user changes one of its\nsettings, all other running users will think they need to reload\nsettings when they go to fetch them next.\n\nChange-Id: I13b90b832310d117eb6d721aacd122cfba7d749a\n"
    },
    {
      "commit": "270a331cae1f8179e15c794cf8a359893d5966a1",
      "tree": "4a11366d678bed3433f1b9ae8865bd432efe5c9d",
      "parents": [
        "598cfcad42c117a05c4a6f3f75c415b1146170d1",
        "657968a65f29e9319c39b833fefc2ae7472c3e53"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 24 13:58:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 13:58:22 2012 -0700"
      },
      "message": "Merge \"UI test automation service should not be auto reconnected.\" into jb-mr1-dev"
    },
    {
      "commit": "657968a65f29e9319c39b833fefc2ae7472c3e53",
      "tree": "3df3b9df162128db6459d0099aad1dde6ad6f03b",
      "parents": [
        "9371a0a0c0cdf9be0e0a32e4c3037cc2e216cfa0"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 21 19:08:35 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 24 13:50:44 2012 -0700"
      },
      "message": "UI test automation service should not be auto reconnected.\n\n1. Since adb is restarted on user switch it makes no sense to\n   try to reconnect the ui automation service since it will\n   be killed on a user switch.\n\n   Disabling touch exploration on UI automation service\n   connect since it can explicitly put the device in this\n   state if needed.\n\nbug:6967373\n\nChange-Id: I8cfde74f28f3f03d4ccf24746d43b8178ae2b5ef\n"
    },
    {
      "commit": "bc391d58c8d09bd58b57dda20dd9d2281d90db32",
      "tree": "a2229a1a1b02535f6ee5ae3ddaba76db9cb7a93e",
      "parents": [
        "9b93f4def131845200997c861858f34cc15c8dee",
        "53fe75677212d0eb45e256a78599d7866256bc6a"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Mon Sep 24 11:41:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 11:41:53 2012 -0700"
      },
      "message": "Merge \"Revert \"Fix for bug: #7173350. elapsedRealtimeNano() -\u003e elapsedRealtimeNanos()\"\" into jb-mr1-dev"
    },
    {
      "commit": "53fe75677212d0eb45e256a78599d7866256bc6a",
      "tree": "9e2bacbd6cf9fa125447b697c9531d7a3583b8ac",
      "parents": [
        "2f6d8829524dfca3a77e9a57c3b9c3862209877d"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Mon Sep 24 11:38:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 11:38:29 2012 -0700"
      },
      "message": "Revert \"Fix for bug: #7173350. elapsedRealtimeNano() -\u003e elapsedRealtimeNanos()\"\n\nThis reverts commit 2f6d8829524dfca3a77e9a57c3b9c3862209877d\n\nChange-Id: Id5af767a09fc319127c4ebef837c5b7a7f75cb01\n"
    },
    {
      "commit": "9b93f4def131845200997c861858f34cc15c8dee",
      "tree": "7c16c2f719c4e1b5826ae1961c5c798e477a0772",
      "parents": [
        "7451f15e7464fe8dd117b74c6dcff780785e0007",
        "03bdc8a8f756a951b460b01cbd4d01c2ffd05041"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Mon Sep 24 11:24:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 11:24:26 2012 -0700"
      },
      "message": "Merge \"Fix security check for private allocateAppWidgetId api\" into jb-mr1-dev"
    },
    {
      "commit": "b00df8e929f9ba865a95a7df3f949e6169332954",
      "tree": "403858cba43361e6ca1a9a4d955929f4b671e2a0",
      "parents": [
        "cd11b223f3d23ca0f92b53808f7e1cce928c2a7b",
        "2f6d8829524dfca3a77e9a57c3b9c3862209877d"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Mon Sep 24 11:02:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 11:02:31 2012 -0700"
      },
      "message": "Merge \"Fix for bug: #7173350. elapsedRealtimeNano() -\u003e elapsedRealtimeNanos()\" into jb-mr1-dev"
    },
    {
      "commit": "cd11b223f3d23ca0f92b53808f7e1cce928c2a7b",
      "tree": "2f4c9ab3fce332b37a29d21daee56b989cfd6b41",
      "parents": [
        "d5111f252b731396293caedbee929856acd6b276",
        "50cdf7c3069eb2cf82acbad73c322b7a5f3af4b1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 24 10:58:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 10:58:20 2012 -0700"
      },
      "message": "Merge \"Fix issue #7214090: Need to be able to post notifications to all users\" into jb-mr1-dev"
    },
    {
      "commit": "50cdf7c3069eb2cf82acbad73c322b7a5f3af4b1",
      "tree": "af1acc3ce0293d1ed797ecf0b7210464eb76e67c",
      "parents": [
        "6b3292ce5b3908c7433503f64c852cf2b27718ed"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 23 17:08:57 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 24 10:55:46 2012 -0700"
      },
      "message": "Fix issue #7214090: Need to be able to post notifications to all users\n\nAlso fix a bunch of system services that should be doing this.  And\nwhile doing that, found I needed to fix PendingIntent to evaluate\nUSER_CURRENT at the point of sending, not creation.\n\nNote that this may end up with us having some notification shown to\nnon-primary users that lead to settings UI that should only be for\nthe primary user (such as the vpn notification).  I\u0027m not sure what\nto do about this, maybe we need a different UI to come up there or\nsomething, but showing the actual notification for those users at\nleast seems less broken than not telling them at all.\n\nChange-Id: Iffc51e2d7c847e3d05064d292ab93937646a1ab7\n"
    },
    {
      "commit": "888eb73c6e86a18520cbaa999a18e8b039dbed4f",
      "tree": "bbd29d6e227c5be9bc83e4200cbb456480a9db17",
      "parents": [
        "8658e1aa1fb0905852c4b0f5ae1d96cd2d56b6cf",
        "814f5ac3a16a74c9b5e365ee5e70b9db245fd340"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 24 09:26:37 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 24 09:26:37 2012 -0700"
      },
      "message": "resolved conflicts for merge of 814f5ac3 to jb-mr1-dev\n\nChange-Id: Ic65395ce932971dc9c37a481aa96da79a45d0f12\n"
    },
    {
      "commit": "8658e1aa1fb0905852c4b0f5ae1d96cd2d56b6cf",
      "tree": "6bae3c1a8219a2ccf2676a71770a05499c9223fd",
      "parents": [
        "18fd992b2da203a268e3c1b345c040d36ac3dc84",
        "8dbb63419bef8678cf92ebae1d43f549f50987c7"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Mon Sep 24 09:02:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 09:02:13 2012 -0700"
      },
      "message": "Merge \"Allow apps to getProviders() without location permissions.\" into jb-mr1-dev"
    },
    {
      "commit": "b079d1f28089ad4de05162b7df0ace90bc40a5f3",
      "tree": "941d8248b5433729af381323fe74e8d0c1518738",
      "parents": [
        "56fd88d87ff607f65a963b5500b27ae3d4d2670e",
        "5e8cbdc0bd6dfc51e6b54db1d5fd61347336d862"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 24 08:45:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 24 08:45:14 2012 -0700"
      },
      "message": "am 5e8cbdc0: Merge \"Fixing services start order that impacts ICS - JB upgrade\"\n\n* commit \u00275e8cbdc0bd6dfc51e6b54db1d5fd61347336d862\u0027:\n  Fixing services start order that impacts ICS - JB upgrade\n"
    },
    {
      "commit": "49397ac93ce3cf4fc38d00b1099a6cd9075cee8a",
      "tree": "c23a8316dc9418079f8bd7cf5500cfcabab368f5",
      "parents": [
        "6b3292ce5b3908c7433503f64c852cf2b27718ed",
        "752cd922f7091dfd5401faf70dc248934a9dbb6d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Sep 23 18:25:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 23 18:25:47 2012 -0700"
      },
      "message": "Merge \"Always bind to DefaultContainerService as OWNER.\" into jb-mr1-dev"
    },
    {
      "commit": "916b2b5a932a3be1a1363ac1871e74ad8b314f00",
      "tree": "111156e1284acb756d78932811d806454f3160c4",
      "parents": [
        "f7a3e979a7ab3be4715408b6328f27e56a7c9326",
        "2c2ca5cb7c083cd53dee00e71af99d1abf931976"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sun Sep 23 17:32:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 23 17:32:07 2012 -0700"
      },
      "message": "Merge \"Increase WFD connect time out to 60s\" into jb-mr1-dev"
    },
    {
      "commit": "2c2ca5cb7c083cd53dee00e71af99d1abf931976",
      "tree": "eb946686b60284a59cee658bb0e2f54a251ae8ac",
      "parents": [
        "d36adc31ce0335635b536174299e15b9f099c9ad"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sun Sep 23 17:30:19 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sun Sep 23 17:30:19 2012 -0700"
      },
      "message": "Increase WFD connect time out to 60s\n\nThe worst case WPS timeout for GO negotiation is two minutes.\nUntil, we better handle cancelling/disconnecting and re-syncing the\nWFD framework with the wifi direct framework/supplicant, increase\nthe time out to 60s to help with dogfood\n\nBug: 7217600\nChange-Id: I1ba0d9963b957454e2c6f47bfdf05176dea07be7\n"
    },
    {
      "commit": "752cd922f7091dfd5401faf70dc248934a9dbb6d",
      "tree": "687e7c87a3fa71ac84c3fc5db8327d452a7cddc3",
      "parents": [
        "5a370882f87321629f98f6149ac946a57e25dfa8"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Sep 23 16:25:12 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Sep 23 16:44:34 2012 -0700"
      },
      "message": "Always bind to DefaultContainerService as OWNER.\n\nWhen PackageManagerService deals with external storage, always bind\nto DefaultContainerService as USER_OWNER.  This avoids binding to a\nstopped user, which would fail.\n\nBug: 7203111\nChange-Id: I8e303c7558e8b5cbe4fea0acc9a472b598df0caa\n"
    },
    {
      "commit": "17e3e9e53c5fb9c92c8972a8d92659c6bef85831",
      "tree": "e7d429e36069f950f9c2b47ed66b55acf4fb0a87",
      "parents": [
        "e3f2ac9e526e5b4de4d2ae113e644c1cb14b1ce6",
        "09016ab4dd056a16809419d612cb865a14980880"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Sun Sep 23 15:06:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 23 15:06:59 2012 -0700"
      },
      "message": "Merge \"Do not use passive GPS data for COARSE only apps.\" into jb-mr1-dev"
    },
    {
      "commit": "8dbb63419bef8678cf92ebae1d43f549f50987c7",
      "tree": "f6996f4917a899e0ec702828641f43c33bbc8286",
      "parents": [
        "537d47f510ce49acee09516ed5dde680d910ff94"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Fri Sep 21 16:55:53 2012 -0700"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Sun Sep 23 14:09:47 2012 -0700"
      },
      "message": "Allow apps to getProviders() without location permissions.\n\nThis restores MR0\u0027s behavior in this regard - apps calling\nLocationManager.getProviders() or LocationManager.getBestProvider()\nwill no longer receive a SecurityException if they do not have\nany location permissions. Instead, as was the behavior in MR0, they\nonly receive providers that their permissions grant them access to,\nincluding an empty list if they have no permission whatsoever.\n\nBug: 7207864\nChange-Id: I027df425e258d436c4821c34a25bc46a2a292824\n"
    },
    {
      "commit": "5a370882f87321629f98f6149ac946a57e25dfa8",
      "tree": "1c6edf5c299b7f98e013cdd8a8228e1391dbef4f",
      "parents": [
        "11820f7386ce86fd89e9e6b49d9231dce6e1ed07",
        "c50f31d213d6764602aed76ed9993d45d33d76d9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Sep 23 13:23:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 23 13:23:39 2012 -0700"
      },
      "message": "Merge \"Check READ_EXTERNAL enforcement outside of lock.\" into jb-mr1-dev"
    },
    {
      "commit": "11820f7386ce86fd89e9e6b49d9231dce6e1ed07",
      "tree": "9437ce9ba5b311f4b95c05121a9df6ec7f062379",
      "parents": [
        "b939e35274334d1f5e71a526efe8d235eb6d7387",
        "6d51571835737c7502a2e111ee9dc2527ebad984"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Sep 23 13:22:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 23 13:22:27 2012 -0700"
      },
      "message": "Merge \"Allow acquiring ContentProviders across users.\" into jb-mr1-dev"
    },
    {
      "commit": "b939e35274334d1f5e71a526efe8d235eb6d7387",
      "tree": "9292319858bd01ec3bd01f132405c9a13620ed7e",
      "parents": [
        "925b6a715f42296dee7d80c3a3b4024d264a3c97",
        "8da429e80d1778d7bcfbfbd64355c70fb466b3ce"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 23 12:58:09 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 23 12:58:10 2012 -0700"
      },
      "message": "Merge \"Fix issue #7209355, #7214271.\" into jb-mr1-dev"
    },
    {
      "commit": "8da429e80d1778d7bcfbfbd64355c70fb466b3ce",
      "tree": "ddcb30f975b92b68ae9850819ddb9760779032bc",
      "parents": [
        "c9e94ea6451958fce107580b54c183181de6aa22"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 23 12:52:19 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 23 12:53:34 2012 -0700"
      },
      "message": "Fix issue #7209355, #7214271.\n\nIssue #7209355: Intent on the secondary user results in an intent picker\nin the Primary user.\nIssue #7214271: Crash in system UI\n\nAlso fix a bug where I recently broke the removeTask() operation in the\nactivity manager where it would remove the wrong task.\n\nChange-Id: I448c73a0e83a78d9d8d96b4629658c169888d275\n"
    },
    {
      "commit": "c50f31d213d6764602aed76ed9993d45d33d76d9",
      "tree": "7bcb117941c02401599b8680fad92cad9f5eb83c",
      "parents": [
        "6d51571835737c7502a2e111ee9dc2527ebad984"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Sep 22 17:14:02 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Sep 22 17:14:02 2012 -0700"
      },
      "message": "Check READ_EXTERNAL enforcement outside of lock.\n\nSince SettingsProvider can call back into PMS, query the default\nenforcement state before acquiring mPackages lock.\n\nBug: 7182437\nChange-Id: Ie218aedfc7a943e5b221814af3e0356c7199b0e4\n"
    },
    {
      "commit": "6d51571835737c7502a2e111ee9dc2527ebad984",
      "tree": "8298f3a36bdfbdb95a4fdd52681f82e7f396d31b",
      "parents": [
        "08681adda06f4699f85838861170fbb062c9fdfe"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 20 16:06:08 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Sep 21 19:49:43 2012 -0700"
      },
      "message": "Allow acquiring ContentProviders across users.\n\nOtherwise services like SystemUI will always open content://-style\nUris as USER_OWNER.  Surfaces through createPackageContextAsUser()\nwhich points all ContentResolver operations towards a given user.\n\nStart using in RemoteViews, so that Notifications correctly resolve\nimage Uris to the sending user.  Also add user support for \"content\"\nshell tool.\n\nBug: 7202982\nChange-Id: I8cb7fb8a812e825bb0b5833799dba87055ff8699\n"
    },
    {
      "commit": "88923c973e3b58593c4d0fb6724addcefc53004f",
      "tree": "28bd4a0839438277cd046260db50978d03d9b2a1",
      "parents": [
        "9f12373b57bcd7e7c156306aee50ac4e4fdee58a",
        "6a864959e09ad700cc4815e8d751561ceb7e08e3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 21 18:47:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 21 18:47:18 2012 -0700"
      },
      "message": "Merge \"Fix issue #7214462: Some recent thumbnails are black.\" into jb-mr1-dev"
    },
    {
      "commit": "6a864959e09ad700cc4815e8d751561ceb7e08e3",
      "tree": "6320e47f05380710e1c57442304eb67941e7147d",
      "parents": [
        "c9e94ea6451958fce107580b54c183181de6aa22"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 21 18:46:11 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 21 18:46:11 2012 -0700"
      },
      "message": "Fix issue #7214462: Some recent thumbnails are black.\n\nChange-Id: I9a2704c95a8701c9fb6755662fb47d4743099bf9\n"
    },
    {
      "commit": "9f12373b57bcd7e7c156306aee50ac4e4fdee58a",
      "tree": "ab74046fc77bbeb52b58a16a3056d5bbd49b1a37",
      "parents": [
        "993c3d79a3f70684db5c75fb760bae9b0324f715",
        "9371a0a0c0cdf9be0e0a32e4c3037cc2e216cfa0"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 21 18:26:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 21 18:26:52 2012 -0700"
      },
      "message": "Merge \"Fixing a regression in the UI test automation.\" into jb-mr1-dev"
    },
    {
      "commit": "9371a0a0c0cdf9be0e0a32e4c3037cc2e216cfa0",
      "tree": "c8137471815d0ef1d2960acdde05c1239062fd30",
      "parents": [
        "58d37b55bd228032355360ea3303e46a804e0516"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 21 18:20:37 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 21 18:20:42 2012 -0700"
      },
      "message": "Fixing a regression in the UI test automation.\n\nbug:6967373\n\nChange-Id: I28f01a2bfe44febcb1a519028dab82fb1da9753e\n"
    },
    {
      "commit": "993c3d79a3f70684db5c75fb760bae9b0324f715",
      "tree": "efe7cf4f3f390b686442568fff61ba7fa79d76fd",
      "parents": [
        "77e95d3d71f10a0d936445e3f3ed90e15c019024",
        "db38d8a4ff28caef8f2565a8ba5dca2a7efe9d83"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Sep 21 18:19:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 21 18:19:06 2012 -0700"
      },
      "message": "Merge \"Fixing typos\" into jb-mr1-dev"
    },
    {
      "commit": "77e95d3d71f10a0d936445e3f3ed90e15c019024",
      "tree": "2253acc3d7a633203fc4e8bccc4145d43214074d",
      "parents": [
        "82c8cdabc4161763cecaa9050bd2c544cc89e283",
        "8fd96ec2dc215095d12ef3e9bd7dc50ebc78625e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Sep 21 18:16:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 21 18:16:49 2012 -0700"
      },
      "message": "Merge \"Show lockscreen widgets for the current user.\" into jb-mr1-dev"
    },
    {
      "commit": "db38d8a4ff28caef8f2565a8ba5dca2a7efe9d83",
      "tree": "3cf61aa76c3b7d1485ff15b6e400d052ab280a49",
      "parents": [
        "6ccf4e279170ef7f7602d1e2a63e9a2ef98cd57f"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Sep 21 18:14:58 2012 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Sep 21 18:14:58 2012 -0700"
      },
      "message": "Fixing typos\n\nChange-Id: I3d470a18bd14a4040dffb0b0d8a11e282546057e\n"
    },
    {
      "commit": "8fd96ec2dc215095d12ef3e9bd7dc50ebc78625e",
      "tree": "e92988bb4ef34f014fe81e1051b5af9fce2f3006",
      "parents": [
        "059aedf808c8b9b3da1457eef52f3d477878d50b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Sep 21 17:48:49 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Sep 21 18:10:34 2012 -0700"
      },
      "message": "Show lockscreen widgets for the current user.\n\nAlso shows the owner info and next alarm for the current user.\nAppWidgetService now assumes that any widgets running in the system process are for the\ncurrent user, so that lockscreen shows widgets for the current user\n\nBug: 7211754\nBug: 7212421\n\nChange-Id: Iaf0edc60e49af0afe42625c0b2dcf100c9ecc178\n"
    },
    {
      "commit": "0a5c5567f2d7e203d95c80a8d3353d0acd98b5f9",
      "tree": "99dc88c7b824cd14ec7bb175b1f6d221ed707b4a",
      "parents": [
        "dbb261455b1b8d2fdf4f0f8ad84ddb09dda1ed9b",
        "58d37b55bd228032355360ea3303e46a804e0516"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 21 17:21:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 21 17:21:45 2012 -0700"
      },
      "message": "Merge \"Multi-user support for the accessibility layer.\" into jb-mr1-dev"
    },
    {
      "commit": "c9e94ea6451958fce107580b54c183181de6aa22",
      "tree": "23a78dbd149ea7307989a0fe6f9685e65fc30fde",
      "parents": [
        "8562cb59825a9ccff2b019d2c30f38c8798ca3a1",
        "52c62344c585662d6b441a08c2a69a5732255a6f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 21 17:05:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 21 17:05:47 2012 -0700"
      },
      "message": "Merge \"Fix issue #7213113: Remove old intent resolver\" into jb-mr1-dev"
    },
    {
      "commit": "52c62344c585662d6b441a08c2a69a5732255a6f",
      "tree": "0206b464fcc82fadbfefbedf9fecd3368750702b",
      "parents": [
        "6de76d21ff60818f8b296fc8f645897203f475da"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 21 10:57:45 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 21 17:04:16 2012 -0700"
      },
      "message": "Fix issue #7213113: Remove old intent resolver\n\nAlso make the query package restart broadcast protected like the\ndocumentation says it should be.\n\nChange-Id: I445166111318a02f2f2b1ab0dff9c641a441c20b\n"
    },
    {
      "commit": "58d37b55bd228032355360ea3303e46a804e0516",
      "tree": "7a931f0e6054ef5835f2935dd8d2faa52a93ff53",
      "parents": [
        "059aedf808c8b9b3da1457eef52f3d477878d50b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 18 12:04:19 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 21 16:48:07 2012 -0700"
      },
      "message": "Multi-user support for the accessibility layer.\n\n1. This change converts the accessibility manager service to\n   maintain a state per user. When the user changes the services\n   for the user that is going away are disconnected, the local\n   accessibility managers in the processes for this user are\n   disabled, the state is swapped with the new user\u0027s one, and\n   the new user state is refreshed.\n\n   This change updates all calls into the system to use their\n   user specific versions when applicable. For example, regisetring\n   content observers, package monitors, calls into other system\n   services, etc.\n\n   There are some components that are shared across users such\n   as UI created by the system process and the SystemUI package.\n   Such components are managed as a global state shared across\n   all users and are updated accordingly on a user switch. Since\n   the SystemUI is running in a normal app process this change\n   adds hidden APIs on the local window manager to allow the\n   SystemUI to notify the accessibility layer that it will run\n   accross users.\n\n   Calls to AccessibiltyManager\u0027s isEnabled(), isTouchExplorationEnabled()\n   and sendAccessibilityEvent return false or a are a nop for a\n   background user sice he should not send accessibility events,\n   and should not perform touch exploration.\n\n   Update the internal accessibility tests due to changes in the\n   AccessibilityManager.\n\n   This change also fixes several issues that were encountered\n   such as calling out the accessibility manager service with a\n   lock held.\n\n   Removed some incorrect debugging code from the TouchExplorer\n   that was leading to a system crash.\n\nbug:6967373\n\nChange-Id: I2cf32ffdee1d827a8197ae4ce717dc0ff798b259\n"
    },
    {
      "commit": "03bdc8a8f756a951b460b01cbd4d01c2ffd05041",
      "tree": "4ce0826c347734efd1ed421573b1766d7de8cbbe",
      "parents": [
        "d86077c3792ca03f004376d81e449a3ecdaa5e8b"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Sep 21 16:10:21 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Sep 21 16:10:21 2012 -0700"
      },
      "message": "Fix security check for private allocateAppWidgetId api\n\nBug: 7182054"
    },
    {
      "commit": "2f6d8829524dfca3a77e9a57c3b9c3862209877d",
      "tree": "15bd455fb9ed48e4246a475855c9ad7d0a15d94b",
      "parents": [
        "f98db0de2248ad286b207eed6a826373cc60b786"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Fri Sep 21 14:21:27 2012 -0700"
      },
      "committer": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Fri Sep 21 15:54:41 2012 -0700"
      },
      "message": "Fix for bug: #7173350. elapsedRealtimeNano() -\u003e elapsedRealtimeNanos()\n\nChange-Id: I71c24ea10093ece07a0780e97bc641ff548c1a44\n"
    },
    {
      "commit": "3ca5971339c7eba61388aa3e26a1b3d02c5ccdf6",
      "tree": "dc2b45cdf82408f457c97099d5ffa5f82964e5b9",
      "parents": [
        "063d15ff48c455203d4b7c2fb973ba081489c4ba",
        "e87bf030766198bf5e1fe846167dba766e27fb3f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 21 15:51:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 21 15:51:41 2012 -0700"
      },
      "message": "Merge \"Support HDMI hotplug.\" into jb-mr1-dev"
    },
    {
      "commit": "e87bf030766198bf5e1fe846167dba766e27fb3f",
      "tree": "b0f379481622310b6afd5e8002c16930e6ed91b6",
      "parents": [
        "f98db0de2248ad286b207eed6a826373cc60b786"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 20 18:30:13 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 21 15:34:32 2012 -0700"
      },
      "message": "Support HDMI hotplug.\n\nBug: 7206678\nChange-Id: Ia5212b16658a5f5a2ccf8528eca7bebd45ca857a\n"
    },
    {
      "commit": "1ed9fa10de3e94678ddb2929936caa3ff4164cf8",
      "tree": "a69e340cbfdd0969d3b1498b9fcf5251860abbee",
      "parents": [
        "059aedf808c8b9b3da1457eef52f3d477878d50b",
        "48b9b0d068844af9eb37c215484831c4d6b831b0"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Sep 21 15:21:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 21 15:21:33 2012 -0700"
      },
      "message": "Merge \"Make DPM API for disabling keyguard widgets more generic\" into jb-mr1-dev"
    },
    {
      "commit": "09016ab4dd056a16809419d612cb865a14980880",
      "tree": "e920e568aeac8e75b2f4b9e815047bf7c4a8f2af",
      "parents": [
        "537d47f510ce49acee09516ed5dde680d910ff94"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Sun Sep 16 12:33:15 2012 -0700"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Fri Sep 21 13:45:41 2012 -0700"
      },
      "message": "Do not use passive GPS data for COARSE only apps.\n\nFusionEngine now attaches a secondary location that has never seen\nGPS data to its result. LocationFudger uses the GPS-less location so\nthat COARSE apps never see data from the GPS provider.\n\nWhen the previous location is updated, the previous GPS-less location\nis carried over if the location update was GPS-only.\n\nAdditionally, apps without FINE permission are not notified when GPS\nlocation changes, and any attempt to use GPS_PROVIDER without FINE\npermission is met by a stern SecurityException.\n\nBug: 7153659\nChange-Id: I12f26725782892038ce1133561e1908d91378a4a\n"
    },
    {
      "commit": "4e5753f5f6c5e0c7f53722e2bfa451ac7f0b27db",
      "tree": "76ea08555ebc386602c3293c422690b283a75b8f",
      "parents": [
        "df655d09c0dc4ce12ba4b191c1ebb888f123a3b1"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Wed Sep 19 16:03:56 2012 -0700"
      },
      "committer": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Fri Sep 21 13:26:15 2012 -0700"
      },
      "message": "Add setting to skip verifying ADB installs\n\nCreate a setting \"verifier_verify_adb_installs\" to allow developers to control\npackage verification on ADB installs only. If package verification is enabled,\nthe setting will:\n\n0, Do not perform package verification on apps installed through ADB/ADT/USB\nand perform package verification on all other installs.\n\n1, Use package verification on all installs. (Default)\n\nBug: 7183252\nChange-Id: I9d3eb8abb5ba5e93f8634d3135794e92ff6273b6\n"
    },
    {
      "commit": "ac439e57a795d48e287ea51a9bd999244a9b0e65",
      "tree": "7061e3a90a16b86aa2e78e447dc04d8654d368aa",
      "parents": [
        "ced8d21f5abf46d128264a3039f7a84155d2b9dc"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Sep 21 08:58:34 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Sep 21 08:58:34 2012 -0700"
      },
      "message": "Eliminate potential for NPE in WindowAnimator.\n\nFixes bug 7209850.\n\nChange-Id: I8c8751ab240ea389a2a779c94c05fe786ca8762a\n"
    },
    {
      "commit": "74defbf202de713aa6ae19fbbf2ea5c318ccd11c",
      "tree": "c0c73a909c808a93aadb94c5e2a5eb8cb5353588",
      "parents": [
        "3e87eafc7d1aef95801f1758bb78da8b2f960a75",
        "920ace0bbc2d4133dbec991d2636c99a57d6245e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Sep 20 23:08:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 23:08:45 2012 -0700"
      },
      "message": "Merge \"Query users excluding any being removed\" into jb-mr1-dev"
    },
    {
      "commit": "920ace0bbc2d4133dbec991d2636c99a57d6245e",
      "tree": "a69deeaa2cd76a15eaf402faeb95bba608bc6895",
      "parents": [
        "2f98008d06cbe48f0f5619d16f59988952c9b2ca"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Sep 20 22:15:37 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Sep 20 22:33:43 2012 -0700"
      },
      "message": "Query users excluding any being removed\n\nKeep track of user creation and last logged-in time.\nadb shell dumpsys users\nUser switcher shouldn\u0027t show users about to be removed.\nNo need to check for singleton for activities.\n\nBug: 7194894\nChange-Id: Ic9a59ea5bd544920479e191d1a1e8a77f8b6ddcf\n"
    },
    {
      "commit": "35d323a5206644029eb53ae751268feca430cc46",
      "tree": "c0c81150f3d8eef0029285d2d137f875a05445c5",
      "parents": [
        "d3724b951e1fdd48bd5accc29e5dff2102efdf3e"
      ],
      "author": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Thu Sep 20 19:52:34 2012 -0700"
      },
      "committer": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Thu Sep 20 19:52:34 2012 -0700"
      },
      "message": "Use global wifi_sleep_policy constants\n\nBug 7196148\n\nThis will get rid of the wifi_sleep_policy has moved log spamming.\n\nChange-Id: I303c8da80289aba183eb1e51f6a006fc40cd1801\n"
    },
    {
      "commit": "11a6450e543d5c178c60ce2216fad1b29bf15457",
      "tree": "8742b49624ca80b1463dbca238cfb90f6f5795ca",
      "parents": [
        "957fadc5001be0f0b4d004dbed8c57b6e1f5b46a",
        "fbe44b7d5e2d9d06a238a54f8ed460fb8bc49585"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Sep 20 18:09:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 18:09:11 2012 -0700"
      },
      "message": "Merge \"Fixing partiallyUpdateAppWidget to cache the new changes\" into jb-mr1-dev"
    },
    {
      "commit": "957fadc5001be0f0b4d004dbed8c57b6e1f5b46a",
      "tree": "3e32409cc3830aa2a34eb7732fe0fad5f016a801",
      "parents": [
        "da6f7ab34c23a6cbe31734e5d562baa224e3d3d6",
        "99766cf40ed706aad36032f2107fb0c1e54fc398"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Sep 20 18:05:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 18:05:22 2012 -0700"
      },
      "message": "Merge \"Use min group owner intent for concurrency\" into jb-mr1-dev"
    },
    {
      "commit": "99766cf40ed706aad36032f2107fb0c1e54fc398",
      "tree": "57563f70cc49665451e60ca9614ec536a53b67b7",
      "parents": [
        "9538bdd3c77968c7673719c580ae653ede4654d6"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Sep 20 17:18:20 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Sep 20 17:18:20 2012 -0700"
      },
      "message": "Use min group owner intent for concurrency\n\nOur device only supports STA \u0026 GC concurrency\n\nChange-Id: I4f16c959a6f4e7ad5610dcae67be830d741f162c\n"
    },
    {
      "commit": "b4c33679cbdec9e12369fb49469ce33ed83ed25c",
      "tree": "2ac06086a500f86262204683e9360f262839a001",
      "parents": [
        "ddfaa3f55638db2e3d7c9928b605c2e6b90facae",
        "a9d131c30878cacdaeacb4f43a82a7cc5b872453"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 20 17:02:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 17:03:52 2012 -0700"
      },
      "message": "Merge \"Disentangle input manager service startup.\" into jb-mr1-dev"
    },
    {
      "commit": "ddfaa3f55638db2e3d7c9928b605c2e6b90facae",
      "tree": "8e022139d1c4f3ada075ea88b24fbcc21d85f791",
      "parents": [
        "e6ff47840fc6d8ac5ba551101684011e328b4caa",
        "bbd28a293f84baeafed469c5e223eff82c1117c0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 20 17:02:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 17:02:27 2012 -0700"
      },
      "message": "Merge \"Provide a debugging option to force enable wifi display.\" into jb-mr1-dev"
    },
    {
      "commit": "a9d131c30878cacdaeacb4f43a82a7cc5b872453",
      "tree": "218039f03a421687b780dd3200579c1682e444ce",
      "parents": [
        "bbd28a293f84baeafed469c5e223eff82c1117c0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 20 16:48:17 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 20 16:48:17 2012 -0700"
      },
      "message": "Disentangle input manager service startup.\n\nWe will be adding additional callbacks for other components.\nThis change makes it clearer how the input manager is started\nand where the callbacks are initialized.\n\nBug: 6548391\nChange-Id: I4b2a61482126a12b7cf11fafe513f846c76c11e5\n"
    },
    {
      "commit": "bbd28a293f84baeafed469c5e223eff82c1117c0",
      "tree": "9fc6917df0c890871437d674353b1636ade6171b",
      "parents": [
        "d053554f80adaa84d4bdde53656ccce5ae3332b6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 20 16:47:15 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 20 16:47:15 2012 -0700"
      },
      "message": "Provide a debugging option to force enable wifi display.\n\nBug: 7179627\nChange-Id: I84c7605a1cee5ed723341eebdcec4a824e7e4d38\n"
    },
    {
      "commit": "fbe44b7d5e2d9d06a238a54f8ed460fb8bc49585",
      "tree": "b09e71125ccf42e0dfd016385aa8f1ff9c5067e0",
      "parents": [
        "4e7b551fbffa6112821ed6cfeedd6128463fccd0"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Sep 19 20:36:23 2012 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Sep 20 15:18:47 2012 -0700"
      },
      "message": "Fixing partiallyUpdateAppWidget to cache the new changes\n\n-\u003e This is a good change to the widget framework that I\u0027ve wanted to\n   make for a while, but issue 7174198 triggered the immediate need.\n\nChange-Id: I3f267e0e67f2d9f28920bb53973af365a3c9e0ba\n"
    },
    {
      "commit": "6de76d21ff60818f8b296fc8f645897203f475da",
      "tree": "f91a77a09d6cef6d340271531c9e6ec21265a602",
      "parents": [
        "e6f6380027d5c209eb17ec2567f00356ad32038a",
        "c72fc674a33b8d17585764d09d3bb6c77d7d947e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 20 14:54:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 14:54:10 2012 -0700"
      },
      "message": "Merge \"Implement multi-user PackageMonitor.\" into jb-mr1-dev"
    },
    {
      "commit": "c72fc674a33b8d17585764d09d3bb6c77d7d947e",
      "tree": "8d7690284cecec06f7a909ea52a40fa507914c8b",
      "parents": [
        "4046e012887fff1f36dfd3eddc6f354d4c2497fc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 20 13:12:03 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 20 14:53:18 2012 -0700"
      },
      "message": "Implement multi-user PackageMonitor.\n\nNew APIs let you indicate what user(s) to monitor, and tell you\nwhat user is changing when receiving a callback.\n\nFix package manager to only deliver package brpadcasts to the\nrunning users.  (This isn\u0027t really a change in behavior, since\nthe activity manager would not deliver to stopped users anyway).\nMake sure all broadcasts that package monitor receives also include\nuser information for it to use.\n\nUpdate wallpaper service to (hopefully) now Really Correctly\nmonitor package changes per user.\n\nChange-Id: Idd952dd274abcaeab452277d9160d1ae62919aa0\n"
    },
    {
      "commit": "314488b791d36756504ee593f818f04b4cd24893",
      "tree": "75192abbc12701b86885b4866aed2cd0f41804e1",
      "parents": [
        "d86077c3792ca03f004376d81e449a3ecdaa5e8b",
        "9538bdd3c77968c7673719c580ae653ede4654d6"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Sep 20 13:33:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 13:33:52 2012 -0700"
      },
      "message": "Merge \"Captive check for both mobile and wifi\" into jb-mr1-dev"
    },
    {
      "commit": "ca2cb1841099c7206af93149d0326308e0d3f81a",
      "tree": "a2f8321dfa704a465d2d0b357ae2f023aa4ad092",
      "parents": [
        "d053554f80adaa84d4bdde53656ccce5ae3332b6",
        "a12a7b3d3d8fc8678411295df4d001447b33a994"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Sep 20 12:37:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 12:37:19 2012 -0700"
      },
      "message": "Merge \"Suppress location information for non-active users.\" into jb-mr1-dev"
    },
    {
      "commit": "9538bdd3c77968c7673719c580ae653ede4654d6",
      "tree": "3b3efced64fe34c880b0ad17bc24202d0a6561ad",
      "parents": [
        "95cd451ef1b1c7390ec08da730f6bf0b268ed833"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Sep 20 09:32:41 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Sep 20 12:13:06 2012 -0700"
      },
      "message": "Captive check for both mobile and wifi\n\nBug: 7113195\nBug: 7102238\nBug: 7087564\n\nChange-Id: Iac08db9de3935338ad498aa3983d2ca82057dda1\n"
    },
    {
      "commit": "f6e24d62b6fa863700e5f72d461846f2aa506109",
      "tree": "b8046c19e6770f99b4d4de6c606f6ef02f5b38b5",
      "parents": [
        "f9fac2c5fe3f304ee866b1afc3191d36835e96bd",
        "350bb15ac74e0abb68ce0e2b2b972dc3cef46aff"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Thu Sep 20 11:22:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 11:22:14 2012 -0700"
      },
      "message": "Merge \"Remove pointless exception supression.\" into jb-mr1-dev"
    },
    {
      "commit": "4dd3c3797060b35c8e6ebbbdd164c17c6db7b5ec",
      "tree": "cea56c091686b5c43101bcf8aa1bc50e1d0fde5d",
      "parents": [
        "b6610d8289f5c682a7f66d419afcfbd6541d0367",
        "0967a9edfc29fe601c9242648b93448d710b7a97"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Thu Sep 20 10:33:03 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 10:33:03 2012 -0700"
      },
      "message": "Merge \"Remove logging for old version mismatches.\" into jb-mr1-dev"
    },
    {
      "commit": "a12a7b3d3d8fc8678411295df4d001447b33a994",
      "tree": "06086b2334d1eb7ac67bc5ac32b6104d777ee82d",
      "parents": [
        "4046e012887fff1f36dfd3eddc6f354d4c2497fc"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Sep 20 10:09:45 2012 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Sep 20 10:09:45 2012 -0700"
      },
      "message": "Suppress location information for non-active users.\n\nSpecifically, don\u0027t allow call backs for LISTEN_CELL_LOCATION and\nLISTEN_CELL_INFO.\n\nBug: 7087342\nChange-Id: Ida7f60b5bde3f28264dcb454b38fcfb1f1616d11\n"
    },
    {
      "commit": "e0de5bfff2e74ee566ac2d053052de09aa25e54b",
      "tree": "2fbae7d5235537036dd5ff47ffe5a42b4536d0b6",
      "parents": [
        "8e356e089d4b9cf1cd0f31ceead666f8e75d4c28",
        "f4f6b4c8b0fcf77d46567f13b409255948fe107b"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Sep 20 05:45:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 05:45:54 2012 -0700"
      },
      "message": "Merge \"Fire \"dreaming started\" and \"dreaming stopped\" broadcasts.\" into jb-mr1-dev"
    },
    {
      "commit": "350bb15ac74e0abb68ce0e2b2b972dc3cef46aff",
      "tree": "74bd28493dd1540a82253cf5aaf1b7fe6baa2cad",
      "parents": [
        "0967a9edfc29fe601c9242648b93448d710b7a97"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Thu Sep 20 01:40:03 2012 -0700"
      },
      "committer": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Thu Sep 20 01:40:03 2012 -0700"
      },
      "message": "Remove pointless exception supression.\n\nBug: 7198235\nChange-Id: I3371403a79fd3e01d46678d58129d36eb921d10a\n"
    },
    {
      "commit": "48b9b0d068844af9eb37c215484831c4d6b831b0",
      "tree": "cced451f0a8756ba3728e8ae6f619a26f4fd9c53",
      "parents": [
        "6704a48bd06f01d2933f83e9b5eda4ed9846bab7"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Sep 19 23:16:50 2012 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Sep 19 23:44:45 2012 -0700"
      },
      "message": "Make DPM API for disabling keyguard widgets more generic\n\nThis change renames the widget-specific API to be more generic\nto allow further disabling of keyguard-specific customizations\nin the future.  Currently only allows disabling widgets and the\nsecure camera but can now easily be extended to disable other\nfeatures we add.\n\nFixes bug: 7021368\n\nChange-Id: I3934cc2e7c64e0c6d511efb86980fc38a849708d\n"
    },
    {
      "commit": "c2b9ea624148df80945afad4198fe686a0ab8dca",
      "tree": "fd40acceee2db87b73766fb6d4ade3177826421d",
      "parents": [
        "89d5546d7fd3a3bb19820c42e8b4527013dd6545"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 19 23:09:23 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 19 23:15:26 2012 -0700"
      },
      "message": "Make wifi display state changes more robust.\n\nBug: 7178216\nChange-Id: Icceaeb61730b0b4916cdda44459f4c69553e303c\n"
    },
    {
      "commit": "89d5546d7fd3a3bb19820c42e8b4527013dd6545",
      "tree": "d3c39ef51f626165545504772f0fb8ba8f01f076",
      "parents": [
        "4e7b551fbffa6112821ed6cfeedd6128463fccd0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 19 11:33:42 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 19 22:04:44 2012 -0700"
      },
      "message": "Add support for remembering Wifi display devices.\n\nAdd a setting to globally disable Wifi display.\n\nFixed a bug where the wifi display broadcast receiver\nwas running on the wrong thread.\n\nRemoved the wifi-display QuickSettings dialog, all functionality\nhas been moved to Settings.\n\nBug: 7178216\nBug: 7192799\nChange-Id: I9796baac8245d664cf28fa147b9ed978d81d8ab9\n"
    },
    {
      "commit": "0967a9edfc29fe601c9242648b93448d710b7a97",
      "tree": "c6f98a15e8c297a89c42a06aa4924084374e11bb",
      "parents": [
        "2d95a33dc3a463b197d4597b38f5ae124de25017"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Wed Sep 19 21:22:42 2012 -0700"
      },
      "committer": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Wed Sep 19 21:22:42 2012 -0700"
      },
      "message": "Remove logging for old version mismatches.\n\nSince this has no security consequence and triggered by a variety\nof totally innocuous things it seems like log noise and so should\nbe removed.\n\nBug: 7198235\nChange-Id: I80ed5acb378a4c42d5d223b633309bf9526dbf3d\n"
    },
    {
      "commit": "daa57e8d1866fe4579c280c41604f3660db7cd01",
      "tree": "2632d5d3c145ea83595bc0bb9b944839cccdfcb3",
      "parents": [
        "4046e012887fff1f36dfd3eddc6f354d4c2497fc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 19 14:10:39 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 19 14:54:05 2012 -0700"
      },
      "message": "Migrate network stats from removed users.\n\nWhen a user is removed, migrate all network stats belonging to that\nuser into special UID_REMOVED bucket.  Also removes those stats from\nkernel to avoid double-counting if another user is created.\n\nBug: 7194784\nChange-Id: I03f1d660fe3754566326b7749cae8068fc224ea9\n"
    },
    {
      "commit": "f4f6b4c8b0fcf77d46567f13b409255948fe107b",
      "tree": "245e81a594160905fbaf8e3933f99c9b679d0388",
      "parents": [
        "5d1a870a25f7495755432a42cf8c81818dc369fa"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Sat Aug 25 12:08:03 2012 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Sep 19 17:36:50 2012 -0400"
      },
      "message": "Fire \"dreaming started\" and \"dreaming stopped\" broadcasts.\n\nDream manager now fires broadcast intents when entering + exiting\ndreamland (except when testing).\n\nPower manager can now listen for dreams ending, using polling only\nas a backstop.\n\nAlso:\n - Bullet-proof dream-manager/dream against known failure modes\n - Add new read/write dream permissions\n - Refactor dream-manager to delegate work + state management into\n   a new DreamController class, via a handler\n\nBug:6999949\nBug:7152024\nChange-Id: I986bb7812209d8c95ae1d660a5eee5998a7b08b1\n"
    },
    {
      "commit": "6704a48bd06f01d2933f83e9b5eda4ed9846bab7",
      "tree": "f6c09e3d870fce3658386a895be38a57d87ff41b",
      "parents": [
        "52716deb4008da1d566dfd711edc0a9c6de5f79f",
        "8863cca57d8c901a2da0edc422b653ae68849313"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Sep 19 13:29:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 19 13:29:44 2012 -0700"
      },
      "message": "Merge \"Fixes to Starting window and Wallpaper windows.\" into jb-mr1-dev"
    },
    {
      "commit": "52716deb4008da1d566dfd711edc0a9c6de5f79f",
      "tree": "ce04a84d74a25d387cd0a96af3c465c9bd3de516",
      "parents": [
        "8f301e666873e4a9feaace38a0b184a5f3ce7003",
        "f1b674197577e815040cd75ef86d611965d603ad"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 19 13:28:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 19 13:28:11 2012 -0700"
      },
      "message": "Merge \"Fix deadlock in LockPatternUtils by using local id.\" into jb-mr1-dev"
    },
    {
      "commit": "f1b674197577e815040cd75ef86d611965d603ad",
      "tree": "4a960bb3452b2dd4fb192c774cc4866f8d194993",
      "parents": [
        "5d1a870a25f7495755432a42cf8c81818dc369fa"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Sep 19 13:18:29 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Sep 19 13:18:29 2012 -0700"
      },
      "message": "Fix deadlock in LockPatternUtils by using local id.\n\nActivity manager now updates window manager\u0027s current user id\ndirectly and immediately rather than waiting for a broadcast\nupdate. Window manager passes this through policy to the\nKeyguardViewMediator and into LockPatternUtils. LockPatternUtils\nno longer goes to Activity to get the current user id if it finds\nthat its local id is non-default.\n\nFixes bug 7193726.\n\nChange-Id: Id5613e7a9fe9e5b49e83c26b74504f587c3998c2\n"
    },
    {
      "commit": "09ad0832e0c28fa43a2e2bf53bef87df39bd4416",
      "tree": "70998ba8626ea406832c2bcaa3cf4bfa1e3474e1",
      "parents": [
        "5580005cc7f333e15326b219a0ff06b7c6eca529",
        "15491c6a728131e322c45bc440500a8a78e4a410"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 19 11:40:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 19 11:40:18 2012 -0700"
      },
      "message": "Merge \"Switch to showing top-most thumbnail of recent apps.\" into jb-mr1-dev"
    },
    {
      "commit": "15491c6a728131e322c45bc440500a8a78e4a410",
      "tree": "6f8808d6f528bbae2017415237b4a3fc5dcef468",
      "parents": [
        "c535d2f30efff83b93094bbc642d59d8225dcc18"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 19 10:59:14 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 19 11:25:40 2012 -0700"
      },
      "message": "Switch to showing top-most thumbnail of recent apps.\n\nThe way it should have been, and with the new recents enter animation\nthe way it must be.\n\nAdded a new method to retrieve this thumbnail, since it would be less\nefficient to use the existing API (which always returns the \"base\"\nthumbnail).  Probably at some point that existing API should be tweaked\nto always return the top thumbnail instead, but that is for a later time.\n\nAlso removed code that would clear the thumbnail associated with an\nactivity when it is resumed.  I don\u0027t think there should ever be a\nreason to clear a thumbnail -- it\u0027s much better to have *something*\nfor the task, even if it is a little out of date.\n\nChange-Id: I83e6ca6403eb2df5e4de3009dfe8c210e8cf8d5b\n"
    },
    {
      "commit": "a490bddc8bf0812973dee34ead5c04c87e7ecb15",
      "tree": "8d4dd5cc60571fc9e13253b2eefc24c872e8a7fa",
      "parents": [
        "549be8beadf5ad2a56b7f4269d419753c0d61be8",
        "3fe5bf6d69f146077ce9b5e588be8651462b0cd2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 19 11:22:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 19 11:22:14 2012 -0700"
      },
      "message": "Merge changes I4513afbd,I20e2194c into jb-mr1-dev\n\n* changes:\n  Make getMediaStorageDirectory() user-aware.\n  Lockdown should only augment connected networks.\n"
    },
    {
      "commit": "8863cca57d8c901a2da0edc422b653ae68849313",
      "tree": "fd8b76fdbb668171cb6f2cbcde5fa8d4c52e714f",
      "parents": [
        "5d1a870a25f7495755432a42cf8c81818dc369fa"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 18 15:04:34 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Sep 19 11:11:46 2012 -0700"
      },
      "message": "Fixes to Starting window and Wallpaper windows.\n\n- Checking for found wallpaper to match either mWallpaperTarget\nor mLowerWallpaperTarget keeps from swapping the layers while\ntransitioning between two wallpaper activities.\n\n- Fade out RecentsActivity while bringing up selected activity. This\nkeeps the RecentsActivity from showing through a launching wallpaper\nactivity.\n\n- When moving a starting window from one activity to another clear\nthe startingDisplayed flag in the old activity.\n\n- When moving a starting window from one activity to another assign\nthe new activity\u0027s mAppAnimator to the starting window\u0027s mWinAnimator.\n\n- Only treat a wallpaper transition as entering if the mWallpaperTarget\nis visible and not being hidden. Keeps from assigning the wrong\nanimation when activities are launched back to back and the\nmWallpaperTarget is still animating away.\n\nFixes bug 7148089.\n\nChange-Id: Idd405b1ba113f3345ca2116d141b474abe5bd4c0\n"
    },
    {
      "commit": "4adb9d34162b109db3c67e352ad50c76dc7f2d45",
      "tree": "207abd56cd7df4ceeca3b9ed79b4bffca7ece163",
      "parents": [
        "2d95a33dc3a463b197d4597b38f5ae124de25017",
        "599dd7ce9adf8ca067cefb0b191a5ac20ec35a79"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Sep 18 20:00:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 18 20:00:44 2012 -0700"
      },
      "message": "Merge \"DevicePolicyManager per user\" into jb-mr1-dev"
    },
    {
      "commit": "1e5aeecb64827d2b71f429d73a05c25ffe4a5be8",
      "tree": "fd1851b5c9007ec609b5ad120400e02923427132",
      "parents": [
        "6d4e887da4c8f2f0e246afd7961e2b2df0cc1aa4",
        "bb1aeff3202a51b1db020be272178f50a2f2502d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 18 18:22:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 18 18:22:15 2012 -0700"
      },
      "message": "Merge \"Don\u0027t allow more than 3 actively running users at a time.\" into jb-mr1-dev"
    },
    {
      "commit": "bb1aeff3202a51b1db020be272178f50a2f2502d",
      "tree": "bb9826d6629cf4607fa46e3b9c049aafb07d9ffc",
      "parents": [
        "c535d2f30efff83b93094bbc642d59d8225dcc18"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 18 15:48:21 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 18 18:20:43 2012 -0700"
      },
      "message": "Don\u0027t allow more than 3 actively running users at a time.\n\nChange-Id: Ic047c62b518a0faaa7b507343909330044ec290b\n"
    },
    {
      "commit": "0b81be6f79ec3d1b9441c21a3cefc629be1450c8",
      "tree": "dd7ebc8d75ff50d25b30b4d794a09b5a3668b786",
      "parents": [
        "27bd34d9d9fe99f11b80aa0bbdb402fb47ef4158"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 18 15:44:16 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 18 15:44:16 2012 -0700"
      },
      "message": "Lockdown should only augment connected networks.\n\nBug: 7148397\nChange-Id: I20e2194c874544b272b9ec8b63391d91b0a22f49\n"
    },
    {
      "commit": "6281d7cf32bdc624a9d70b2b4f5abce342558c27",
      "tree": "c11a4fe0f46f1df89ae08504e1d58730e34ae92e",
      "parents": [
        "8b3560d3e68d6e596bc22b117b049e15cc7e1b3b",
        "27bd34d9d9fe99f11b80aa0bbdb402fb47ef4158"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 18 14:52:46 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 18 14:52:46 2012 -0700"
      },
      "message": "Merge \"Multi-user MTP.\" into jb-mr1-dev"
    },
    {
      "commit": "599dd7ce9adf8ca067cefb0b191a5ac20ec35a79",
      "tree": "37665dd877c99b5c0fd921123adec8d4ea3d737a",
      "parents": [
        "24ed2769130a8f9df44e7fc22be52b6282e724c3"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Sep 14 23:20:08 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Sep 18 14:28:33 2012 -0700"
      },
      "message": "DevicePolicyManager per user\n\nBug: 7136483\n\nStore device policy information for each user and apply them when user switches.\n\nGlobal proxy can only be controlled by owner.\nCamera restriction applies to all users, if any one has an admin that disables it.\nStorage encryption can only be controlled by owner, although other users can query the state.\nWipe data will only remove the user if non-zero, wipe the device, if zero.\n\nChange-Id: I359be46c1bc3828fd13d4be3228f11495081c8f2\n"
    },
    {
      "commit": "f35df5b509469fc7e71cdd70f4caec670bc5156f",
      "tree": "d6768fe4f7c479ac880559a7c79d83fdf11e6711",
      "parents": [
        "1e86994cd0e13f9084d3f4bd0060b9e34c935490"
      ],
      "author": {
        "name": "Felipe Ramos",
        "email": "felipe.wolff@gmail.com",
        "time": "Tue Sep 18 18:26:27 2012 -0300"
      },
      "committer": {
        "name": "Felipe Ramos",
        "email": "felipe.wolff@gmail.com",
        "time": "Tue Sep 18 18:26:27 2012 -0300"
      },
      "message": "Fixing services start order that impacts ICS - JB upgrade\n\nJB has introduced LockSettingsService. When the phone is\nupgrading from ICS, that used another way to store lock\nsettings, the LockSettingsService needs to import these\nsettings to store in its database. This happens when the\nsystemReady() method of this class is called by SystemServer.\n\nThe problem resides in the fact that the\nDevicePolicyManagerService actually needs to access the\nLockSettingsService during its systemReady() initialization,\ncausing invalid values to be read by it which propagates and\nends up causing a invalid return in the method\nisActivePasswordSufficient.\n\nIf user had a Google corporate account that enforces password\nrelated policies through Google Apps Device Policy (GADP) app\nin ICS, when he upgrades to JB, the GADP will throw a\nnotification saying that the password doesn\u0027t meet the required\npolicies and needs to be changed, incorrectly, since it wasn\u0027t\ntouched during upgrade.\n\nThis fix initializes the LockSettingsService before the\nDevicePolicyManagerService, which is the correct way since\nthe latter uses the first in its initialization. This prevents\nthis issue to happen, and probably future issues, depending\non the way that LockSettingsService evolves.\n\nChange-Id: I3d4334a8b728f0ad9ae744cece430d15af25a0b7\n"
    }
  ],
  "next": "ab3d0fd684eabecd6b290ef3cb9799739db04ca3"
}
