)]}'
{
  "log": [
    {
      "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": "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": "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"
    },
    {
      "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"
    }
  ],
  "next": "35d323a5206644029eb53ae751268feca430cc46"
}
