)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "1968256926a13e8d809256f652073b0532199fd1",
      "tree": "dd6c4dfb7e397d88f5eb332fab62a1a2a1aa754d",
      "parents": [
        "2c932143ffe865d49c741e466b425bdbabbd1f2f"
      ],
      "author": {
        "name": "Magnus Strandberg",
        "email": "magnus.strandberg@sonymobile.com",
        "time": "Fri Aug 17 11:36:55 2012 +0200"
      },
      "committer": {
        "name": "Zoran Jovanovic",
        "email": "zoran.jovanovic@sonymobile.com",
        "time": "Fri Aug 17 11:38:44 2012 +0200"
      },
      "message": "Fix for updating TCP buffer size when switching network type\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: Iaa527c84f56cae108f4c7276bbed10552faaff6c\n"
    },
    {
      "commit": "1f3f128ad1744dfbe4108857f322a805b1dc5eb7",
      "tree": "69ddf22ac5711d9e47664e66723253deed4a0fc1",
      "parents": [
        "2ff0c048446c47f9cb995def2a6d8cc5177533a2",
        "4e31c4fffbc42b4c2b5dca6431cfeef9e078f5b4"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Aug 16 18:05:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 16 18:05:32 2012 -0700"
      },
      "message": "Merge \"Add javadoc for new location API\u0027s.\" into jb-mr1-dev"
    },
    {
      "commit": "4e31c4fffbc42b4c2b5dca6431cfeef9e078f5b4",
      "tree": "e1e5a1df577872de6f947623cdccfe50062cb521",
      "parents": [
        "74fa7eabda3d0c1a85e0b568e3fc4230ed4fe7a4"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Aug 13 19:35:39 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Aug 16 17:59:34 2012 -0700"
      },
      "message": "Add javadoc for new location API\u0027s.\n\nChange-Id: If15024ee88421c07ba3a174747774fc451fd002e\n"
    },
    {
      "commit": "9a994b5350731b8169a9b25463f57266ee2988fb",
      "tree": "670fdf9ade80e54995c73f7a80a023ff9836fa79",
      "parents": [
        "13c589b66c47aa4d988eecce9a12c39d580939c9",
        "050c87f87e2a48c7bc90f5b15fb6e4e37e667286"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 16 16:43:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 16 16:43:20 2012 -0700"
      },
      "message": "am 050c87f8: am a950daf5: Merge changes Ieb566a2a,I953057cd\n\n* commit \u0027050c87f87e2a48c7bc90f5b15fb6e4e37e667286\u0027:\n  Use Libcore\u0027s stat instead of FileUtils#getFileStatus\n  Use Libcore.os.stat instead of FileUtils\n"
    },
    {
      "commit": "050c87f87e2a48c7bc90f5b15fb6e4e37e667286",
      "tree": "814988aae175fa4081aa6d53a91161608cc3646f",
      "parents": [
        "b18bcf13fd47102a2527e599cde0b1d59ab7c51e",
        "a950daf5c14a0009c2c62e9c3e0e8d51eb0cf7d9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 16 16:33:40 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 16 16:33:40 2012 -0700"
      },
      "message": "am a950daf5: Merge changes Ieb566a2a,I953057cd\n\n* commit \u0027a950daf5c14a0009c2c62e9c3e0e8d51eb0cf7d9\u0027:\n  Use Libcore\u0027s stat instead of FileUtils#getFileStatus\n  Use Libcore.os.stat instead of FileUtils\n"
    },
    {
      "commit": "13c589b66c47aa4d988eecce9a12c39d580939c9",
      "tree": "62da402e6e794134566c3635fdbe0c1a144ba998",
      "parents": [
        "cc48c144bb0c15e003d1b9469c87a2c132ea6308"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 16 16:20:54 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 16 16:26:54 2012 -0700"
      },
      "message": "Animate brightness with electron beam.\n\nAlso added an internal flag to control whether the electron beam\non animation is used.  It\u0027s on for now but we might want to\nturn if off if we can\u0027t get the HAL to provide the\nnecessary screen on synchronization on all devices.\n\nChange-Id: Iaa3cfa0fd61de10174e68351e4db890eff2d2918\n"
    },
    {
      "commit": "520ee7bcadafdc5768fa8fc8890199ebe29886da",
      "tree": "6ed0a3d41ecdeaa926bbe8bcc77c24dba2fdfa7d",
      "parents": [
        "3931f6b3ffd30b53b742bbb127ba8438bef44fa0",
        "a2e8365cc883de0d3e56e9f4af350ecfe1b8fc4c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Thu Aug 16 15:32:52 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 16 15:32:52 2012 -0700"
      },
      "message": "am a2e8365c: am 9b0da58e: Merge \"Introduce a restorecon JNI binding.\"\n\n* commit \u0027a2e8365cc883de0d3e56e9f4af350ecfe1b8fc4c\u0027:\n  Introduce a restorecon JNI binding.\n"
    },
    {
      "commit": "a2e8365cc883de0d3e56e9f4af350ecfe1b8fc4c",
      "tree": "402949d2d3cce35eceaf665ca547deb6a106d745",
      "parents": [
        "617ccc081f18f563aa953556c22ace10a1998f34",
        "9b0da58e3a30b760de37138cdd51d20f269c383e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Thu Aug 16 15:29:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 16 15:29:41 2012 -0700"
      },
      "message": "am 9b0da58e: Merge \"Introduce a restorecon JNI binding.\"\n\n* commit \u00279b0da58e3a30b760de37138cdd51d20f269c383e\u0027:\n  Introduce a restorecon JNI binding.\n"
    },
    {
      "commit": "786cbcacd2efbd94476eb05a4d5b77211f20d434",
      "tree": "503b514a488b8e5cdb91e198fea752972eb06f25",
      "parents": [
        "d2fb6e99bda1ae607b5dfbb68905030f2133f8e8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 16 11:10:58 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 16 15:27:55 2012 -0700"
      },
      "message": "Use Libcore.os.stat instead of FileUtils\n\nPackageManagerService just needed to know the owner for this file, so\njust use stat instead so we can remove the old JNI code.\n\nThis is the last user of FileUtils#getPermissions so just remove the\nFileUtils method as well.\n\nChange-Id: I953057cd6b9de4410f33b6f22e4bddff02fe2988\n"
    },
    {
      "commit": "60020e2fa3dd31280ccec91029113f88ee5338c8",
      "tree": "2c968e040ec8c341db043ef3c41239c3a707904d",
      "parents": [
        "242143904800e0fe145977cd8880974545a166a5",
        "74fa7eabda3d0c1a85e0b568e3fc4230ed4fe7a4"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Aug 16 15:23:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 16 15:23:11 2012 -0700"
      },
      "message": "Merge \"Improve coarse locations.\" into jb-mr1-dev"
    },
    {
      "commit": "74fa7eabda3d0c1a85e0b568e3fc4230ed4fe7a4",
      "tree": "aaf46ec024fa88f5172c39cfb46a0f8bf8c4a877",
      "parents": [
        "08ca1046fe4f1890f91241f8d082a024ef6cfd93"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Aug 13 19:36:38 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Aug 16 15:22:24 2012 -0700"
      },
      "message": "Improve coarse locations.\n\nFix a couple of bugs, and modify the behavior of the random offset.\n\nThe random offset now slowly changes over time, to mitigate against\napplications averaging out the offset over time while at a\ngrid boundary.\n\nChange-Id: Iecffff29145b8c2b30d1eca1662cf9d3e8cff756\n"
    },
    {
      "commit": "9b0da58e3a30b760de37138cdd51d20f269c383e",
      "tree": "a13dce4b8868e06d94996e0a895487fcf065e156",
      "parents": [
        "1090f7023abefc448a492e143f76f9e0925fd6ee",
        "554cb0c290406f5bba34908489db5382a69d0a9a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Thu Aug 16 14:38:30 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 16 14:38:30 2012 -0700"
      },
      "message": "Merge \"Introduce a restorecon JNI binding.\""
    },
    {
      "commit": "c584b65b2093396c9a0c9303dab6ff6cb81ac315",
      "tree": "1cb29ffba0fa43c4fcb9ebe6603c5891853a36f2",
      "parents": [
        "a579f7926af72597f1c11c5df0486253d5d2c435",
        "5b1ada2562c17921adf6a62ea62bcb445160983c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 16 14:32:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 16 14:32:39 2012 -0700"
      },
      "message": "Merge \"Multi-user external storage support.\" into jb-mr1-dev"
    },
    {
      "commit": "ee98610f1af9c12fcb89522cf1795470bec60938",
      "tree": "da0101f23364bf5e3d450e3c2a25114b169546be",
      "parents": [
        "c40771a90d348b59ce0ffb8654f2d0cde39d7384",
        "122415f5c813408fe2c7b81e33144f2beff9c3d5"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Aug 16 13:43:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 16 13:43:14 2012 -0700"
      },
      "message": "Merge \"Set the brightness to zero on screen-off\" into jb-mr1-dev"
    },
    {
      "commit": "122415f5c813408fe2c7b81e33144f2beff9c3d5",
      "tree": "c2a0d1efabdbc596140498093bbdcb6ca0e7e8d6",
      "parents": [
        "ca34bcf6746454c561b0c07ca5c6e42bd4a73e9e"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Aug 16 12:47:21 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Aug 16 12:48:28 2012 -0700"
      },
      "message": "Set the brightness to zero on screen-off\n\nFixes b/6996990\n\nIdeally, the HWC HAL should turn off the backlight when the display is turned\noff.  This patch enforces this at the PowerManager, which can guard against\nerrant HWC implementations.\n\nChange-Id: Ibb826a02871c983f8a68034d010e68abe9c5c1d5\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8",
      "tree": "893430514916fc74f4fd008dbcb457c2dd317989",
      "parents": [
        "ca34bcf6746454c561b0c07ca5c6e42bd4a73e9e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 16 10:48:27 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 16 12:46:38 2012 -0700"
      },
      "message": "Rename UserId to UserHandle.\n\nThis is the start of turning this into a formal public API.\n\nChange-Id: I5786d2c320f1de41a06ed5d0f65adb68967287a0\n"
    },
    {
      "commit": "7c964e78993ab1bc93c079e4f75b22ce1ebdec98",
      "tree": "223bd71373576e787509ffb07df12c5078d916d9",
      "parents": [
        "e663975055eb1dc0a0da5efffc3c92312b15498e",
        "1a30b55036c2279d72ba69cb1107ec5f6f40d5e9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 16 02:06:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 16 02:07:27 2012 -0700"
      },
      "message": "Merge changes I39804ee6,I6a5a7ea2 into jb-mr1-dev\n\n* changes:\n  Use spline interpolation for auto-brightness.\n  Add FloatMath.hypot.\n"
    },
    {
      "commit": "e663975055eb1dc0a0da5efffc3c92312b15498e",
      "tree": "b184d5bff25f7a8aecb765593576a5881adf3f74",
      "parents": [
        "228916713db16dd536a8f3d7256b5726a2eaeb2b",
        "06565b64de1953fc9534f789b2e8b8fd70758979"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 16 02:06:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 16 02:06:18 2012 -0700"
      },
      "message": "Merge \"Improve auto-brightness debounce.\" into jb-mr1-dev"
    },
    {
      "commit": "1a30b55036c2279d72ba69cb1107ec5f6f40d5e9",
      "tree": "32fd9c82689d3d41703da8eb01880fcbe2aa6f34",
      "parents": [
        "270e3381e7053c3b15aa8f508c9df9d98032cd62"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 16 01:31:11 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 16 01:45:10 2012 -0700"
      },
      "message": "Use spline interpolation for auto-brightness.\n\nStrictly speaking, this is a change in behavior for all products.\nInstead of using discrete zones, they will all now use spline\ninterpolation.  We could make this behavior configurable\nbut there seems to be little point to it.  The range of brightness\nvalues used will be more or less the same as before, it\u0027s just\nthat what used to be the brightness value for all levels within\na particular zone now becomes the brightness value for the\nhighest level in that zone and lower values are used for lower\nlevels within the zone.\n\nChange-Id: I39804ee630ba55f018e1e53c0576b28e7bd27931\n"
    },
    {
      "commit": "832cb229cd748505c90f74ae8154fc3557d61a73",
      "tree": "ff2c3b98b5bd2c91c195f39d320b14d56062a8f1",
      "parents": [
        "32e7bd9fe1343e365dc40c8d215b0d98df99a2de"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Apr 13 09:32:47 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu Aug 16 00:14:03 2012 -0700"
      },
      "message": "Adding a thumbnail scale down animation\n\nRecents animation will temporarily look a bit\nwrong, but a subsequent change will fix this."
    },
    {
      "commit": "8809004bc5125d48a1bbfc292509514374cc4fce",
      "tree": "82f84e9650498c7b016e28044d31ea485abca69c",
      "parents": [
        "98853623bcb27155e9b030301a0cb2a987cfc612"
      ],
      "author": {
        "name": "Vairavan Srinivasan",
        "email": "vairav@codeaurora.org",
        "time": "Wed Aug 15 23:37:45 2012 -0700"
      },
      "committer": {
        "name": "Vairavan Srinivasan",
        "email": "vairav@codeaurora.org",
        "time": "Wed Aug 15 23:37:45 2012 -0700"
      },
      "message": "ProviderMap: remove hashmap when entire user specific entries are removed\n\nUser specific entries in  mProvidersByNamePerUser and mProvidersByClassPerUser\nisn\u0027t cleared when entire user specific providers are removed. Fix is to remove\nthe user specific hashmap in such cases.\n\nChange-Id: I6edf211ced873e59f3b89ffceb9eceec13ea8f3f\n"
    },
    {
      "commit": "06565b64de1953fc9534f789b2e8b8fd70758979",
      "tree": "646c45d5cf99b572573bb4ac8b4cc84fc98b7dc6",
      "parents": [
        "978f853d189c1857190b4a2e200c7a283e31ca14"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 15 21:10:32 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 15 21:10:32 2012 -0700"
      },
      "message": "Improve auto-brightness debounce.\n\nChange-Id: I045e2a14cb31ff987a22872733c442fc92ebadbf\n"
    },
    {
      "commit": "5b1ada2562c17921adf6a62ea62bcb445160983c",
      "tree": "de45aa88e185f4ce052df43acf486e77778adcfb",
      "parents": [
        "4d1988699b11a9409015ef38a825d0de841a1d0f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 14 18:47:09 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 15 19:45:53 2012 -0700"
      },
      "message": "Multi-user external storage support.\n\nEmulated external storage always has multi-user support using paths\nlike \"/data/media/\u003cuser_id\u003e\".  Creates and destroys these paths along\nwith user data.  Uses new ensure_dir() to create directories while\nalways ensuring permissions.\n\nAdd external storage mount mode to zygote, supporting both single-\nand multi-user devices.  For example, devices with physical SD cards\nare treated as single-user.  Begin migrating to mount mode instead\nof relying on sdcard_r GID to enforce READ_EXTERNAL_STORAGE.\n\nBug: 6925012\nChange-Id: I9b872ded992cd078e2c013567d59f9f0032ec02b\n"
    },
    {
      "commit": "a1a1a1d6caddc25c4e249e5b5030d6a3ed861dd9",
      "tree": "721b2ba84b83c2eaef5b7e2730409cb51f90c71c",
      "parents": [
        "6d00c724330702c6bfd2bba2b7b2501fa3ab62ff",
        "5a052a4d19556700a21286029f37e1cc37f217b1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 15 18:53:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 15 18:53:34 2012 -0700"
      },
      "message": "Merge \"Fix issue #6955586: No navigation bar in landscape on tablets\" into jb-mr1-dev"
    },
    {
      "commit": "5a052a4d19556700a21286029f37e1cc37f217b1",
      "tree": "eb5dcf941af6e8dfca094329340f56126ebc5611",
      "parents": [
        "abac0cd16105c60fdd6c5ce37116c972dc7431bb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 15 18:49:23 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 15 18:49:23 2012 -0700"
      },
      "message": "Fix issue #6955586: No navigation bar in landscape on tablets\n\nThe window manager was telling the activity manager to evaluate\nthe new configuration when first initializing the display, before\nactually setting mDisplay, so it failed creating that first config.\n\nChange-Id: I6e94fcf55b0587ccf15a5fd7ecbe2c9a0c201b96\n"
    },
    {
      "commit": "f6307820c88e694e102824225b9d8caa6de75a30",
      "tree": "6ce6183a3fe1ecc748312d7a101150028f456cdf",
      "parents": [
        "7ef6c20dbcdfaa9b74278546a45fb25950ff22a3"
      ],
      "author": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Tue Aug 14 14:21:25 2012 -0700"
      },
      "committer": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Wed Aug 15 15:22:37 2012 -0700"
      },
      "message": "CTS test for WiFi watchdog - framework support.\n\nThe new WiFi watchdog requires kernel/driver to export some packet loss\ncounters. This CTS tests whether those counters are correctly exported.\n\nChange-Id: I41999676f8488e86f35f1f8214ce668f1a2b5638\n"
    },
    {
      "commit": "9630704ed3b265f008a8f64ec60a33cf9dcd3345",
      "tree": "0c905e55ac062b625bf7a9ced250f05213d7873f",
      "parents": [
        "ff7e6ef4f18ff94a9836492ff3ccd1ba7f6804f3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 27 15:51:34 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 15 03:06:24 2012 -0700"
      },
      "message": "Power manager rewrite.\n\nThe major goal of this rewrite is to make it easier to implement\npower management policies correctly.  According, the new\nimplementation primarily uses state-based rather than event-based\ntriggers for applying changes to the current power state.\n\nFor example, when an application requests that the proximity\nsensor be used to manage the screen state (by way of a wake lock),\nthe power manager makes note of the fact that the set of\nwake locks changed.  Then it executes a common update function\nthat recalculates the entire state, first looking at wake locks,\nthen considering user activity, and eventually determining whether\nthe screen should be turned on or off.  At this point it may\nmake a request to a component called the DisplayPowerController\nto asynchronously update the display\u0027s powe state.  Likewise,\nDisplayPowerController makes note of the updated power request\nand schedules its own update function to figure out what needs\nto be changed.\n\nThe big benefit of this approach is that it\u0027s easy to mutate\nmultiple properties of the power state simultaneously then\napply their joint effects together all at once.  Transitions\nbetween states are detected and resolved by the update in\na consistent manner.\n\nThe new power manager service has is implemented as a set of\nloosely coupled components.  For the most part, information\nonly flows one way through these components (by issuing a\nrequest to that component) although some components support\nsending a message back to indicate when the work has been\ncompleted.  For example, the DisplayPowerController posts\na callback runnable asynchronously to tell the PowerManagerService\nwhen the display is ready.  An important feature of this\napproach is that each component neatly encapsulates its\nstate and maintains its own invariants.  Moreover, we do\nnot need to worry about deadlocks or awkward mutual exclusion\nsemantics because most of the requests are asynchronous.\n\nThe benefits of this design are especially apparent in\nthe implementation of the screen on / off and brightness\ncontrol animations which are able to take advantage of\nframework features like properties, ObjectAnimator\nand Choreographer.\n\nThe screen on / off animation is now the responsibility\nof the power manager (instead of surface flinger).  This change\nmakes it much easier to ensure that the animation is properly\ncoordinated with other power state changes and eliminates\nthe cause of race conditions in the older implementation.\n\nThe because of the userActivity() function has been changed\nso that it never wakes the device from sleep.  This change\nremoves ambiguity around forcing or disabling user activity\nfor various purposes.  To wake the device, use wakeUp().\nTo put it to sleep, use goToSleep().  Simple.\n\nThe power manager service interface and API has been significantly\nsimplified and consolidated.  Also fixed some inconsistencies\nrelated to how the minimum and maximum screen brightness setting\nwas presented in brightness control widgets and enforced behind\nthe scenes.\n\nAt present the following features are implemented:\n\n- Wake locks.\n- User activity.\n- Wake up / go to sleep.\n- Power state broadcasts.\n- Battery stats and event log notifications.\n- Dreams.\n- Proximity screen off.\n- Animated screen on / off transitions.\n- Auto-dimming.\n- Auto-brightness control for the screen backlight with\n  different timeouts for ramping up versus ramping down.\n- Auto-on when plugged or unplugged.\n- Stay on when plugged.\n- Device administration maximum user activity timeout.\n- Application controlled brightness via window manager.\n\nThe following features are not yet implemented:\n\n- Reduced user activity timeout for the key guard.\n- Reduced user activity timeout for the phone application.\n- Coordinating screen on barriers with the window manager.\n- Preventing auto-rotation during power state changes.\n- Auto-brightness adjustment setting (feature was disabled\n  in previous version of the power manager service pending\n  an improved UI design so leaving it out for now).\n- Interpolated brightness control (a proposed new scheme\n  for more compactly specifying auto-brightness levels\n  in config.xml).\n- Button / keyboard backlight control.\n- Change window manager to associated WorkSource with\n  KEEP_SCREEN_ON_FLAG wake lock instead of talking\n  directly to the battery stats service.\n- Optionally support animating screen brightness when\n  turning on/off instead of playing electron beam animation\n  (config_animateScreenLights).\n\nChange-Id: I1d7a52e98f0449f76d70bf421f6a7f245957d1d7\n"
    },
    {
      "commit": "ff7e6ef4f18ff94a9836492ff3ccd1ba7f6804f3",
      "tree": "53bfb8f41e2fd99b0419e336fa36254f9df9f8f3",
      "parents": [
        "109025d778c12d78f8585920447320aaf0f1d2f8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 15 02:05:18 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 15 02:09:05 2012 -0700"
      },
      "message": "Apply ValueAnimator scale factor immediately in WM.\n\nNormally the ValueAnimator scale factor is applied the first\ntime a ViewRootImpl window session is created but that may\nbe too late for animators created by system services that\nstart early in the boot process.  So set the scale factor\nimmediately whenever the setting changes.\n\nAlso make ValueAnimator.getDurationScale() accessible (but @hide)\nfor custom animators that want to apply the same scale to\ntheir animations.\n\nChange-Id: I0f5a750ab5b014f63848445435d8dca86f2a7ada\n"
    },
    {
      "commit": "58de1427c313e0debf2a929931e8c4065d4d46c5",
      "tree": "9e9682873930c27344a86089f8ce468b38d2c969",
      "parents": [
        "caaeda955bd80df9d9ab310e7ab504865a2e32e9",
        "fffa86ba834d37684238c83c0dd081133324984d"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Aug 14 00:37:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 14 00:37:01 2012 -0700"
      },
      "message": "Merge \"Implement enableNoAutoconnect()\" into jb-mr1-dev"
    },
    {
      "commit": "fffa86ba834d37684238c83c0dd081133324984d",
      "tree": "50e8de04a2b1294a29a3467871a231ff39901bec",
      "parents": [
        "06439fd29f9bbf7031f58f5b06aa6c022ac9897a"
      ],
      "author": {
        "name": "Ganesh Ganapathi Batta",
        "email": "ganeshg@broadcom.com",
        "time": "Wed Aug 08 15:35:49 2012 -0700"
      },
      "committer": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Aug 14 00:18:07 2012 -0700"
      },
      "message": "Implement enableNoAutoconnect()\n\nAdding enableNoAutoconnect() API support in Bluetooth service\n to let BT enable in quiet mode\n\nChange-Id: I546f3ceb298082a9c9a698f406379470e3cc0d4f\n"
    },
    {
      "commit": "510cff946874b8408664c86f9935d6a38f770e82",
      "tree": "09052993b0264f2faa55a7bbaaa49969a9425c47",
      "parents": [
        "863b19bc8fcfa436011781b67a237fcce3cb703a",
        "f02354e208ec7b7e0dee68e12c0b5cde86a0f20a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Aug 13 20:45:04 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 13 20:45:04 2012 -0700"
      },
      "message": "am f02354e2: am 9064a483: Merge \"Added missing USB_DEVICE_ATTACHED broadcast to running Activity\"\n\n* commit \u0027f02354e208ec7b7e0dee68e12c0b5cde86a0f20a\u0027:\n  Added missing USB_DEVICE_ATTACHED broadcast to running Activity\n"
    },
    {
      "commit": "f02354e208ec7b7e0dee68e12c0b5cde86a0f20a",
      "tree": "457a7c9c5bb43510ae709f9ef87ce50d2f27a79e",
      "parents": [
        "55ed7e34b981e9725f664587c6ca1f43d78c3f6e",
        "9064a48365c131ef5f64b26ab33dd40a7d1246a7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Aug 13 20:42:42 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 13 20:42:42 2012 -0700"
      },
      "message": "am 9064a483: Merge \"Added missing USB_DEVICE_ATTACHED broadcast to running Activity\"\n\n* commit \u00279064a48365c131ef5f64b26ab33dd40a7d1246a7\u0027:\n  Added missing USB_DEVICE_ATTACHED broadcast to running Activity\n"
    },
    {
      "commit": "9064a48365c131ef5f64b26ab33dd40a7d1246a7",
      "tree": "0ca0f025a3b0e94703d5be84892367e69d1a123d",
      "parents": [
        "b17a583a3acc57db845993599e4de56e91d5e75a",
        "82991054575130b2f065d9ab8d6aee270cd07239"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Aug 13 19:59:38 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 13 19:59:38 2012 -0700"
      },
      "message": "Merge \"Added missing USB_DEVICE_ATTACHED broadcast to running Activity\""
    },
    {
      "commit": "bf7d222011bcb417a2d6ab0f086b25e1608445cb",
      "tree": "f92f75219ad3b12fb22ef6d507d9629daaf9ae9d",
      "parents": [
        "ae5ac108b03214e02781a92592f7913ada8ef2d4",
        "aac71ff465399251fa8e830407f2917b986988d9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 13 17:58:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 13 17:58:40 2012 -0700"
      },
      "message": "Merge \"Don\u0027t back up / restore non-primary users\u0027 data\" into jb-mr1-dev"
    },
    {
      "commit": "aac71ff465399251fa8e830407f2917b986988d9",
      "tree": "12178251368dfef76d9d23ed8a493358e7ab514c",
      "parents": [
        "38cc2a5a3ad076fbbb0824a91f49730a4297549b"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 13 17:36:14 2012 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 13 17:36:14 2012 -0700"
      },
      "message": "Don\u0027t back up / restore non-primary users\u0027 data\n\nFor now only the device owner \"user\" gets cloud backups.  Also, only the\ndevice owner account has access to local backup/restore.\n\nBug 6956438\n\nChange-Id: I87d7ba5969e606c23f4214469f9bf2fd47a6c61b\n"
    },
    {
      "commit": "1866f68dfe35da46995e5f2321f33e8fee44bcf8",
      "tree": "4b26f014c9b0fdbc5f58628d15944367e06ad1d1",
      "parents": [
        "87c42b9978bde888c3fd2d94e9d52256e56c3187",
        "ee7621c0f5de6eca2cfb9fb2b6117fb61e13cc41"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 13 17:15:03 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 13 17:15:04 2012 -0700"
      },
      "message": "Merge \"Modify how the background process LRU list is handled.\" into jb-mr1-dev"
    },
    {
      "commit": "f88dd0b32ea2042eb2011170be465259a21d2563",
      "tree": "0be85df1f64f04e99783d109dbab35029b07f9b0",
      "parents": [
        "ee8655c6739cdfb35f192b05d8d4d84402e0d956"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 08 17:20:32 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 13 17:11:47 2012 -0700"
      },
      "message": "Small service cleanup.\n\nGet rid of duplication between find/retrieve service funcs; when\na service in a persistent process crashes, restart it immediately\nsince the persistent process is going to be immediately restarted\nanyway; when a new process is attaching, immediately restart any\nservices associated with it that are waiting to restart, since\nit is weird to not let them run if the process comes back for some\nother reason.\n\nChange-Id: Id087fe04ebf2b6a4bd00732796c8326364765ea7\n"
    },
    {
      "commit": "ee7621c0f5de6eca2cfb9fb2b6117fb61e13cc41",
      "tree": "78ea6a9d60816abd589ee523433a3564af81fd6f",
      "parents": [
        "ee8655c6739cdfb35f192b05d8d4d84402e0d956"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 13 16:42:18 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 13 17:09:19 2012 -0700"
      },
      "message": "Modify how the background process LRU list is handled.\n\nA long time ago, we had a concept of an \"empty\" process -- this was\na process that didn\u0027t have any interesting components in it, which\nwould be placed below everything else in the LRU list.\n\nEmpty processes didn\u0027t work out well, because you could get into\nbad situations where you have filled your LRU list with things that\nhave hidden activities, pushing empty processes to the bottom and\nbeing immediately killed as soon as they go into the list.  So this\nwas removed.\n\nThis change brings the concept back, but in a slightly different\nform, to address a more specific problem: for people who are switching\nbetween N different applications, we would like to try to keep those\nactivities available in RAM in a consistent manner.  Currently the\nprevious activities would be killed often quickly and suprisingly,\neven on devices with lots of RAM.  This is for two reasons:\n\n(1) As you sit in one application, other things going on in the\nbackground will go to the top of the LRU list, pushing down the\nprevious apps you have visited, even though you aren\u0027t aware at all\nof these other things executing.\n(2) There is a hard limit on the number of background processes\n(currently 16) after which they are killed regardless of the amount\nof available RAM.  This is desireable because if there is lots of\nRAM we can end up with tons and tons of processes sitting around,\nnot really serving any purpose, but using up resources.\n\nTo improve the situation, we have again a concept of \"empty\" processes\nbut now it means one with no activities.  Processes that aren\u0027t empty\nbut in the background list are called hidden.  We maintain these as\ntwo parallel lists, each getting half of the process limit: so with\na 16 process limit, you can have at most 8 empty and 8 hidden processes.\n\nThis allows us to consistently keep up to 8 recent applications around\nfor fast app switching; we will also keep around 8 other processes to\nmake it more efficient for background work to execute again if it needs\nto.\n\nChange-Id: Iee06e45efc20787da6a1e50020e5421c28204bd7\n"
    },
    {
      "commit": "7be1a3d67c32d73b20e30e85084f07c609617762",
      "tree": "6d11eee5bcd64ad3738aed954337f370468193f0",
      "parents": [
        "38cc2a5a3ad076fbbb0824a91f49730a4297549b"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Aug 13 16:45:12 2012 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Aug 13 16:45:12 2012 -0400"
      },
      "message": "Stop screensaver on incoming phone call.\n\nUse notification manager as an indicator of when to stop the screensaver\ndue to immediately-needed user interaction.\n\nAny notification with a fullScreenIntent will now exit the screensaver.\n\nBug: 6976796\nChange-Id: Id91cd4c32f3fad018b56f4dfe24b37110bab32d8\n"
    },
    {
      "commit": "38cc2a5a3ad076fbbb0824a91f49730a4297549b",
      "tree": "0442cdf8c2ca24a1259043e1defa2af4fc37406d",
      "parents": [
        "4d1988699b11a9409015ef38a825d0de841a1d0f",
        "3221bf27ff6b8eebf360ed2496ad5c56b95fd689"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 13 11:42:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 13 11:42:20 2012 -0700"
      },
      "message": "am 3221bf27: am 438a0efc: Do not eject internal ASECs when storage unmounted\n\n* commit \u00273221bf27ff6b8eebf360ed2496ad5c56b95fd689\u0027:\n  Do not eject internal ASECs when storage unmounted\n"
    }
  ],
  "next": "3221bf27ff6b8eebf360ed2496ad5c56b95fd689"
}
