)]}'
{
  "log": [
    {
      "commit": "f69c812f49cb2dea296cd319984e58af026f4c3a",
      "tree": "7a7be10acb82fa01f2c9b028097b7abb3c2b075b",
      "parents": [
        "4a86019aeeed8420c809b94ac07edeff86972108"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 12 17:00:34 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 12 17:00:34 2012 -0700"
      },
      "message": "Wait for installd to finish starting before booting.\n\nFixes a race condition where the system server might\ntry to access /data/user/0 before it was created.  In so\ndoing, the system server could end up creating a directory\nin that location with the wrong permissions and everything\nwould promptly crash.\n\nBug: 7151686\nChange-Id: I349c12fd2b9685d2e7f6305e74f6bf7d5816b752\n"
    },
    {
      "commit": "4a86019aeeed8420c809b94ac07edeff86972108",
      "tree": "63cd5b86b0d51d38d0ebbef2ecbd27b476a3afa8",
      "parents": [
        "f4fd2eb5ee425a29aa2bed4c92ea21ac5fd7fd69"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Wed Sep 12 14:45:58 2012 -0700"
      },
      "committer": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Wed Sep 12 14:45:58 2012 -0700"
      },
      "message": "Temporarily turn off package verification\n\nBug: 7152858\nChange-Id: Ic3b1900e486224dafcf3cce5db13e5f795650b51\n"
    },
    {
      "commit": "8b29d63d0857337057db707549ef1faed39792fd",
      "tree": "99e9d7ec56a459fa67296952848076baf1981109",
      "parents": [
        "8a0e1fefeeefac5024ff1ca1d044caa66b6c36a6",
        "b049e212ab7fe8967893c202efcb30fecfdb82fb"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 23:36:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 23:36:50 2012 -0700"
      },
      "message": "Merge \"Include user identifier in external storage paths.\" into jb-mr1-dev"
    },
    {
      "commit": "b049e212ab7fe8967893c202efcb30fecfdb82fb",
      "tree": "cd6150a7e6152ff4d761a25f1d9d41b0bd9023d0",
      "parents": [
        "b1ee58860280e2dfad63170495393a914ab34804"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Sep 07 23:16:01 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 23:11:14 2012 -0700"
      },
      "message": "Include user identifier in external storage paths.\n\nWhen building external storage paths, always include user in path\nto enable cross-user paths and aid debugging.\n\nEach Zygote process continues to only have access to the appropriate\nuser-specific emulated storage through bind mounts. A second set of\nmounts continue supporting legacy /sdcard-style paths. For example,\na process running as owner has these mount points:\n\n/storage/emulated_legacy\n/storage/emulated_legacy/Android/obb\n/storage/emulated/0\n/storage/emulated/obb\n\nSince Environment is created before Zygote forks, we need to update\nits internal paths after each process launches.\n\nBug: 7131382\nChange-Id: I6f8c6971f2a8edfb415c14cb4ed05ff97e587a21\n"
    },
    {
      "commit": "c7b6ec7a7c8ee33278baddb0889d67042f38daef",
      "tree": "d19f7a51ddaf1ef940165cc9b3e290fd90bcadcf",
      "parents": [
        "5e900e3a17a87e91a0d190bc1c96efc440eb026a",
        "f8f0eddd07d22ab815d97dd32ae6ed52dc31a80c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 11 18:47:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 18:47:37 2012 -0700"
      },
      "message": "Merge \"Improve reporting of wifi connection state.\" into jb-mr1-dev"
    },
    {
      "commit": "5e900e3a17a87e91a0d190bc1c96efc440eb026a",
      "tree": "7b2e545f717855d5969254310d55e45b81e76ff0",
      "parents": [
        "d057e73e7ea9ea665686b0e61d4af7d006f8278d",
        "3e1476a697ad94e638867361a6caba0ede77cb33"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 11 18:16:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 18:16:14 2012 -0700"
      },
      "message": "Merge \"Adding a scaling threshold in ScreenMagnifier\" into jb-mr1-dev"
    },
    {
      "commit": "3e1476a697ad94e638867361a6caba0ede77cb33",
      "tree": "0dc0e161a55fcbfe9c39f70a6db8845035ea2dd6",
      "parents": [
        "d420e3ac94afea65173fd0ae43e13dfa6948bff9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 11 18:15:17 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 11 18:15:17 2012 -0700"
      },
      "message": "Adding a scaling threshold in ScreenMagnifier\n\nChange-Id: I1fdd7c93de571a61d88d7386c5c2a423a6b83fb9\n"
    },
    {
      "commit": "b1ee58860280e2dfad63170495393a914ab34804",
      "tree": "bf554fad19bec20ed41aba8b28210d7ce8e6f2bc",
      "parents": [
        "0585744a2d9402f4197d2a9fdb162058f1492c32",
        "d420e3ac94afea65173fd0ae43e13dfa6948bff9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 11 17:50:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 17:50:53 2012 -0700"
      },
      "message": "Merge \"Refactoring the scale and pan detection in the ScreenMagnifier.\" into jb-mr1-dev"
    },
    {
      "commit": "d420e3ac94afea65173fd0ae43e13dfa6948bff9",
      "tree": "62562e7a8a4848cc5114b943f38eb56f20ed34a2",
      "parents": [
        "9b4125e435b6bc8f8bd2f6e569d9b0b296ab16ef"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 11 17:48:23 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 11 17:48:28 2012 -0700"
      },
      "message": "Refactoring the scale and pan detection in the ScreenMagnifier.\n\nChange-Id: I8560f53f88ef0c9244e2b48d40119574cacb544f\n"
    },
    {
      "commit": "f8f0eddd07d22ab815d97dd32ae6ed52dc31a80c",
      "tree": "ae25ebfe8cc11a0be6e2c13037e9ec951c6df612",
      "parents": [
        "59c53c6224e2f84d31a56854ebe90d22055100d2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 11 17:05:11 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 11 17:05:11 2012 -0700"
      },
      "message": "Improve reporting of wifi connection state.\n\nWe should only report that the wifi display is connected\nafter the RTSP connection has been fully established.\n\nChange-Id: Ifc6bc5d5cebd42d551026885b31cbc74b7ece2b1\n"
    },
    {
      "commit": "0bb4d078afeadf4996240d0ac41514c28e5f795a",
      "tree": "0f24363d2606f701244da50aba4ef0aeec63648b",
      "parents": [
        "85cf4a15197391c99720c85951655ef19c3cd157",
        "9b4125e435b6bc8f8bd2f6e569d9b0b296ab16ef"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 11 15:52:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 15:52:33 2012 -0700"
      },
      "message": "Merge \"Screen magnifier should handle window rebuilds correctly.\" into jb-mr1-dev"
    },
    {
      "commit": "9b4125e435b6bc8f8bd2f6e569d9b0b296ab16ef",
      "tree": "3ccbd3af666bdd08329f9aeecefdb4318735ae91",
      "parents": [
        "ee6c6ae5b2111bbb602dbc8030ba3c8eb014cc6e"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 11 15:36:44 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 11 15:50:58 2012 -0700"
      },
      "message": "Screen magnifier should handle window rebuilds correctly.\n\n1. The way for computing the magnified region was simplistic and\n   incorrect. It was ignoring window layering resulting in broken\n   behavior. For example, if the IME is up, then the everything else\n   is magnifed and the IME not. Now the keyguard appears and covers\n   the IME but the magnified region does not expand while it would\n   since the keyguard completely covers the not magnified IME window.\n\nbug:7138937\n\nChange-Id: I21414635aefab700ce75d40f3e913c1472cba202\n"
    },
    {
      "commit": "9ba2a188919e6e5bf8c042b26527fc090de677ef",
      "tree": "ffe81460ca6a2f255d7cb6fe93a79fb0b081a72a",
      "parents": [
        "faed98a161f58441ebce3dcb08cd8bf76a76da4e",
        "59c53c6224e2f84d31a56854ebe90d22055100d2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 11 13:56:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 13:56:04 2012 -0700"
      },
      "message": "Merge changes I4ad08873,If0562677,I5fe6ba32 into jb-mr1-dev\n\n* changes:\n  Don\u0027t auto-discover peers until scan requested.\n  Use wfdInfo to filter available sinks.\n  Allow adb shell am display-size to use bigger sizes.\n"
    },
    {
      "commit": "aec914b1301b9608053b77318c8ea86fa162f14d",
      "tree": "9eb8a821f8fee4f63c05d9a3880179cd2d0feacd",
      "parents": [
        "ea42443e35f04ebd5c8fd6b6b2fc362e2534cb9a",
        "0aa2d42e87e4a1ed5b83f356690e465d6a3587cc"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Tue Sep 11 13:18:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 13:18:14 2012 -0700"
      },
      "message": "Merge \"Adding notion of keyguard widgets\" into jb-mr1-dev"
    },
    {
      "commit": "59c53c6224e2f84d31a56854ebe90d22055100d2",
      "tree": "71d8f4378b724a73eb8b0f05ebfd3c7c21be6992",
      "parents": [
        "0f68d166e6ca45fe27410ea520967275e0733757"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 11 12:21:55 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 11 12:21:55 2012 -0700"
      },
      "message": "Don\u0027t auto-discover peers until scan requested.\n\nChange-Id: I4ad08873567a5ac86e9bd46abd2375b183e2e95b\n"
    },
    {
      "commit": "0f68d166e6ca45fe27410ea520967275e0733757",
      "tree": "4cf47e803d6271bbd5f63502ed0fdb1f2a8dad6c",
      "parents": [
        "43aa15912891930833edfc101615a9c881de54a1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 11 12:18:15 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 11 12:18:15 2012 -0700"
      },
      "message": "Use wfdInfo to filter available sinks.\n\nChange-Id: If056267738f70835af645a8c6e7a91c0c5407816\n"
    },
    {
      "commit": "a36180925bdbde9308f9ae6d27dd5fbadb2fa511",
      "tree": "7a7afe6ba9f7593af1c30b350f766b9dfe0a0ce4",
      "parents": [
        "8015f039c744fb59c14920550705af958fc3c86d",
        "9bbd70a96397bd5f1445ad6c21977fccfb350dfa"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 11 11:13:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 11:13:53 2012 -0700"
      },
      "message": "Merge \"Remove \"unlinklib\" command from installd\" into jb-mr1-dev"
    },
    {
      "commit": "faea76ff8bc9a350765873af81334afe4d14afbd",
      "tree": "c43f8ca46dc94f71346ce084c353a629cef21b07",
      "parents": [
        "9f750af6c178d8abb5c12d34efba599e3d53aea4"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Sep 11 10:59:48 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Sep 11 10:59:48 2012 -0700"
      },
      "message": "Enforce a user limit\n\nBy default only 1 user is allowed. Some devices permit more than 1.\nSet the real user limit in a device overlay for config.xml\n\nChange-Id: I2e0bffa13393b954fcd20e55b92f20de980c58c0\n"
    },
    {
      "commit": "9bbd70a96397bd5f1445ad6c21977fccfb350dfa",
      "tree": "c743afec7bf0debfd58239d2a2bf5898d8cba94e",
      "parents": [
        "9f750af6c178d8abb5c12d34efba599e3d53aea4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Sep 10 11:13:36 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 11 10:55:17 2012 -0700"
      },
      "message": "Remove \"unlinklib\" command from installd\n\nunlinklib is no longer necessary since libraries are now either stored\nin an ASEC container or in /data/app-lib\n\nReplace lib directory with a symlink to the /data/app-lib directory even\nif it\u0027s a dangling link. That way developers don\u0027t name something \"lib\"\nin their directory which gets blown away during an update.\n\nChange-Id: I142cf13dba9c13aafbaf0ff8d5e9872cbf1cc910\n"
    },
    {
      "commit": "0aa2d42e87e4a1ed5b83f356690e465d6a3587cc",
      "tree": "ce6f9c5fddd8d6664a8b369b04c7b271a86392a6",
      "parents": [
        "ce3ef0abaa17b12dc0626b06421d58bf06974ae2"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Sep 07 17:37:26 2012 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Tue Sep 11 10:53:57 2012 -0700"
      },
      "message": "Adding notion of keyguard widgets\n\n-\u003e Persisting certain appwidget options\n-\u003e Adding ability to specify appwidget options on bind\n   so as to avoid AppWidgetProvider update call with no\n   options.\n\nChange-Id: I5631039f19f1822b8e123b559b6353c880c0192e\n"
    },
    {
      "commit": "9d9ece3c1e16001b63244459cdf4b428f4272d2e",
      "tree": "55fd2ecdeaaa791af1d21083482367d5b4d75d76",
      "parents": [
        "ce3ef0abaa17b12dc0626b06421d58bf06974ae2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 10 15:33:52 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 10 19:58:21 2012 -0700"
      },
      "message": "Animations for user switching.\n\nThe window manager now has a facility to provide a full-screen\nanimation, which the activity manager uses every time a user\nswitch happens.\n\nThe current animation is just a simple dumb slide until we get\na design from UX.\n\nAlso some cleanup: moved the portrait task animations to the\ndefault config so we always have an animation for them, and finally\ngot the java symbol stuff out of public.xml.\n\nChange-Id: I726f77422b2ef5f2d98f961f8da003e045f0ebe8\n"
    },
    {
      "commit": "ce3ef0abaa17b12dc0626b06421d58bf06974ae2",
      "tree": "c7c61a52ea31247d9e7fa070914d5fa461142f0a",
      "parents": [
        "befab9e6b8fcb69cc656bb851ddc7ad7dfa6a7db",
        "36e614c110dad174dea6017eb701f55339aee200"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 18:21:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 18:21:13 2012 -0700"
      },
      "message": "Merge \"Screen magnification should disengage on screen off.\" into jb-mr1-dev"
    },
    {
      "commit": "36e614c110dad174dea6017eb701f55339aee200",
      "tree": "93e9aaa78d1090cc4fce72e9fe88fab26032ca7c",
      "parents": [
        "86fe9e14f1a816df32b08e0eb677989cc7444948"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 18:16:02 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 18:16:05 2012 -0700"
      },
      "message": "Screen magnification should disengage on screen off.\n\n1. When the screen goes off the user will be in a completely\n   different context upon turning the screen on. Therefore,\n   if magnification auto update is enabled magnification\n   will be disengaged on screen off.\n\nbug:7139088\n\nChange-Id: I790cfa5b3cf31d34e95fc9548e6246a84096c37b\n"
    },
    {
      "commit": "43aa15912891930833edfc101615a9c881de54a1",
      "tree": "efc406d48cce0d3ae7e1b299ffba0c65646cb089",
      "parents": [
        "df46c637550b4c6f0543574cfbd544329f48f5c7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 10 17:36:31 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 10 17:50:18 2012 -0700"
      },
      "message": "Allow adb shell am display-size to use bigger sizes.\n\nWe now support scaling the logical display to fit the\nphysical display, whatever size it is.  So we can allow\nadb shell am display-size to use more or less arbitrary sizes\nalthough we do enforce an upper and lower bound to\nprotect the user.\n\nChange-Id: I5fe6ba32ad1f9e4fbcd6915f7d36850b987bbcc0\n"
    },
    {
      "commit": "3c396fccd52f9d06b453b655c20c2266dd984d19",
      "tree": "332741542591b72fe2ae6556f3c395bbd49f069f",
      "parents": [
        "4e2eb6581f8ee91166cbfd80b531f628dedab89a",
        "86fe9e14f1a816df32b08e0eb677989cc7444948"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 17:41:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 17:41:28 2012 -0700"
      },
      "message": "Merge \"Reducing the click delay while screen magnification is enabled.\" into jb-mr1-dev"
    },
    {
      "commit": "86fe9e14f1a816df32b08e0eb677989cc7444948",
      "tree": "adb94ea4e497070c0d2fd4eb6903bc8b2cc5c774",
      "parents": [
        "662538957f12a7b7c534382a6a4f306d5777375b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 17:35:32 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 17:35:35 2012 -0700"
      },
      "message": "Reducing the click delay while screen magnification is enabled.\n\n1. If screen magnification is enabled the user has to triple tap\n   and lift or triple tap and hold to engage magnification. Hence,\n   we delay the touch events until we are sure that it is no longer\n   possible for the user to perform a multi-tap to engage\n   magnification. While such a delay is unavoidable it feels a\n   bit longer than it should be. This change reduces the delay\n   between taps to be considered a multi-tap, essentially making\n   the click delay shorter.\n\nbug:7139918\n\nChange-Id: I2100945171fff99600766193f0effdaef1f1db8f\n"
    },
    {
      "commit": "4e2eb6581f8ee91166cbfd80b531f628dedab89a",
      "tree": "58eadc771686ee8635e0cbcefcbfddeba046852a",
      "parents": [
        "53d13ecd9a5e4de183e463faba832863f6b95103",
        "c09cdce1b05075da808ae080b9905a14a3e1e627"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 10 17:16:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 17:16:17 2012 -0700"
      },
      "message": "Merge \"Update airplane-mode manipulation for the new Settings namespace\" into jb-mr1-dev"
    },
    {
      "commit": "53d13ecd9a5e4de183e463faba832863f6b95103",
      "tree": "4594b439cec0ca1ea9bff4a866b0df5b84b9eda0",
      "parents": [
        "3c5dab46a73a178dd8e12ee269aae1ac9dfa64de",
        "e215f26f74744535bcc0209f2a0a0e4a9f36fd82"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 10 17:07:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 17:08:36 2012 -0700"
      },
      "message": "Merge \"Fix adb am display-size.\" into jb-mr1-dev"
    },
    {
      "commit": "3c5dab46a73a178dd8e12ee269aae1ac9dfa64de",
      "tree": "2c15c79a91623751d55e00415333fad47edff44f",
      "parents": [
        "2e7d0cb592381e2efd9b86d5ee38d8ec657b6a1a",
        "83d616a9c7b9505153d258511eb5c16b552e268d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 10 17:06:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 17:07:17 2012 -0700"
      },
      "message": "Merge \"Make input system aware of multiple displays.\" into jb-mr1-dev"
    },
    {
      "commit": "2e7d0cb592381e2efd9b86d5ee38d8ec657b6a1a",
      "tree": "e6defee8a95db8dea47f4fc81bab6f88f1202433",
      "parents": [
        "662538957f12a7b7c534382a6a4f306d5777375b",
        "ddbe50df2ca70700a46e5849347989b520d1113e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Sep 10 17:05:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 17:05:47 2012 -0700"
      },
      "message": "Merge \"Move native libraries to /data/app-lib\" into jb-mr1-dev"
    },
    {
      "commit": "c09cdce1b05075da808ae080b9905a14a3e1e627",
      "tree": "0ed7854c9d6c19e30d16fd4b4fdf652d301deb5e",
      "parents": [
        "009ea5a04c38dd209b73d28cb867f05e63ec89cc"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 10 16:50:14 2012 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 10 16:50:57 2012 -0700"
      },
      "message": "Update airplane-mode manipulation for the new Settings namespace\n\nQuick Settings and global actions (aka longpress-Power) toggles are\nincluded in this CL.  The Settings app manipulations are updated in\na different CL because that\u0027s a different git package.\n\nBug 7132230\n\nChange-Id: I50838f5e8d7b25a750d2bcae90bf384b09816dbb\n"
    },
    {
      "commit": "662538957f12a7b7c534382a6a4f306d5777375b",
      "tree": "12da183d8c4b870aa976d3df954d7b5513da3534",
      "parents": [
        "bdf8fa0c1b762d82b056fa8d929ceaff47ae241b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 16:34:53 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 16:41:07 2012 -0700"
      },
      "message": "Scaling in viewport moving state locks into a magnified state.\n\n1. If the user changes the magnification level while moving the\n   viewport the magnification is locked. The gesture handle has\n   to put device back into a viewport moving state if this was\n   the last state.\n\nbug:7139363\n\nChange-Id: I24992b973bb15624580114353b004efdb35c2faa\n"
    },
    {
      "commit": "e35c54eb14baee2401efd525b5594f0211971d12",
      "tree": "c2b84e651e1f6d7b860c4fca819872b5d68c89fb",
      "parents": [
        "bc91c5f8b175c20f7e63ee245bd70c7e7bba2ba5",
        "6d04712d15e4fe9b44b0d9accf073f5a7f1d334a"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 16:03:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 16:03:11 2012 -0700"
      },
      "message": "Merge \"Allow simultaneous scale and pan in magnified state.\" into jb-mr1-dev"
    },
    {
      "commit": "e215f26f74744535bcc0209f2a0a0e4a9f36fd82",
      "tree": "fa4c76e7e1dbaaa728a6fc2b6d268ed5ab11dad2",
      "parents": [
        "83d616a9c7b9505153d258511eb5c16b552e268d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 10 16:01:14 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 10 16:01:14 2012 -0700"
      },
      "message": "Fix adb am display-size.\n\nThere were several problems resulting from the use of\nmDefaultDisplay before displayReady() was called.\nAs it happens, we don\u0027t need mDefaultDisplay becase we\ncan get the information from the default display content.\n\nAlso modified the Configuration calculations to never\nchoose a SQUARE orientation.  The constant is deprecated\nand documented as no longer used, so we should make that\nbe the case.\n\nChange-Id: I326ed7100030a81e24411e898e5243f28895ea22\n"
    },
    {
      "commit": "6d04712d15e4fe9b44b0d9accf073f5a7f1d334a",
      "tree": "3155ef965ba75798ef7bfd5a3a22634c86f13202",
      "parents": [
        "0c381504a8fce293b3b9ef8ad0333849c43eb6a4"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 15:57:10 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 15:57:13 2012 -0700"
      },
      "message": "Allow simultaneous scale and pan in magnified state.\n\n1. Before in magnified state the user was able to only scale or\n   pan. Based on user input this change allows performing pan\n   or scale or both. If the user scales more than a threshold\n   we are performing a scale and independently of that if the\n   use pans more than a threshold we are performing a pan.\n\nbug:7138928\n\nChange-Id: Ic1511500ba3369091dcfd070669d3e4f0286fbe5\n"
    },
    {
      "commit": "83d616a9c7b9505153d258511eb5c16b552e268d",
      "tree": "4df9620550008dc0e3e0daf21f442b9fe6cc8051",
      "parents": [
        "7a8cce3d8a6fb781d840ddf60324a301f5a3f2d9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 09 20:33:43 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 10 15:48:47 2012 -0700"
      },
      "message": "Make input system aware of multiple displays.\n\nThe input system needs to know about the window that has\nfocus, even if it is on a secondary display.  So now we\nsend it the list of all windows and indicate which display\nthey are on.  We filter the list of windows as necessary\nwhen delivering touch events.\n\nTo keep things simple, monitor input channels and input\nfilters are not supported except on the main display.\nWe also do not pass the display id to applications; it is\nonly used inside the input system for now.\n\nProperly scale touch coordinates based on the viewport.\nThis will be needed to ensure that touch works on external\ndisplay as well as when the internal display is being used\nto simulate a different resolution.\n\nChange-Id: I1815579a52fcc852c519b5391fc7ab8767c2dc59\n"
    },
    {
      "commit": "4573e29faf40983f9d1df99bb0f506d77a868e05",
      "tree": "fc3c3d39f54d21efaf2d2e9327c143ae9eb6a2eb",
      "parents": [
        "d7f5a51baf2c46436dc5bac3807fb0d46cbff304",
        "1676c856d61b97c871dc2be0cb1f1fb1e12e24e9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 10 15:39:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 15:39:02 2012 -0700"
      },
      "message": "Merge \"Flesh out multi-user in am commands.\" into jb-mr1-dev"
    },
    {
      "commit": "1676c856d61b97c871dc2be0cb1f1fb1e12e24e9",
      "tree": "7352f5bccdec8d7b9d90f9fb1d43dfa901e00f4a",
      "parents": [
        "41bd89f6b61296492d3775e5ef30e94c5f18d34f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 10 14:52:30 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 10 14:52:30 2012 -0700"
      },
      "message": "Flesh out multi-user in am commands.\n\nNow we default to the current user instead of user 0 for most commands\n(except where we can do the command for all users).\n\nMany more commands take a user argument: force-stop, kill, profile,\ndumpheap.\n\nImproved help text.\n\nChange-Id: I719a13b4d31b668f57ca21e51d7043ac3e0d4e1b\n"
    },
    {
      "commit": "ddbe50df2ca70700a46e5849347989b520d1113e",
      "tree": "7419836bff89eb85edf825fc26339515869b08fb",
      "parents": [
        "3c1a20118739fd6765e128c5d9c39c01d22a89e7"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 06 13:18:37 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Sep 10 11:54:36 2012 -0700"
      },
      "message": "Move native libraries to /data/app-lib\n\nInstead of unpacking libraries into /data/data/\u003cappname\u003e/lib, unpack\nthem into /data/app-lib so that multi-user applications can use the same\nlibraries.\n\nChange-Id: I636dafb5a9eea8cf5a41f1360698e7695455f385\n"
    },
    {
      "commit": "dcc036c54457943afeadf40922a9dacfe29f30e1",
      "tree": "6d1ced331d9fc227fec3a621f7ece67662c439a5",
      "parents": [
        "1434e29ac6a157130c9882606ca577567c91ddc4",
        "5e0cc0d7ab29e5fbd11316cd3147ef96d65f8de7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 10 11:41:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 11:41:23 2012 -0700"
      },
      "message": "Merge \"Fix port logic in WifiDisplayController.\" into jb-mr1-dev"
    },
    {
      "commit": "5e0cc0d7ab29e5fbd11316cd3147ef96d65f8de7",
      "tree": "d0ee0cf5d79e0532aca0605bfc5b98adaedf4940",
      "parents": [
        "753e1280cbc3f0006b04f67385f02e1f92019f7d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 10 11:35:15 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Sep 10 11:35:15 2012 -0700"
      },
      "message": "Fix port logic in WifiDisplayController.\n\nIt\u0027s not the port advertised in the sink\u0027s wfd IE, it\u0027s the one our\nsource broadcasts in its wfd IE. In addition some dongles ignore the\nbroadcast port and have to be special cased.\n\nChange-Id: Id5d279652e336391ba34dfc30bba700043d49b1d\n"
    },
    {
      "commit": "7e8f6c4cef8d65c5b470fc8700214e28d8cd4d43",
      "tree": "ef33216d9801e71f20d37a9dcaddae2476b819dc",
      "parents": [
        "3c1a20118739fd6765e128c5d9c39c01d22a89e7",
        "0c381504a8fce293b3b9ef8ad0333849c43eb6a4"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 10:54:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 10:54:26 2012 -0700"
      },
      "message": "Merge \"Improve scaling vs pan in screen magnifier.\" into jb-mr1-dev"
    },
    {
      "commit": "0c381504a8fce293b3b9ef8ad0333849c43eb6a4",
      "tree": "0d348d32c00f423a63332f3fdc18b24542564b31",
      "parents": [
        "add52a975aa78d9e24d3e63a8168c00a9bfb80ec"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 10:48:58 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 10 10:49:04 2012 -0700"
      },
      "message": "Improve scaling vs pan in screen magnifier.\n\n1. Due to frequent changes of the behavior of ScaleGestureDetector\n   this patch rolls in a gesture detector used for changing the\n   screen magnification level. It has an improved algorithm which\n   uses the diameter of min circle around the points as the span, the\n   center of this circle as the focal point, and the average slop\n   of the lines from each pointer to the center to determine the\n   angle of the diameter used when computing the span x and y.\n\nChange-Id: I5cee8dba84032a0702016b8f9632f78139024bbe\n"
    },
    {
      "commit": "3c1a20118739fd6765e128c5d9c39c01d22a89e7",
      "tree": "b0142d573ce4b2d42195c40ad81eb69960a5daa5",
      "parents": [
        "753e1280cbc3f0006b04f67385f02e1f92019f7d",
        "b7a685978f3ea8a1514166c6986c1f1bacedab4a"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 10 10:27:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 10 10:27:13 2012 -0700"
      },
      "message": "Merge \"Fix DevicePolicyManager crash when settings password quality (and possibly others).\" into jb-mr1-dev"
    },
    {
      "commit": "b7a685978f3ea8a1514166c6986c1f1bacedab4a",
      "tree": "3d36bef639199f03e228434802be16cb5740350d",
      "parents": [
        "25c925e6659e57f1cc8fef83be07f3917a108e3c"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 10 10:24:36 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 10 10:24:36 2012 -0700"
      },
      "message": "Fix DevicePolicyManager crash when settings password quality (and possibly others).\n\nBug: 7130570\n\nClear the calling identity before broadcasting to all users.\n\nChange-Id: Ibe84af1ee00aecfe4b2d5bb7731a952f617b4885\n"
    },
    {
      "commit": "01a7c79dda60c572af0db5820a66680d0faf95cf",
      "tree": "77d3eec6928a22d9c68c6ce976c171d55880f7ae",
      "parents": [
        "3e6d426d8d28e172af6b62c7b9e4b70c25c5facb",
        "2d1b37819112274f538d1886c379ff337eb0d9ed"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 09 18:19:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 09 18:19:50 2012 -0700"
      },
      "message": "Merge \"Various fixes.\" into jb-mr1-dev"
    },
    {
      "commit": "2d1b37819112274f538d1886c379ff337eb0d9ed",
      "tree": "dee875ee15fb5d64d8e1445491d0c828bf8a34cf",
      "parents": [
        "5de4d989fbc08cf5135c07a74e2062bf64af95f1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 09 17:49:39 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 09 18:14:32 2012 -0700"
      },
      "message": "Various fixes.\n\nBug #7132226: Can\u0027t start instrumentation due to ActivityManagerService crash\nBug #6912004: tap on gmail notification sends me to home screen\n\nChange-Id: I824128b01f368de95dee288f8e49039b84479a7e\n"
    },
    {
      "commit": "69d6b534335afc883077927b9abb0f94568d298d",
      "tree": "bd4a96e91baacaf3eee9a2162accbca7ca2f4a83",
      "parents": [
        "5de4d989fbc08cf5135c07a74e2062bf64af95f1",
        "5455f6826f832ed0f07d28a772f4489d7223acb3"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 09 15:14:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 09 15:14:56 2012 -0700"
      },
      "message": "Merge \"Update PackageSetting flags when updating\" into jb-mr1-dev"
    },
    {
      "commit": "5455f6826f832ed0f07d28a772f4489d7223acb3",
      "tree": "a28785d1a9e76ba0fe0ee45befd2bb89d0779bd2",
      "parents": [
        "25c925e6659e57f1cc8fef83be07f3917a108e3c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 09 14:52:10 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 09 15:12:00 2012 -0700"
      },
      "message": "Update PackageSetting flags when updating\n\nCommit 5e03e2ca7d25b899b129baad2dd5eca6bf99d88a moved from\nPacakgeParser.Package to PackageSetting which revealed that we weren\u0027t\nupdating the pkgFlags when replacing an existing application.\n\nAdd flags to PackageSetting so that deletion of the package later succeeds.\n\nChange-Id: I2e0d4e07da31f48b68601f3f3240966b6e17dbdf\n"
    },
    {
      "commit": "fdb5bd261d7836b5f7e9c20d75709ca978d6eb18",
      "tree": "dc48bbe6fdeae60c041909abd97b31d7cc373292",
      "parents": [
        "25c925e6659e57f1cc8fef83be07f3917a108e3c",
        "21c7153d30071dcbeb92daa1fd48ed181e42aef3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 09 13:29:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 09 13:29:19 2012 -0700"
      },
      "message": "Merge \"Disable wifi display API when the adapter is not registered.\" into jb-mr1-dev"
    },
    {
      "commit": "21c7153d30071dcbeb92daa1fd48ed181e42aef3",
      "tree": "564e7ff89a05f3baa84322e63514579ff907cb2d",
      "parents": [
        "a3909a93958676d341424d574752bc7b3280d421"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 09 13:26:55 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 09 13:28:04 2012 -0700"
      },
      "message": "Disable wifi display API when the adapter is not registered.\n\nBug: 7132341\nChange-Id: I46d859082077afd2c8adc829ad285977dff80d07\n"
    },
    {
      "commit": "0c191624fba8484e811027a9db40a62a960ab7dc",
      "tree": "58c22c2bb7a920b6740da3e3268ebff01a308f80",
      "parents": [
        "add52a975aa78d9e24d3e63a8168c00a9bfb80ec"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sat Sep 08 17:03:48 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 09 12:12:43 2012 -0700"
      },
      "message": "Remove \"protect\" command from installd\n\nNo one uses the \"protect\" command anymore, so remove it from installd.\n\nChange-Id: Ia990bae6f95cd6e317496f5dd173ec15164d7164\n"
    },
    {
      "commit": "add52a975aa78d9e24d3e63a8168c00a9bfb80ec",
      "tree": "57f934a710edbba70b517cd88a3da715564efc0d",
      "parents": [
        "5b1720e11d3d5a23c4b0406e1c51e8cd8275f25f"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Sep 09 11:13:53 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Sep 09 11:13:58 2012 -0700"
      },
      "message": "Viewport should zoom out when screen magnification is disabled.\n\n1. If screen magnification is disabled when the screen is in a\n   magnified state we have to zoom out since otherwise the user\n   is stuck in a magnified state without ability to pan/zoom/\n   toggle magnification which renders the device useless.\n\nbug:7131030\n\nChange-Id: I8f3339f31310448ec8742f3101c1fdc61a6a5f83\n"
    },
    {
      "commit": "5b1720e11d3d5a23c4b0406e1c51e8cd8275f25f",
      "tree": "77ebbbfddcd50d7e1b222573a2ff416d6488e5dc",
      "parents": [
        "a3909a93958676d341424d574752bc7b3280d421",
        "6d0df874ce235872bd5fdd4d3bce0905869a099d"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Sep 09 10:50:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 09 10:50:34 2012 -0700"
      },
      "message": "Merge \"Viewport should zoom out when screen magnification is disabled.\" into jb-mr1-dev"
    },
    {
      "commit": "6d0df874ce235872bd5fdd4d3bce0905869a099d",
      "tree": "34a8ae2c0fc32984491a1ffac01637cf7e769bdd",
      "parents": [
        "970683c5d42a1d8588d656d4e570ce4f0f6e0abc"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Sep 09 10:46:07 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Sep 09 10:46:10 2012 -0700"
      },
      "message": "Viewport should zoom out when screen magnification is disabled.\n\n1. If screen magnification is disabled when the screen is in a\n   magnified state we have to zoom out since otherwise the user\n   is stuck in a magnified state without ability to pan/zoom/\n   toggle magnification which renders the device useless.\n\nbug:7131030\n\nChange-Id: Ia620954fbd594e7cd470e43b89d9ed04c0397c3c\n"
    },
    {
      "commit": "20ec8ac58665e6e2991988c134ba3b8590911648",
      "tree": "20840cb0add2f3ac2567f35e0a29bc520b51dce6",
      "parents": [
        "8f008e737a84be289d07cc603f98da1bbbfcf837",
        "180bbc71810496e280e9993177bfeddb3ad1f558"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 09 00:23:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 09 00:23:59 2012 -0700"
      },
      "message": "Merge \"Improve Wifi display discovery API.\" into jb-mr1-dev"
    },
    {
      "commit": "180bbc71810496e280e9993177bfeddb3ad1f558",
      "tree": "62a8223a7236beebb5857ac180c08dbaa270e1a9",
      "parents": [
        "8e810132315ba6ce2e1f3dca5e91fd34e42a44d8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 23:15:00 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 23:15:00 2012 -0700"
      },
      "message": "Improve Wifi display discovery API.\n\nChange-Id: I4d46503e5413f52da16f79bbc9c631cc5ae9c178\n"
    },
    {
      "commit": "8f008e737a84be289d07cc603f98da1bbbfcf837",
      "tree": "ecee40394e369eb79733d77c8157fe0d547e4066",
      "parents": [
        "8e810132315ba6ce2e1f3dca5e91fd34e42a44d8",
        "151ec4c9f8ca34625733730a4551a23eb97cda23"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sat Sep 08 20:20:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 08 20:20:57 2012 -0700"
      },
      "message": "Merge \"More multi-user methods in PM\" into jb-mr1-dev"
    },
    {
      "commit": "151ec4c9f8ca34625733730a4551a23eb97cda23",
      "tree": "9a0ab8bed19904dce51ae3d23f5ff72c0581b7e2",
      "parents": [
        "4aacf93d40b4be82aa35bf164d6fd6536c8b2a50"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Sep 07 19:25:16 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sat Sep 08 19:14:00 2012 -0700"
      },
      "message": "More multi-user methods in PM\n\npm can list installed packages by user now.\n\nBug: 6926465\n\nChange-Id: I822311bfd6e7e2d6fb315fc484739fbf953c9bb6\n"
    },
    {
      "commit": "8e810132315ba6ce2e1f3dca5e91fd34e42a44d8",
      "tree": "dbc1a40295fa4a2153bd118a64b90d0c1efb17d0",
      "parents": [
        "a4a2bee79a5ff8a2e6887a0135ed79b7b733891d",
        "d728bf514f257670fcb9aa22c6eaf97626072c93"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 18:19:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 08 18:19:14 2012 -0700"
      },
      "message": "Merge \"Make display manager tell input system about viewports.\" into jb-mr1-dev"
    },
    {
      "commit": "d728bf514f257670fcb9aa22c6eaf97626072c93",
      "tree": "dedf4c8771ab1e1b618ea0d75e5f8328b0bfe83a",
      "parents": [
        "631938f26dbc89e7e9530bb85d9f37706dba59f3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 18:05:28 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 18:12:57 2012 -0700"
      },
      "message": "Make display manager tell input system about viewports.\n\nThe window manager is no longer responsible for telling the\ninput system about the display viewport.\n\nChange-Id: I932882bae55decef55f25093bb2a7ebac1620bb1\n"
    },
    {
      "commit": "1edf63ef4c7484355a6d9371bea912d6518a7d1e",
      "tree": "4f752dce6c9e284173e5b53c290e1d331330ed0a",
      "parents": [
        "b0d10aa9831fb74a28db63cac9d111559bed62ab",
        "631938f26dbc89e7e9530bb85d9f37706dba59f3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 15:53:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 08 15:53:50 2012 -0700"
      },
      "message": "Merge \"Enable auto-brightness adjustment feature with system prop.\" into jb-mr1-dev"
    },
    {
      "commit": "631938f26dbc89e7e9530bb85d9f37706dba59f3",
      "tree": "e4e3db806dab82891a06003afd13d72dd6b0fa35",
      "parents": [
        "e08ae388d63c4db8f9d9a7ecd634f9a51f6e91b9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 15:11:11 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 15:11:11 2012 -0700"
      },
      "message": "Enable auto-brightness adjustment feature with system prop.\n\nThis feature is experimental and disabled by default.\n\nChange-Id: I183534370da7613557e4d1535f556873f8a763df\n"
    },
    {
      "commit": "b0d10aa9831fb74a28db63cac9d111559bed62ab",
      "tree": "dfd31def6a69fabc757931cb700a3bdce88cb489",
      "parents": [
        "0597100f9127ddc0b638eb044872f138f4d3e4a8",
        "e08ae388d63c4db8f9d9a7ecd634f9a51f6e91b9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 14:55:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 08 14:55:02 2012 -0700"
      },
      "message": "Merge \"Add new wifi display discovery API.\" into jb-mr1-dev"
    },
    {
      "commit": "0597100f9127ddc0b638eb044872f138f4d3e4a8",
      "tree": "0be8cef15ac04e829be560603fbdfd7a4a35f1e4",
      "parents": [
        "f82b58368e1bd502f82ad7791647c5922ba5d0c0",
        "0cfebf28b15e85a42981a8f9e6a09556bef36ea3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 14:53:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 08 14:53:58 2012 -0700"
      },
      "message": "Merge \"Retry wifi display connections.\" into jb-mr1-dev"
    },
    {
      "commit": "e08ae388d63c4db8f9d9a7ecd634f9a51f6e91b9",
      "tree": "ca429e688d16f11dc82410cee03c9d53da96626a",
      "parents": [
        "0cfebf28b15e85a42981a8f9e6a09556bef36ea3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 07 20:36:36 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 14:53:34 2012 -0700"
      },
      "message": "Add new wifi display discovery API.\n\nThe API is quite simple.  There are a few extra functions\non DisplayManager to scan, connect and disconnect from\nwifi displays and get status, and a single protected\nbroadcast sent when the status changes.\n\nChange-Id: Ic91dbab5ee818e790b27fa32e1a1e93788793be0\n"
    },
    {
      "commit": "4ea283a05f3724285ed3057ff1de1a344ab3e15a",
      "tree": "5f133fca36a2f09551e1d131e534da4141486eeb",
      "parents": [
        "be6024d57140a81883e6c5a27cae56a7d31d10dc",
        "e7287a0791b7398a540c18894972908683456283"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Sep 07 18:38:09 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 18:40:12 2012 -0700"
      },
      "message": "Merge \"Sanity-check existence of restore agent\" into jb-mr1-dev"
    },
    {
      "commit": "5d75052b2da7ed7c153faea69a28f13a4000788f",
      "tree": "7887ad19c1707e193b2ad2d8f6367994e937aeef",
      "parents": [
        "ddb12e845d7c5eae7a6bca6af17702f9bc619ae9",
        "74ee8652e02fc94901177214fc9370659732c921"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 07 18:35:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 18:35:02 2012 -0700"
      },
      "message": "Merge \"Add Binder.getCallingUserHandle().\" into jb-mr1-dev"
    },
    {
      "commit": "74ee8652e02fc94901177214fc9370659732c921",
      "tree": "d3b5c4848416a4957342f36b326364fb20d8e45e",
      "parents": [
        "d888399ad4a4ec0a08e97518bf22d726a8bd4eaa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 07 18:33:18 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 07 18:33:18 2012 -0700"
      },
      "message": "Add Binder.getCallingUserHandle().\n\nChange-Id: I2a7eedfdc7baeeb4c2cd2ca0153aa95e0cf0bf45\n"
    },
    {
      "commit": "e7287a0791b7398a540c18894972908683456283",
      "tree": "f7b7b0ac36fcce903c57a2a76e509e2efda56b72",
      "parents": [
        "965e7ff4de117a9681b04e84573cb5924efdd6d9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Sep 07 18:32:12 2012 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Sep 07 18:32:12 2012 -0700"
      },
      "message": "Sanity-check existence of restore agent\n\nWhen a restore dataset includes data for an app that used to have\na backup agent, but does not in the currently-installed version, we\nwere merrily trying to bring up the agent for restore anyway, and\ncrashing.  Now we don\u0027t do that; we check whether there\u0027s actually\ngoing to be an agent to handle the data before doing any of the\nheavy work.\n\nBug 7130695\n\nChange-Id: I0a38c2a8bb51d4a140a72d22896fa58d98ebaa02\n"
    },
    {
      "commit": "824b959dfc830f3d0aa12afc5fb429980e35f3fd",
      "tree": "3c52c7bc7d2f939986b14ef6057c5d59ac40b58d",
      "parents": [
        "4d0b56255489efc3b35b9f0187f56536f07d5d66",
        "d888399ad4a4ec0a08e97518bf22d726a8bd4eaa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 07 18:01:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 18:01:23 2012 -0700"
      },
      "message": "Merge \"Explicitly specify current user everywhere home is started.\" into jb-mr1-dev"
    },
    {
      "commit": "0cfebf28b15e85a42981a8f9e6a09556bef36ea3",
      "tree": "181013a11332fcc2e13cf0bcaa48e71d76fa7e95",
      "parents": [
        "4b71e4e66cd12d581d4939bab86ec624d27eb570"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 07 17:41:20 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 07 17:50:58 2012 -0700"
      },
      "message": "Retry wifi display connections.\n\nChange-Id: I48c62c7e272c2696022ddeea1c3107d24a9431b8\n"
    },
    {
      "commit": "4d0b56255489efc3b35b9f0187f56536f07d5d66",
      "tree": "9043e09917eb686645d1a564b2914f7b73db489a",
      "parents": [
        "0458a69d4d08a517780c2279ae1dc98ccb3fb916"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 07 17:50:18 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 07 17:50:56 2012 -0700"
      },
      "message": "Disable hardcoded wifi display adapter.\n\nChange-Id: Id0f7d59b6eafa8794ff7616cf54a0b94ba78c763\n"
    },
    {
      "commit": "d888399ad4a4ec0a08e97518bf22d726a8bd4eaa",
      "tree": "f2fb7815f5e0498cc36c71db8306f1fb064205bc",
      "parents": [
        "72018294cc4e3cc5feb7affdec4bf4bb2368ac41"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 07 15:58:52 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 07 17:48:06 2012 -0700"
      },
      "message": "Explicitly specify current user everywhere home is started.\n\nChange-Id: I58d86136de7f9cef1eaf72793d0e200b852d7355\n"
    },
    {
      "commit": "0458a69d4d08a517780c2279ae1dc98ccb3fb916",
      "tree": "d773559d0c414fb5ed86ba73ed42369a60cb0c07",
      "parents": [
        "72018294cc4e3cc5feb7affdec4bf4bb2368ac41",
        "2cee686498c6141f5a68532ecb79f598e043ec7e"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 07 17:34:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 17:34:01 2012 -0700"
      },
      "message": "Merge \"Fixing off by one error in the ScreenMagnifier.\" into jb-mr1-dev"
    },
    {
      "commit": "2cee686498c6141f5a68532ecb79f598e043ec7e",
      "tree": "5baa7c1f49b0e1a6162a8d5ee7453cad43d4ac58",
      "parents": [
        "970683c5d42a1d8588d656d4e570ce4f0f6e0abc"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 07 16:27:01 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 07 17:33:09 2012 -0700"
      },
      "message": "Fixing off by one error in the ScreenMagnifier.\n\nChange-Id: Ia0ccfb6b354b7a18633e7cf26647c6436ebf5c08\n"
    },
    {
      "commit": "72018294cc4e3cc5feb7affdec4bf4bb2368ac41",
      "tree": "add91a7ce260c33d8fc72acd56606d5719e749b4",
      "parents": [
        "7017e48380ab0c1be033594bb2a9331898ad5be8",
        "722285e199a9fc74b9b3343b7505c00666848c88"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 07 16:01:36 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 16:01:37 2012 -0700"
      },
      "message": "Merge \"Make mirroring automatic based on Windows on display.\" into jb-mr1-dev"
    },
    {
      "commit": "7017e48380ab0c1be033594bb2a9331898ad5be8",
      "tree": "1e24e747937706deb96ac1770f71a9c4cb6ebc65",
      "parents": [
        "cd620591b764cd999f18878985444fba01d5b710",
        "cbad976b2a36a0895ca94510d5208a86f66cf596"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 07 16:00:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 16:00:13 2012 -0700"
      },
      "message": "Merge \"Add support for Wifi display.\" into jb-mr1-dev"
    },
    {
      "commit": "cd620591b764cd999f18878985444fba01d5b710",
      "tree": "4e5da1d1ca16e8e45e5e89d5b6123b3f98a418a8",
      "parents": [
        "1275abd013eee87b3fec5b704a799440cb1c71fe",
        "7de350a91301985b7f2d9f28edde5aade8495d9b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Sep 07 15:58:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 15:58:44 2012 -0700"
      },
      "message": "Merge \"installd: fix forward locking symlink\" into jb-mr1-dev"
    },
    {
      "commit": "1275abd013eee87b3fec5b704a799440cb1c71fe",
      "tree": "90628566405dd628b5ed664132545501c11deb7b",
      "parents": [
        "cd42ce5d61d7854d1add5d4d308d1f3342baeea6",
        "4d8fc793f044cf2c857ac72ebe51641b8e6c413d"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Fri Sep 07 15:54:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 15:54:13 2012 -0700"
      },
      "message": "Merge \"Move verification settings to Settings.Global\" into jb-mr1-dev"
    },
    {
      "commit": "cd42ce5d61d7854d1add5d4d308d1f3342baeea6",
      "tree": "a564bbcbe503ba75dd2cd5056ec1cbc1bb97c63c",
      "parents": [
        "df4a94e21c78b25d7e35590408efda87ab41b633",
        "11941fd651be468c8ab6c90256616418ecf3a6a8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 07 15:52:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 15:52:37 2012 -0700"
      },
      "message": "Merge \"Fix crash when setting wallpaper from non-primary user.\" into jb-mr1-dev"
    },
    {
      "commit": "11941fd651be468c8ab6c90256616418ecf3a6a8",
      "tree": "f1d75b86b609bab14703dee3545034bf4f29021e",
      "parents": [
        "649d0d71b245d88746b78399ffa1f75da7c80974"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 07 15:35:17 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 07 15:50:26 2012 -0700"
      },
      "message": "Fix crash when setting wallpaper from non-primary user.\n\nWhen accessing a content provider, there is a check for whether\nthe provider can run in the caller\u0027s process; if so, even if the\nprovider is currently published, we return to the caller that it\ncan run locally.\n\nThis check was broken -- it had an old condition that allowed\ncontent providers owned by the system UID to run in any other UID\u0027s\nprocess.  This is wrong, since by definition the other\nUIDs would not be able to access the data under the original UID.\n\nWe ran into this because the activity picker is part of the\nandroid platform manifest, so runs as the system process.  However\nit needs to run as the user who invoked it, so when coming from the\nnon-primary user we spin up a \"system\" process running as a uid of\nthat user.  Now when that process tries to access the settings\nprovider, the broken check would think that a new instance of the\nsettings provider should be created in the caller\u0027s process.\n\nChange-Id: I7bf495ed8370cb271bdaec073d5b7dda9e38c546\n"
    },
    {
      "commit": "7de350a91301985b7f2d9f28edde5aade8495d9b",
      "tree": "9db121eeed2e9d947564d465670c093f48ef0616",
      "parents": [
        "37ee53420ce47860807eb8eaeb454c12fa46797b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Sep 07 15:48:11 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Sep 07 15:48:11 2012 -0700"
      },
      "message": "installd: fix forward locking symlink\n\ninstalld was not creating a compatibility symlink when\ninstalling a forward locked application.  Fix.\n\nBug: 7121527\nChange-Id: Ied507ab2b759d8658af563e6ac8f0dbb0d286cce\n"
    },
    {
      "commit": "df4a94e21c78b25d7e35590408efda87ab41b633",
      "tree": "188ad07de881b48dcdd2ea360fce58e79196db16",
      "parents": [
        "cd664f0faaaab2442733a9d2675a69a6429549a5",
        "efb735dbafd131cd1e8f4af40274c16443e39078"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Sep 07 15:48:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 15:48:07 2012 -0700"
      },
      "message": "Merge \"Fix incorrect indexing calculation.\" into jb-mr1-dev"
    },
    {
      "commit": "efb735dbafd131cd1e8f4af40274c16443e39078",
      "tree": "a3eeddad1e0b70d55b3598bc529d56629752ae74",
      "parents": [
        "c0be8c85b09002359adb1fb20f2bf08e6983d146"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Sep 07 15:40:24 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Sep 07 15:40:24 2012 -0700"
      },
      "message": "Fix incorrect indexing calculation.\n\nFixes bug 7129583.\n\nChange-Id: Ia395a7acded05686668d5b3cee09d49025a9f339\n"
    },
    {
      "commit": "4d8fc793f044cf2c857ac72ebe51641b8e6c413d",
      "tree": "6cfddf7fa4ac28d1140c07502dfd17ec060f78bd",
      "parents": [
        "5fc626639aa7ff2aed224b58891149e19fb24b57"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Fri Sep 07 14:43:43 2012 -0700"
      },
      "committer": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Fri Sep 07 15:34:08 2012 -0700"
      },
      "message": "Move verification settings to Settings.Global\n\nMove Settings.Secure.PACKAGE_VERIFIER_ENABLE,\nSettings.Secure.PACKAGE_VERIFIER_TIMEOUT,\nSettings.Secure.PACKAGE_VERIFIER_DEFAULT_RESPONSE to\nSettings.Global.PACKAGE_VERIFIER_ENABLE,\nSettings.Global.PACKAGE_VERIFIER_TIMEOUT,\nSettings.Global.PACKAGE_VERIFIER_DEFAULT_RESPONSE, respectively.\n\nBug: 7082362\nChange-Id: I21fde031a330563891c0129132f3d6369ac5e7a5\n"
    },
    {
      "commit": "5fc626639aa7ff2aed224b58891149e19fb24b57",
      "tree": "b97ce29674b4c560f88b2e8630cf58702b1bd9db",
      "parents": [
        "dc531fa7d4ec545ace1b3daae0849d3101102e49",
        "259d5e56a82d721ccb7e7f514c80de69acae309e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Sep 07 15:28:09 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 15:28:09 2012 -0700"
      },
      "message": "Merge \"Resolve the correct home intent for secondary users\" into jb-mr1-dev"
    },
    {
      "commit": "259d5e56a82d721ccb7e7f514c80de69acae309e",
      "tree": "1220fc2982bd733e68fe83e859c5c2b820883f15",
      "parents": [
        "37ee53420ce47860807eb8eaeb454c12fa46797b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 31 15:11:01 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Sep 07 15:04:36 2012 -0700"
      },
      "message": "Resolve the correct home intent for secondary users\n\nFix some searches through the Activity stack.\n\nThis allows SetupWizard to be launched for the second user.\n\nChange-Id: Icd306319f511c902557bd9985d80dda228e32d96\n"
    },
    {
      "commit": "62df6eb5081fbb66d9245626e8c91497431040e4",
      "tree": "c63577feeef65ba2b0fbaa49a2c2314046e648ce",
      "parents": [
        "c0be8c85b09002359adb1fb20f2bf08e6983d146"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Sep 07 15:00:54 2012 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Sep 07 15:00:54 2012 -0700"
      },
      "message": "Refer to STAY_ON_WHILE_PLUGGED_IN via the Global namespace\n\nIt moved from System to Global, so writes are not automatically redirected\nto the new namespace (else apps would start crashing).\n\nBug 7126575\n\nChange-Id: Ief31fcb5a6107a098da04d30d146e16921dee776\n"
    },
    {
      "commit": "722285e199a9fc74b9b3343b7505c00666848c88",
      "tree": "31bae3426c4a79bbc7a23767a893a20f99a349fd",
      "parents": [
        "cbad976b2a36a0895ca94510d5208a86f66cf596"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Sep 07 13:55:58 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 07 14:46:32 2012 -0700"
      },
      "message": "Make mirroring automatic based on Windows on display.\n\nTell the display manager whenever a given logical display\ncontains interesting windows.  If so, then the display\nmanager arranges to show that content on a physical display,\notherwise it ignores the logical display and makes its\nassociated primary physical display mirror the default\ndisplay.\n\nAssign DisplayContents when Displays are added, remove them when\nDisplays are removed, and update the DisplayInfo when Displays\nchange.\n\nChange-Id: I36e08ec538055acabe1e24cdd12c40de4e47a158\n"
    },
    {
      "commit": "c0be8c85b09002359adb1fb20f2bf08e6983d146",
      "tree": "afa797cab8f96f35d1be8bfeb7d0e934bdf99fa4",
      "parents": [
        "649d0d71b245d88746b78399ffa1f75da7c80974",
        "ad7353204152389e88b331991274bad04469ae58"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Sep 07 14:22:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 14:22:59 2012 -0700"
      },
      "message": "Merge \"Refer to STAY_ON_WHILE_PLUGGED_IN in the global namespace\" into jb-mr1-dev"
    },
    {
      "commit": "ad7353204152389e88b331991274bad04469ae58",
      "tree": "7b6fc769c5006190c6e9e021d2bd7d0e3034e617",
      "parents": [
        "4db5d23deab9ea8de34cdb1c56af31e6e3cff79b"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Sep 07 14:19:43 2012 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Sep 07 14:19:43 2012 -0700"
      },
      "message": "Refer to STAY_ON_WHILE_PLUGGED_IN in the global namespace\n\nThis is the one relevant setting that moved from System to Global,\na move that we do not automatically redirect on writes.\n\nChange-Id: I7b26d0c364695c4a10a7cd477db3dfcfe89d7ef5\n"
    },
    {
      "commit": "5e03e2ca7d25b899b129baad2dd5eca6bf99d88a",
      "tree": "10c601a58b0bbeb6902d43e0862c58f3ec121c78",
      "parents": [
        "970683c5d42a1d8588d656d4e570ce4f0f6e0abc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 06 14:21:19 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 07 13:55:23 2012 -0700"
      },
      "message": "More multi-user stuff:\n\n- New (hidden) isUserRunning() API.\n- Maintain LRU list of visited users.\n- New FLAG_IS_DATA_ONLY for ApplicationInfo.\n- Clean up pending intent records when force-stopping a user (or package).\n  (Also fixes bug #6880627: PendingIntent.getService() returns stale\n  intent of force stopped app)\n- Fix force-stopping when installing an app to do the force-stop across\n  all users for that app.\n- When selecting which processes to kill during a force stop, do this\n  based on the actual packages loaded in the process, not just process\n  name matching.\n- You can now use --user option in am when starting activities, services,\n  and instrumentation.\n- The am --user option accepts \"current\" and \"all\" as arguments.\n- The pm uninstall command now uninstalls for all users, so it matches\n  the semantics of the install command.\n- PhoneWindowManager now explicitly says to start home in the current\n  user.\n- Activity manager call to retrieve the MIME type from a content provider\n  now takes a user argument, so it will direct this to the proper user.\n- The package manager uninstall paths are now implemented around\n  PackageSetting, not PackageParser.Package.  This allows them to work\n  even if the application\u0027s apk has been removed (in which case it only\n  exists as a PackageSetting, not the PackageParser.Package parsed from\n  the apk).\n\nChange-Id: I3522f6fcf32603090bd6e01cc90ce70b6c5aae40\n"
    },
    {
      "commit": "cbad976b2a36a0895ca94510d5208a86f66cf596",
      "tree": "06422b1c420f27faede921f0813dbfc228ca030d",
      "parents": [
        "14c625188affcce2e6db3c8b2f96b63eeb0f10a0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 04 21:57:59 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 07 13:26:31 2012 -0700"
      },
      "message": "Add support for Wifi display.\n\nChange-Id: I99693786cf9d07d07d3400046c55eb4933730b80\n"
    },
    {
      "commit": "240a90d2789f8813bef11b499a026b8afe43bbd8",
      "tree": "dddcaaf987ce779f1713754dde60faaf46a0174e",
      "parents": [
        "9545dc020ea11649d70dcbe911a8e82a3254a4ea",
        "1223e5a3115e825567972da26e38c0016bdfa268"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Fri Sep 07 00:07:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 00:07:23 2012 -0700"
      },
      "message": "Merge \"Fault tolerance in Bluedroid\" into jb-mr1-dev"
    },
    {
      "commit": "1223e5a3115e825567972da26e38c0016bdfa268",
      "tree": "35aa48d6cc7b2ee7e5194237a99a72968575090b",
      "parents": [
        "369bb97d02209fa800081fc3b4e8675ea7e75d34"
      ],
      "author": {
        "name": "Syed Ibrahim M",
        "email": "syedibra@broadcom.com",
        "time": "Wed Aug 29 18:07:26 2012 +0530"
      },
      "committer": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Thu Sep 06 23:55:41 2012 -0700"
      },
      "message": "Fault tolerance in Bluedroid\n\nWhen bluetooth process gets crashed/killed/stopped by Android\nsystem, BluetoothManagerService will re-start AdapterService\nto recover from the crash appropriately.\n\nChange-Id: Iacb1a06a8245089517bbbd57de1378ca8ce4b41e\n"
    },
    {
      "commit": "9545dc020ea11649d70dcbe911a8e82a3254a4ea",
      "tree": "2eafaf32537c73b462f5f06c24c477655bacb71b",
      "parents": [
        "162fabbcf81157fddab1c38de09bdabaff8c068a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 06 22:46:30 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 06 23:15:20 2012 -0700"
      },
      "message": "Include primary flag in StorageVolume.\n\nBug: 7003520\nChange-Id: Iaae2ae22253820c954c51e0199c31087bc825f3f\n"
    },
    {
      "commit": "6da5827193408ec6d2a77b64448b2f1c40b9a482",
      "tree": "840718c7f3d92ffe7239d18de3467bfb76899108",
      "parents": [
        "c71d4060609ee64939ad5369d33b86d44baa17a9",
        "1cf70bbf96930662cab0e699d70b62865766ff52"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 06 18:57:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 06 18:57:43 2012 -0700"
      },
      "message": "Merge \"Screen magnification - feature - framework.\" into jb-mr1-dev"
    },
    {
      "commit": "1cf70bbf96930662cab0e699d70b62865766ff52",
      "tree": "2173762d4e4d7be76f5691cebd74e1bd8f2b8543",
      "parents": [
        "fa8d83d90444354e8eca6ca0e080bc917e5a1f32"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Aug 06 10:53:34 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 06 18:56:17 2012 -0700"
      },
      "message": "Screen magnification - feature - framework.\n\nThis change is the initial check in of the screen magnification\nfeature. This feature enables magnification of the screen via\nglobal gestures (assuming it has been enabled from settings)\nto allow a low vision user to efficiently use an Android device.\n\nInteraction model:\n\n1. Triple tap toggles permanent screen magnification which is magnifying\n   the area around the location of the triple tap. One can think of the\n   location of the triple tap as the center of the magnified viewport.\n   For example, a triple tap when not magnified would magnify the screen\n   and leave it in a magnified state. A triple tapping when magnified would\n   clear magnification and leave the screen in a not magnified state.\n\n2. Triple tap and hold would magnify the screen if not magnified and enable\n   viewport dragging mode until the finger goes up. One can think of this\n   mode as a way to move the magnified viewport since the area around the\n   moving finger will be magnified to fit the screen. For example, if the\n   screen was not magnified and the user triple taps and holds the screen\n   would magnify and the viewport will follow the user\u0027s finger. When the\n   finger goes up the screen will clear zoom out. If the same user interaction\n   is performed when the screen is magnified, the viewport movement will\n   be the same but when the finger goes up the screen will stay magnified.\n   In other words, the initial magnified state is sticky.\n\n3. Pinching with any number of additional fingers when viewport dragging\n   is enabled, i.e. the user triple tapped and holds, would adjust the\n   magnification scale which will become the current default magnification\n   scale. The next time the user magnifies the same magnification scale\n   would be used.\n\n4. When in a permanent magnified state the user can use two or more fingers\n   to pan the viewport. Note that in this mode the content is panned as\n   opposed to the viewport dragging mode in which the viewport is moved.\n\n5. When in a permanent magnified state the user can use three or more\n   fingers to change the magnification scale which will become the current\n   default magnification scale. The next time the user magnifies the same\n   magnification scale would be used.\n\n6. The magnification scale will be persisted in settings and in the cloud.\n\nNote: Since two fingers are used to pan the content in a permanently magnified\n   state no other two finger gestures in touch exploration or applications\n   will work unless the uses zooms out to normal state where all gestures\n   works as expected. This is an intentional tradeoff to allow efficient\n   panning since in a permanently magnified state this would be the dominant\n   action to be performed.\n\nDesign:\n\n1. The window manager exposes APIs for setting accessibility transformation\n   which is a scale and offsets for X and Y axis. The window manager queries\n   the window policy for which windows will not be magnified. For example,\n   the IME windows and the navigation bar are not magnified including windows\n   that are attached to them.\n\n2. The accessibility features such a screen magnification and touch\n   exploration are now impemented as a sequence of transformations on the\n   event stream. The accessibility manager service may request each\n   of these features or both. The behavior of the features is not changed\n   based on the fact that another one is enabled.\n\n3. The screen magnifier keeps a viewport of the content that is magnified\n   which is surrounded by a glow in a magnified state. Interactions outside\n   of the viewport are delegated directly to the application without\n   interpretation. For example, a triple tap on the letter \u0027a\u0027 of the IME\n   would type three letters instead of toggling magnified state. The viewport\n   is updated on screen rotation and on window transitions. For example,\n   when the IME pops up the viewport shrinks.\n\n4. The glow around the viewport is implemented as a special type of window\n   that does not take input focus, cannot be touched, is laid out in the\n   screen coordiates with width and height matching these of the screen.\n   When the magnified region changes the root view of the window draws the\n   hightlight but the size of the window does not change - unless a rotation\n   happens. All changes in the viewport size or showing or hiding it are\n   animated.\n\n5. The viewport is encapsulated in a class that knows how to show,\n   hide, and resize the viewport - potentially animating that.\n   This class uses the new animation framework for animations.\n\n6. The magnification is handled by a magnification controller that\n   keeps track of the current trnasformation to be applied to the screen\n   content and the desired such. If these two are not the same it is\n   responsibility of the magnification controller to reconcile them by\n   potentially animating the transition from one to the other.\n\n7. A dipslay content observer wathces for winodw transitions, screen\n   rotations, and when a rectange on the screen has been reqeusted. This\n   class is responsible for handling interesting state changes such\n   as changing the viewport bounds on IME pop up or screen rotation,\n   panning the content to make a requested rectangle visible on the\n   screen, etc.\n\n8. To implement viewport updates the window manger was updated with APIs\n   to watch for window transitions and when a rectangle has been requested\n   on the screen. These APIs are protected by a signature level permission.\n   Also a parcelable and poolable window info class has been added with\n   APIs for getting the window info given the window token. This enables\n   getting some useful information about a window. There APIs are also\n   signature protected.\n\nbug:6795382\n\nChange-Id: Iec93da8bf6376beebbd4f5167ab7723dc7d9bd00\n"
    },
    {
      "commit": "2b0442f33029c6b6cf1247a1633a97f5908d6cab",
      "tree": "b3a5a1eeb666c2c857badfac54d515899eec9bda",
      "parents": [
        "fa8d83d90444354e8eca6ca0e080bc917e5a1f32",
        "91c6a64a04c2d8b27b886d96a56800ae24efb7a9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 06 18:34:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 06 18:34:17 2012 -0700"
      },
      "message": "Merge \"Event logging for lockdown VPN state changes.\" into jb-mr1-dev"
    }
  ],
  "next": "91c6a64a04c2d8b27b886d96a56800ae24efb7a9"
}
