)]}'
{
  "log": [
    {
      "commit": "be87e2f5885b28145a788fd31d1fb5ae88a71100",
      "tree": "e589ae24e57db702157f7fcd390335049eabf0ea",
      "parents": [
        "106a69271dd303baae1c428e269e1ec62994ff57"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 28 16:31:34 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 28 17:42:39 2012 -0700"
      },
      "message": "Fix issue #7255954: API Review: rename Dream to DreamService\n\nChange-Id: I89ecf2c3ec4fef09c0495aa68de11576f9cfd872\n"
    },
    {
      "commit": "3ff8e1a80058e5557d13693d3223e1aa011c0038",
      "tree": "62d3c43fa2261c2aec17b76f08b7c8cc784c81fc",
      "parents": [
        "1d3527354396d3aa48b494fb409d680cce32dc8b",
        "d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 28 15:53:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 15:54:44 2012 -0700"
      },
      "message": "Merge \"Fix issue #7211769 and #7244492, thrash around on #7226656.\" into jb-mr1-dev"
    },
    {
      "commit": "925a659d824089d2977b44a6740f793ae65f809a",
      "tree": "41b850e7628406f0ff819634f60563d74c376d37",
      "parents": [
        "c552081c4598bbbc796fd3e87db324256092b500",
        "c6fa237daeaae6107174a9b9d4f591ea8cd26d86"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Sep 28 15:47:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 15:47:20 2012 -0700"
      },
      "message": "Merge \"Use updatable file for premium-sms filter\" into jb-mr1-dev"
    },
    {
      "commit": "d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1",
      "tree": "874663abeb7379376c3deeb68081606e6f62d8d3",
      "parents": [
        "97298cdcc0e699912288191c28bebe895759e75e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 27 23:20:10 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 28 15:37:22 2012 -0700"
      },
      "message": "Fix issue #7211769 and #7244492, thrash around on #7226656.\n\nIssue #7211769: Crash dialog from background user has non-working \"report\"\n\nThe report button now launches the issue reporter for the correct user.\nAlso for crashes on background users, either disable the report button,\nor simply don\u0027t show the dialog depending on the build config.\n\nIssue #7244492: Bugreport button in Quick Settings doesn\u0027t actually do anything\n\nNow they do.\n\nIssue #7226656: second user seeing primary user\u0027s apps\n\nI haven\u0027t had any success at reproducing this.  I have tried to tighten up\nthe path where we create the user to ensure nothing could cause the\nuser\u0027s applications to be accessed before the user it fully created and thus\nmake them installed...  but I can\u0027t convince myself that is the actual problem.\n\nAlso tightened up the user switch code to use forground broadcasts for all\nof the updates about the switch (since this is really a foreground operation),\nadded a facility to have BOOT_COMPELTED broadcasts not get launched for\nsecondary users and use that on a few key system receivers, fixed some debug\noutput.\n\nChange-Id: Iadf8f8e4878a86def2e495e9d0dc40c4fb347021\n"
    },
    {
      "commit": "47c52a873e78d78a73abe85bb5491701a7b39feb",
      "tree": "ce4a0bb45ca56defa7513f7863364c244110af61",
      "parents": [
        "8af2a13d038002522c2f4e5d65bd703db9f86a08",
        "fe304b893968887323b93764caafa66ee8ad44de"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 28 12:33:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 12:35:58 2012 -0700"
      },
      "message": "Merge \"Some accessibility events not sent from touch explorer if apps misbehave.\" into jb-mr1-dev"
    },
    {
      "commit": "fe304b893968887323b93764caafa66ee8ad44de",
      "tree": "10e2c356d1f3e0bc7f56737225798b5cbf2f8103",
      "parents": [
        "95841ac3c2d45a839cc3cd0bd420fd9d91ccd583"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 28 11:12:34 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 28 11:23:24 2012 -0700"
      },
      "message": "Some accessibility events not sent from touch explorer if apps misbehave.\n\n1. The touch explorer is relying on the hover exit accessibility event to be sent\n   from the app\u0027s view tree before sending the exploration end and last touch\n   accessibility events. However, if the app is buggy and does not send the hover\n   exit event, then the interaction ending events are never sent. Now there is a\n   timeout in which we wait for the hover exit accessibility event before sending\n   the gesture end and last touch accessibility events. Hence, we are making a\n   best effort to have a consistent event stream.\n\n2. Sneaking in the new nine patch for the border around the magnified region\n   since the current one is engineering art.\n\nbug:7233616\n\nChange-Id: Ie64f23659c25ab914565d50537b9a82bdc6a44a0\n"
    },
    {
      "commit": "01996793dd2a70acb0ae006960c23c31f0e39d5f",
      "tree": "8fa23b717039cde61f8c377849f6e56190034530",
      "parents": [
        "9dbbfcda81f251f23aded866f7f9d49d8a744c75",
        "bc4ba82335c091cebaaee8b20987a61fb54c1727"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Sep 28 11:09:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 11:09:22 2012 -0700"
      },
      "message": "Merge \"Remove user switcher from long-press power menu\" into jb-mr1-dev"
    },
    {
      "commit": "9dbbfcda81f251f23aded866f7f9d49d8a744c75",
      "tree": "d76ac568a3da95b39987c611aaa4d27ba26c7465",
      "parents": [
        "f80ad90f0b269e31d9450b9fa33f4dc3e4a507c7",
        "37d83a3caf138e35fa1a355787d20c351f6b37a6"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Fri Sep 28 10:58:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 10:58:19 2012 -0700"
      },
      "message": "Merge \"Pass the originating uid to the package verifier\" into jb-mr1-dev"
    },
    {
      "commit": "95841ac3c2d45a839cc3cd0bd420fd9d91ccd583",
      "tree": "383860f7c557e315632a89ed67b57c339b74a1f4",
      "parents": [
        "ca8688207b68612419213cc8f3afd7abeb03a181",
        "aed4b6f812674bc60a04470013ca449e5c114fa5"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 28 10:37:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 10:39:38 2012 -0700"
      },
      "message": "Merge \"Inconsistent events on transition from gesture detection to touch exploration.\" into jb-mr1-dev"
    },
    {
      "commit": "ca8688207b68612419213cc8f3afd7abeb03a181",
      "tree": "9f025e4d7eed56851cff9fec300e883aaeee0050",
      "parents": [
        "af08ccb20dbfc19c668c6566ca17f2464ad12696",
        "1f22b6a25d7df6c5488d9bd01793e7a20d921349"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 28 10:36:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 10:36:53 2012 -0700"
      },
      "message": "Merge \"Accessibility services that do not accept events are mismanaged.\" into jb-mr1-dev"
    },
    {
      "commit": "c6fa237daeaae6107174a9b9d4f591ea8cd26d86",
      "tree": "8138d0957e2e0e2bacb153fd646d5e6c0a5f4f75",
      "parents": [
        "a174a776321e1620258b78424dfe38b382327679"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Sep 24 13:57:16 2012 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Sep 28 10:24:09 2012 -0700"
      },
      "message": "Use updatable file for premium-sms filter\n\nThe data is really to big for a gservices-driven secure setting.\n\nbug:7221402\nChange-Id: Ie3d4a1a0aeb69b9ef8fad360fa7ec32e927644e8\n"
    },
    {
      "commit": "bc4ba82335c091cebaaee8b20987a61fb54c1727",
      "tree": "ff7129035215b84272c80a8cfeaf9810244ced33",
      "parents": [
        "195b6e1239efad691e93eeed881001656d07056f"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Sep 28 10:14:01 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Sep 28 10:21:32 2012 -0700"
      },
      "message": "Remove user switcher from long-press power menu\n\nBug: 7252218\n\nAlso lock the screen before doing the user switch. This prevents the\njanky behavior of showing the target user\u0027s homescreen after the switch\nand then the lock screen. This is also a privacy issue.\n\nChange-Id: I9f8db047335d06fc93505d7b5cca71e27ca3ac39\n"
    },
    {
      "commit": "a174a776321e1620258b78424dfe38b382327679",
      "tree": "db7961f0267401b597a584aa6a6c4011414f82a2",
      "parents": [
        "0dc2b81ce1400ae23faa5cc386caeef235856307",
        "591a9e8d6ef2cab3ab3a701bd6279b6c12e6e4c6"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Fri Sep 28 10:20:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 10:20:23 2012 -0700"
      },
      "message": "Merge \"Close the notification shade when starting dream.\" into jb-mr1-dev"
    },
    {
      "commit": "0dc2b81ce1400ae23faa5cc386caeef235856307",
      "tree": "fc9864d56aa861b8a8131d2eb076b0cb8c1b70ca",
      "parents": [
        "195b6e1239efad691e93eeed881001656d07056f",
        "11cf178100e71d3f9f34ab5865e03a277c5eadaa"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Sep 28 10:07:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 10:07:16 2012 -0700"
      },
      "message": "Merge \"Cleanup internal status bar APIs.\" into jb-mr1-dev"
    },
    {
      "commit": "aed4b6f812674bc60a04470013ca449e5c114fa5",
      "tree": "503809704f86d63e41cf5872e0ea71851bb5572e",
      "parents": [
        "5e9187a3cf2a33e559212004795e1278eb60da81"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 28 10:06:18 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 28 10:06:24 2012 -0700"
      },
      "message": "Inconsistent events on transition from gesture detection to touch exploration.\n\n1. The problem is that we have a gesture detection timeout after which we transition\n   to touch exploration state. This handles the case where the user is using too high\n   velocity while trying to touch explore. The delayed command that transitions from\n   gesture detection state to touch exploration state was not firing an event for the\n   end of gesture detection and begin of touch exploration before doing its main work\n   to transition to touch exploring state.\n\nbug:7233819\n\nChange-Id: I5c4855231aa3826dadbee324e74a3c9e52c96cd9\n"
    },
    {
      "commit": "1f22b6a25d7df6c5488d9bd01793e7a20d921349",
      "tree": "8da657be96cc851a1ce416386f1ba18365e706b6",
      "parents": [
        "7befb7deb2ac15134b3bb190520cba19165d16dd"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 28 09:27:35 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 28 09:45:15 2012 -0700"
      },
      "message": "Accessibility services that do not accept events are mismanaged.\n\n1. If an accessibility service does not specify that it handles any\n   event types it was never added to the list of services while\n   the system is bound to it. Since the service is not in the list\n   with enabled services we never unbind it, hence it consumes\n   resources without doing nothing. This is also semantically\n   incorrect because a sevice may not want to receive events while\n   handling only gestures.\n\nbug:5648345\n\nChange-Id: Id478a4704cdeeb1729330f6ae4b8ff9e06320952\n"
    },
    {
      "commit": "591a9e8d6ef2cab3ab3a701bd6279b6c12e6e4c6",
      "tree": "91d713e329f81aeee52120d5534718ca14a2ba20",
      "parents": [
        "195b6e1239efad691e93eeed881001656d07056f"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Fri Sep 28 12:15:08 2012 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Fri Sep 28 12:15:08 2012 -0400"
      },
      "message": "Close the notification shade when starting dream.\n\nBug:7205491\nChange-Id: I17d2b75bc502ff8fb739a6cbb4d0219681fa4e8a\n"
    },
    {
      "commit": "13701b50f533775fd7a547fd0e479c1ec9035ce8",
      "tree": "df9a85d3eb3a8eb9b83d1b21a86a457d615869c0",
      "parents": [
        "3cd961292e877cc5fac146290421e9e67aa553a2",
        "bcc046af4ef171aa3aa3c6b64efb5cafc1e46cd3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 28 00:35:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 00:35:57 2012 -0700"
      },
      "message": "Merge \"Bundle correlated switch changes atomically.\" into jb-mr1-dev"
    },
    {
      "commit": "3cd961292e877cc5fac146290421e9e67aa553a2",
      "tree": "79604ec126778a6cefab6209a348ee9c5e560532",
      "parents": [
        "08874db8ed9f81f1d0f205bbffe87f913e50bc57",
        "d08a9238db0de62c956788ceebb227d099ad88c2"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Fri Sep 28 00:26:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 00:26:55 2012 -0700"
      },
      "message": "Merge \"Fix ime swtich issue\" into jb-mr1-dev"
    },
    {
      "commit": "d08a9238db0de62c956788ceebb227d099ad88c2",
      "tree": "545954581a4e11a6c3f8ea7f220b13df3cc0d064",
      "parents": [
        "5e9187a3cf2a33e559212004795e1278eb60da81"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Fri Sep 28 15:59:58 2012 +0900"
      },
      "committer": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Fri Sep 28 16:19:59 2012 +0900"
      },
      "message": "Fix ime swtich issue\n\nBug: 7250097\nChange-Id: Ibe85aaf7d60e7c3a27363eece528d19a0c8ddca2\n"
    },
    {
      "commit": "448f6e1e1471db2caf218ca8918c2d82306b450a",
      "tree": "b5ddad986902b0b48b93a26f6a16beeff0bd240d",
      "parents": [
        "42af2ac6a340a4e46f304a59bdd842e61c02b833",
        "b319d5de196f7ff8fac39a567a449dd93db832c8"
      ],
      "author": {
        "name": "Hiroshi Lockheimer",
        "email": "hiroshi@google.com",
        "time": "Thu Sep 27 21:58:21 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 27 21:58:21 2012 -0700"
      },
      "message": "Merge \"temporarily disable blacklisting\" into jb-mr1-dev"
    },
    {
      "commit": "bcc046af4ef171aa3aa3c6b64efb5cafc1e46cd3",
      "tree": "497724ac54d4a380b5f466ea48a3a96265446754",
      "parents": [
        "580ee8b0c6e1aea1e2e1d60499b603b9168b44f0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 27 20:46:43 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 27 21:42:57 2012 -0700"
      },
      "message": "Bundle correlated switch changes atomically.\n\nThis is a prerequisite for headset jack detection on Manta.\n\nBug: 6548391\nChange-Id: I549a194344511c0cee578b00f6a9ab5fdbdfb99c\n"
    },
    {
      "commit": "7befb7deb2ac15134b3bb190520cba19165d16dd",
      "tree": "bd9e29126bee26a5b2ddb02a6341506fe64e0d75",
      "parents": [
        "5e9187a3cf2a33e559212004795e1278eb60da81"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 27 16:49:23 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 27 20:33:20 2012 -0700"
      },
      "message": "Global gesture to toggle Accessibility system-wide.\n\n1. This change adds a global gesture for enabling accessibility.\n   To enable this gesture the user has to allow it from the\n   accessibility settings or use the setup wizard to enable\n   accessibility. When the global gesture is enabled the user\n   can long press on power to bring the global actions dialog\n   and then hold with two fingers for a few seconds to enable\n   accessibility. The appropriate feedback is also provided.\n\n2. The global gesture is writing directly into the settings for\n   the current user if performed when the keyguard is not on. If\n   the keygaurd is on and the current user has no accessibility\n   enabled, the gesture will temporary enable accessibility\n   for the current user, i.e. no settings are changed, to allow\n   the blind user to log into his account. As soon as a user\n   switch happens the new user settings are inherited. If no\n   user change happens after temporary enabling accessibility\n   the temporary changes will be undone when the keyguard goes\n   away and the device will works as expected by the current user.\n\nbug:6171929\n\n3. The initialization code for the owner was not executed due\n   to a redundant check, thus putting the accessibility layer in\n   an inconsistent state which breaks pretty much everything.\n\nbug:7240414\n\nChange-Id: Ie7d7aba80f5867b7f88d5893b848b53fb02a7537\n"
    },
    {
      "commit": "e49611452823d74b0657aed1cee8a4863f95ad8d",
      "tree": "ffec3b78e42b81443d7fcd2f898de29640952e0e",
      "parents": [
        "7c72a8f94ae3abf4eef9247017c0424a3c83c39a",
        "5ade83ba1233b33c5570caac6e081229e32d6cec"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Thu Sep 27 20:14:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 27 20:14:05 2012 -0700"
      },
      "message": "Merge \"Treat additional inputmethod subtypes per user\" into jb-mr1-dev"
    },
    {
      "commit": "3dc0b80dc6e6aa156eea4d737cdeaad96aa1125a",
      "tree": "66b8c1430b06d1ab05701acea3d8afab7e9345f5",
      "parents": [
        "3a8af8efff93ca8ee80fc8c7841e7bee9a8b7786",
        "812d2ca475e88d4e52870a4eeeb096a411f0f077"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Sep 27 19:34:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 27 19:34:28 2012 -0700"
      },
      "message": "Merge \"Fix layout state issues.\" into jb-mr1-dev"
    },
    {
      "commit": "b319d5de196f7ff8fac39a567a449dd93db832c8",
      "tree": "ff50aca81a79b6127a74283591bd6cc77770a638",
      "parents": [
        "580ee8b0c6e1aea1e2e1d60499b603b9168b44f0"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Thu Sep 27 18:24:27 2012 -0700"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Thu Sep 27 18:24:27 2012 -0700"
      },
      "message": "temporarily disable blacklisting\n\nBug: 7248239\nChange-Id: I2ef28fa0d6890a127fc424e58a148fe1fb15b683\n"
    },
    {
      "commit": "812d2ca475e88d4e52870a4eeeb096a411f0f077",
      "tree": "ad2bbefe4be2ccb7d10dbcd66d3a24d322b909ed",
      "parents": [
        "2ce1ae8e63b7ef1b3a4cf7497265db24f6cebcdb"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Sep 27 15:35:34 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Sep 27 18:07:39 2012 -0700"
      },
      "message": "Fix layout state issues.\n\n- Restore test of hidden to isGoneForLayoutLw(), without that\nwe return false when setAppVisibility(true) is called which leads\nto early layout of windows. Particulary on return from full screen\nto non-full we lay out once before recognizing that the status bar\nshould be back and then again once the status bar appears causing\na jump. Fixes bug 6470541.\n\n- Add a new test for configuration size changes to gone or hidden\nwindows. This forces a layout call to these windows which informs\nthem of the new size even though they are not shown until later.\nIn particular this keeps windows that were in the background\nduring a rotation from using their old boundaries on return.\nFixes bug 6615859.\n\n- Consolidate WindowState.mConfiguration tests into WindowState.\n\nChange-Id: I7a82ce747a3fcf7d74104dc23f1532efe64bd767\n"
    },
    {
      "commit": "625239a05401bbf18b04d9874cea3f82da7c29a1",
      "tree": "b7d6cdc6c51342262763ad251870350759800ed3",
      "parents": [
        "e00d33cf05a111c9be605d3d59db911cd983fcb9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 26 22:03:49 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 27 16:22:53 2012 -0700"
      },
      "message": "Migrate more Secure settings to Global.\n\nMigrate networking, storage, battery, DropBox, and PackageManager\nrelated Secure settings to Global table.\n\nBug: 7232014, 7231331, 7231198\nChange-Id: I772c2a9586a2f708c9db95622477f235064b8f4d\n"
    },
    {
      "commit": "3f91e43eb00764cebfdffb42a3ddcb723ae439e0",
      "tree": "d76bfdb4ba28ab45d42f60316a9f7057aba022b3",
      "parents": [
        "41148af5e6f1699c4e87ff6aa0ac1be974587aff",
        "f6d6fa8cbc0251da1900e858bb0379cda5014b6f"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 27 14:58:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 27 14:58:47 2012 -0700"
      },
      "message": "Merge \"Full (local) restore security changes\" into jb-mr1-dev"
    },
    {
      "commit": "37d83a3caf138e35fa1a355787d20c351f6b37a6",
      "tree": "a4fe753ce045a1fc0eb7edc17641425981a6079f",
      "parents": [
        "0b1711582ff07d6d1e8e4de6c057eaf6a3473ac3"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Sep 27 13:02:06 2012 -0700"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Sep 27 13:02:06 2012 -0700"
      },
      "message": "Pass the originating uid to the package verifier\n\nBug: 6923241\nChange-Id: I85a3e0d53b469543cb0551d3a440d2663b5d0697\n"
    },
    {
      "commit": "f6d6fa8cbc0251da1900e858bb0379cda5014b6f",
      "tree": "f0a25325b6a7534d3afa3b537ccde04d9bfc1e84",
      "parents": [
        "dd78d462f6dceac71f9d1cbb723bb38a3b5bdc2e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Sep 26 15:25:59 2012 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 27 12:54:37 2012 -0700"
      },
      "message": "Full (local) restore security changes\n\n(1) Prevent full restore from creating files/directories that are\n    accessible by other applications\n\n(2) Don\u0027t restore filesets from \"system\" packages; i.e. any that runs\n    as a special uid, unless they define their own agent for handling\n    the restore process.\n\nBug 7168284\n\nChange-Id: Id6a0cb4c113c2e4a8c4605252cffa41bea22d8a3\n"
    },
    {
      "commit": "580ee8b0c6e1aea1e2e1d60499b603b9168b44f0",
      "tree": "89038ebd84a7d7d1d6b203596bdd5f83d342efc8",
      "parents": [
        "62d2d62158e5be280e69e7620b8fb8a43a3cc26e",
        "3ff2d867d46067132890a5a6ad68be8a4314d7f6"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Sep 27 11:17:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 27 11:17:20 2012 -0700"
      },
      "message": "Merge \"Fixing AppWidgetService / AppWidgetHost to work in system process\" into jb-mr1-dev"
    },
    {
      "commit": "11cf178100e71d3f9f34ab5865e03a277c5eadaa",
      "tree": "1d150aa83ac276d99c9e9978118eadab94791c26",
      "parents": [
        "7bb89cf1632da6dc236e6603c4245301500eeb39"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Sep 27 14:03:08 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Sep 27 14:03:08 2012 -0400"
      },
      "message": "Cleanup internal status bar APIs.\n\nIStatusBarService.collapseQuickSettings is gone;\ncollapseNotifications is now collapsePanels, which does what\ncollapse() used to do. Similarly,\nIStatusBar.animateCollapseQuickSettings is now simply\nIStatusBar.animateCollapse().\n\nBug: 7245229\nChange-Id: Id157d2fdf34926d3c85ffa8b81c741a5359aede4\n"
    },
    {
      "commit": "5ade83ba1233b33c5570caac6e081229e32d6cec",
      "tree": "1affb4ea762d7ff26e836fbb78de833ae22617c4",
      "parents": [
        "7bb89cf1632da6dc236e6603c4245301500eeb39"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Wed Sep 26 22:59:41 2012 +0900"
      },
      "committer": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Thu Sep 27 19:00:44 2012 +0900"
      },
      "message": "Treat additional inputmethod subtypes per user\n\nBug: 6931482\nChange-Id: I4f7c7e69a80534da3a48ac508ff7a9e7511f33ce\n"
    },
    {
      "commit": "2480bc12a525a55ebff453dbf6ca95258b9f23cf",
      "tree": "6a7e4c8116753b5d79b218ddcce1f786fa3d2c09",
      "parents": [
        "7bb89cf1632da6dc236e6603c4245301500eeb39",
        "c7ba771a4584d624e66167d018fed7727a819032"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 27 00:53:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 27 00:53:08 2012 -0700"
      },
      "message": "Merge \"Fix issue #7232952: Settings crash on tapping on Downloaded apps on a secondary user\" into jb-mr1-dev"
    },
    {
      "commit": "c7ba771a4584d624e66167d018fed7727a819032",
      "tree": "e6301d12b0c29d4ab2adb96a0478f7c229c60208",
      "parents": [
        "13987fb43255ccb3802d415e32b1c5caf14291bb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 26 23:22:59 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 26 23:22:59 2012 -0700"
      },
      "message": "Fix issue #7232952: Settings crash on tapping on Downloaded apps on a secondary user\n\nAlso tweak bind flags for new location services so they\naren\u0027t put so aggressively up in the oom adj list.\n\nChange-Id: I9da25a3fea7681013b4d95b7db7e9a808f2d733b\n"
    },
    {
      "commit": "7bb89cf1632da6dc236e6603c4245301500eeb39",
      "tree": "728d986a34357c1e2f567e47c9d969630496b40c",
      "parents": [
        "f21b94a8774f238daf90105a42bc6c140dd7dae2",
        "f9d40f4236544db87c79d2d5dfce158a411b87d0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 26 20:18:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 26 20:19:09 2012 -0700"
      },
      "message": "Merge changes I2c09abaa,I9d8406e1 into jb-mr1-dev\n\n* changes:\n  Cure narcolepsy.\n  Allow applications to connect to known wifi displays.\n"
    },
    {
      "commit": "f21b94a8774f238daf90105a42bc6c140dd7dae2",
      "tree": "1e97e068d1bd83e7702e530649c542918d70b6b8",
      "parents": [
        "68b7a6d14b68b38324ffd275c7227805c7d99b2d",
        "4de9936e85696208dfe91d1c40e3e5226e57634a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 26 20:17:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 26 20:17:44 2012 -0700"
      },
      "message": "Merge \"Remove unused Secure settings.\" into jb-mr1-dev"
    },
    {
      "commit": "68b7a6d14b68b38324ffd275c7227805c7d99b2d",
      "tree": "3cf95847e5d9073f0a8e01f6620df720f4827d1b",
      "parents": [
        "0b1711582ff07d6d1e8e4de6c057eaf6a3473ac3",
        "bdfce2ec05a3e9ca6acd6711de6133e06f2446e6"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 26 20:15:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 26 20:15:45 2012 -0700"
      },
      "message": "Merge \"First step towards cleaning up Global settings.\" into jb-mr1-dev"
    },
    {
      "commit": "f9d40f4236544db87c79d2d5dfce158a411b87d0",
      "tree": "e9ca442b2080aac1c96c24d734681a0b47f7b5f4",
      "parents": [
        "bc335457462a12434a9df6955de1dd693cdccac7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 26 18:57:48 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 26 18:57:48 2012 -0700"
      },
      "message": "Cure narcolepsy.\n\nBug: 7204211\nChange-Id: I2c09abaad5d321cec6f62f7ca0ce00c3b61ee211\n"
    },
    {
      "commit": "bc335457462a12434a9df6955de1dd693cdccac7",
      "tree": "6c2881bbb48aecdfb3df4d73eb2c55b8b448237d",
      "parents": [
        "62c82e4d92cc0b856059f905d81885f7808a0e7d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 26 18:34:47 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 26 18:34:47 2012 -0700"
      },
      "message": "Allow applications to connect to known wifi displays.\n\nBug: 7177920\nChange-Id: I9d8406e1016988e2cd267dfa52d78a829f1b385e\n"
    },
    {
      "commit": "3ff2d867d46067132890a5a6ad68be8a4314d7f6",
      "tree": "60c4d3cc69dd2eded1ea7615f7926f6384641831",
      "parents": [
        "fea9df6386d66089b004719f194625e159bb344a"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Sep 26 14:07:57 2012 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Sep 26 18:00:12 2012 -0700"
      },
      "message": "Fixing AppWidgetService / AppWidgetHost to work in system process\n\n-\u003e Fixes issue 7208464\n-\u003e Fixed issue with partial update as well, should address\n   issue 7214731\n\nChange-Id: Ib8d9d5bee68b4fa7d6b4fbbc2f6609c287689958\n"
    },
    {
      "commit": "4de9936e85696208dfe91d1c40e3e5226e57634a",
      "tree": "22f651f21fb9025e00c775aa69ce734a7e5f1a62",
      "parents": [
        "bdfce2ec05a3e9ca6acd6711de6133e06f2446e6"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 26 17:58:19 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 26 17:58:19 2012 -0700"
      },
      "message": "Remove unused Secure settings.\n\nCarefully leave default values intact in Watchdog for now.\n\nBug: 7232007, 7232230\nChange-Id: Id944181109305aed41e0766fdd39625b43cb1d19\n"
    },
    {
      "commit": "eed8f06f7f5d8f934ea99f16ef987a3ae1bd99b2",
      "tree": "287c3b811b85fc063b3da3f5a0f2044d66b27261",
      "parents": [
        "0c9bbf4e13f2be6a4b930da2379c77e06a68c2cb",
        "4118012da9a22694b3353040a485f8cdc27e2f17"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Wed Sep 26 17:30:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 26 17:30:20 2012 -0700"
      },
      "message": "Merge \"Fix for bug: #7173350. elapsedRealtimeNano() -\u003e elapsedRealtimeNanos()\" into jb-mr1-dev"
    },
    {
      "commit": "bdfce2ec05a3e9ca6acd6711de6133e06f2446e6",
      "tree": "50fd53ef94070944416713eacceaa4cb4bff15c5",
      "parents": [
        "51ce1607b392bf463e4175596d0b91dc337f4c14"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 26 15:54:06 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 26 17:18:49 2012 -0700"
      },
      "message": "First step towards cleaning up Global settings.\n\nRemove all @Deprecated @hide settings, and clean up any stragglers.\n\nBug: 7232125\nChange-Id: Ibf67093c728d4a28565129b923edb1701d3b2789\n"
    },
    {
      "commit": "62c82e4d92cc0b856059f905d81885f7808a0e7d",
      "tree": "74203a2312cd0c51235e4686f2162811aebea1e5",
      "parents": [
        "cef440f2a2bb8b6e8d082d12a67dc21f2ee65e3c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 26 01:30:41 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 26 15:24:27 2012 -0700"
      },
      "message": "Make DreamManagerService more robust.\n\nClearly isolated the DreamManagerService and DreamController\nresponsibilities.  DreamManagerService contains just enough logic to\nmanage the global synchronous behaviors.  All of the asynchronous\nbehaviors are in DreamController.\n\nAdded a new PowerManager function called nap() to request the device\nto start napping.  If it is a good time to nap, then the\nPowerManagerService will call startDream() on the DreamManagerService\nto start dreaming.\n\nFixed a possible multi-user issue by explicitly tracking for\nwhich user a dream service is being started and stopping dreams\nwhen the current user changes.  The user id is also passed to\nbindService() to ensure that the dream has the right environment.\n\nFix interactions with docks and the UI mode manager.  It is\nimportant that we always send the ACTION_DOCK_EVENT broadcast\nto the system so that it can configure audio routing and the like.\nWhen docked, the UI mode manager starts a dock app if there is\none, otherwise it starts a dream.\n\nThis change resolves issues with dreams started for reasons other\nthan a user activity timeout.\n\nBug: 7204211\nChange-Id: I3193cc8190982c0836319176fa2e9c4dcad9c01f\n"
    },
    {
      "commit": "cef440f2a2bb8b6e8d082d12a67dc21f2ee65e3c",
      "tree": "e0833e4ffab2d0299b4dab937a1ebd15de9599a7",
      "parents": [
        "51ce1607b392bf463e4175596d0b91dc337f4c14"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 25 18:58:48 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 26 15:24:27 2012 -0700"
      },
      "message": "Move DreamManagerService to its own package.\n\nBug: 7204211\nChange-Id: Ia6cfe252647161df357a4de149a06fa1e3fd63fa\n"
    },
    {
      "commit": "e521573097390ce5465fc9b88dee2ae62f2317c6",
      "tree": "3e43f20c2f0f750fa58c1c6d0854b7fe4cac81d5",
      "parents": [
        "62fbb8311a1fe84fd1b09e27169757c85d7933cb",
        "b12e1354f25f04e9c9a71da76c6fca858b7d39d0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 26 14:55:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 26 14:55:19 2012 -0700"
      },
      "message": "Merge \"Maybe fix issue #7211766: bindService() to User u0 While u10 is...\" into jb-mr1-dev"
    },
    {
      "commit": "b12e1354f25f04e9c9a71da76c6fca858b7d39d0",
      "tree": "3568c1a0ce0a3348fbfcb4d5773140f26f630f80",
      "parents": [
        "2fd6cb043901c1bfbf5f566d13522cc3c1c21fb4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 26 11:39:20 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 26 14:50:12 2012 -0700"
      },
      "message": "Maybe fix issue #7211766: bindService() to User u0 While u10 is...\n\n...Forground Sometimes Doesn\u0027t Take\n\nThe main change here is a one-liner in ActiveServices to check the\nuid when deciding whether to remove an item from mPendingServices.\nThis could cause the problem being seen -- if the same service for\ntwo users is starting at the same time, the second one would blow\naway the pending start of the first one.  Unfortunately I have had\ntrouble reproducing the bug, so I don\u0027t know if this is actually\nfixing it.  It\u0027s a bug, anyway.\n\nThe reason so much has changed here is because I spread around\nlogging and printing of the user ID associated with operations and\nobjects to make it easier to debug these kind of multi-user things.\n\nAlso includes some tweaks to the oom manager to allow more background\nprocesses (I have seen many times in logs where we thrash through\nprocesses because the LRU list is too short), plus to compensate an\nadditional time-based metric for when to get rid of background processes,\nplus some new logic to try to help things like Chrome keep around\ntheir service processes.\n\nChange-Id: Icda77fb2a1dd349969e3ff2c8fff0f19b40b31d3\n"
    },
    {
      "commit": "1951db86f527ff4e8c2ddf4306779ce956cd372d",
      "tree": "ec949cff9b00baf7d1a80909a80984bbdc933e9f",
      "parents": [
        "fd3398c8bf25d8ec7ce813ebda431d67d734f268",
        "65c4a2b26cd8776b0927e9b0e07ecf53bd31b627"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 26 13:38:21 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 26 13:38:22 2012 -0700"
      },
      "message": "Merge \"Multi-user ringtone playback.\" into jb-mr1-dev"
    },
    {
      "commit": "4118012da9a22694b3353040a485f8cdc27e2f17",
      "tree": "310eddfb0c3ee5d1205dfbc2c72dd91fb9ffc40f",
      "parents": [
        "2832136bb6fcace61ef078051e94aa0a841aac15"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Wed Sep 26 11:29:25 2012 -0700"
      },
      "committer": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Wed Sep 26 11:29:25 2012 -0700"
      },
      "message": "Fix for bug: #7173350. elapsedRealtimeNano() -\u003e elapsedRealtimeNanos()\n\nChange-Id: Ie38952bbaace080e81e41e61350cda172951d548\n"
    },
    {
      "commit": "65c4a2b26cd8776b0927e9b0e07ecf53bd31b627",
      "tree": "7dbd0b29b66336c738a0c599335ad70bb86ba4a2",
      "parents": [
        "5e21bf934b2a71b595deb9856a2044eea4dbce86"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 25 17:22:27 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 26 10:49:35 2012 -0700"
      },
      "message": "Multi-user ringtone playback.\n\nChange RingtonePlayer to open content:// Uris based on requesting\nUserHandle.  Grant SystemUI visibility to all emulated storage so\nit can play ringtones for apps without READ_EXTERNAL_STORAGE.\n\nResolve canonical file:// Uris before passing out of source app,\nreplacing any /emulated_legacy/-style paths with user-specific\nvariant so they can be opened by SystemUI.  Calling for RemoteViews,\nRingtones, and Notifications.\n\nBug: 7202982\nChange-Id: Ibf0eca8df80c1486711144a7b648f464aadfe099\n"
    },
    {
      "commit": "72a374705d32cf715443aa203f75c159e1bc9bd5",
      "tree": "8dfde0728e8eec8204d31b3ed6eef7983052ae9f",
      "parents": [
        "4e1ab15b305aac26ad8819fc3b2951e20985944d",
        "1925e290e7ac2801311cb4e732d1bc5a5f3e0c44"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Wed Sep 26 07:59:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 26 07:59:13 2012 -0700"
      },
      "message": "Merge \"getBestProvider() prefers GPS over NLP\" into jb-mr1-dev"
    },
    {
      "commit": "4e1ab15b305aac26ad8819fc3b2951e20985944d",
      "tree": "dcd8182556e4c360d6b1391e5c45fd4bc7e80c05",
      "parents": [
        "f05d511bc95c5d0bdfa6d64c6a8a02c6a099703f"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Thu Sep 13 21:34:20 2012 +0900"
      },
      "committer": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Wed Sep 26 19:22:04 2012 +0900"
      },
      "message": "Enable multi-user function for IMF\n\nBug: 6931482\n\nChange-Id: Ib23849d352db33f0747aa9d5a178f00ac726c13b\n"
    },
    {
      "commit": "5e1c74dbbe1ccf93ab13a3cc9e46e98988036762",
      "tree": "4c8bfb59cf904a463aeb6208ee2ef9066069bca0",
      "parents": [
        "cefbd1438c9054e3a34b4ab93b4b26b427604cb1",
        "670ef53353f0fc6f295df2f440bf8a159cc283f4"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Sep 25 21:04:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 25 21:04:15 2012 -0700"
      },
      "message": "Merge \"Remove permission check in registerAdapter\" into jb-mr1-dev"
    },
    {
      "commit": "670ef53353f0fc6f295df2f440bf8a159cc283f4",
      "tree": "b1e1799fb0b7e5198770b1d0e109f80bd33bf2c9",
      "parents": [
        "1cd5522fcc16b6a7d38f7f4d2997359759196856"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Sep 25 18:25:54 2012 -0700"
      },
      "committer": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Sep 25 18:25:54 2012 -0700"
      },
      "message": "Remove permission check in registerAdapter\n\nThis matches the JB behavior of getDefaultAdapter public api\nbug 6948829\n\nChange-Id: I86135bf45fddbb2d078f855f91a34d6fcce237a2\n"
    },
    {
      "commit": "6e065a729dbf08f99209a7710da80442a394ec0d",
      "tree": "5017ecb5a8eff2385a0fff4bcae0bbd2c03cac58",
      "parents": [
        "b4693e25b1a576718eb669a74a056b3f1e451117",
        "4fbbda4cecb078bd3867f416b02cc75f5455284f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 25 17:52:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 25 17:52:14 2012 -0700"
      },
      "message": "Merge \"Handle multi-user mountObb() requests.\" into jb-mr1-dev"
    },
    {
      "commit": "4fbbda4cecb078bd3867f416b02cc75f5455284f",
      "tree": "e4d988ec4be9e86e7fa5a2cfb1e20ecb1342ce72",
      "parents": [
        "5e21bf934b2a71b595deb9856a2044eea4dbce86"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Sep 24 18:34:07 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 25 17:34:48 2012 -0700"
      },
      "message": "Handle multi-user mountObb() requests.\n\nSince emulated external storage paths differ based on execution\ncontext, carefully fix up paths for various use-cases:\n\n1. When sending paths to DefaultContainerService, always scope\n   OBB paths as belonging to USER_OWNER.\n2. When sending paths to vold, always build emulated storage paths\n   visible to root.\n3. Always use the original untouched path when talking with apps.\n\nMount OBB containers using shared app GID, so that an app can read\nthe mount point across users.\n\nHandle legacy paths like \"/sdcard\" by resolving the canonical path\nbefore sending to MountService.  Move tests to servicestests, and\nadd tests for new path generation logic.\n\nBug: 7212801\nChange-Id: I078c52879cd08d9c8a52cc8c83ac7ced1e8035e7\n"
    },
    {
      "commit": "b32e221699201cb647beae3fe0a1771fd5a41cf4",
      "tree": "54d5f76a31728976ba75e590c077cefc1448ac82",
      "parents": [
        "0a52088e58a6ddea0966ba9cd2fbc7bd3e23809a",
        "bf6f6f9de72c9fd15e6bda9f228c05a9b37d6324"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 25 17:02:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 25 17:03:11 2012 -0700"
      },
      "message": "Merge changes I332f020f,I632648ac into jb-mr1-dev\n\n* changes:\n  Update references to migrated global settings.\n  Handle user switched for settings changes.\n"
    },
    {
      "commit": "0a52088e58a6ddea0966ba9cd2fbc7bd3e23809a",
      "tree": "2763011daf4a144ed3d89f3b4f51dd2df08633f6",
      "parents": [
        "282c51d3912995308901b45d22d1801eec50df41",
        "28e0b09a3d22de80cca05499e98a23d5dd82fa15"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 25 17:02:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 25 17:02:06 2012 -0700"
      },
      "message": "Merge \"Fix typo.\" into jb-mr1-dev"
    },
    {
      "commit": "c91fb5875bfd7f91d50d6fe939873872b53c8b2f",
      "tree": "20d76cda14967d73acad9df9445b2211bbe2482f",
      "parents": [
        "fe54290df0c5d495b7f388035a4ae3a20821a183",
        "e20a177d3f147f3011647c3bdab401f90b2c5d1d"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 25 16:46:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 25 16:47:06 2012 -0700"
      },
      "message": "Merge \"Adding a global accessibility action to open quick settings.\" into jb-mr1-dev"
    },
    {
      "commit": "e20a177d3f147f3011647c3bdab401f90b2c5d1d",
      "tree": "9f06e8e43907e4ea01dc7456865ff39f871749b9",
      "parents": [
        "1ab8a08a9b85aa62045a6a78fd93859382c88b0f"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 25 16:07:46 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 25 16:07:59 2012 -0700"
      },
      "message": "Adding a global accessibility action to open quick settings.\n\n1. Added APIs for opening the quick settings to the StatusBarManagerService\n   and the local StatausBarManager. The new APIs are protected by the old\n   EXPAND_STATUS_BAR permission.\n   Renamed the expand* and collapse* non-public APIs that are expanding\n   the notifications to expandNotifications* collapseNotifications* to\n   better convey what they do given that this change adds\n   expandQuickSettings* and collapseQuickSettings*.\n   Added a global action to the accessibility layer to expand the quick\n   settings which is calling into the new status bar manager APIs.\n\nbug:7030487\n\nChange-Id: Ic7b46e1a132f1c0d71355f18e7c5a9a2424171c3\n"
    },
    {
      "commit": "98edc951712823dbf5db2b7e9c203a0e98fc616b",
      "tree": "4f0e85972328438729323ab5c032d4b36ff90904",
      "parents": [
        "b1c4ab5c2afea1f0797ee397df6512366128d980"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Sep 25 14:09:27 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Sep 25 15:45:27 2012 -0700"
      },
      "message": "Load resources for the correct user\n\nFor apps that are only installed on secondary users, the SystemUI is\nunable to see them by default. Added some methods to explicitly pass the\nuserId of the user the resources are requested for by the StatusBarIcon\n\nBug: 7214384\n\nAlso fix binding to remote views\n\nBug: 7192802\n\nChange-Id: I5d6c5f624aa37fb231f3467f9764c8d99077a91d\n"
    },
    {
      "commit": "bf6f6f9de72c9fd15e6bda9f228c05a9b37d6324",
      "tree": "d0b8906847bdb134fc8ab9b1bae876fccd4611c0",
      "parents": [
        "d49359631bc2642be73dc162a8a73207df1e0baf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 25 15:03:20 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 25 15:27:51 2012 -0700"
      },
      "message": "Update references to migrated global settings.\n\nFixed one setting that was migrated but not marked deprecated.\n\nRemoved a hidden setting that is no longer used by the new\npower manager service.\n\nBug: 7231172\nChange-Id: I332f020f876a18d519a1a20598a172f1c98036f7\n"
    },
    {
      "commit": "d49359631bc2642be73dc162a8a73207df1e0baf",
      "tree": "84e8763298c73d28056523b667fd7136b69ce0fe",
      "parents": [
        "28e0b09a3d22de80cca05499e98a23d5dd82fa15"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 25 13:27:20 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 25 15:26:51 2012 -0700"
      },
      "message": "Handle user switched for settings changes.\n\nMove OVERLAY_DISPLAY_DEVICES to Global.\n\nBug: 7127417\nChange-Id: I632648ac5b01408512f59424f3bb55162431bea4\n"
    },
    {
      "commit": "28e0b09a3d22de80cca05499e98a23d5dd82fa15",
      "tree": "26be5aec085c99e71bf509cffcd21699564421af",
      "parents": [
        "5e21bf934b2a71b595deb9856a2044eea4dbce86"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 25 11:31:28 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 25 15:15:17 2012 -0700"
      },
      "message": "Fix typo.\n\nBug: 7183618\nChange-Id: I0c761fc7f55b3f182007cb4d50cbfdce309f844a\n"
    },
    {
      "commit": "1c9766e32a630c72db400a769430e60549062577",
      "tree": "c75ca50c45ea62c4efa7d1714d8b20035c2f27d0",
      "parents": [
        "1a2297a89dc08594f73fd1748dc8ee941be93dc6",
        "76c0dd48279531cb31e2a284a270c535664cbf81"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 25 14:46:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 25 14:46:58 2012 -0700"
      },
      "message": "Merge \"The active window for accessibilitiy incorrectly tracked.\" into jb-mr1-dev"
    },
    {
      "commit": "a8afa694d6881266ad762aacdac92b2047f9a86c",
      "tree": "fb6a052539cfc763eecbb6060b003d60bd622363",
      "parents": [
        "1ab8a08a9b85aa62045a6a78fd93859382c88b0f"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 25 13:03:18 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 25 13:59:37 2012 -0700"
      },
      "message": "Regression in screen introspection APIs due to the multi-user change.\n\n1. The initial user was set to USER_NULL but some clients were registering\n   before the user change callback happens. Since the initial user is\n   the owner the current user id defaults to USER_OWNER.\n\n2. The check for global clients and window connections was using the\n   calling UID but there are processes that run in a per user basis\n   as system UID (Setting for example). Now the check is stronger\n   and comparing the caller PID with that of the system process.\n\n3. The code for finding the focused window id was not checking the\n   global window token list in addition to that of the current user.\n\n4. The code updating the active window id was calling out into the\n   window manager with a lock held.\n\nbug:7224670\n\nChange-Id: I9f4b7ea67eb5598b30ee7d1b68a1d3ce0cf8cfb4\n"
    },
    {
      "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": "76c0dd48279531cb31e2a284a270c535664cbf81",
      "tree": "fd521c33a419902f395555fa49717b930f69cc9d",
      "parents": [
        "03e7b8881599da69207a93a2bcbbe5050efb6633"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 24 19:16:16 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 24 19:16:20 2012 -0700"
      },
      "message": "The active window for accessibilitiy incorrectly tracked.\n\n1. The active window for accessibility purposes is the either the\n   window the user is touching or the window that has input focus. We\n   were using the touch exploration gesture end event to figure\n   when the user stops touching the screen so we can set the active\n   window to the input focused one. However, we do not send such\n   gesture end if the user does not touch explore. If the user only\n   taps we do not consider this touch exploring. We now have dedicated\n   accessibility events for first and last touch and this change uses\n   them as a guide when to update the active window.\n\nbug:6523219\n\nChange-Id: I6262c0c5f408b02dbaa127664e4b426935d7f81f\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": "1925e290e7ac2801311cb4e732d1bc5a5f3e0c44",
      "tree": "5683eedac8c30bcfd5366ef93a6abdbd29e956de",
      "parents": [
        "537d47f510ce49acee09516ed5dde680d910ff94"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Mon Sep 24 17:00:18 2012 -0700"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Mon Sep 24 17:00:18 2012 -0700"
      },
      "message": "getBestProvider() prefers GPS over NLP\n\nPreferring the GPS location provider over NLP should produce better\naverage and worst-case results than NLP, which is very accurate in\ncertain conditions and completely useless in others.\n\nBug: 7182301\nChange-Id: If7d50f0d3ac663cbfd84b7033adc204c11bcaca4\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"
    }
  ],
  "next": "752cd922f7091dfd5401faf70dc248934a9dbb6d"
}
