)]}'
{
  "log": [
    {
      "commit": "80a4af2bbc6af42ae605e454bf89558e564f5244",
      "tree": "3cd054c0e9576c9fda33fc36670ef10458f71ee8",
      "parents": [
        "def8b0f011b5b2b02235063d5021ddfd58aa0baf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 27 19:18:31 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 28 16:30:55 2012 -0700"
      },
      "message": "Start implementing concept of \"running\" users.\n\nThe activity manager now keeps track of which users are running.\n\nInitially, only user 0 is running.\n\nWhen you switch to another user, that user is started so it is\nrunning.  It is only at this point that BOOT_COMPLETED is sent\nfor that user and it is allowed to execute anything.\n\nYou can stop any user except user 0, which brings it back to the\nsame state as when you first boot the device.  This is also used\nto be able to more cleaning delete a user, by first stopping it\nbefore removing its data.\n\nThere is a new broadcast ACTION_USER_STOPPED sent when a user is\nstopped; system services need to handle this like they currently\nhandle ACTION_PACKAGE_RESTARTED when individual packages are\nrestarted.\n\nChange-Id: I89adbd7cbaf4a0bb72ea201385f93477f40a4119\n"
    },
    {
      "commit": "def8b0f011b5b2b02235063d5021ddfd58aa0baf",
      "tree": "79450cfac58ebe17ae7a64a55d3899f1051db1b4",
      "parents": [
        "b210018760997ee76940080b3257dda0958b681f",
        "377de7b13e6706911cca1d6826b2e4665edd60d4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 28 16:01:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 28 16:01:53 2012 -0700"
      },
      "message": "Merge \"Fix infinite loop when uninstalling apps.\" into jb-mr1-dev"
    },
    {
      "commit": "377de7b13e6706911cca1d6826b2e4665edd60d4",
      "tree": "471588a5420e21751a613216d0b72123e8b3a16b",
      "parents": [
        "0e17e5bc43373ff9dd8d567f876a26f990ed638e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 28 15:57:33 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 28 15:57:33 2012 -0700"
      },
      "message": "Fix infinite loop when uninstalling apps.\n\nChange-Id: Ibdf7fa832529a358d1115fc300651101c5185484\n"
    },
    {
      "commit": "2deaa3698d33d428b527329537440ab65ae8dced",
      "tree": "61269ae429f69cd0e3fcbce298bf2e229c1e5431",
      "parents": [
        "b1a1e5ca7d3a2a93d6741db40aeba1467a8631cb",
        "7e67151b912622f8a279ab1523a9bcf26ebaff3d"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Tue Aug 28 15:14:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 28 15:14:26 2012 -0700"
      },
      "message": "Merge \"Add permission checks for Verification API calls\" into jb-mr1-dev"
    },
    {
      "commit": "7e67151b912622f8a279ab1523a9bcf26ebaff3d",
      "tree": "04e046f659971b2c62115755be7265b8fe0b5521",
      "parents": [
        "ac137b3211818f9e72f9ffbaf541ad8a1ef27eb1"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Mon Aug 27 14:44:16 2012 -0700"
      },
      "committer": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Tue Aug 28 14:00:46 2012 -0700"
      },
      "message": "Add permission checks for Verification API calls\n\nEnsure that only applications with\nandroid.Manifest.permission.PACKAGE_VERIFICATION_AGENT can call application\nverification APIs, like PackageManager.verifyPendingInstall and\nPackageManager.extendVerificationTimeout\n\nBug: 7049083\nChange-Id: I5fc28b37e864d67cd319a1ed9d03a90dd15ad052\n"
    },
    {
      "commit": "da6da0907b28d4704aabbdb1bbeb4300954670d1",
      "tree": "58a2b58cf777d02d0d89cc8f54b0ce5d29a9c5b2",
      "parents": [
        "10a0df8459d22b29fb9163071e8cbc2bb7194393"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Aug 16 12:49:23 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Aug 27 22:27:06 2012 -0700"
      },
      "message": "Captive portal handling\n\nWe now notify the user of a captive portal before switching to the network as default.\nThis allows background applications to continue to work until the user confirms he\nwants to sign in to the captive portal.\n\nAlso, moved out captive portal handling out of wifi as a seperate component.\n\nChange-Id: I7c7507481967e33a1afad0b4961688bd192f0d31\n"
    },
    {
      "commit": "10a0df8459d22b29fb9163071e8cbc2bb7194393",
      "tree": "0314b2669b5106df7e023639377f6841ed21558d",
      "parents": [
        "bf3218f64de1692ca26c67b1911af856d81e186c",
        "8bf06edac2088ad100e67dcb00a46d3f0f95c126"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Aug 27 19:33:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 19:33:42 2012 -0700"
      },
      "message": "Merge \"Relax permission requirement for sending broadcasts to other users\" into jb-mr1-dev"
    },
    {
      "commit": "8bf06edac2088ad100e67dcb00a46d3f0f95c126",
      "tree": "37334aee97da6939d9932e9733c8c8e6838e9bc6",
      "parents": [
        "81efbb30f07d3c2d48b43659dd443ceb625505d2"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Aug 27 19:30:30 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Aug 27 19:30:30 2012 -0700"
      },
      "message": "Relax permission requirement for sending broadcasts to other users\n\nAlso handle USER_CURRENT for broadcasts\n\nChange-Id: I2df5616ac22b7c670a7d007b8d505d4d4d99a24e\n"
    },
    {
      "commit": "dc7d8008eceb08850142fcd77a97404b4fbe688d",
      "tree": "ec86be2fed3987132c6a7283a5dd10721460e9ef",
      "parents": [
        "ac66d4a8d653331a03c27d5444467fd943503c9b",
        "64a55af0ac700baecb0877235eb42caac59a3560"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 27 17:16:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 17:16:53 2012 -0700"
      },
      "message": "Merge \"Add plumbing for new surface flinger display API.\" into jb-mr1-dev"
    },
    {
      "commit": "0e17e5bc43373ff9dd8d567f876a26f990ed638e",
      "tree": "344da2d01806715678bede4ec7f4c3d04eb21ead",
      "parents": [
        "40edfc97795e34b1f24b15ca8f0ccba37fa1efbc",
        "786b44046a79d6c4c9cd07f5989d491c7196ad80"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 27 15:59:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 15:59:56 2012 -0700"
      },
      "message": "Merge \"Fix installing applications from non-primary users.\" into jb-mr1-dev"
    },
    {
      "commit": "786b44046a79d6c4c9cd07f5989d491c7196ad80",
      "tree": "ac3d22036260f4e56340903c4ae71f8f7c81e8fe",
      "parents": [
        "9d9ea05cde56f6663f57925212c87860d1cbc1b2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 27 15:14:02 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 27 15:16:33 2012 -0700"
      },
      "message": "Fix installing applications from non-primary users.\n\nWe also now send the correct broadcasts to each user.\n\nYou no longer need to be running the shell as root\nto be able to create/remove users.\n\nAlso added some more man page material to the pm command, and\ngot rid of a bunch of showUsage() calls that now make error\nmessages completely buried because of how large the usage info\nhas become.\n\nAnd the package manager now shows the user each historical broadcast\nwas sent to.\n\nChange-Id: Iab42498e1352a0c023069139c80fc04d2d69ab4b\n"
    },
    {
      "commit": "a97ec810e0dd5fe493c1ac08545dcb7a9f93b723",
      "tree": "f2531a0f2559a26bf39dc7ff4bd6515924fac0f1",
      "parents": [
        "ac137b3211818f9e72f9ffbaf541ad8a1ef27eb1",
        "595dda6d47a4eeeffc32abbfbc55edfba588d846"
      ],
      "author": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Mon Aug 27 14:59:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 14:59:11 2012 -0700"
      },
      "message": "Merge \"Remove unused IntentFilter in LocationManager\" into jb-mr1-dev"
    },
    {
      "commit": "64a55af0ac700baecb0877235eb42caac59a3560",
      "tree": "0f3c36ce8204e6cf8eedf04ce9ae24373239ddd8",
      "parents": [
        "0b722fe9ce98d97dbcb6fefd170b85ab7037e528"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Aug 26 02:47:39 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 27 14:34:54 2012 -0700"
      },
      "message": "Add plumbing for new surface flinger display API.\n\nCleaned up the implementation of Surface and SurfaceSession\nto use more consistent naming and structure.\n\nAdded JNI for all of the new surface flinger display API calls.\n\nEnforced the requirement that all Surfaces created by\nthe window manager be named.\n\nUpdated the display manager service to use the new methods.\n\nChange-Id: I2a658f1bfd0437e1c6f9d22df8d4ffcce7284ca2\n"
    },
    {
      "commit": "116ee10b95ffff658618be42544ce80971ce28e8",
      "tree": "2b1a0afba2c76dc785f4701f597b0e2f7a3be611",
      "parents": [
        "e45ca31a613d8692a9db2117be96f442e57abfef",
        "69ddab4575ff684c533c995e07ca15fe18543fc0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 27 13:57:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 13:57:58 2012 -0700"
      },
      "message": "Merge \"Always-on VPN.\" into jb-mr1-dev"
    },
    {
      "commit": "69ddab4575ff684c533c995e07ca15fe18543fc0",
      "tree": "dfae3a89b9027c33d47b58f80200af021bbe7426",
      "parents": [
        "080ca09c7f4c0033d0efece23687b71f7f8febc9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Aug 25 00:05:46 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 27 12:35:05 2012 -0700"
      },
      "message": "Always-on VPN.\n\nAdds support for always-on VPN profiles, also called \"lockdown.\" When\nenabled, LockdownVpnTracker manages the netd firewall to prevent\nunencrypted traffic from leaving the device. It creates narrow rules\nto only allow traffic to the selected VPN server. When an egress\nnetwork becomes available, LockdownVpnTracker will try bringing up\nthe VPN connection, and will reconnect if disconnected.\n\nConnectivityService augments any NetworkInfo based on the lockdown\nVPN status to help apps wait until the VPN is connected.\n\nThis feature requires that VPN profiles use an IP address for both\nVPN server and DNS. It also blocks non-default APN access when\nenabled. Waits for USER_PRESENT after boot to check KeyStore status.\n\nBug: 5756357\nChange-Id: If615f206b1634000d78a8350a17e88bfcac8e0d0\n"
    },
    {
      "commit": "be7ddb9f293076e0c14dc72ea498aced8742b5a9",
      "tree": "9b3018a721261e9795f81a8a9f3acef969b88460",
      "parents": [
        "a84a4af9b11946fe16689cd42741a92ca285ffe9",
        "250ce285318f9f7d714805e4f859a395ac9615f6"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Mon Aug 27 12:28:05 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 12:28:05 2012 -0700"
      },
      "message": "Merge \"Fix package verifier lookup\" into jb-mr1-dev"
    },
    {
      "commit": "a84a4af9b11946fe16689cd42741a92ca285ffe9",
      "tree": "b7c24079b57d84fc0f77085edf1f9d364bcc0804",
      "parents": [
        "63dc027be28762232335797a30449995c555ae10",
        "2b9146523347d4458d17d99824afdac29e312176"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Aug 27 12:24:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 12:24:24 2012 -0700"
      },
      "message": "Merge \"Fix adb install\" into jb-mr1-dev"
    },
    {
      "commit": "2b9146523347d4458d17d99824afdac29e312176",
      "tree": "fc0754798be411bcd0e356388873a954f9cb7a6f",
      "parents": [
        "080ca09c7f4c0033d0efece23687b71f7f8febc9"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Aug 27 12:04:40 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Aug 27 12:04:40 2012 -0700"
      },
      "message": "Fix adb install\n\nWas not properly handling creating DefContainerService when the installation was\nfor USER_ALL. Not a problem for Market installs.\n\nBug: 7061571\nChange-Id: I4528b4c56e38effa137da56460e78c55b242ba45\n"
    },
    {
      "commit": "63dc027be28762232335797a30449995c555ae10",
      "tree": "1ef49cf8d897ea68bcad8fb15202fa25bbc7b7bc",
      "parents": [
        "62e2709c3ff91760108c31e6f60fcf57c8c8da46",
        "35bbe27d58ccf01ffd170b0f617a568bc843a49e"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Aug 27 11:59:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 27 11:59:16 2012 -0700"
      },
      "message": "Merge \"Fix permission issue on channel\" into jb-mr1-dev"
    },
    {
      "commit": "3486b9696d81da8873ef595daa35b2d39fc83146",
      "tree": "550ca54bc0c53cc166f19eab1f663b41cfb2138f",
      "parents": [
        "71d7c3c628fbce04b8bdb60f127588ada00bae13"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Aug 27 11:31:24 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Aug 27 11:31:24 2012 -0700"
      },
      "message": "Fix drag bug.\n\nPrevious assumption -- that the drag window was defined at time of\nDragState construction -- was false. The window, and hence the\nDisplay, is not known until performDrag. This change delays assigning\nDragState.mDisplayContent until the window/Display is known.\n\nFixes bug 7028203.\n\nChange-Id: I5799005652c484ff0c45ab340ce3b9e4b784883e\n"
    },
    {
      "commit": "af18865486df1e23e2951983fb0d1d4bf17f4f32",
      "tree": "8d1574e853c3c5a2ef4c255205cd0c8e1b6debba",
      "parents": [
        "68cff8c117b18136de8f652782b364fc48f25a84",
        "ba37d595f70d348987a9e60c56c071fdd319260f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 27 08:16:02 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 27 08:16:02 2012 -0700"
      },
      "message": "am ba37d595: am e70a32af: am eb00f951: Merge \"VibratorService: Fix to ensure actual delay in a vibrate pattern\"\n\n* commit \u0027ba37d595f70d348987a9e60c56c071fdd319260f\u0027:\n  VibratorService: Fix to ensure actual delay in a vibrate pattern\n"
    },
    {
      "commit": "ba37d595f70d348987a9e60c56c071fdd319260f",
      "tree": "a6d35f5db94c8de10a8ada585c94aba8b235e907",
      "parents": [
        "2f1ec0db61554c3c26fe22cbb8f31ef6e6f15ef0",
        "e70a32afc5b27ddc9681efd867780a0c4c77edd3"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 27 08:13:27 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 27 08:13:27 2012 -0700"
      },
      "message": "am e70a32af: am eb00f951: Merge \"VibratorService: Fix to ensure actual delay in a vibrate pattern\"\n\n* commit \u0027e70a32afc5b27ddc9681efd867780a0c4c77edd3\u0027:\n  VibratorService: Fix to ensure actual delay in a vibrate pattern\n"
    },
    {
      "commit": "eb00f951439cd724863d267e8e8d77414383d93f",
      "tree": "d5dae63b27d4f434ea887c173b15404f9906d57f",
      "parents": [
        "13ab2c9fdaec119a40b628ae772fd1462fbb826d",
        "e4c56d9367ae89c705b92e44f327bd1d0132129c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 27 07:55:41 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 27 07:55:41 2012 -0700"
      },
      "message": "Merge \"VibratorService: Fix to ensure actual delay in a vibrate pattern\""
    },
    {
      "commit": "d59db50ab0c3c7a232b2a564e763ca46c6f6ebfa",
      "tree": "56d64362d3d4d6ce3811c7a07d039ab7f883793d",
      "parents": [
        "04a286b95528e1fe7c0a18e8780a64bfadbd1eba",
        "f75724b3d36d84c881d4052cfd4be766d454c98f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Aug 25 13:46:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 25 13:46:49 2012 -0700"
      },
      "message": "Merge \"Initialize screen state earlier in the boot process.\" into jb-mr1-dev"
    },
    {
      "commit": "04a286b95528e1fe7c0a18e8780a64bfadbd1eba",
      "tree": "d6b9605f9ab9cb35cf593a2f00a8a040f472f5aa",
      "parents": [
        "f85ddd6571c9084b76d874f79245d087b152cb67",
        "028872fe07f9b3468aa1506c658d6aae25f53015"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Aug 25 13:44:46 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 25 13:44:51 2012 -0700"
      },
      "message": "Merge \"Fix GpsLocationProvider wake lock book keeping.\" into jb-mr1-dev"
    },
    {
      "commit": "f85ddd6571c9084b76d874f79245d087b152cb67",
      "tree": "9050e94dcd997905a550a9022e44987e71f47864",
      "parents": [
        "080ca09c7f4c0033d0efece23687b71f7f8febc9",
        "a2910d0abbbe18ba1710dfd4a31af45769632255"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Aug 25 13:43:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 25 13:43:48 2012 -0700"
      },
      "message": "Merge \"Make it easier to create asynchronous Handlers.\" into jb-mr1-dev"
    },
    {
      "commit": "f75724b3d36d84c881d4052cfd4be766d454c98f",
      "tree": "3407abe81ef9a86e920096a7d0a1d3ad5a61f083",
      "parents": [
        "ba94170a7a4f78d68fe228e9ee35ed82c4de09c8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Aug 25 13:34:32 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Aug 25 13:41:35 2012 -0700"
      },
      "message": "Initialize screen state earlier in the boot process.\n\nThe system depends on receiving reliable vsync signals from\nsurface flinger during the boot process.  If it doesn\u0027t get them\nbecause the screen is off then a hang may occur.\n\nThis isn\u0027t a problem when surface flinger manages the screen\nblanking itself but it is a problem for devices that still\nrely on early-suspend.  When early-suspend is involved, the\nscreen may be off without surface flinger knowing.  This is a\nproblem because surface flinger will only synthesize fake\nvsyncs when it knows the screen is off, otherwise relying\non the hardware to generate vsync signals itself.  Unfortunately,\nthe hardware won\u0027t generate vsync signals if the screen was\nturned off by early-suspend, so we have a problem.\n\nBug: 6975688\nChange-Id: Iaf4527f716bf4ea72cc3e6fdaf060855697b02f2\n"
    },
    {
      "commit": "028872fe07f9b3468aa1506c658d6aae25f53015",
      "tree": "40069ed51bf79a0daabd60b3b78c93e7d2632cbd",
      "parents": [
        "a2910d0abbbe18ba1710dfd4a31af45769632255"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Aug 25 13:07:01 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Aug 25 13:40:28 2012 -0700"
      },
      "message": "Fix GpsLocationProvider wake lock book keeping.\n\nThe GpsLocationProvider typically acquires a wake lock\nbefore sending a message to its handler then releases it\nafter the message has been handled.\n\nThere were two cases where messages might be removed from\nthe handler, resulting in the wake lock being released.\n\nThere were also two cases where background tasks were being\nstarted while not holding a wake lock for the duration.\n\nFixed these issues and marked the GpsLocationProvider handler\nas asynchronous too so that it doesn\u0027t accidentally get\nblocked by traversals if it happens to share a thread with some UI.\n\nBug: 7057752\nChange-Id: I8e12fc91ae943e84db068c08ec809879537503c6\n"
    },
    {
      "commit": "a2910d0abbbe18ba1710dfd4a31af45769632255",
      "tree": "bac98df3737fe3df7e9cd168973fcfe62fad05b0",
      "parents": [
        "ba94170a7a4f78d68fe228e9ee35ed82c4de09c8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Aug 25 12:29:46 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Aug 25 13:40:26 2012 -0700"
      },
      "message": "Make it easier to create asynchronous Handlers.\n\nThere are potentially very many Handlers owned by services\nthat should not be blocked by barriers introduced by UI traversals\noccurring on the same thread (if that ever happens).\nAdd some convenience constructors to make it easy to switch\nthese Handlers over to being async.\n\nBug: 7057752\nChange-Id: I64d9bffe81e7c52ada4cfad4e89d4340153f4688\n"
    },
    {
      "commit": "080ca09c7f4c0033d0efece23687b71f7f8febc9",
      "tree": "c1b549887437a7474be9550c40838292301c17df",
      "parents": [
        "3782aabe4e0e67839e8a03b694abf6433fd2d65d",
        "6ec101288b93d7548ed9ac9169356e7939783813"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sat Aug 25 07:25:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 25 07:25:42 2012 -0700"
      },
      "message": "Merge \"Bind to the correct default container service when installing/moving/measuring pkgs\" into jb-mr1-dev"
    },
    {
      "commit": "6ec101288b93d7548ed9ac9169356e7939783813",
      "tree": "02b1725d9ffab3682bf376513971e655fc4bb975",
      "parents": [
        "0b23b5f6039b3771708c8bc38b342be5f7fb2ee8"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Aug 23 13:49:25 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sat Aug 25 07:17:29 2012 -0700"
      },
      "message": "Bind to the correct default container service when installing/moving/measuring pkgs\n\nChange-Id: I0acfe955b5d57b4985d1922fe3dd841a81c824ed\n"
    },
    {
      "commit": "ba94170a7a4f78d68fe228e9ee35ed82c4de09c8",
      "tree": "547584d64b91a935b00d0d7177bf0bb1a53c2c0f",
      "parents": [
        "f3db71791b0502646d9299c136641a233b743e78",
        "4428e17c5e05c0dad76da8f1c28ccba62a66cd91"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 24 18:03:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 24 18:03:56 2012 -0700"
      },
      "message": "Merge \"Some clean up of app install and user management.\" into jb-mr1-dev"
    },
    {
      "commit": "4428e17c5e05c0dad76da8f1c28ccba62a66cd91",
      "tree": "aacaa5e7c6dfb1f1dee8c5edd1b523fd88573bda",
      "parents": [
        "a31803fca6c61486e88d742a8ff58f178195f980"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 24 17:43:05 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 24 18:00:37 2012 -0700"
      },
      "message": "Some clean up of app install and user management.\n\nUserManagerService is now closely tied to PackageManagerService,\nsharing the same locks.  There is no longer direct access of\nInstaller by UserManagerService, instead the package manager is\nback to solely owning it.\n\nCreating a new user now correctly only installs system apps for\nthat user.\n\nFixed some misc bugs, where we were getting nulls when\nquerying content providers and instrumentation in uninstalled\nusers, incorrect locking, etc.\n\nChange-Id: Ife69b6e373d0cf7c5cfc03fc588e36b43ad5d8b0\n"
    },
    {
      "commit": "250ce285318f9f7d714805e4f859a395ac9615f6",
      "tree": "52d6f13f17acee9908e941f0467831168d396194",
      "parents": [
        "d78fc5b94d1bb3dab509ca55d09052821c51412b"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Aug 24 16:09:03 2012 -0700"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Aug 24 16:09:03 2012 -0700"
      },
      "message": "Fix package verifier lookup\n\nqueryIntentReceivers() needs the resolvedType string to be non-null\nin order to find the receiver.\n\nChange-Id: If473d7e08e79940c3e495bc7a9d136e4130599a1\n"
    },
    {
      "commit": "595dda6d47a4eeeffc32abbfbc55edfba588d846",
      "tree": "a7b09bb60ef60e0e97774e783b4e82d80b868b0f",
      "parents": [
        "40e1bafc37e2a83453535132c62aeb7ef706de25"
      ],
      "author": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Fri Aug 24 14:54:54 2012 -0700"
      },
      "committer": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Fri Aug 24 14:54:54 2012 -0700"
      },
      "message": "Remove unused IntentFilter in LocationManager\n\nThis intent filter isn\u0027t used anymore, since GpsLocationProvider handles\nthe CONNECTIVITY_ACTION broadcasts now..\n\nChange-Id: I593a9916aa6f8086b4d684cc3e25286c1cb137cc\n"
    },
    {
      "commit": "0b23b5f6039b3771708c8bc38b342be5f7fb2ee8",
      "tree": "19977a75da87b81a89c0b4100246596c9939e5d5",
      "parents": [
        "14b83959204bed9d0ecac3543ceb1291bf9db261",
        "40e1bafc37e2a83453535132c62aeb7ef706de25"
      ],
      "author": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Fri Aug 24 14:53:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 24 14:53:14 2012 -0700"
      },
      "message": "Merge \"Fix GPS provider thread blocked by NTP and XTRA\" into jb-mr1-dev"
    },
    {
      "commit": "40e1bafc37e2a83453535132c62aeb7ef706de25",
      "tree": "f28cc813f1c8ba19de987956a910bae52302edcd",
      "parents": [
        "e370c468221bfef8f73c20f9d013cd22f06e2da7"
      ],
      "author": {
        "name": "Kevin Tang",
        "email": "zhikait@codeaurora.org",
        "time": "Tue Jan 10 14:32:44 2012 -0800"
      },
      "committer": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Fri Aug 24 14:06:47 2012 -0700"
      },
      "message": "Fix GPS provider thread blocked by NTP and XTRA\n\nCurrently, the NTP and XTRA downloads block on the GPS provider thread.\nThis could potentially block the next tasks for over a minute of time.\nIf the upcoming task happens to be AGPS, AGPS will time out.\n\nPlaced the NTP and XTRA downloads in separate threads.\n\nBug: 6980618\n\nChange-Id: I57a6aaf5348212bc1246813f6d941da7d5b19136\n"
    },
    {
      "commit": "7767eac3232ba2fb9828766813cdb481d6a97584",
      "tree": "41cc717fb9f11190e9da3dc12d61faf23a22861d",
      "parents": [
        "1552586283f329253edc4786a6cf40c5bb69ea36"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 23 18:25:40 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 24 13:53:13 2012 -0700"
      },
      "message": "Keep track of whether an app is installed for each user.\n\nThis add a new per-user state for an app, indicating whether\nit is installed for that user.\n\nAll system apps are always installed for all users (we still\nuse disable to \"uninstall\" them).\n\nNow when you call into the package manager to install an app,\nit will only install the app for that user unless you supply\na flag saying to install for all users.  Only being installed\nfor the user is just the normal install state, but all other\nusers have marked in their state for that app that it is not\ninstalled.\n\nWhen you call the package manager APIs for information about\napps, uninstalled apps are treated as really being not visible\n(somewhat more-so than disabled apps), unless you use the\nGET_UNINSTALLED_PACKAGES flag.\n\nIf another user calls to install an app that is already installed,\njust not for them, then the normal install process takes place\nbut in addition that user\u0027s installed state is toggled on.\n\nThe package manager will not send PACKAGE_ADDED, PACKAGE_REMOVED,\nPACKAGE_REPLACED etc broadcasts to users who don\u0027t have a package\ninstalled or not being involved in a change in the install state.\nThere are a few things that are not quite right with this -- for\nexample if you go through a full install (with a new apk) of an\napp for one user who doesn\u0027t have it already installed, you will\nstill get the PACKAGED_REPLACED messages even though this is\ntechnically the first install for your user.  I\u0027m not sure how\nmuch of an issue this is.\n\nWhen you call the existing API to uninstall an app, this toggles\nthe installed state of the app for that user to be off.  Only if\nthat is the last user user that has the app uinstalled will it\nactually be removed from the device.  Again there is a new flag\nyou can pass in to force the app to be uninstalled for all users.\n\nAlso fixed issues with cleaning external storage of apps, which\nwas not dealing with multiple users.  We now keep track of cleaning\neach user for each package.\n\nChange-Id: I00e66452b149defc08c5e0183fa673f532465ed5\n"
    },
    {
      "commit": "1552586283f329253edc4786a6cf40c5bb69ea36",
      "tree": "18508291938dcee1535d179b4e7cf8556e45b062",
      "parents": [
        "34f863125865664af058ab4dff44ebec570e2234",
        "2c0929850ae495d54efb91a68e4bbd29a2e0ec95"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 24 11:46:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 24 11:46:27 2012 -0700"
      },
      "message": "Merge \"Clean up firewall interface method names.\" into jb-mr1-dev"
    },
    {
      "commit": "2c0929850ae495d54efb91a68e4bbd29a2e0ec95",
      "tree": "4d513be85de3034f72962a3018303b92b0a7cf07",
      "parents": [
        "82f8521d386f3109147c477d04e5e90e5c715fa0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 24 11:44:40 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 24 11:44:40 2012 -0700"
      },
      "message": "Clean up firewall interface method names.\n\nChange-Id: I653f0a01af7c90fc96b201abb31ea8354b036e74\n"
    },
    {
      "commit": "34f863125865664af058ab4dff44ebec570e2234",
      "tree": "520a3a74893506596e59c531d03f7d69e49e3c08",
      "parents": [
        "96702ad6d736fd2b145968843d5d83615b104a16",
        "82f8521d386f3109147c477d04e5e90e5c715fa0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 24 11:32:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 24 11:33:00 2012 -0700"
      },
      "message": "Merge \"Migrate legacy VPN arguments to system_server.\" into jb-mr1-dev"
    },
    {
      "commit": "82f8521d386f3109147c477d04e5e90e5c715fa0",
      "tree": "38ba5be71c161c63cc9a8fed9362d05b646f0b4e",
      "parents": [
        "c268f0b19efd0b6c6c89c21be0893787f3cc9cf7"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 24 11:17:25 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 24 11:29:58 2012 -0700"
      },
      "message": "Migrate legacy VPN arguments to system_server.\n\nGenerate the racoon and mtpd daemon arguments in system_server,\ninstead of accepting them from Settings.\n\nBug: 5756357\nChange-Id: I42c1a644f6add477fe4222342640d7db15982cb8\n"
    },
    {
      "commit": "96702ad6d736fd2b145968843d5d83615b104a16",
      "tree": "d2741f2552b7d05acfc6798bf7b26c04903a6d8e",
      "parents": [
        "4ff8d37934e148dc4bf4231e3bc769f1bf4b9daa",
        "c268f0b19efd0b6c6c89c21be0893787f3cc9cf7"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 24 11:07:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 24 11:07:42 2012 -0700"
      },
      "message": "Merge \"Framework interface for netd firewall.\" into jb-mr1-dev"
    },
    {
      "commit": "c268f0b19efd0b6c6c89c21be0893787f3cc9cf7",
      "tree": "67487f14f275502036af4114ff187760b4e0f0bf",
      "parents": [
        "899223b97c9b0ae56a8211a46600914c0ecfd854"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 24 10:25:31 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 24 11:00:28 2012 -0700"
      },
      "message": "Framework interface for netd firewall.\n\nBug: 5756357\nChange-Id: If8b9f738fcea2cf16bd01682220718b57346c7cc\n"
    },
    {
      "commit": "35bbe27d58ccf01ffd170b0f617a568bc843a49e",
      "tree": "8721ed8eb7463d9eee1ac3d7f0cce8cf643ff98c",
      "parents": [
        "de1d96c736730c2a99a225311b9211a34042f9d4"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Aug 23 16:57:43 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Aug 23 16:57:43 2012 -0700"
      },
      "message": "Fix permission issue on channel\n\nChange-Id: I57f5d128dc2e2aa3bff93e82456f73cb96851f82\n"
    },
    {
      "commit": "fc6baa834913ec04ed14979341b994f790a53256",
      "tree": "7f38b6ce709d3f457a0b453f3a4862b03815274a",
      "parents": [
        "d5fc86f0677575333556fe579838353fae10ce52",
        "5642a48fbba84cc0b646aea1b9f407f046b70be9"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 23 16:47:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 23 16:47:50 2012 -0700"
      },
      "message": "Merge \"Fix unprotected variable access by serializing.\" into jb-mr1-dev"
    },
    {
      "commit": "d5fc86f0677575333556fe579838353fae10ce52",
      "tree": "3f73dd668363342e39680ecb7c8065f51faa2aa4",
      "parents": [
        "e7485cbc45545e5e20e003790468cd2bcd965979",
        "899223b97c9b0ae56a8211a46600914c0ecfd854"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 23 16:44:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 23 16:47:50 2012 -0700"
      },
      "message": "Merge \"Begin moving VPN to NetworkStateTracker pattern.\" into jb-mr1-dev"
    },
    {
      "commit": "899223b97c9b0ae56a8211a46600914c0ecfd854",
      "tree": "19b98a147be6309366dc1652f17e9fe3fe6f6e63",
      "parents": [
        "2c1dfa29b40a988e3ea8f6922768465743aafddc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Aug 04 15:24:58 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 23 16:41:06 2012 -0700"
      },
      "message": "Begin moving VPN to NetworkStateTracker pattern.\n\nCreated base tracker that handles common bookkeeping, and move VPN\nto become a tracker.  VPN status is now reflected in NetworkInfo, and\nis mapped to LegacyVpnInfo.\n\nLegacy VPN now \"babysits\" any init services it starts, watching for\nwhen they stop unexpectedly.\n\nBug: 5756357\nChange-Id: Iba7ec79da69469f6bd9a970cc39cf6b885b4c9c4\n"
    },
    {
      "commit": "7646c773fab6a12b0727c5e25b8d17d6c5263f8e",
      "tree": "b25921bdeeb6d454b2e715b7320be964ee1a9f14",
      "parents": [
        "f1d9f892f1dda5b277c58f91a5ceaa35196d6423",
        "d9ef3e5495db1c46bcfcc1a2d4386af8db6deb0c"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Thu Aug 23 15:56:03 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 23 15:56:04 2012 -0700"
      },
      "message": "Merge \"Allow verifiers to extend timeout\" into jb-mr1-dev"
    },
    {
      "commit": "d9ef3e5495db1c46bcfcc1a2d4386af8db6deb0c",
      "tree": "9b78fc4eb2e237ee7ad49eb70cc558f871ff9a48",
      "parents": [
        "bb121d569cd6bc7bf4018ef12756247009988863"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Wed Aug 22 14:28:05 2012 -0700"
      },
      "committer": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Thu Aug 23 15:39:02 2012 -0700"
      },
      "message": "Allow verifiers to extend timeout\n\nCreate a new verifier API to extend the timeout for a giving package,\nincluding the resulting action (allow or deny) upon the timeout occuring.\n\nBug: 6901038\nChange-Id: I351f7944327f863aff1d7dd1227be74652fa1511\n"
    },
    {
      "commit": "5642a48fbba84cc0b646aea1b9f407f046b70be9",
      "tree": "577cff98efb565c0b21f0d9930d4dd455f84d914",
      "parents": [
        "6715d1effaa70abf261112d2771d4d555cc109c2"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 23 12:16:53 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 23 14:25:34 2012 -0700"
      },
      "message": "Fix unprotected variable access by serializing.\n\nThe variables mKeyguardDisabled and mAllowDisableKeyguard were\nbeing modified unprotected by mKeyguardTokenWatcher. Fix is to\nserialize accesses to these variables by only referencing them\nfrom the same Handler that mKeyguardTokenWatcher uses. Eliminates\nsynchronization blocks and mKeyguardDisabled variable.\n\nFixes bug 7045624.\n\nChange-Id: I6355aa393507408296316bee61e178dc81e2a172\n"
    },
    {
      "commit": "10fb224623eae3a99a4fc68424eb876eb20c3f90",
      "tree": "97639632f4baa7dc3d9e7e18ded021af3886e525",
      "parents": [
        "21b53df7c3fc7501c9c9e238eb820a6dcf992650"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Aug 23 15:32:28 2012 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Aug 23 16:23:18 2012 -0400"
      },
      "message": "Disable screensavers if below first battery warning level.\n\nDon\u0027t activate on sleep if below the threshold, and quit any currently\nrunning dream when the threshold is reached.\n\nBug:6999949\nChange-Id: I961b350d24ee6f95e502228aaa57312b0ffbadc1\n"
    },
    {
      "commit": "21b53df7c3fc7501c9c9e238eb820a6dcf992650",
      "tree": "7ac7d0f6754bfa8f5429dba64d82ddf853440452",
      "parents": [
        "41d4332ab0641d3f5dd2ad8da7e325cd9f81f3c1",
        "1a868b7981ca5f52e893fdf9f8f538c9d5ce241d"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Aug 23 10:44:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 23 10:44:05 2012 -0700"
      },
      "message": "Merge \"Add framework support for multiple dreams.\" into jb-mr1-dev"
    },
    {
      "commit": "6715d1effaa70abf261112d2771d4d555cc109c2",
      "tree": "00b0683cf5df4137b8d1fb20ed2140576000a7b6",
      "parents": [
        "03f482c34d7e0d2917e7f53006ee2fc9736e8773",
        "b47bbc3d80badb94229bc4ce7a2d5006faa9ef15"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 23 08:44:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 23 08:44:53 2012 -0700"
      },
      "message": "Merge \"Clean up displayId and layerStack usage.\" into jb-mr1-dev"
    },
    {
      "commit": "b47bbc3d80badb94229bc4ce7a2d5006faa9ef15",
      "tree": "f817ed4884677c168f2f7e0badceab7ad889fe73",
      "parents": [
        "2bd65b61ba6e98496dc574251e06709546d24500"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Aug 22 17:41:48 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 23 08:43:54 2012 -0700"
      },
      "message": "Clean up displayId and layerStack usage.\n\nMake better use of Display object by saving it in DisplayContent.\nOnly use layerStack when referring to Surfaces. Get displayId from\ndefault Display or default DisplayContent. Remove warnings.\n\nFixes bug 7038151.\n\nChange-Id: Ie493f0f5e755dc9b91ee969ff561c2a098283ead\n"
    },
    {
      "commit": "2c1dfa29b40a988e3ea8f6922768465743aafddc",
      "tree": "f9ab6b9142cfc0a7642c131abdfa3b5761ea4ab3",
      "parents": [
        "3451dc90648b8bd176030425ce91c019460ba88c",
        "0cd867c83e726c88355375af4d14ee83f3339bbe"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Aug 22 18:19:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 22 18:19:20 2012 -0700"
      },
      "message": "Merge \"Fix deadlock in removing a user\" into jb-mr1-dev"
    },
    {
      "commit": "3451dc90648b8bd176030425ce91c019460ba88c",
      "tree": "12055d0ddcd4c4f3abec59da1b5b2fa6a73bf0d1",
      "parents": [
        "9f814ac5fc0df77527d69710e8c1efa9d9d6f495",
        "2bca868361b41ff6a8228824cbecadc4c5deb44e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 22 18:17:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 22 18:17:30 2012 -0700"
      },
      "message": "Merge \"Iteration on multi-user external storage.\" into jb-mr1-dev"
    },
    {
      "commit": "0cd867c83e726c88355375af4d14ee83f3339bbe",
      "tree": "783c1e5ae594354f70da7cf525a8f53ddcba0648",
      "parents": [
        "7e877fa00c6b093a0fe734e5d3bf23b5b2d6411e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Aug 22 16:45:47 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Aug 22 16:45:47 2012 -0700"
      },
      "message": "Fix deadlock in removing a user\n\nCleanup PackageManager settings after the package directories are removed.\n\nChange-Id: I264bc95ea21da653a234d7c81df5b25d4de7aa9e\n"
    },
    {
      "commit": "b9b56954ec5a242f7c4945942539106539f98ffb",
      "tree": "8a65b45600e476175401783557b880f2bee9d130",
      "parents": [
        "6cf3b925ca2640c5c5e7e91ffd91749c0b5b2560",
        "259328c04ce16c554b48a14f68d8af94dc54d7ec"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Aug 22 14:14:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 22 14:14:54 2012 -0700"
      },
      "message": "Merge \"Eliminate special battery calls by WindowManager\" into jb-mr1-dev"
    },
    {
      "commit": "2bca868361b41ff6a8228824cbecadc4c5deb44e",
      "tree": "d3b0e43eae8fa3e02fe46be9d26dd0656b4a43dd",
      "parents": [
        "df5c3a54c7e955fb89951b63ff49f275a53f9c35"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 22 13:59:58 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 22 13:59:58 2012 -0700"
      },
      "message": "Iteration on multi-user external storage.\n\nRemove single-user bind mounts, since they need to remain as raw\nmounts to correctly propagate when remounted.  This means we\u0027re back\nto using sdcard_r GID to enforce READ_EXTERNAL_STORAGE.\n\nBug: 6925012\nChange-Id: I41b5d7ddc985a5df2e288632a0a80d4724089e00\n"
    },
    {
      "commit": "1a868b7981ca5f52e893fdf9f8f538c9d5ce241d",
      "tree": "7e47e8cdd2c7330d7f56d7a9c4fed851e53e94c9",
      "parents": [
        "00a8f4ff627584f4d9a8ae0cd83f87786005e16d"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Aug 22 09:56:51 2012 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Aug 22 16:49:20 2012 -0400"
      },
      "message": "Add framework support for multiple dreams.\n\nBug:7028665\nChange-Id: I4fba6b8e39dc07af4490c621ac3bc7b3867371b2\n"
    },
    {
      "commit": "6cf3b925ca2640c5c5e7e91ffd91749c0b5b2560",
      "tree": "24e2caff74cf6e8effc00a55e94a39db5b8b70b1",
      "parents": [
        "6da92032da255920d2e584f6ba2f8f9336ec9310",
        "5d03a5368119d59e9f58b9121bc4f16391140c73"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 22 13:31:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 22 13:31:08 2012 -0700"
      },
      "message": "Merge \"Fix auto-brightness adjustment sentinel value.\" into jb-mr1-dev"
    },
    {
      "commit": "5d03a5368119d59e9f58b9121bc4f16391140c73",
      "tree": "8125b2466ecd54a47e3f866b5267f8a6f9dbc19f",
      "parents": [
        "b5b710a4851db6c7e247429b0551a523c4d33da6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 22 13:22:02 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 22 13:22:02 2012 -0700"
      },
      "message": "Fix auto-brightness adjustment sentinel value.\n\nChange-Id: I1b0da4566eb350333d3c3b09a96266627260baa3\n"
    },
    {
      "commit": "6da92032da255920d2e584f6ba2f8f9336ec9310",
      "tree": "3ebc1f7d3f3be4cea64a9dd7222c73833cab7083",
      "parents": [
        "dfe5578771080bf225225d3c903e186d92f5b274",
        "b5b710a4851db6c7e247429b0551a523c4d33da6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 22 13:17:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 22 13:17:22 2012 -0700"
      },
      "message": "Merge \"Fix NPE.\" into jb-mr1-dev"
    },
    {
      "commit": "b5b710a4851db6c7e247429b0551a523c4d33da6",
      "tree": "1b21cc32d11bdc2af5986ee5d0881ef1350c0583",
      "parents": [
        "00a8f4ff627584f4d9a8ae0cd83f87786005e16d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 22 13:12:48 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 22 13:16:01 2012 -0700"
      },
      "message": "Fix NPE.\n\nBug: 7034583\nChange-Id: Ie6b436492d12b0dd6bbe1c25d9b7ac35b74095d3\n"
    },
    {
      "commit": "259328c04ce16c554b48a14f68d8af94dc54d7ec",
      "tree": "c2c25e4edb7b388d5b5dcb06948dd569a61f092c",
      "parents": [
        "f9678070a03ad16d223d26a38b319d38d5943a71"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Aug 21 19:30:58 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Aug 22 11:01:35 2012 -0700"
      },
      "message": "Eliminate special battery calls by WindowManager\n\nPrevious to this change the WindowManager was notifying the\nBatteryDtatsService about windows that keep the screen on. WM used a\ncustom WakeLock tag to indicate to PowerManagerService that it had\nalready notified the BatteryStatsService.\n\nThis change eliminates WindowManager notifying the BatteryStatsService\nand lets PowerManagerService do the job.\n\nFixes bug 7030326.\n\nChange-Id: I666dc6ef8f094b8d3d109fea6876be058e057b4f\n"
    },
    {
      "commit": "98dddda7912428241ed61c053c7300d4a6702fa7",
      "tree": "2e247db37e3ba9687b992c056c9c4b016709290b",
      "parents": [
        "6479ecd1b24e9d5a5636130cb4b0c353b396ff0e",
        "1952637425eece18aa1ce3d80d4b49086ef3bcf7"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Aug 22 10:31:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 22 10:31:30 2012 -0700"
      },
      "message": "Merge \"Remove permission requirement for some UserManager calls\" into jb-mr1-dev"
    },
    {
      "commit": "1952637425eece18aa1ce3d80d4b49086ef3bcf7",
      "tree": "095569083ec9fb2f52bb05919f0f6008e130b44a",
      "parents": [
        "7e877fa00c6b093a0fe734e5d3bf23b5b2d6411e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 21 15:40:12 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Aug 22 10:28:56 2012 -0700"
      },
      "message": "Remove permission requirement for some UserManager calls\n\nUpdate javadocs to be explicit about permissions.\nMinor fixes in UserManagerService\n\nChange-Id: I0d355e0a60e5dbdb49ed06091111d480ff249f3d\n"
    },
    {
      "commit": "2bd65b61ba6e98496dc574251e06709546d24500",
      "tree": "f15338f6cd52c6243d61494804afdefa5d9a1dca",
      "parents": [
        "00a8f4ff627584f4d9a8ae0cd83f87786005e16d",
        "29c6f24b254b4ea1a7d8448980e736355e4badf6"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 22 07:49:03 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 22 07:49:03 2012 -0700"
      },
      "message": "am 29c6f24b: am 6ffe2594: Merge \"restorecon /data/anr directory.\"\n\n* commit \u002729c6f24b254b4ea1a7d8448980e736355e4badf6\u0027:\n  restorecon /data/anr directory.\n"
    },
    {
      "commit": "29c6f24b254b4ea1a7d8448980e736355e4badf6",
      "tree": "3f0c5118f838dc21f23aa93c564c165197ab1f0f",
      "parents": [
        "8b97ee6d8c26974a6fc9ce85c3d7a07ca1e9cac2",
        "6ffe2594674f250c16c5e3055aa69680efaa6f69"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 22 07:46:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 22 07:46:41 2012 -0700"
      },
      "message": "am 6ffe2594: Merge \"restorecon /data/anr directory.\"\n\n* commit \u00276ffe2594674f250c16c5e3055aa69680efaa6f69\u0027:\n  restorecon /data/anr directory.\n"
    },
    {
      "commit": "6ffe2594674f250c16c5e3055aa69680efaa6f69",
      "tree": "fd5e8bea0ac42eda70179bebc3cb7201909268d4",
      "parents": [
        "b0b4a704400319ceaa1002f3194a40553a00cc82",
        "ec7ed14c183a2ab958817694bad53bdc8b05e49e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 22 07:18:39 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 22 07:18:39 2012 -0700"
      },
      "message": "Merge \"restorecon /data/anr directory.\""
    },
    {
      "commit": "00a8f4ff627584f4d9a8ae0cd83f87786005e16d",
      "tree": "0bbd2f92496759a17a34cf740a72a8baa0d68349",
      "parents": [
        "aa202a6dc33d331cbd9e34a1bb5f74db6284dda6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 21 23:11:46 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 22 00:06:09 2012 -0700"
      },
      "message": "Make the electron beam animation shorter.\n\nNow using about the same duration as it used to have when\nit was implemented in Surface Flinger.\n\nChange-Id: I09b28222379f4b6583f1f7b34188cc36c50509e9\n"
    },
    {
      "commit": "aa202a6dc33d331cbd9e34a1bb5f74db6284dda6",
      "tree": "a20a54dab159c7fb7f91e336cb0530eb85d1d1d4",
      "parents": [
        "2416e09649eb6ab767eba458796e126196c77a34"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 21 22:14:26 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 22 00:02:41 2012 -0700"
      },
      "message": "Add a mechanism to adjust auto-brightness at night.\n\nUses the twilight service to determine the hours of\nsunrise and sunset.  Shortly after sunset or before sunrise\ngradually start to apply a gamma correction factor to the\nauto-brightness calculations to make the screen a little\ndimmer at night.\n\nThe effect is relatively small and is mostly noticeable\nin dark rooms.  This is just a first pass at the algorithm,\nwe can tweak the adjustment later to ensure that it has even less\nimpact in moderate or bright environments.\n\nChange-Id: Idf89022a5d0bb52975e04779352d53fa63371178\n"
    },
    {
      "commit": "2416e09649eb6ab767eba458796e126196c77a34",
      "tree": "579dc73e2a1b91954f81edff23354b384da89755",
      "parents": [
        "ae25108a7b7181bedac11d6b31ff0a64ece729aa"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 21 22:12:20 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 22 00:02:41 2012 -0700"
      },
      "message": "Extract the twilight detection into its own service.\n\nMoving the detection out of UiModeManagerService will\nmake it easy for other services to register for the\ninformation.\n\nFixed a bugs related to updating twilight state\nwhen the time is updated.\n\nWe\u0027re using the same algorithm as before for passively\ntracking the location.  Ideally we should update it\nto use the new location manager features for low-power\nlocation requests.\n\nChange-Id: I520c53b9946ab6f8d994587d357fd6542c300c07\n"
    },
    {
      "commit": "ae25108a7b7181bedac11d6b31ff0a64ece729aa",
      "tree": "f776236eba46638c6daac15a8ae6f838ad47a53f",
      "parents": [
        "11167b887aa2af52b861f5ffd31efa0882c80ec5",
        "330560f53bccd06be805fee1b7988162119d1295"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 21 23:40:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 23:40:19 2012 -0700"
      },
      "message": "Merge \"Add support for auto-brightness adjust, but leave it disabled.\" into jb-mr1-dev"
    },
    {
      "commit": "330560f53bccd06be805fee1b7988162119d1295",
      "tree": "06c2c44271aab382b95b8b03a750644500030b2b",
      "parents": [
        "f9bba13692c10ff99a52f79d6d0f04c96117ff57"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 21 22:10:57 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 21 22:27:42 2012 -0700"
      },
      "message": "Add support for auto-brightness adjust, but leave it disabled.\n\nAuto-brightness adjustment applies a gamma correction factor\nbetween 1/3 and 3 depending on the setting.  This feature\nis disabled for now.\n\nChange-Id: I2b300b5c455da545bea56b2bae5bc7903e30f30e\n"
    },
    {
      "commit": "43c7aae4d0cf9e2d3527b093022ae1fa70d3920f",
      "tree": "e4250df53c98fa9281011a5a9ad1b4c11e2681df",
      "parents": [
        "df441848164a4cded48595abf64f379c31e026f5",
        "b94b41f516e69e137553157064f9619e1a2188e3"
      ],
      "author": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Tue Aug 21 16:54:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 17:08:17 2012 -0700"
      },
      "message": "Merge \"Listen for CONNECTIVITY_ACTION in GPS Provider\" into jb-mr1-dev"
    },
    {
      "commit": "b94b41f516e69e137553157064f9619e1a2188e3",
      "tree": "63965de16e303f89d9a08059d4e4aee176cde5d2",
      "parents": [
        "c2cb8d226399c3cb93bad7008b4049d493d4f1d2"
      ],
      "author": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Tue Aug 21 16:30:57 2012 -0700"
      },
      "committer": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Tue Aug 21 16:30:57 2012 -0700"
      },
      "message": "Listen for CONNECTIVITY_ACTION in GPS Provider\n\nBug: 7020678\n\nThe broadcast receiver in GpsLocationProvider now listens for\nCONNECTIVITY_ACTION changes. Set the intent filter so that\nit catches those actions and updates the network state.\n\nChange-Id: I7efd393dfe2aa8b172dd6701d42ff9ed687648a2\n"
    },
    {
      "commit": "4a81ef8fd3207b06a65709338470d1e6ebed8620",
      "tree": "bb21d7949ebd87fc103b352a52bf2f84a7d4ce0d",
      "parents": [
        "a6d16993eb6b8834095b8e308523b2d28259e430",
        "1332b53522e281012fefb34bfbcc68a03028f516"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Aug 21 16:29:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 16:29:54 2012 -0700"
      },
      "message": "Merge \"Fix some location issues exposed by CTS.\" into jb-mr1-dev"
    },
    {
      "commit": "1332b53522e281012fefb34bfbcc68a03028f516",
      "tree": "ee947d9b82613b9ff24a3f75d38fb578b949e7a4",
      "parents": [
        "5584b497b7fcd8660cc49cfc8ab4dd0c6dad1060"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Aug 21 16:25:47 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Aug 21 16:26:26 2012 -0700"
      },
      "message": "Fix some location issues exposed by CTS.\n\nChange-Id: I5859ee2c9db5745b0a3bc8abfa8f08728fb25059\n"
    },
    {
      "commit": "7e877fa00c6b093a0fe734e5d3bf23b5b2d6411e",
      "tree": "115c21b1b907a1d9023b3847ace119c446a51a8a",
      "parents": [
        "de1d96c736730c2a99a225311b9211a34042f9d4",
        "a2d7b1117abc23a3ff0ccda15a2f9138aaa7f4fc"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Aug 21 15:30:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 15:30:42 2012 -0700"
      },
      "message": "Merge \"Fix to allow SYSTEM_UID to display windows.\" into jb-mr1-dev"
    },
    {
      "commit": "a2d7b1117abc23a3ff0ccda15a2f9138aaa7f4fc",
      "tree": "e33743799486abf6e05a311ce51459143b43380d",
      "parents": [
        "9dc52bc44c94854fcd3384a045b4b862e30e25de"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Aug 21 15:12:20 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Aug 21 15:24:54 2012 -0700"
      },
      "message": "Fix to allow SYSTEM_UID to display windows.\n\nWas not previously checking to make sure that the appId was not\nSYSTEM_UID (1000). This caused certain system windows to fail to\nappear.\n\nChange-Id: I939dc2f8a256acb84b7c413c7e00003a89aff6d4\n"
    },
    {
      "commit": "de1d96c736730c2a99a225311b9211a34042f9d4",
      "tree": "c1c38ea0dc3d503c2f61ef3b2d9d0665bb664023",
      "parents": [
        "23e282554ee0ddff80fd5bd2f47d5fb37b3b02c5",
        "9dc52bc44c94854fcd3384a045b4b862e30e25de"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Aug 21 14:26:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 14:26:28 2012 -0700"
      },
      "message": "Merge \"Hide non user app windows from other users.\" into jb-mr1-dev"
    },
    {
      "commit": "23e282554ee0ddff80fd5bd2f47d5fb37b3b02c5",
      "tree": "444455bc32fedbedcdfb43790fa3feac25c4caf3",
      "parents": [
        "2253eeab6c0c20e0b03f144c5bc23ae13e8ab234",
        "a10d1aa6c790810990a09f5dfa616075fe198eed"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 21 14:19:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 14:19:51 2012 -0700"
      },
      "message": "Merge \"Multiprocess activity should be allowed to run on current user\" into jb-mr1-dev"
    },
    {
      "commit": "d4ec5ae504b11aab18fc0e60e7fc142f85aee5c1",
      "tree": "f2a152751346c5e38433db8cb7da457f7ef2100c",
      "parents": [
        "7b3ca5bb418a6300a9caf6e5e5ee31d73f7121b4",
        "0c3804950236fe170ebf6cc7a5f1e3e305b8f315"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 21 11:17:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 11:17:12 2012 -0700"
      },
      "message": "Merge \"Improve multi-user app management.\" into jb-mr1-dev"
    },
    {
      "commit": "0c3804950236fe170ebf6cc7a5f1e3e305b8f315",
      "tree": "832ea4ab2c17fe568df894aa3ed7438a01d97533",
      "parents": [
        "a5d5d608ccd885d8328879dde782a8cc93b7cf4f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 20 17:23:30 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 21 10:34:20 2012 -0700"
      },
      "message": "Improve multi-user app management.\n\nIntroduce API to get per-user storage information, keep track\nof services associated with users, and various small cleanup.\n\nChange-Id: I5d4e784e7ff3cccfed627d66a090d2f464202634\n"
    },
    {
      "commit": "a10d1aa6c790810990a09f5dfa616075fe198eed",
      "tree": "a6d4426ae56e3520a7196caaf0d7dd0f99c1736c",
      "parents": [
        "091d56cab8f6f6a3460fbb596f99b1a262948e96"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 21 09:49:53 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 21 09:51:13 2012 -0700"
      },
      "message": "Multiprocess activity should be allowed to run on current user\n\nMultiprocess flag should override singleton checks.\n\nThis allows ChooserActivity to run in the process/user that launched it.\nWallpaper chooser from Launcher now works for secondary users.\n\nChange-Id: I17a99278ed2a6d2491c3016a549134a85bc2af00\n"
    },
    {
      "commit": "8eaba6002615f2f89979a50e848c34503fd1e105",
      "tree": "f7efa296e600860e294c538fbab53acff418f367",
      "parents": [
        "256237c99f1d7fc32e025861c3ae7bc855db3c5a",
        "5356c7dc72e80bbadd0ffbc69cfe3ea333280785"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 20:28:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 20:28:50 2012 -0700"
      },
      "message": "Merge \"Disable electron beam on animation.\" into jb-mr1-dev"
    },
    {
      "commit": "256237c99f1d7fc32e025861c3ae7bc855db3c5a",
      "tree": "3c4c27f9649a040c5f65b82d1758454c48cfbd71",
      "parents": [
        "892f371c6b8c33268dceaeb89ac09c73ad72ad79",
        "5338428ddbe662283bf88171c7ca361d51d78da8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 20:25:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 20:26:11 2012 -0700"
      },
      "message": "Merge \"Plumb the switch code into Dalvik.\" into jb-mr1-dev"
    },
    {
      "commit": "892f371c6b8c33268dceaeb89ac09c73ad72ad79",
      "tree": "0817cf34f8fca32e926f4f00532c098f9aca513a",
      "parents": [
        "4b72463d7cb807912ca359f3b5a160f59d985c1d",
        "008b1762a8d5c908281a832ff90817ade6c7f9f6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 20:25:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 20:25:14 2012 -0700"
      },
      "message": "Merge \"Encapsulate locks in UEventObservers.\" into jb-mr1-dev"
    },
    {
      "commit": "5356c7dc72e80bbadd0ffbc69cfe3ea333280785",
      "tree": "ec1c68ea4ebb1aa862768c6aeec2b23d926e1cd3",
      "parents": [
        "5338428ddbe662283bf88171c7ca361d51d78da8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 20:17:36 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 20:19:16 2012 -0700"
      },
      "message": "Disable electron beam on animation.\n\nWe want the screen to come back on as soon as possible.\n\nChange-Id: Ifdaa2e88d19590c3da53be985dd886633e5cac59\n"
    },
    {
      "commit": "5338428ddbe662283bf88171c7ca361d51d78da8",
      "tree": "8ec1de4701aeb7e4cdd9564acf8e6e1c5960e601",
      "parents": [
        "008b1762a8d5c908281a832ff90817ade6c7f9f6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 20:16:01 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 20:16:01 2012 -0700"
      },
      "message": "Plumb the switch code into Dalvik.\n\nBug: 6548391\nChange-Id: If0e918669ba27ca0e6561930d4abc427c34de42d\n"
    },
    {
      "commit": "008b1762a8d5c908281a832ff90817ade6c7f9f6",
      "tree": "7c8d59f355e518ff6d351cebb8f18b1a0ac930e4",
      "parents": [
        "9a538ee7bde42ad36f43edc48594282d98e191a4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 20:15:34 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 20:15:34 2012 -0700"
      },
      "message": "Encapsulate locks in UEventObservers.\n\nSynchronized methods make me cry so fixing this first before\nI introduce any new functionality that could result in a deadlock.\n\nBug: 6548391\nChange-Id: I9c006dc491ce205bfd86acf828dcebda2a63b2ca\n"
    },
    {
      "commit": "4b72463d7cb807912ca359f3b5a160f59d985c1d",
      "tree": "8056269b755f5e65a4fad0456595df3b1b4d660e",
      "parents": [
        "c2cb8d226399c3cb93bad7008b4049d493d4f1d2",
        "9a538ee7bde42ad36f43edc48594282d98e191a4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 19:41:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 19:41:48 2012 -0700"
      },
      "message": "Merge \"Add factory test feature to shut off on long press power.\" into jb-mr1-dev"
    },
    {
      "commit": "a5d5d608ccd885d8328879dde782a8cc93b7cf4f",
      "tree": "fa07d3db774f101e8f55210c47bf7d1b8232e63b",
      "parents": [
        "33da458dd832996d8b0ae945d6ab2896faff4afa",
        "37a37f445cbcd64376af153dd79ea2a123d9405d"
      ],
      "author": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Mon Aug 20 16:57:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 16:57:14 2012 -0700"
      },
      "message": "Merge \"add wireless charger support\" into jb-mr1-dev"
    },
    {
      "commit": "9dc52bc44c94854fcd3384a045b4b862e30e25de",
      "tree": "895bd6504651e02304674d041b80579249fbbeba",
      "parents": [
        "82d53ce283b7c275624d66e9bf20cfe2614af5c4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Aug 06 14:15:42 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Aug 20 16:23:12 2012 -0700"
      },
      "message": "Hide non user app windows from other users.\n\nWhen transitioning between old user and new user application windows\nfrom the old user may not be shown because only one user\u0027s windows\ncan be shown at a time.\n\nChange-Id: I4e17b36c9100c9457cc6eb3cb3b77f3a94fa2b41\n"
    },
    {
      "commit": "ca7a9ef0e52216e88d302feacf8edb766d813f5f",
      "tree": "b1ad13bc138245925d9c28b6f5537cd2b94d0dd9",
      "parents": [
        "3fee5c6bd8e13f8ef7e1ba1df3a8bf56ebb36221",
        "5f47ba4db739d0db6feb8ce899764dbf87855901"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 15:09:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 15:09:41 2012 -0700"
      },
      "message": "Merge \"Adjust auto-brightness time constants.\" into jb-mr1-dev"
    },
    {
      "commit": "3fee5c6bd8e13f8ef7e1ba1df3a8bf56ebb36221",
      "tree": "51fb57d4a63458ea99f3a03696712894e37aeda6",
      "parents": [
        "8756bd1d6b43e1724996897cf4593d5ea5b00213",
        "6307a150d374cec7b20f80a68800bbf69f495839"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 14:59:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 14:59:18 2012 -0700"
      },
      "message": "Merge \"Fix some proximity sensor bugs.\" into jb-mr1-dev"
    },
    {
      "commit": "9a538ee7bde42ad36f43edc48594282d98e191a4",
      "tree": "c0e406e09f9e690db0464573fcc90cb00baab782",
      "parents": [
        "5f47ba4db739d0db6feb8ce899764dbf87855901"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 14:56:57 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 14:56:57 2012 -0700"
      },
      "message": "Add factory test feature to shut off on long press power.\n\nBug: 6847329\nChange-Id: I2f4f975c3af2d13ccc06812a5a42e79032700862\n"
    },
    {
      "commit": "7b7feee80331deed883602d5861074ca66293e9c",
      "tree": "e8201ecc9af6ee04b9132d4fc22a91db22856e2c",
      "parents": [
        "a811e0848dc28f73e31a3f84d8ceca3b1f504b52",
        "4e68bd420b6cfdbeadb5e69aa6448665b2da762b"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon Aug 20 14:48:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 14:48:11 2012 -0700"
      },
      "message": "Merge \"Add UsbDebuggingManager and UsbDebuggingActivity\" into jb-mr1-dev"
    }
  ],
  "next": "a811e0848dc28f73e31a3f84d8ceca3b1f504b52"
}
