)]}'
{
  "log": [
    {
      "commit": "a0c283eac33dd2da72235751bbfa4f2d9898d5ea",
      "tree": "4a772771c79de9a0817115a49b5018397cd64add",
      "parents": [
        "f6a7e1f7cd12fbbb2e35391850aec7d7d57b8f66"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 09 10:47:01 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 09 11:18:33 2012 -0800"
      },
      "message": "Add new feature for running services in \"isolated\" sandbox processes.\n\nThis reserves a range of uids (for each user) in which these processes\nrun.  These uids are not associated with an application, so they\neffectively run with no permissions.  When a Service requests to\nrun in such a process through android:isolatedProcess\u003d\"true\", each\ntime it is brought up a new isolated process is started with its\nown unique uid.\n\nWhat we have so far gives us the basic infrastructure; more work\nremains to further lock down what these uids have access to.\n\nChange-Id: Ibfd27c75619cba61f528f46ede9113f98dc5f45b\n"
    },
    {
      "commit": "f6a7e1f7cd12fbbb2e35391850aec7d7d57b8f66",
      "tree": "a12584ff3f805df85518fc0640cbe21507b7f6da",
      "parents": [
        "e1a409ba68087c66238c986b270c17932e39f0ba",
        "cbb722ed06092a9e2be37150aa8bc635f0fe21da"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 08 11:38:23 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 11:38:23 2012 -0800"
      },
      "message": "Merge \"Don\u0027t wait for current activity to pause before resuming next.\""
    },
    {
      "commit": "6ffa76077ddbecb0f432a805ed9999436ac308f1",
      "tree": "172121e72cf110d3dd363d7c3dc441faad6205f3",
      "parents": [
        "28587f445a2af6d94d1b215e019e8bcc377c17a1"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Feb 07 19:14:02 2012 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Feb 07 19:25:42 2012 -0800"
      },
      "message": "Revert \"Make NDC not block forever and handle restart.\"\n\nReverting because it seems to break `adb reboot`\n\nThis reverts commit 813af8d46467f41ed2d492917cbb9f9f45d2a3d7.\n\nChange-Id: I75d827664a08799de15369c24c84cc3f49a8f297\n"
    },
    {
      "commit": "cbb722ed06092a9e2be37150aa8bc635f0fe21da",
      "tree": "66b85aeb671a95a52876a0713cb601cf2343e696",
      "parents": [
        "dc210ade0ad4770c5294320453f8ddfbfcbaf943"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 07 18:33:49 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 07 18:33:49 2012 -0800"
      },
      "message": "Don\u0027t wait for current activity to pause before resuming next.\n\nWe can do this now that we ensure processes are not killed until\nthey have been stopped.  If the two activities are in the same\nprocess, the ordering will still be correct because we schedule\nthe pause before the resume.\n\nChange-Id: I209ba739b41e832d35db3edd34d1e7af354cc183\n"
    },
    {
      "commit": "ec159352fe7fb4c6a476c3542dc65037cb57f982",
      "tree": "8e764789a202753b5c4e08ad2dd12e00eb20f889",
      "parents": [
        "28900a7b36c372b953648a6ce4c8858de25e9197",
        "813af8d46467f41ed2d492917cbb9f9f45d2a3d7"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 07 16:19:56 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 16:19:56 2012 -0800"
      },
      "message": "Merge \"Make NDC not block forever and handle restart.\""
    },
    {
      "commit": "813af8d46467f41ed2d492917cbb9f9f45d2a3d7",
      "tree": "4448df209374e7dd77394f261106b0eac296827d",
      "parents": [
        "d36ad9b1ff99675dd0eca6a3fda1f52353f451a4"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 07 11:36:55 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 07 15:59:49 2012 -0800"
      },
      "message": "Make NDC not block forever and handle restart.\n\nNeed changes in core.\n\nStill possible for netd to get wedged but system won\u0027t die because of it.\nLeads the way to having forking netd - then only individual commands would\nwedge, promoting stability.\n\nbug:5864209\nChange-Id: Ifcd37511c8239fe3df7e9070869b63a9c5649bd2\n"
    },
    {
      "commit": "b5718c29aece51dd337e719c5b94be867833d53e",
      "tree": "ea2dd5af2102d29556de0921f8af11c0696beb4b",
      "parents": [
        "bdeec118a120d2424ff80c54c2f218ed0d52d3e2",
        "1f8ea2dcd1ed3cde4b84fbb27b5a55b3fea7ff2a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 07 15:50:02 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 15:50:02 2012 -0800"
      },
      "message": "Merge \"Send broadcast when changing restrict background.\""
    },
    {
      "commit": "1f8ea2dcd1ed3cde4b84fbb27b5a55b3fea7ff2a",
      "tree": "21db818fc9acf4130663a138ea6816a1eb3aaacf",
      "parents": [
        "706498d387eaceb574cf4aa982fee3c288819dad"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 07 12:05:43 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 07 12:08:58 2012 -0800"
      },
      "message": "Send broadcast when changing restrict background.\n\nWhen changing global restrict background status, send connectivity\nchange broadcast, since it radically changes DISCONNECTED/BLOCKED\nstatus system-wide.\n\nAlso reduce verbose stats logging.\n\nBug: 5854466\nChange-Id: I3b612c520f50cc3000a3a569b7e0ab5f691cc2bd\n"
    },
    {
      "commit": "e7171effdf9ef0700782520187c0a292b0a74759",
      "tree": "2d927ff45cb21056d8a47c0b186d8333f4648776",
      "parents": [
        "8320e70fbee26dc72a23aaad498f57e2252cc7c8",
        "706498d387eaceb574cf4aa982fee3c288819dad"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 07 10:45:41 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 10:45:41 2012 -0800"
      },
      "message": "Merge \"List rotated netstats files during --checkin dump.\""
    },
    {
      "commit": "706498d387eaceb574cf4aa982fee3c288819dad",
      "tree": "5da18da15479fbaa0c7337f94f2ec6f0767509b1",
      "parents": [
        "0afa7e2d95a1ae047ceddf2ca67f05c67ac30770"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Feb 06 17:35:07 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Feb 06 17:35:11 2012 -0800"
      },
      "message": "List rotated netstats files during --checkin dump.\n\nAlso disable verbose logging.\n\nChange-Id: I4c51e05d695eac43f0d9c28f9699f1655c642a99\n"
    },
    {
      "commit": "a52b6e7bcf5ee6e80a4443f19b31a3df0ec4e518",
      "tree": "9582c14923e19b8d91bc4576e64dab2183e0ea29",
      "parents": [
        "429cf48e2c777cc72925955d7943091b3cf3e181",
        "61ac6bb250494db602b485491a493b64776eaf3b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Feb 06 17:04:23 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 06 17:04:23 2012 -0800"
      },
      "message": "Merge \"Extract code from performLayoutAndPlaceSurfacesInnerLocked() into multiple methods.\""
    },
    {
      "commit": "61ac6bb250494db602b485491a493b64776eaf3b",
      "tree": "d779cc7b1928836f99059b4bb342ad594665cffb",
      "parents": [
        "37f6934e863de13926975ff5c4e60b9ee9fa79cc"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 02 17:29:33 2012 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Feb 06 16:52:16 2012 -0800"
      },
      "message": "Extract code from performLayoutAndPlaceSurfacesInnerLocked() into multiple methods.\n\nChange-Id: I80152c38741ce73b92da9483cfed84efbac34f89\n"
    },
    {
      "commit": "13c7b82234c1c76aca74e23d635a69099611b18e",
      "tree": "0306a75829a8921d100eca5726fa0a4b77e28414",
      "parents": [
        "5bd41b2949fe25e19ba8ec62da7e204403c51061",
        "2f6c9eb9c244e206ce495c7ea118bcead1fa4162"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Feb 06 15:39:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 06 15:39:40 2012 -0800"
      },
      "message": "Merge \"Check for null ActivityInfo.\""
    },
    {
      "commit": "2f6c9eb9c244e206ce495c7ea118bcead1fa4162",
      "tree": "1ecb52a7cfdb2fdc777a7fc8655a6971ad6e0d55",
      "parents": [
        "041a434d38c098848c0472bd6d89c55fd96d1ac3"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Feb 06 15:31:35 2012 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Feb 06 15:31:35 2012 -0800"
      },
      "message": "Check for null ActivityInfo.\n\nBug: 5970556\nChange-Id: I87ebad1918311f24333d16cb6732742a1dd96685\n"
    },
    {
      "commit": "241dde2306202e7655fdf41d5381f2874e47e108",
      "tree": "a63e0d09610d9a93f71d725789e5dc3da5f75621",
      "parents": [
        "1c9fcd9086accad30146b7440820ff84d3c77567"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Feb 03 14:50:07 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Feb 03 14:50:13 2012 -0800"
      },
      "message": "Unify shorthand for byte-based units.\n\nChange-Id: If990859dee3f0973e1d4c48f05312c84071b3328\n"
    },
    {
      "commit": "1ef7d13172248848805b9ceb6161b0741d8580dd",
      "tree": "5166ec77df9727efecbb2672774c99a072def65f",
      "parents": [
        "2d315df64118da9b03cfa4f65a43850299084730",
        "742a67127366c376fdf188ff99ba30b27d3bf90c"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Feb 03 12:04:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 12:04:40 2012 -0800"
      },
      "message": "Merge \"Multi-user - 1st major checkin\""
    },
    {
      "commit": "742a67127366c376fdf188ff99ba30b27d3bf90c",
      "tree": "4a801b0b2e9ee10fb322e3b450e2af9eb6e3002f",
      "parents": [
        "8ca8a69d5801ad4b809e7b9dbf53bd728820924b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed May 04 14:49:28 2011 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Feb 03 12:01:47 2012 -0800"
      },
      "message": "Multi-user - 1st major checkin\n\nSwitching activity stacks\nCache ContentProvider per user\nLong-press power to switch users (on phone)\n\nAdded ServiceMap for separating services by user\nLaunch PendingIntents on the correct user\u0027s uid\nFix task switching from Recents list\nAppWidgetService is mostly working.\n\nCommands added to pm and am to allow creating and switching profiles.\n\nChange-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed\n"
    },
    {
      "commit": "f0be1d89bf1cf5592ea1786d837f4f2329bdf66d",
      "tree": "98fb9a8b3382f63dd8ea19da9e76df9601dc4781",
      "parents": [
        "b545eaa9cbe39b8209a40044aa0a5f00846278d4"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jan 20 16:33:15 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Feb 02 16:38:38 2012 -0800"
      },
      "message": "Add some logging to NDC.\n\nWe\u0027re getting some lockups of netd and this can help point us\nin the right direction.\n\nbug:5864209\nChange-Id: Id8bdb0a758c5b161e0143de61b5f39c3a982e329\n"
    },
    {
      "commit": "34c4d2e249085344cabfe418e8f973f2766cf6c9",
      "tree": "3639d501eff6d45fe4e762cc65f6e8c493df7b7a",
      "parents": [
        "96d4f4d8d80974bfff2c29cb6abc0a64e28bb800",
        "0e2e5f8b564bebd5798c9fa387fbff96429ab5d2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 02 16:26:41 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 16:26:41 2012 -0800"
      },
      "message": "Merge \"Support snoozing of data warning notification.\""
    },
    {
      "commit": "0e2e5f8b564bebd5798c9fa387fbff96429ab5d2",
      "tree": "8cbc8b96dc703b506f24f529cd29b0e5e32bf95a",
      "parents": [
        "25ce9ed57f137dc0b21045ab90fe595640ebf926"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 02 16:02:51 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 02 16:22:33 2012 -0800"
      },
      "message": "Support snoozing of data warning notification.\n\nIntroduce second snooze timestamp to support dismissal of data usage\nwarning notification.  Also explicitly set notification \"when\" to\navoid fighting with other notifications, such as ongoing downloads.\n\nBug: 5443756, 5262414\nChange-Id: I03342c25b0410b1b2db84de9a40884f04cb1d8ae\n"
    },
    {
      "commit": "2c5674aa7ba006a712cf885be1657f754f2dee96",
      "tree": "ca17797bd8c524e25d791d46312fea7d2bb43b0c",
      "parents": [
        "8ca8a69d5801ad4b809e7b9dbf53bd728820924b",
        "25ce9ed57f137dc0b21045ab90fe595640ebf926"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 02 13:19:37 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 13:19:37 2012 -0800"
      },
      "message": "Merge \"Avoid NDC deadlock when re-arming network alert.\""
    },
    {
      "commit": "25ce9ed57f137dc0b21045ab90fe595640ebf926",
      "tree": "5b0a3b6bf07232bf79d74e822161c7a07a86758a",
      "parents": [
        "88de70f3c5824acae7524a774f9d2e2a6d125eb9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 02 13:07:47 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 02 13:09:52 2012 -0800"
      },
      "message": "Avoid NDC deadlock when re-arming network alert.\n\nWhen NDC delivers limitReached() event, NMS re-arms the alert, which\nmakes another call back to NDC.  If NDC already started processing\nanother call, this causes deadlock.\n\nFix this by re-arming on a handler thread.\n\nBug: 5879848\nChange-Id: I46fa78fe1f1122c5f31dd6020483e5ae89a9f39d\n"
    },
    {
      "commit": "659793bcd0e0d08306d841f3836a891e56e4e756",
      "tree": "e60ce83db8cfe8610852d97913df45fddc4f694b",
      "parents": [
        "306eed22e58381bbd694e3a297adc2313cc50c85",
        "c38fa1f63674971f9ac6ced1a449fb81026b62f7"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Feb 02 10:42:44 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 10:42:44 2012 -0800"
      },
      "message": "Merge \"Add Developer Option setting for Animator scaling.\""
    },
    {
      "commit": "c38fa1f63674971f9ac6ced1a449fb81026b62f7",
      "tree": "980e021b46c606b7b5ba7a33ad2b40a55a4a3d11",
      "parents": [
        "26daa02bdb0c62f8162ad8d4d771cabce8644b4a"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Feb 01 16:37:46 2012 -0800"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Feb 02 08:40:44 2012 -0800"
      },
      "message": "Add Developer Option setting for Animator scaling.\n\nThis new setting allows users to set a scale factor for the\nduration and startDelay of all Animator-based animations. This\nsetting is very similar to the Transition animation scale and\nWindow animation scale settings, except this one applies specifically\nto Animator animations. The property is only accessible by users\nthrough the Settings UI, not programmatically. The value applies\nsystem-wide and is picked up per-process at the time of the first\nValueAnimator construction.\n\nThis is an update to a previous CL; this approach uses the WindowManager\nto store the animator scale settings, instead of SystemProperties.\n\nChange-Id: I8295fab060aa6d597ae507ded8f9c9d6077be966\n"
    },
    {
      "commit": "8bcd54b98ad5d98d47364ff14e06910deadf9302",
      "tree": "31f3a2a8c6283acc7a6b70abf4125d9872a68381",
      "parents": [
        "6baed6c11090fe6eb0a612ca4acee590e904ca58"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 31 19:04:53 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 01 16:02:14 2012 -0800"
      },
      "message": "Use Choreographer for window manager animation timing.\n\nChange-Id: Ic34aff698c63d383ecd06af7da9957475683a1db\n"
    },
    {
      "commit": "f46723b41f723ebfc9ed18c7c409b319f4b5e539",
      "tree": "c422815c0dee0488d32045d82693ee825a3f1217",
      "parents": [
        "c97992b489161a47f156f03ba605273dfb5e5cc2"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jan 26 14:19:24 2012 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Feb 01 14:36:34 2012 -0800"
      },
      "message": "Implement background vs foreground broadcasts\n\nBefore now, receiving a broadcast would cause a process to be hoisted\nto foreground priority / cgroup.  This is no longer the case: broadcasts\nby default are handled in the background, with a suitably increased\ntimeout interval.  When a given broadcast needs to be dealt with in a\nmore timely manner, the issuer can set the new FLAG_BROADCAST_FOREGROUND\nflag on the Intent, which will produce the old foreground-priority\nbehavior.\n\nTo avoid priority inversions, foreground broadcasts are tracked on a\nseparate outgoing queue and can be in flight simultaneously with a\nbackground-priority broadcast.  If there is already a background-level\nbroadcast in flight to a given app and then a foreground-level one is\ndispatched to that app, the app [and its handling of both broadcasts]\nwill be properly hoisted to foreground priority.\n\nThis change is also essentially the first step towards refactoring the\nbroadcast-handling portions of the Activity Manager into a more\nindependent existence.  Making BroadcastQueue a top-level class and\nregularizing its operation viz the primary Activity Manager operation\nis the next step.\n\nChange-Id: If1be33156dc22dcce318edbb5846b08df8e7bed5\n"
    },
    {
      "commit": "2eecea3b48ece6f45b30fef9b41dc20075ccc94f",
      "tree": "c9956afbe7d4d379ab8577a2bd528f798d2dfb06",
      "parents": [
        "c5143d2af8babe3585b6a41b121ab15ef093355f",
        "79311c4af8b54d3cd47ab37a120c648bfc990511"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 01 13:45:24 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 13:45:24 2012 -0800"
      },
      "message": "Merge \"Speedup the accessibility window querying APIs and clean up.\""
    },
    {
      "commit": "e630f7b31bb1e77a2eb4ef3102a25f2927cfd5c3",
      "tree": "24fb27fbb828e08ce710d6ffa793a52f39b857c4",
      "parents": [
        "4d6da8649afc43022a156bffca6cd2c9127cefe1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 31 17:12:53 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 31 17:13:09 2012 -0800"
      },
      "message": "Clear identity when updating network stats.\n\nBug: 5945461\nChange-Id: Ie51ea3f107a705c395b65684f21bf4c28c7f4d33\n"
    },
    {
      "commit": "5e61331da59921413a8e2a144146a8451a054020",
      "tree": "b8526bf1c683e0910c69580560e16bdfc702781e",
      "parents": [
        "d53da8efa7a618562615df35ffc674620cbe2b26"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jan 30 11:16:20 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jan 30 11:21:35 2012 -0800"
      },
      "message": "Move away from deprecated NetworkInfo extra.\n\nBecause the NetworkInfo included in CONNECTIVITY_ACTION broadcast\nextra does not reflect the state applicable to the calling UID, and\nthe last sticky broadcast may have stale state, transition to calling\nConnectivityManager.getActiveNetworkInfo() directly.\n\nChange-Id: I86b316fbedd0273585ad5f1248b091bc3a3a5520\n"
    },
    {
      "commit": "b675f516da196103597542d2c03f30f70359808e",
      "tree": "3d94ab6471eaa7f772fed00248592c07cfeeabb9",
      "parents": [
        "556f0dba10517c76b6f20e95e3f4510c0cfb5911",
        "c7d7eafb66f14766e9fa0013407862502dcdfb66"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jan 25 14:04:59 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 14:04:59 2012 -0800"
      },
      "message": "Merge \"Add additional debug\""
    },
    {
      "commit": "c7d7eafb66f14766e9fa0013407862502dcdfb66",
      "tree": "863cec87437bd4c56314fd5c6cd368c4b356283d",
      "parents": [
        "e575005f7c7a2ec26662862631ca1d0d1959d6bc"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jan 25 13:47:54 2012 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jan 25 13:47:54 2012 -0800"
      },
      "message": "Add additional debug\n\nWhen ConnectivityService#startUsingNetworkFeature is called and the\nspecial network is not available output some additional information.\n\nChange-Id: I34b226a208596fa6418f1f37a0feec1d274d493c\n"
    },
    {
      "commit": "629c6765ca21b6ef23db893a35c62eef6a2a28b6",
      "tree": "f33e10f086275b851c53abdfd80682031d0cf21b",
      "parents": [
        "08cec4ee46f8b99a202b775c4eed8699be5165e8",
        "63abc37356728c0575d6a62a203102ae6d97953b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 24 11:49:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 11:49:51 2012 -0800"
      },
      "message": "Merge \"Move network stats to FileRotator pattern.\""
    },
    {
      "commit": "08cec4ee46f8b99a202b775c4eed8699be5165e8",
      "tree": "5eec0ede4ff737016771a46dff99ecf2c8a9746c",
      "parents": [
        "8c190f76fc92b6db9a1886b5de5b7cecdd656c4b",
        "a5853595165a6395ca41bbc17a3dd88e12259ad1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 24 11:39:49 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 24 11:39:49 2012 -0800"
      },
      "message": "am a5853595: am 47163685: Merge \"Another attempt at issue #5823276: home repaints after full-screen app is exited\" into ics-mr1\n\n* commit \u0027a5853595165a6395ca41bbc17a3dd88e12259ad1\u0027:\n  Another attempt at issue #5823276: home repaints after full-screen app is exited\n"
    },
    {
      "commit": "47163685eb90f9520e7ae0ac0984b4e1535e8e5b",
      "tree": "559bf70973aa1b8be1106d6243553893aa43b4f0",
      "parents": [
        "c986d6f01b00dd760ba1650918baadd24a6dc838",
        "b7ff51bde92b76757a002bb5b1889f5790986513"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 24 11:33:15 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 11:33:15 2012 -0800"
      },
      "message": "Merge \"Another attempt at issue #5823276: home repaints after full-screen app is exited\" into ics-mr1"
    },
    {
      "commit": "63abc37356728c0575d6a62a203102ae6d97953b",
      "tree": "c828ee65a2764be6307c704fa3dee8c1606c126d",
      "parents": [
        "cf5c78f209a34bae4a049ff2370252be8598d034"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 11 18:38:16 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 24 11:13:14 2012 -0800"
      },
      "message": "Move network stats to FileRotator pattern.\n\nSplit existing network stats into two separate classes: a recorder\nwhich generates historical data based on periodic counter snapshots,\nand a collection of historical data with persistance logic.\n\nRecorder keeps a pending history in memory until outstanding data\ncrosses a specific threshold.  Persisting is handled through a given\nFileRotator.  This pattern significantly reduces disk churn and\nmemory overhead.  Separate UID data from UID tag data, enabling a\nshorter rotation cycle.  Migrate existing stats into new structure.\n\nRemove \"xt\" stats until iptables hooks are ready.  Avoid consuming\nEntry values when recording into NetworkStatsHistory.  Assign\noperation counts to default route interface.\n\nIntroduce \"Rewriter\" interface in FileRotator with methods to enable\nrewriteAll().  Introduce IndentingPrintWriter to handle indenting in\ndump() methods.\n\nBug: 5386531\nChange-Id: Ibe086230a17999a197206ca62d45f266225fdff1\n"
    },
    {
      "commit": "79311c4af8b54d3cd47ab37a120c648bfc990511",
      "tree": "839e7e5c99a3e482a3a86a64f6c11a318ee44ac7",
      "parents": [
        "d4e34d61d01222ff90684b9a1dc4f9c8be560e7c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jan 17 20:24:26 2012 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jan 23 20:13:58 2012 -0800"
      },
      "message": "Speedup the accessibility window querying APIs and clean up.\n\n1. Now when an interrogating client requires an AccessibilibtyNodeInfo\n   we aggressively prefetch all the predecessors of that node and its\n   descendants. The number of fetched nodes in one call is limited to\n   keep the APIs responsive. The prefetched nodes infos are cached in\n   the client process. The node info cache is invalidated partially or\n   completely based on the fired accessibility events. For example,\n   TYPE_WINDOW_STATE_CHANGED event clears the cache while\n   TYPE_VIEW_FOCUSED removed the focused node from the cache, etc.\n   Note that the cache is only for the currently active window.\n   The ViewRootImple also keeps track of only the ids of the node\n   infos it has sent to each querying process to avoid duplicating\n   work. Usually only one process will query the screen content\n   but we support the general case. Also all the caches are\n   automatically invalidated so not additional bookkeeping is\n   required. This simple strategy leads to 10X improving the\n   speed of the querying APIs.\n\n2. The Monkey and UI test automation framework  were registering a\n   raw event listener for accessibility events and hence perform\n   connection and cache management in similar way to an AccessibilityService.\n   This is fragile and requires the implementer to know internal framework\n   stuff. Now the functionality required by the Monkey and the UI automation\n   is encapsulated in a new UiTestAutomationBridge class. To enable this\n   was requited some refactoring of AccessibilityService.\n\n3. Removed the *doSomethiong*InActiveWindow methods from the\n   AccessibilityInteractionClient and the AccessibilityInteractionConnection.\n   The function of these methods is implemented by the not *InActiveWindow\n   version while passing appropriate constants.\n\n4. Updated the internal window Querying tests to use the new\n   UiTestAutomationBridge.\n\n5. If the ViewRootImple was not initialized the querying APIs of\n   the IAccessibilityInteractionConnection implementation were\n   returning immediately without calling the callback with null.\n   This was causing the client side to wait until it times out. Now\n   the client is notified as soon as the call fails.\n\n6. Added a check to guarantee that Views with AccessibilityNodeProvider\n   do not have children.\n\nbug:5879530\n\nChange-Id: I3ee43718748fec6e570992c7073c8f6f1fc269b3\n"
    },
    {
      "commit": "b7ff51bde92b76757a002bb5b1889f5790986513",
      "tree": "909e96458330c2b4203af28ee6b5bf6244a7e567",
      "parents": [
        "a486a53a02392c5d5de5a3d0856433a25e56b110"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 23 19:15:27 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 23 19:15:27 2012 -0800"
      },
      "message": "Another attempt at issue #5823276: home repaints after full-screen app is exited\n\nThis is between the two previous attempts.  I returned the part from the\noriginal that was breaking gallery, but have some new code to detect when\nsomething about the window params has changed that would require a\nlayout pass to make sure we still do a layout then, even if the window is\nnot currently visible.\n\nChange-Id: I07745e1f66022583e3076b84cc8bbe8bd2acd48f\n"
    },
    {
      "commit": "eda775cc89b862e0637af132d78168e1b28820f8",
      "tree": "7bd0dc13fdefa052cc6987c5fcdceb0cbdbca766",
      "parents": [
        "22cfd047abb09929331ce2727499a24bcbb3604b",
        "9f080e2a5bc6a268934e32201c69ea8a86900396"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jan 23 15:53:17 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 23 15:53:17 2012 -0800"
      },
      "message": "am 9f080e2a: am 44760b10: Merge \"Revert \"Fix 5797764: Increase lock screen\\\u0027s thread priority\"\" into ics-mr1\n\n* commit \u00279f080e2a5bc6a268934e32201c69ea8a86900396\u0027:\n  Revert \"Fix 5797764: Increase lock screen\u0027s thread priority\"\n"
    },
    {
      "commit": "44760b106a4bafcf83fb356bf91683db40e0e5a2",
      "tree": "95bd104768afda39f48084ed5cdf324487a40ca5",
      "parents": [
        "fee5a860a8355cda071ff23644e943414ba7f65d",
        "54dbbce1c3cd3b534b0bf7cb15c85f966ed029b7"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jan 23 15:49:32 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 23 15:49:32 2012 -0800"
      },
      "message": "Merge \"Revert \"Fix 5797764: Increase lock screen\u0027s thread priority\"\" into ics-mr1"
    },
    {
      "commit": "54dbbce1c3cd3b534b0bf7cb15c85f966ed029b7",
      "tree": "fda89338361f2ebbc5bc9a8fa7333b54466d1cd2",
      "parents": [
        "6d6a70a33746ef5147ab146f1802f0db424dd2f1"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jan 23 15:24:42 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 23 15:24:42 2012 -0800"
      },
      "message": "Revert \"Fix 5797764: Increase lock screen\u0027s thread priority\"\n\nThis reverts commit 6d6a70a33746ef5147ab146f1802f0db424dd2f1\n\nThis doesn\u0027t appear to have a measurable impact for this issue."
    },
    {
      "commit": "fd1c5ed3705b885ce50b5ecad04ce699248b1d84",
      "tree": "f59154a06fe93c6eefee035570bfbfd15294ffec",
      "parents": [
        "a6b8fe1c7115e0d3843cf6915f9a6f7598779530"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 13:09:16 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 23 12:52:43 2012 -0800"
      },
      "message": "New screen rotation animation design.\n\nWe now have an animation that can start as soon as we detect to\nrotate the screen, and have a different phase once the new UI\nis ready to complete the transition into it.\n\nChange-Id: I05b9c12a699232acbddc36b4a994a4452db71476\n"
    },
    {
      "commit": "d9ea468d6a9cb6018ce33d3dcf9db72f02773af1",
      "tree": "b04a38183228b5f2c8ee6706522ddd0b89697b8f",
      "parents": [
        "30f1312b3cb584c14eba60e6809d4eeed5d906bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 20 18:36:40 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 23 12:01:00 2012 -0800"
      },
      "message": "New brightness setting to adjust auto-brightness mode.\n\nChange-Id: Icfec22be99d8c79e9ff5720b80fb9dacbba36134\n"
    },
    {
      "commit": "30f1312b3cb584c14eba60e6809d4eeed5d906bf",
      "tree": "c905b11a3e52f2e058f27a739dcbf87992f4ed2d",
      "parents": [
        "8ffd2cccf0f0458b941d2a3c69d30a6ae06fc33b",
        "2f36229db823d152f3efd879e751e81a601a75b0"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Jan 23 09:34:17 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 23 09:34:17 2012 -0800"
      },
      "message": "Merge \"Use Map.Entry, not HashMap.Entry\""
    },
    {
      "commit": "8ffd2cccf0f0458b941d2a3c69d30a6ae06fc33b",
      "tree": "a761caba1ec100e76b6ef5b6a781e587d316913b",
      "parents": [
        "5691f6a882528a5a2b622eeed335d256d15a7f05",
        "b1c7785c1110e171d3dd3deb259b1caeed0b9da6"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jan 23 09:18:36 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 23 09:18:36 2012 -0800"
      },
      "message": "am b1c7785c: am eaa11a72: Merge \"Fix 5797764: Increase lock screen\\\u0027s thread priority\" into ics-mr1\n\n* commit \u0027b1c7785c1110e171d3dd3deb259b1caeed0b9da6\u0027:\n  Fix 5797764: Increase lock screen\u0027s thread priority\n"
    },
    {
      "commit": "02d37b9731eaf5d79f9eb395576e030934c37f3b",
      "tree": "f1187101a6d5f80fa1b07fcca4e038b5d2afd06f",
      "parents": [
        "65f87ec733955455b66ea704e85709189b1cea80",
        "892d11f4925170543f166c38e594c97577b4c034"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 20 18:42:07 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 20 18:42:07 2012 -0800"
      },
      "message": "resolved conflicts for merge of 892d11f4 to master\n\nChange-Id: I21eca0002100d898e167a25aaa46d896deca2a11\n"
    },
    {
      "commit": "65f87ec733955455b66ea704e85709189b1cea80",
      "tree": "77f8a19183dfb82602ba877b02168bf38063655d",
      "parents": [
        "0f73d75da069e8af200092c0c6a8487108fdcbfb",
        "73d7369e0f049a6f6ad9fac4c945fef6a3729b5c"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 20 17:59:06 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 17:59:06 2012 -0800"
      },
      "message": "Merge \"Fix shared-storage full backup\""
    },
    {
      "commit": "73d7369e0f049a6f6ad9fac4c945fef6a3729b5c",
      "tree": "ad19ea4ea3bf71ec8509c16dcf4083c2adbb8cf9",
      "parents": [
        "e988e0c31ca16160dee1b7c689ac31cd70fe43a2"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 20 17:11:31 2012 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 20 17:41:41 2012 -0800"
      },
      "message": "Fix shared-storage full backup\n\nThe special shared-storage step was mistakenly writing its data directly\nto the USB output pipe rather than to the proper stacked data handling\nchain that applies compression and encryption.  Fix this by getting rid\nof the custom handling of the shared-storage data, instead folding it\ninto the normal data handling flow [with a small amount of additional\nmanagement because e.g. it doesn\u0027t need a \"manifest\" pseudofile in the\narchive stream].\n\nFixes bug 5897791\n\nChange-Id: I3995b07963334d2f8cce49b247c87d3d3ff93bed\n"
    },
    {
      "commit": "d3fe9abfb9a6a21a18abde6a98dceb423c04ebef",
      "tree": "35cadfcae72edfa6d0bff057bfd84a2e60857edd",
      "parents": [
        "865534a0e30982b0e669006509b9590fad129295",
        "ab9601cdbb95ae94088750eff9a926a572c1a4d6"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 20 15:48:21 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 15:48:21 2012 -0800"
      },
      "message": "am ab9601cd: am 230a7092: Merge \"Fix 5863053: Add method to lock screen immediately.\" into ics-mr1\n\n* commit \u0027ab9601cdbb95ae94088750eff9a926a572c1a4d6\u0027:\n  Fix 5863053: Add method to lock screen immediately.\n"
    },
    {
      "commit": "eaa11a723150f1ea79446d7ba4bf77eb47b73337",
      "tree": "65340e7a9715009d887cb013c705e3eaae2f7873",
      "parents": [
        "b09f6f96e3583da320b69486869bc98fd463735e",
        "6d6a70a33746ef5147ab146f1802f0db424dd2f1"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 20 15:24:20 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 15:24:20 2012 -0800"
      },
      "message": "Merge \"Fix 5797764: Increase lock screen\u0027s thread priority\" into ics-mr1"
    },
    {
      "commit": "2f36229db823d152f3efd879e751e81a601a75b0",
      "tree": "21797ffa7224c9f76ce99dd9ad09c781c7782296",
      "parents": [
        "c79e413911d48ebf14621304655029f6cd2c7959"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Jan 20 14:43:38 2012 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Jan 20 14:43:38 2012 -0800"
      },
      "message": "Use Map.Entry, not HashMap.Entry\n\nMap.Entry is the defined return value from entrySet().  HashMap.Entry\nshouldn\u0027t be used directly.\n\nChange-Id: Ia21598c6a73fe7eb22179ce114095f779c903084\n"
    },
    {
      "commit": "6d6a70a33746ef5147ab146f1802f0db424dd2f1",
      "tree": "415cc2c4d78a70f8caf3300f3819d8f426e31a1f",
      "parents": [
        "ff321d496a6a07fc667112ecfe4d9a107d44147b"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 20 14:35:56 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 20 14:41:55 2012 -0800"
      },
      "message": "Fix 5797764: Increase lock screen\u0027s thread priority\n\nThis increases lock screen\u0027s thread priority from THREAD_PRIORITY_FOREGROUND\nto THREAD_PRIORITY_DISPLAY to ensure it runs before other activities that\nmight stall lock screen when the screen turns on.\n\nChange-Id: I14cf9f3f5c092817bc6cf2d0a254001a5d34f744\n"
    },
    {
      "commit": "2772143eff6a69ae7182e0c2628809d8dbd8d355",
      "tree": "7e23f833b91f47c69b3bee356e7257b2c81a7b09",
      "parents": [
        "59734cb7cae326d0c1f06de59ad1768cacaf7a6d",
        "8beff9586ff89a1e59469e9820fd9e9d704300d2"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jan 20 14:35:41 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 14:35:41 2012 -0800"
      },
      "message": "Merge \"Stop using shared DUN APN when tethering stops.\""
    },
    {
      "commit": "cfbf7dedaddd825b608e87d3dcf46adf80a46976",
      "tree": "75601703069be05b1da575fdb95be34ef2fd8c52",
      "parents": [
        "820b45c0a21980a43532b9fb9823f8aa08c64a15"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 12 14:05:03 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 20 11:01:01 2012 -0800"
      },
      "message": "Fix issue #5823276 again: home repaints after full-screen app is exited\n\nDon\u0027t consider a window as a candidate for the top fullscreen window\nif it is not going to be a candiate for layout.\n\nThis fix does not include the change to ignore app tokens that are\nhidden.  This causes problems in some dialogs that stay hidden until\ntheir app is ready to display, but need to perform a series of relayouts\nduring that time to get to the right size.  Dropping this part of\nthe change still (mostly?) seems to allow us to avoid the bad states.\n\nChange-Id: Ic052cb1499d3287f47e9ffeac5cd2470ee5a308c\n"
    },
    {
      "commit": "470fd72a06390d7a6b854583afd0ed76ce0a03ee",
      "tree": "6dbb1bea2e753639b9b83c4581726c2733bc43da",
      "parents": [
        "fa78fe0d70fe7e6a9eb19680888b617ea57eaad4"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jan 18 12:51:15 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jan 20 10:37:11 2012 -0800"
      },
      "message": "Log netd traffic nicely.\n\nCreate a LocalLog class for logging within a service for dumping in dumps.\nUse it in the NativeDaemonConnector so we can get some insight into what\nis happening in these lockups.\n\nbug:5864209\nChange-Id: I68ddc58847f3c8de613be9528570f8c3157d8274\n"
    },
    {
      "commit": "170997a519ce79e93e4f6984e9663232475ce92c",
      "tree": "35cfb58116933c36a5cdad70c429bdce095ed87a",
      "parents": [
        "12310ee801553e63091ce3bda6f07a5be31a473c"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Thu Jan 19 13:48:18 2012 -0800"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Thu Jan 19 15:41:33 2012 -0800"
      },
      "message": "DO NOT MERGE Revert \"Fix issue #5823276: home repaints after full-screen app is exited\"\n\nThis reverts commit 01b02a734d2988c22b00f5df6346ad03d8bf52b6.\n\nChange-Id: I848c01fc44eb9a51ead1116b2647ed838ec1825f\n"
    },
    {
      "commit": "230a709285abc5dfd92f05d91a8997d52a59d3c7",
      "tree": "782118afed3a59641c740dc5a32559b80eccc3cc",
      "parents": [
        "db2e71635968f455ad4f41b2e24fb8b909c24ca0",
        "93c518e4f8abd98f87cda1712b30a5a86cfa60dd"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Jan 18 16:44:52 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 16:44:52 2012 -0800"
      },
      "message": "Merge \"Fix 5863053: Add method to lock screen immediately.\" into ics-mr1"
    },
    {
      "commit": "6de74ff2a45591455cbb5c21d78904065e89ec89",
      "tree": "70c9ca44545f3e67e3a61d5e69b0763f8f7d4c9a",
      "parents": [
        "ea77ed02e44ebd177e3c7e1797d9cb804820ce43"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jan 17 15:20:32 2012 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jan 18 15:44:47 2012 -0800"
      },
      "message": "Fix edge cases leading to backup hanging forever\n\nPlug a couple of apparent code paths (one not obviously reachable, but\nfixed here on general principles) that could lead to a backup pass\ngetting confused partway through and simply never properly completing.\nIn this state it would leave its wakelock held forever until next\nreboot.  Bug 5828859.\n\nThose fixes are a total of two lines of code. The rest of the patch\nadds a textual journal of the most recently completed (or ongoing!)\nbackup pass\u0027s progress, with an eye to being able to isolate any such\nissues that may crop up in the future.\n\nChange-Id: If8a5e8aba11db5a1e618d8b9c9ba3038dd5377a1\n"
    },
    {
      "commit": "93c518e4f8abd98f87cda1712b30a5a86cfa60dd",
      "tree": "fd9e7459bf5a228aef50826097a2cc714b8a6013",
      "parents": [
        "ff321d496a6a07fc667112ecfe4d9a107d44147b"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 17 15:55:31 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 17 18:11:05 2012 -0800"
      },
      "message": "Fix 5863053: Add method to lock screen immediately.\n\nThis fixes a bug where the device fails to lock when DevicePolicyManagerService\nrequests the device to be locked and the screen was off because the user hit\nthe power button.\n\nThe change allows DPMS to directly invoke screen lock, bypasssing the screen state.\n\nChange-Id: Iecdda6fc61e9c519119de495be23c69c3b983921\n"
    },
    {
      "commit": "f88d1493aa968d3da551116f076edd5e21f7ccfc",
      "tree": "553a98239d2e3d547da50e658c57a708efc17aad",
      "parents": [
        "31cef1451e84e613825a78716f4b8cedd5ae9084",
        "100651779fde99f7ae2a10719d688b51115f08e9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 13:01:48 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 13:01:48 2012 -0800"
      },
      "message": "am 10065177: am 2e282f35: Merge \"Fix issue #5823276: home repaints after full-screen app is exited\" into ics-mr1\n\n* commit \u0027100651779fde99f7ae2a10719d688b51115f08e9\u0027:\n  Fix issue #5823276: home repaints after full-screen app is exited\n"
    },
    {
      "commit": "2e282f35b009fe4c23daca35592dae2032641643",
      "tree": "8dc3befb0826cc22653a327281f86ebc904647e9",
      "parents": [
        "da7b7700d0f499ac9b0bac51365b3da235388ae6",
        "01b02a734d2988c22b00f5df6346ad03d8bf52b6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 12:56:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 12:56:40 2012 -0800"
      },
      "message": "Merge \"Fix issue #5823276: home repaints after full-screen app is exited\" into ics-mr1"
    },
    {
      "commit": "ecce05fac6600d01b5dca1cbf6345837e2840c5a",
      "tree": "0c7831bc04f92baecf94b327bb8b6d77abd11b7d",
      "parents": [
        "60c6b082eaa534402911adb2a5e76618e6e0e49d",
        "89620c5d982858f590f3740169c9f69ee380be3e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 13 12:18:55 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 12:18:55 2012 -0800"
      },
      "message": "am 89620c5d: am 2cf18d28: Merge \"Streamline package-installed handling by the Backup Manager\" into ics-mr1\n\n* commit \u002789620c5d982858f590f3740169c9f69ee380be3e\u0027:\n  Streamline package-installed handling by the Backup Manager\n"
    },
    {
      "commit": "2cf18d28785fdd188641867503586627cb212302",
      "tree": "7b9d010b690c7ada4c3b012b244748035d4b128f",
      "parents": [
        "2753e826b2d0e7a4c5f80c3e825afa4aa579942b",
        "0bacfd2ba68d21a68a3df345b830bc2a1e515b5a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 13 11:49:20 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 11:49:20 2012 -0800"
      },
      "message": "Merge \"Streamline package-installed handling by the Backup Manager\" into ics-mr1"
    },
    {
      "commit": "191713a51f0292b7fce72cc7e16cfd0f0204a0c7",
      "tree": "d8fc9aae23ff85cd5f2c88d3c4ca2fad36642283",
      "parents": [
        "dc89357810976556d20483c7fe161b68ed4d2acf"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jan 12 12:02:22 2012 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jan 12 17:39:40 2012 -0800"
      },
      "message": "Move where prop dev.bootcomplete is set\n\nCurrently test harnesses depends on this flag to determine when\nthe system is fully booted, and start dismissing keyguard, launch\ntests etc. However, the flag is usually set when the boot animation\nis still running, and typically about 5 seconds before keyguard is\nup etc. Moving to to when BOOT_COMPLETE broadcast is sent makes it\nwork more reliable.\n\nWe also discussed about using sys.boot_completed instead,\nunfortunately this flag is not in all platform and we still have\nbackwards compatibility to maintain in order to drive unbundled\ntests.\n\nChange-Id: I99b084cd70d8e4bcfe490ddeca868136d32712e2\n"
    },
    {
      "commit": "0bacfd2ba68d21a68a3df345b830bc2a1e515b5a",
      "tree": "4ba0f1c83b94a9dfe2df611cb83f10c346e00cab",
      "parents": [
        "51938e26913a98aa8de0292e9be8ea9d9ebc67c3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jan 11 14:41:19 2012 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jan 12 16:15:09 2012 -0800"
      },
      "message": "Streamline package-installed handling by the Backup Manager\n\nIn particular, don\u0027t do O(asec_apps * installed_apps) work during the\nbroadcast receiver\u0027s operation.  On devices with many installed apps\nand a large number of them moved to ASECs, this was causing the system\nprocess to become unresponsive and the watchdog to fire -- which in turn\nwould initiate a restart loop, as the same package-installed broadcast\nwould then be issued again once the package manager rescanned the ASEC\ncontainers, ad infinitum.  With this change, the expensive call to the\npackage manager is only made once rather than asec_apps times.\n\nBug 5850283\n\nChange-Id: I14e280ea1fa6af19cebc58869a20fbb599c92c8c\n"
    },
    {
      "commit": "5d134343ca9f3ce28704a7fa69a11e4f4d0d25a4",
      "tree": "2eea7b82cc2999771e624d06a4fb21f72377537d",
      "parents": [
        "e340527eaba89cad646e46d1d5ee34b71e9c6133",
        "1e9e7f76d5e6187befaf96eece258c27fd08bdc5"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Jan 12 14:30:44 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 12 14:30:44 2012 -0800"
      },
      "message": "am 1e9e7f76: am ff321d49: Merge \"VPN: silence VPN notifications.\" into ics-mr1\n\n* commit \u00271e9e7f76d5e6187befaf96eece258c27fd08bdc5\u0027:\n  VPN: silence VPN notifications.\n"
    },
    {
      "commit": "ff321d496a6a07fc667112ecfe4d9a107d44147b",
      "tree": "fda89338361f2ebbc5bc9a8fa7333b54466d1cd2",
      "parents": [
        "aaaafca8543eaa75f1865d70c801c9b62caa56e2",
        "50fe709995d1f126e96cafde133bc4777b31d4ed"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Jan 12 14:24:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 14:24:30 2012 -0800"
      },
      "message": "Merge \"VPN: silence VPN notifications.\" into ics-mr1"
    },
    {
      "commit": "01b02a734d2988c22b00f5df6346ad03d8bf52b6",
      "tree": "36cc4f3027585963a0db3ad33f907c28182f9fe1",
      "parents": [
        "d3be0a76e46584357dbb77fcd200128d0d7dc9a8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 12 14:05:03 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 12 14:05:03 2012 -0800"
      },
      "message": "Fix issue #5823276: home repaints after full-screen app is exited\n\nDon\u0027t consider a window as a candidate for the top fullscreen window\nif it is not going to be a candiate for layout.\n\nAlso don\u0027t consider windows a candidate for layout if their app token\nis hidden.  This fixes a transient state where we are preparing to\nunhide the window but have not done so yet.\n\nChange-Id: Ife5299ffa003c1df1a4f787b7a2809cbf614ec16\n"
    },
    {
      "commit": "cc9858049ddea5a28cbd1d6ee59dd814e21ef512",
      "tree": "78081fb7ae61805343c8b8cb732e5f6cb6d456c3",
      "parents": [
        "140d0158c46c580c45f88f9b880906d517c4e96e",
        "1800ccfa647cca6e9c051759312d6af12f134f5a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Jan 12 09:29:30 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 12 09:29:30 2012 -0800"
      },
      "message": "am 1800ccfa: am 4b1261f1: Merge \"Disable wimax when mobile data is in Settings\" into ics-mr1\n\n* commit \u00271800ccfa647cca6e9c051759312d6af12f134f5a\u0027:\n  Disable wimax when mobile data is in Settings\n"
    },
    {
      "commit": "4b1261f17ae2a0180be09b1c987ec7e70b2b46a7",
      "tree": "06954c77300120fc643b1ceac02e06b1067adb66",
      "parents": [
        "2931d8ace9118bafe08090cd41e235048b6c2eb2",
        "b97d34c7c81ed7def6d0c1d7a76d057051f7d154"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Jan 12 09:24:45 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 09:24:45 2012 -0800"
      },
      "message": "Merge \"Disable wimax when mobile data is in Settings\" into ics-mr1"
    },
    {
      "commit": "50fe709995d1f126e96cafde133bc4777b31d4ed",
      "tree": "cb9a7f123bcd7949be32a6b28f990fa7f9e57fe2",
      "parents": [
        "c15cf3d286f3d63d141b73f639a5a61ddb028029"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Jan 11 14:26:24 2012 -0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Jan 11 14:26:24 2012 -0800"
      },
      "message": "VPN: silence VPN notifications.\n\nBug: 5852859\nChange-Id: I269d8de298a1fd69a8d777150ae97927537a5424\n"
    },
    {
      "commit": "c36905673a7bcafe9ec74e82e6c4977f2aca6a50",
      "tree": "82497a6547db5a4a26e745051166c4ed133ee36c",
      "parents": [
        "2cc28deb9ef5c9b8aff90e1ad42c3d1915e73b26"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Jan 10 20:14:43 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Jan 11 17:03:03 2012 +0900"
      },
      "message": "Enable subtypes when the implicitly enabled subtype is not ascii capable keyboard\nBug: 5806103\n\nChange-Id: I1a83b227498073c47567f73566043c273809adc9\n"
    },
    {
      "commit": "2cc28deb9ef5c9b8aff90e1ad42c3d1915e73b26",
      "tree": "f59f60ec737389c670126df52d37930647abc568",
      "parents": [
        "c347a9a61ea1caf029725dbf7ba87954b99a2582",
        "5a7bcf31a44d9875ca5fc010dc213aa2bd5b1168"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 10 17:41:01 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 10 17:41:01 2012 -0800"
      },
      "message": "Merge \"Move non-monotonic reporting to interface.\""
    },
    {
      "commit": "5a7bcf31a44d9875ca5fc010dc213aa2bd5b1168",
      "tree": "b0dbf2bd072f3c50d1030b65eea8e50384614229",
      "parents": [
        "b8f90a0e6eae582778bbe10b6347acbf5fc69bfb"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 10 17:24:44 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 10 17:24:44 2012 -0800"
      },
      "message": "Move non-monotonic reporting to interface.\n\nReport non-monotonic NetworkStats through an observer interface\ninstead of throwing, since those events are still recoverable.\n\nChange-Id: Ic0749f4634b0ac05dbe90e95ca490957ec8b2f23\n"
    },
    {
      "commit": "de7a2f30548ac64d67e9ce8ac08090eb5458449d",
      "tree": "b60aa8928c0fe09ea5fe1363d4e5805ca6f046df",
      "parents": [
        "7944704e6c4cc10105838b78d3d8403bf66a066b"
      ],
      "author": {
        "name": "Danielle Millett",
        "email": "dmillett@google.com",
        "time": "Wed Dec 21 17:02:32 2011 -0500"
      },
      "committer": {
        "name": "Danielle Millett",
        "email": "dmillett@google.com",
        "time": "Tue Jan 10 11:40:41 2012 -0500"
      },
      "message": "DO NOT MERGE - Cherry picking from master to MR1\n\nFix 5783857: Device Policy Manager doesn\u0027t allow Face Unlock\n\nThis makes it so that if face unlock is enabled and then a device policy\nmanager that requires something more secure than face unlock is installed,\nthe user will be forced to choose a new acceptable lock type.\n\nThis was previously fixed for the case where the device had been reset, or\nthe shell was restarted after setting face unlock, but not for the case where the\ndevice remained on between setting face unlock and setting up a device policy\nmanager.\n\nAlso changed the function ordering of saveLockPattern() so that the overloaded\nwrapper function is next to the main function.\n\nChange-Id: Ibed8c4ab137ebbc07fb143faef6f047bc6dc4474\n"
    },
    {
      "commit": "70522addd031f6c667849f76c074e463a141c61d",
      "tree": "826b49d8e3d08f5148db98ff3c651bb9d75989e3",
      "parents": [
        "128386ca9a32a4bbce094c30fec8bc6522f04d03"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 06 13:58:01 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 06 13:58:01 2012 -0800"
      },
      "message": "Don\u0027t allow reading of packagelist files.\n\nEnsure that all requests to read the list of installed packages\ngo through the PackageManager directly. Don\u0027t allow non-system\nprogram to directly read the raw package list files.\n\nChange-Id: Id083e6b3de4dd9173abfdc741ebf3f60997a1052\n"
    },
    {
      "commit": "b97d34c7c81ed7def6d0c1d7a76d057051f7d154",
      "tree": "5a4d87a7e767ba7ab52ae5a61b0998f62fd6eaa1",
      "parents": [
        "dacbf67ab915fa8b987f6fb9f044160af92652cd"
      ],
      "author": {
        "name": "tk.mun",
        "email": "tk.mun@samsung.com",
        "time": "Fri Jan 06 10:43:52 2012 +0900"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jan 06 10:32:54 2012 -0800"
      },
      "message": "Disable wimax when mobile data is in Settings\n\n- Add wimax related code in handleSetMobileData to disable wimax when Moblie data is disabled (Settings -\u003e Wireless \u0026 Networks - More -\u003e Mobile Networks -\u003eData Enabled)\n\nChange-Id: Ibf2d9da2eb90d161128005f26ac4b3e991526af4\nSigned-off-by: tk.mun \u003ctk.mun@samsung.com\u003e\n"
    },
    {
      "commit": "32350c7ab2f56b6d70437ba62f85232fd0b2c24a",
      "tree": "bdd5fb2cf5ff7275265190bc1c67b93957dcb469",
      "parents": [
        "6b14d5858056d49d2cd2162cd043908794e5a4df",
        "4f74d552d54fd26bc377f333fccb671d20519b3e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jan 05 11:39:26 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 05 11:39:26 2012 -0800"
      },
      "message": "Merge \"Filter our v6 address from tethering dns.\""
    },
    {
      "commit": "8beff9586ff89a1e59469e9820fd9e9d704300d2",
      "tree": "fcf43429868d4ce1afe37ffb0ccb695bb7472ea5",
      "parents": [
        "2b072677538de979961b5bf527109fdab1713731"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Dec 13 15:26:02 2011 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jan 03 16:32:04 2012 -0800"
      },
      "message": "Stop using shared DUN APN when tethering stops.\n\nEven if other people are sharing the connection (ie, carrier wants\ndefault and tethered traffic on the same APN) stop using\na carrier-described APN when the tethering stops.\n\nbug:5525764\nChange-Id: I95ed2aaed4d79519d233a62cf2945edead8114bc\n"
    },
    {
      "commit": "3c673732ead2721c564c2bd46780e8ebf10e948b",
      "tree": "803903c54b44ebfa2a647b125054cb4749359331",
      "parents": [
        "dd13756fdcfe3b254ef052b3c983a9bc28ba5520",
        "2364a222fcba233d66d0a9cde691d1d6e82227db"
      ],
      "author": {
        "name": "Danielle Millett",
        "email": "dmillett@google.com",
        "time": "Tue Jan 03 13:44:28 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 03 13:44:28 2012 -0800"
      },
      "message": "Merge \"Fix 5783857: Device Policy Manager doesn\u0027t allow Face Unlock\""
    },
    {
      "commit": "b8f90a0e6eae582778bbe10b6347acbf5fc69bfb",
      "tree": "df53d1eb393193d10a612e797a92238f6abf88f0",
      "parents": [
        "478e45be576a08567333e4846ee80de11acfdfb6",
        "da6aedf716bfdd40148823fb63d666d34b7b425e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 03 10:57:19 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 03 10:57:19 2012 -0800"
      },
      "message": "Merge \"Test the correct return code from call to cryptfs.\""
    },
    {
      "commit": "c1bac3a6e240c1c9a14a7b515f585977fb908930",
      "tree": "bae143af880c94515201173c5c715623f5204c99",
      "parents": [
        "2b072677538de979961b5bf527109fdab1713731"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Dec 16 15:00:31 2011 -0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Dec 27 13:14:51 2011 -0800"
      },
      "message": "VPN: fix a CloseGuard warning.\n\nChange-Id: Ic237a33038be9a170c1f9128332a8743c57971ed\n"
    },
    {
      "commit": "2364a222fcba233d66d0a9cde691d1d6e82227db",
      "tree": "37d742acfea0c4409fe4b63327035a515e0181e1",
      "parents": [
        "f3bd2f7a3f2eadd5126b1a55ca45bdbffe80ceeb"
      ],
      "author": {
        "name": "Danielle Millett",
        "email": "dmillett@google.com",
        "time": "Wed Dec 21 17:02:32 2011 -0500"
      },
      "committer": {
        "name": "Danielle Millett",
        "email": "dmillett@google.com",
        "time": "Thu Dec 22 10:00:44 2011 -0500"
      },
      "message": "Fix 5783857: Device Policy Manager doesn\u0027t allow Face Unlock\n\nThis makes it so that if face unlock is enabled and then a device policy\nmanager that requires something more secure than face unlock is installed,\nthe user will be forced to choose a new acceptable lock type.\n\nThis was previously fixed for the case where the device had been reset, or\nthe shell was restarted after setting face unlock, but not for the case where the\ndevice remained on between setting face unlock and setting up a device policy\nmanager.\n\nAlso changed the function ordering of saveLockPattern() so that the overloaded\nwrapper function is next to the main function.\n\nChange-Id: Ibed8c4ab137ebbc07fb143faef6f047bc6dc4474\n"
    },
    {
      "commit": "4f74d552d54fd26bc377f333fccb671d20519b3e",
      "tree": "c772b3352681b951e3104f4b27ceedaafc07bc3b",
      "parents": [
        "01583ef715641c8a3ce68269b091e75adbe9335a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 19 16:59:31 2011 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Dec 20 14:47:22 2011 -0800"
      },
      "message": "Filter our v6 address from tethering dns.\n\nDon\u0027t support IPv6 yet, and the tools crash when they see one, so\nfilter them out.\n\nbug:5763980\nChange-Id: Ie9a4445a3c72df3f7ab4320c507ebc8e8cd440ff\n"
    },
    {
      "commit": "da6aedf716bfdd40148823fb63d666d34b7b425e",
      "tree": "24c3e406d196dfce461b62c8a78480d39b090b3d",
      "parents": [
        "9cfff10bf5266f5bda99d2e3cbbc19c046924dc8"
      ],
      "author": {
        "name": "Fredrik Roubert",
        "email": "roubert@google.com",
        "time": "Tue Dec 20 17:34:43 2011 +0100"
      },
      "committer": {
        "name": "Fredrik Roubert",
        "email": "roubert@google.com",
        "time": "Tue Dec 20 18:47:33 2011 +0100"
      },
      "message": "Test the correct return code from call to cryptfs.\n\nThis was broken in commit dd519fac9b79f36a27909149a90fce4321ed1c20\n(certainly by mistake), in which Integer.parseInt(tokens[1]) was\nerrornously replaced with event.getCode().\n\nChange-Id: Ic5af5a2ec5f321da21a4a5db25f6908462f6cae8\n"
    },
    {
      "commit": "1fd4de0adc9e93aa01dd8e1aef1a83b85b9a7579",
      "tree": "fa91f2ef32409cdc7c376b313d90d577cb71e7f2",
      "parents": [
        "aaf30e370f9a1aa645039138f54246ca4cd483fa",
        "6754ba24f12a54b97b3ca1c5d29fc23c15980abe"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Dec 16 12:33:54 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 12:33:54 2011 -0800"
      },
      "message": "Merge \"Add plumbing for dumping database info using dumpsys.\""
    },
    {
      "commit": "fe781c8ccff69007ed856faf3dcf1ec04cc835f3",
      "tree": "0a17da1f0a5391a5e4493d123ec001605e67b12c",
      "parents": [
        "c6a7f358e86e9debdc110236797fba911bd9474a",
        "bfd89b35bae3f679e1a219f22c07bde9eb63241b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 16 12:30:25 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 12:30:25 2011 -0800"
      },
      "message": "Merge \"Don\u0027t forget to close files.\""
    },
    {
      "commit": "c6a7f358e86e9debdc110236797fba911bd9474a",
      "tree": "a7f7115d31b526c23dcc4cf5b9cca8a5412da23d",
      "parents": [
        "d63707f754c0fae88fef8363b3b1d6677f8e0aaf",
        "44fcb83b38b062a650ddf556fe7f5e34905df9ea"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Fri Dec 16 12:27:03 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 12:27:03 2011 -0800"
      },
      "message": "Merge \"Add a new ui mode for \"appliance\"\""
    },
    {
      "commit": "6754ba24f12a54b97b3ca1c5d29fc23c15980abe",
      "tree": "64c4241b75e87fb617388796f99262a2554fa31a",
      "parents": [
        "d5064be3b5922ee6522a33f8b729ffee2e3d7b4b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Dec 14 20:20:01 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Dec 16 04:01:00 2011 -0800"
      },
      "message": "Add plumbing for dumping database info using dumpsys.\n\nChange-Id: I51b0364c3d3d41aa38a759fbce48e625fff1b2dd\n"
    },
    {
      "commit": "bfd89b35bae3f679e1a219f22c07bde9eb63241b",
      "tree": "7aa10564088299187ef229d21ed8168092feb41a",
      "parents": [
        "3766a7a27535101e62af958b1d2d710daa166d7d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 15 18:22:54 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 15 18:22:54 2011 -0800"
      },
      "message": "Don\u0027t forget to close files.\n\nChange-Id: Ibfe465e1d7a947bbe40da17e8e8a2713856f95b5\n"
    },
    {
      "commit": "44fcb83b38b062a650ddf556fe7f5e34905df9ea",
      "tree": "f5726b3011934023b43a46eb3ce3be6742a274ba",
      "parents": [
        "3766a7a27535101e62af958b1d2d710daa166d7d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Dec 14 20:59:30 2011 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Dec 15 16:16:14 2011 -0800"
      },
      "message": "Add a new ui mode for \"appliance\"\n\nThe idea is that this is a device which is more-or-less headless.  It\nmight have some limited interaction capabilities, but it\u0027s not something\nthat you want to rely on having.\n\nChange-Id: Ib92f53a120bf83de781728011721a4859def7d9f\n"
    },
    {
      "commit": "3df273e45864ba595b4d870fa3f6c81a770078e2",
      "tree": "c3b359622baf5016a30341922e8d20d69f28808a",
      "parents": [
        "27c751dc0011fca9f88502a720670457cc22793f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 15 15:47:12 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 15 15:55:00 2011 -0800"
      },
      "message": "Move NMS observers to RemoteCallbackList.\n\nInternally uses Binder.linkToDeath() to handle case where remote\nobserver dies.\n\nChange-Id: I9ae0ee6e011a9715172fa079098b108f895ae956\n"
    },
    {
      "commit": "27c751dc0011fca9f88502a720670457cc22793f",
      "tree": "a939605228eef04495cf796cba0ac424fc79cd0a",
      "parents": [
        "24ef465d7f8d50484ffe7c8f79effad25a5f85d1",
        "f60d0afd1ef08a24121d015bb016df05265b6d07"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 15 15:37:21 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 15 15:37:21 2011 -0800"
      },
      "message": "Merge \"Restrict app data on metered networks.\""
    },
    {
      "commit": "f60d0afd1ef08a24121d015bb016df05265b6d07",
      "tree": "082ecd364e763d312a83524268bd15c759cc2091",
      "parents": [
        "8a0a72c7c18d1143983cea1c49b666f534262fa1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 30 15:28:02 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 15 14:30:04 2011 -0800"
      },
      "message": "Restrict app data on metered networks.\n\nThis separates the definition of \"metered network\" and \"network with\nlimit.\"  For now, all mobile networks are considered metered.\n\nBug: 5571454\nChange-Id: I394cd385bd33add75e53bfc9cf2fefd06a00208a\n"
    },
    {
      "commit": "18cb28756caf02bf2b2f5e67c68451edaf719b47",
      "tree": "14de3eb7cea27a7928b5dbc78f6e73780859fddc",
      "parents": [
        "8a0a72c7c18d1143983cea1c49b666f534262fa1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 15 11:19:53 2011 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 15 12:13:59 2011 -0800"
      },
      "message": "Add ContentProvider.dump()\n\nThis is similar to the existing dump() facility for services.\nContentProviders can now implement dump() and that info will be shown\nwhen running \"dumpsys activity provider\" and when taking a bugreport.\n\nChange-Id: I33b3b132e3c4f920153355cc368eda2f725a715f\n"
    },
    {
      "commit": "4529bb66c47fd02b990ecb0810031157b4f36c2f",
      "tree": "a9bfc70f0a5f448dcd006d419e820333a71ea7f3",
      "parents": [
        "377d4ae5cbb5304d3bae11a511bd51e2c58db236"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 14 10:31:54 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 14 17:51:13 2011 -0800"
      },
      "message": "Move NMS to CONNECTIVITY_INTERNAL permission.\n\nChange-Id: I6043c1b9cb10aeeafb93d1b5c60da571d2fec5c9\n"
    },
    {
      "commit": "dd73df35b84007b1735a45577560912434246aae",
      "tree": "f517e144a92abbb7c2bca7c593e83124e154aaca",
      "parents": [
        "17b289048766d6b101e70061fe5774ec8f370b55",
        "8cef06798ef1f67641f8b15165aca39abd6c46ca"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Dec 14 12:06:00 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 12:06:00 2011 -0800"
      },
      "message": "Merge \"Track scan count by UID\""
    },
    {
      "commit": "8cef06798ef1f67641f8b15165aca39abd6c46ca",
      "tree": "421eba65c16f53eee0eb8f7bcfa206f75a514d6f",
      "parents": [
        "d2ea737a1f28b43ce2e01686d64a5cf8243daa49"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Dec 13 17:03:59 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Dec 14 10:58:49 2011 -0800"
      },
      "message": "Track scan count by UID\n\nHelps track down misbehaving apps that are initiating\ntoo many scans\n\nBug:5722180\nChange-Id: I0bc396cf5e68ed53b900e8a65abb56acdbd8d8a5\n"
    },
    {
      "commit": "17b289048766d6b101e70061fe5774ec8f370b55",
      "tree": "c0b4caa10320b21b8d94d36ce3ad6a41d4ef30e4",
      "parents": [
        "926d55eb40b9042c200f154fdf0c7c7969e0e359",
        "418d12dc8f2c518b673ebc522de4af6f7dbf0bf3"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 14 10:12:17 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 10:12:17 2011 -0800"
      },
      "message": "Merge \"Avoid reading network stats when disabled.\""
    },
    {
      "commit": "418d12dc8f2c518b673ebc522de4af6f7dbf0bf3",
      "tree": "a7b8a5f230d9d66893429509788020c271b36c76",
      "parents": [
        "c2fc52dc9ce8728bcd1c2b4d82ee573fa7f5049b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Dec 13 15:38:03 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Dec 13 15:43:47 2011 -0800"
      },
      "message": "Avoid reading network stats when disabled.\n\nBug: 5518868\nChange-Id: Idb5c588b018bf735597ad7ff904ecc69224dd0a0\n"
    },
    {
      "commit": "d73b79bb314dde86cf8ff9300fefc133b31841d1",
      "tree": "a53994afb14a9a58be2a5088aa903fbe7495ff71",
      "parents": [
        "19a06fe93cccb4b1dd224b8456969821a19b07ef"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Dec 13 14:02:32 2011 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Dec 13 14:02:32 2011 -0800"
      },
      "message": "Cherry-picking Id45abeba and Ia065dec6 for MR1\n\n-------------------------------------------------------\nMCC detection fixes for CountryDetector\n\n- Don\u0027t get and cache phone tpe at the initialization time.  At this point\nTelephonyManager is probably not ready yet.\n\n- Refresh MCC whenever we get the service state changed callback, even when\nthe state hasn\u0027t actually changed, in order to make sure we get refresh\ncountry properly when MCC changes.\n\n- Also remove the initialization of mPhoneStateListener, which prevented us from\nregistering phone state listener properly.\n\n- Also fix tests which were already failing.\n\nBug 5670680\n\n-------------------------------------------------------\nAdd logging to country detector logic\n\nThis is for debugging purposes to verify the effects of\nchange Id45abeba1b1e843053ac2c946861b439ca568de4.\n\nBug: 5670680\nChange-Id: I238d953484e2c8135f7dac70fce8662c8300a286\n"
    }
  ],
  "next": "ee4d45f3052c8d339035c4bb8eca9b7a724e5074"
}
