)]}'
{
  "log": [
    {
      "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": "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": "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": "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"
    },
    {
      "commit": "a811e0848dc28f73e31a3f84d8ceca3b1f504b52",
      "tree": "5c854667a4a7da5073bd819b35069402665bc276",
      "parents": [
        "672cfdc5b6194a416eae93f5ebe82cb624e2add6",
        "706e8ba26bf0de19ad5f736516dae40c4c88c2d7"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Mon Aug 20 14:24:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 14:24:49 2012 -0700"
      },
      "message": "Merge \"Pass URLs to package verifiers\" into jb-mr1-dev"
    },
    {
      "commit": "5f47ba4db739d0db6feb8ce899764dbf87855901",
      "tree": "3f772ae1d57fd67d60290038f098ecd6c1d36adf",
      "parents": [
        "6307a150d374cec7b20f80a68800bbf69f495839"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 14:02:12 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 14:02:12 2012 -0700"
      },
      "message": "Adjust auto-brightness time constants.\n\nSpecifically, dim a little more slowly.\n\nChange-Id: I10d66a83ddc3a63f8c93d740a0cb116e6c974d10\n"
    },
    {
      "commit": "4e68bd420b6cfdbeadb5e69aa6448665b2da762b",
      "tree": "4c76067723f8a24d5d1b9f366d939a949da97419",
      "parents": [
        "bf5740e75efd87ae0213486e78e029403804c6f0"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Wed Apr 25 18:06:00 2012 -0700"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon Aug 20 13:44:34 2012 -0700"
      },
      "message": "Add UsbDebuggingManager and UsbDebuggingActivity\n\nThe UsbDebuggingManager listens to adbd requests and displays a dialog\nwhen the public key authentification fails, for the user to confirm if it\nwants to allow USB debugging from the attached host. If the user chooses\nto always allow USB debugging, the UsbDebuggingManager writes the public\nkey to adbd\u0027s config file so that the public key authenfication succeeds\nnext time.\n\nChange-Id: I115c828331d8e326c380844ee33915d5dff22260\n"
    },
    {
      "commit": "6307a150d374cec7b20f80a68800bbf69f495839",
      "tree": "b0aaa1b475518fdef8541c684925f524e882b449",
      "parents": [
        "bf5740e75efd87ae0213486e78e029403804c6f0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 13:24:23 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 20 13:25:08 2012 -0700"
      },
      "message": "Fix some proximity sensor bugs.\n\nForgot to clear waiting for proximity negative flag.\nWaiting for proximity negative also shouldn\u0027t turn the screen off\nif it is currently on.\n\nChange-Id: I9885b2f54b185beb961acda44176bc5f11a9f58b\n"
    },
    {
      "commit": "706e8ba26bf0de19ad5f736516dae40c4c88c2d7",
      "tree": "2c45b61e1420f9a7442de8517b1eca6802d507c0",
      "parents": [
        "99de2459e200e0c86d55d5eee7ea000fd030990f"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Mon Aug 20 13:20:14 2012 -0700"
      },
      "committer": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Mon Aug 20 13:20:14 2012 -0700"
      },
      "message": "Pass URLs to package verifiers\n\nThis change passes the originating URL and accompanied referrer to\npackage verifiers, when available.\n\nBug: 6544677\nChange-Id: I9ebc71bc13f549bd88267e444816151a99bda000\n"
    },
    {
      "commit": "d14e17627266ff8cf804d1f8241a0a4bde7a0ab4",
      "tree": "b022a42d0553f21fc5a1aa02a3b49b8db2058631",
      "parents": [
        "99de2459e200e0c86d55d5eee7ea000fd030990f"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Aug 20 11:15:39 2012 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Aug 20 12:28:51 2012 -0700"
      },
      "message": "Update TCP buffer size when switching network type\n\nImport of non-merging change 41612 from AOSP\n\nWhen PDP connects in GSM network, the TCP buffer window size is\nset to max 8760. If the phone swicthes to UMTS, the TCP buffer\nsize is not updated to UMTS, i.e. GPRS buffer size is still\nused with limited data transfer spead as a result.\nThis fix makes sure the TCP buffer size is updated when\nswitching network type.\n\nChange-Id: Ic44a557677ffe629e83ce1f522a9f058bee6e7b2\n"
    },
    {
      "commit": "2d78fa2d2558dc8c6d6400232c742da7936c6204",
      "tree": "4e1087358cf584548d0658f862e7c9009012c69d",
      "parents": [
        "ec42c3c35fd4c16e1823cfd0e5b589ed2d205aa7",
        "ff7735b0ee8c3347d0f3cb1866e454be0e9534e2"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Aug 20 10:47:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 20 10:47:41 2012 -0700"
      },
      "message": "am ff7735b0: am a3db5297: Merge \"ProviderMap: remove hashmap when entire user specific entries are removed\"\n\n* commit \u0027ff7735b0ee8c3347d0f3cb1866e454be0e9534e2\u0027:\n  ProviderMap: remove hashmap when entire user specific entries are removed\n"
    },
    {
      "commit": "ff7735b0ee8c3347d0f3cb1866e454be0e9534e2",
      "tree": "e571e445edf93de74fc0827cfc26e88b43264a68",
      "parents": [
        "c48ee60426a741d0a8e7df7df8af2a9ac24cee85",
        "a3db5297cda370ce41db99b6839cd9528c31ef7c"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Aug 20 10:45:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 20 10:45:12 2012 -0700"
      },
      "message": "am a3db5297: Merge \"ProviderMap: remove hashmap when entire user specific entries are removed\"\n\n* commit \u0027a3db5297cda370ce41db99b6839cd9528c31ef7c\u0027:\n  ProviderMap: remove hashmap when entire user specific entries are removed\n"
    },
    {
      "commit": "ec42c3c35fd4c16e1823cfd0e5b589ed2d205aa7",
      "tree": "359fd81e27bb482d4616395915c3a4c047f69001",
      "parents": [
        "091d56cab8f6f6a3460fbb596f99b1a262948e96",
        "bea12bdc2e6d2b1158c1faa58a8197d5e971a817"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Aug 20 10:30:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 10:30:00 2012 -0700"
      },
      "message": "Merge \"Ensure that mAllAppWinAnimators is not null.\" into jb-mr1-dev"
    },
    {
      "commit": "bea12bdc2e6d2b1158c1faa58a8197d5e971a817",
      "tree": "7002d8ebf67196290f4b5bbfbfa4c13dfab10c65",
      "parents": [
        "82d53ce283b7c275624d66e9bf20cfe2614af5c4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Aug 20 10:18:34 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Aug 20 10:23:18 2012 -0700"
      },
      "message": "Ensure that mAllAppWinAnimators is not null.\n\nThe method showAllWindowsLocked can be called from the layout\nside of the WindowManagerService. Previously the AppWindowAnimator\nmember mAllAppWinAnimators was created on the animation side. If\nshowAllWindowsLocked was called before the first animation of the\nactivity an NPE would occur. This fix creates mAllAppWinAnimators\nwhen the AppWindowAnimator is created and also updates it with\ncurrent values before calling showAllWindowsLocked.\n\nFixes bug 6917136.\n\nChange-Id: If3ace22022b65c6888bbb9d0575efe9a45d86475\n"
    },
    {
      "commit": "a3db5297cda370ce41db99b6839cd9528c31ef7c",
      "tree": "0d2f1d5736851dd3baf5d7a054989eac3100b36c",
      "parents": [
        "6626398a72ae592e3a9184c9b0868df0fc1f1724",
        "8809004bc5125d48a1bbfc292509514374cc4fce"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Aug 20 10:16:36 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 20 10:16:36 2012 -0700"
      },
      "message": "Merge \"ProviderMap: remove hashmap when entire user specific entries are removed\""
    },
    {
      "commit": "37a37f445cbcd64376af153dd79ea2a123d9405d",
      "tree": "7b2ae5f75d4c6bff056472da64752473e1d211f9",
      "parents": [
        "82d53ce283b7c275624d66e9bf20cfe2614af5c4"
      ],
      "author": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Tue Aug 14 15:21:02 2012 -0700"
      },
      "committer": {
        "name": "Brian Muramatsu",
        "email": "btmura@google.com",
        "time": "Mon Aug 20 10:04:12 2012 -0700"
      },
      "message": "add wireless charger support\n\nbug: 6879638\n\n- add new enum value BATTERY_PLUGGED_WIRELESS\n- check for sys online file with contents \"Wireless\"\n\nChange-Id: I22dc3c40f50573c98643e7b5cbcb237d0216530d\n"
    },
    {
      "commit": "ec7ed14c183a2ab958817694bad53bdc8b05e49e",
      "tree": "e7968763950d56650f72eb32d39e0e9eea06a2b0",
      "parents": [
        "6626398a72ae592e3a9184c9b0868df0fc1f1724"
      ],
      "author": {
        "name": "rpcraig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Wed Jul 25 13:10:37 2012 -0400"
      },
      "committer": {
        "name": "rpcraig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Mon Aug 20 06:08:01 2012 -0400"
      },
      "message": "restorecon /data/anr directory.\n\nRestore the security contexts of anr directory\nwhen initially created.\n\nChange-Id: Ia731414ccbcdc7369d24be6db0003c53abcf6ef4\nSigned-off-by: rpcraig \u003crpcraig@tycho.ncsc.mil\u003e\n"
    },
    {
      "commit": "bf5740e75efd87ae0213486e78e029403804c6f0",
      "tree": "1eea736eec1c89dd4f8efd1bdebf881ad9aa46b4",
      "parents": [
        "98365d7663cbd82979a5700faf0050220b01084d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Aug 19 23:20:02 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Aug 19 23:20:02 2012 -0700"
      },
      "message": "Improve display manager debugging.\n\nChange-Id: Iae794fe99a7cf9809f64eafb216091126a2f7e39\n"
    },
    {
      "commit": "98365d7663cbd82979a5700faf0050220b01084d",
      "tree": "8a4ff3e0a8afd814ed29609b26aa1c6ade2367f6",
      "parents": [
        "848c2dc93b6795e171f3dd6f64ea0be65e2762ca"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Aug 19 20:30:52 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Aug 19 22:42:08 2012 -0700"
      },
      "message": "Refactor for multi-display support.\n\nSplit WindowManagerImpl into two parts, the WindowManager\ninterface implementation remains where it is but the global\ncommunications with the window manager are now handled by\nthe WindowManagerGlobal class.  This change greatly simplifies\nthe challenge of having separate WindowManager instances\nfor each Context.\n\nRemoved WindowManagerImpl.getDefault().  This represents the\nbulk of this change.  Most of the usages of this method were\neither to perform global functions (now handled by WindowManagerGlobal)\nor to obtain the default display (now handled by DisplayManager).\n\nExplicitly associate each new window with a display and make\nthe Display object available to the View hierarchy.\n\nAdd stubs for some new display manager API features.\n\nStart to split apart the concepts of display id and layer stack.\nsince they operate at different layers of abstraction.\nWhile it\u0027s true that each logical display uniquely corresponds to a\nsurface flinger layer stack, it is not necessarily the case that\nthey must use the same ids.  Added Display.getLayerStack()\nand started using it in places where it was relatively easy to do.\n\nChange-Id: I29ed909114dec86807c4d3a5059c3fa0358bea61\n"
    },
    {
      "commit": "848c2dc93b6795e171f3dd6f64ea0be65e2762ca",
      "tree": "a775562a70274c54b893cabf4e72b6228dc302ff",
      "parents": [
        "82d53ce283b7c275624d66e9bf20cfe2614af5c4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Aug 19 20:18:08 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Aug 19 21:21:37 2012 -0700"
      },
      "message": "Stub out display manager service implementation.\n\nReverting to the previous stub as the display adapter registration\nand the logical to physical mapping is not at all what we are going\nto need moving forward.\n\nFixed up the service initialization order so that the display manager\nservice has a context from the start.\n\nChange-Id: I717f2f1099c7a77180ef207c371ec8329258850a\n"
    },
    {
      "commit": "ce777171fce4911f383e838d9019d84520426456",
      "tree": "c1ee7c19877743f18c34b8731f1b2ef2456ba289",
      "parents": [
        "f337a89b4d6f6fd0a49b6edd7f895f06cb96d28b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sat Aug 18 22:13:07 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sat Aug 18 22:13:07 2012 -0700"
      },
      "message": "Fixed static wallpaper for multi-user\n\nEarlier assumption that systemui was running in the system process\ndoes not hold true, so running static wallpaper in its own user\nsandbox.\n\nBug: 7008230\nChange-Id: I32a128e6bbd8efa7006286330e970bafcf37f05a\n"
    },
    {
      "commit": "fc6e0ca07e599de5229582efe29c4f78eabaa3b8",
      "tree": "4e400dc105a8f28a7bba9a09b4ead350e4b2733b",
      "parents": [
        "998ca2301c695c02966cc169ce2e407054dc7c5c"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 17 17:07:14 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 17 17:07:14 2012 -0700"
      },
      "message": "Fix build part 2\n\nChange-Id: I3b4ed430f214468a22d3b3aaf3605e570cfd0ed1\n"
    },
    {
      "commit": "7fdaa3976d6082bd7e96329240bda478c08b751e",
      "tree": "d9b3d459a3d19883dbfba71c9bc70e447251a3c5",
      "parents": [
        "029675e5ad8737a8a097c17d216afb3f11f0b12c",
        "a3f133afe885f9e005dfc0584cb7b3b90f75f665"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 17 16:19:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 17 16:19:19 2012 -0700"
      },
      "message": "Merge \"Save preferred activity info with user id.\" into jb-mr1-dev"
    },
    {
      "commit": "029675e5ad8737a8a097c17d216afb3f11f0b12c",
      "tree": "1a0332de73ad4bd4737c137e80339d083a0626bb",
      "parents": [
        "2b7a0d00426218523629e4e8dd2e9197d445c09b",
        "7300dbeba06a85948d63e480da36258d78840b30"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 17 15:54:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 17 15:54:18 2012 -0700"
      },
      "message": "Merge \"Fix launching activity from a pending intent\" into jb-mr1-dev"
    },
    {
      "commit": "2b7a0d00426218523629e4e8dd2e9197d445c09b",
      "tree": "337da69dba57f48b5c6e96fb6c382f658cf765ad",
      "parents": [
        "4035f5a7c191a68bc9a5912ce44c43c82e9e5dbf"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 17 15:09:44 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 17 15:25:21 2012 -0700"
      },
      "message": "Fix addGeofence() and addProximityAlert().\n\nNeed to clear the callers identity before calling into geofence manager\nbecause it in turn calls fused location API\u0027s.\n\nChange-Id: I7993b0b8b2a947ff93c37a7c9d29ca0e7c95f9a8\n"
    },
    {
      "commit": "4035f5a7c191a68bc9a5912ce44c43c82e9e5dbf",
      "tree": "df96aa5f4a8a2d60d872a17024d89944ece40d60",
      "parents": [
        "81c304b99d920e8d66ac16332489d78ff7162e12"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 17 14:43:49 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 17 15:25:16 2012 -0700"
      },
      "message": "Port location blacklist code to MR1.\n\nI had to re-do this change for MR1 because LocationManagerService changed\nso much. Here is the original change description:\n\nAdd package-name-prefix blacklist for location updates.\n\nThe Settings.Secure value locationPackagePrefixBlacklist and\nlocationPackagePrefixWhitelist contains comma seperated package-name\nprefixes.\n\nLocation \u0026 geo-fence updates are silently dropped if the receiving\npackage name has a prefix on the blacklist. Status updates are\nnot affected. All other API\u0027s work as before.\n\nA content observer is used so run-time updates to the blacklist\napply immediately. There is both a blacklist and a whitelist.\nThe blacklist applies first, and then exemptions are allowed\nfrom the whitelist. In other words, if your package name prefix\nmatches both the black AND white list, then it is allowed.\n\nBug: 6986553\nChange-Id: I1e151e08bd7143e47db005bc3fe9795076398df7\n"
    },
    {
      "commit": "7300dbeba06a85948d63e480da36258d78840b30",
      "tree": "0b236adce2e1ed2679a56e098990ccf66e6eac29",
      "parents": [
        "81c304b99d920e8d66ac16332489d78ff7162e12"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 17 14:17:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 17 14:19:57 2012 -0700"
      },
      "message": "Fix launching activity from a pending intent\n\nThe creator of the pending intent is the user on which the activity\nshould be launched.\n\nChange-Id: I733326ed8a5784985ac93a84ce91de4dda17c730\n"
    },
    {
      "commit": "81c304b99d920e8d66ac16332489d78ff7162e12",
      "tree": "cc73962e5561ac1a15b7a51936996fd9f13b452d",
      "parents": [
        "5d683a013114f38f503e6f7194400f60f35bfa5a",
        "1ab36c1d83969bab7ef782af11fa1673993b76fa"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 17 13:58:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 17 13:58:17 2012 -0700"
      },
      "message": "Merge \"Send USER_SWITCHED with the correct permission\" into jb-mr1-dev"
    },
    {
      "commit": "1ab36c1d83969bab7ef782af11fa1673993b76fa",
      "tree": "f386b9e2c95fa5c9edabdf304ff706ee47d215df",
      "parents": [
        "9c38d6e52bb71671c6f034a10b6751a1569c9ee0"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 17 13:55:02 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 17 13:55:02 2012 -0700"
      },
      "message": "Send USER_SWITCHED with the correct permission\n\nForgot to change this from MANAGE_ACCOUNTS to MANAGE_USERS.\n\nChange-Id: Ib07d2ac84c19cef278a0e564676b6200e0f97dd1\n"
    },
    {
      "commit": "a3f133afe885f9e005dfc0584cb7b3b90f75f665",
      "tree": "3807ce789848ee176459f2acec9f2dfbad3d4b86",
      "parents": [
        "9c38d6e52bb71671c6f034a10b6751a1569c9ee0"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Aug 09 17:11:28 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 17 13:32:02 2012 -0700"
      },
      "message": "Save preferred activity info with user id.\n\nSo each user can have their own set of intent resolution preferences.\n\nResolverActivity now launches the activity on the correct user, and\npersists the preference for the correct user.\n\nBug: 6961905\nChange-Id: I6d3a8a9af89bc649277d4fc8d0f367ee123f8392\n"
    },
    {
      "commit": "c48ee60426a741d0a8e7df7df8af2a9ac24cee85",
      "tree": "fd356ea73785811dc8f5ae3901a5e9048169f979",
      "parents": [
        "21bf465764938c5f8c82dbf6061c89e138eb73ca",
        "6626398a72ae592e3a9184c9b0868df0fc1f1724"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Aug 17 13:28:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 17 13:28:25 2012 -0700"
      },
      "message": "am 6626398a: Merge \"Fix for updating TCP buffer size when switching network type\"\n\n* commit \u00276626398a72ae592e3a9184c9b0868df0fc1f1724\u0027:\n  Fix for updating TCP buffer size when switching network type\n"
    },
    {
      "commit": "d2ae85d41ec1651dd1bf4c33fe31833ba5c5cff5",
      "tree": "a13ab2da158404c627977d9316501332cd863dd8",
      "parents": [
        "aeca6898041437a7e2ba68c1421b9be90669154d",
        "832cb229cd748505c90f74ae8154fc3557d61a73"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Aug 17 13:03:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 17 13:03:15 2012 -0700"
      },
      "message": "Merge \"Adding a thumbnail scale down animation\" into jb-mr1-dev"
    },
    {
      "commit": "6626398a72ae592e3a9184c9b0868df0fc1f1724",
      "tree": "5ac713ac4766bf5c66c8d005d2d23a899ed255d4",
      "parents": [
        "a688af9c6707c9c2f07cc195b072b6c14be03b63",
        "1968256926a13e8d809256f652073b0532199fd1"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Aug 17 13:01:49 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 17 13:01:49 2012 -0700"
      },
      "message": "Merge \"Fix for updating TCP buffer size when switching network type\""
    },
    {
      "commit": "aeca6898041437a7e2ba68c1421b9be90669154d",
      "tree": "60fe7de113a79ffddfdaeaac1e3e72b95188e620",
      "parents": [
        "79af1dd54c16cde063152922b42c96d72ae9eca8",
        "f2033e473aea4bfd0152feee51129fc4748e6f79"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 17 11:57:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 17 11:57:52 2012 -0700"
      },
      "message": "Merge \"Fix regression from location changes: GPS battery tracking.\" into jb-mr1-dev"
    },
    {
      "commit": "f2033e473aea4bfd0152feee51129fc4748e6f79",
      "tree": "15fa6161d7889dc4c69dba4f04c8dc86a0f96012",
      "parents": [
        "2ff0c048446c47f9cb995def2a6d8cc5177533a2"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 17 11:55:10 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 17 11:56:39 2012 -0700"
      },
      "message": "Fix regression from location changes: GPS battery tracking.\n\nThe client UID list wasn\u0027t being saved, so we never removed\nclient UID\u0027s. As a result apps get blamed for GPS even when\nthey are no longer using it.\n\nBug: 7007314\nChange-Id: Idff3b7c8c0ee87b99c9bdd7bd20d8391d0b1ac0f\n"
    },
    {
      "commit": "79af1dd54c16cde063152922b42c96d72ae9eca8",
      "tree": "142abf0037d20841712e88d65febcbbd92dd5561",
      "parents": [
        "f1b995f9d049cb5c7225b3b17f09369237a83ca2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 16 16:42:52 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 17 10:36:08 2012 -0700"
      },
      "message": "Switch public APIs to use new UserHandle class for identifying users.\n\nGets rid of \"yet another integer\" confusion.\n\nChange-Id: Id07ea7307aea7c62f0087c6663a1f1c08e2e5dee\n"
    },
    {
      "commit": "2a00329c6d55c6cd9166e01963d7410e95d80d21",
      "tree": "a33ab8060e095dd7b9a79962f7c3bf506d6008b7",
      "parents": [
        "76b858e3794f652c4af2323504787aebbbb7e89a"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 14 18:25:45 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 17 09:06:10 2012 -0700"
      },
      "message": "UserHandle to UserSerialNo mapping\n\nUse AtomicFile for usermanager files.\n\nAdded a MANAGE_USERS permission that apps (signature permission) can use\nto create/query/modify/remove users.\n\nChange-Id: I5cf232232d0539e7508df8ec9b216e29c2351cd9\n"
    }
  ],
  "next": "1968256926a13e8d809256f652073b0532199fd1"
}
