)]}'
{
  "log": [
    {
      "commit": "2cf1cf098513807ffd3420ae106f438e943d0cd8",
      "tree": "305039d6fe052c26f1e89e119fb472269b1ae122",
      "parents": [
        "16bece04bdbac9af5228436f70267ec5763315de"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Oct 21 15:25:23 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Oct 21 15:25:23 2011 +0900"
      },
      "message": "Fix possible NPE\n\nBug: 5494803\nChange-Id: I6f9d0076405ab7c99076a1168198c2ee70ad5082\n"
    },
    {
      "commit": "84e825a84d7dde03042228c79638935c92d13c92",
      "tree": "1c481ca326b2f44ceb4cf807209c54016e24ae6c",
      "parents": [
        "62ade220d9b72a9edc8fcc4dfe98ca9541c6d501",
        "0c4ccff36930ff4f0292b94ad51e164c9fa060a3"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Oct 19 18:05:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 19 18:05:20 2011 -0700"
      },
      "message": "Merge \"Add hasNavigationBar() to the window manager.\" into ics-mr0"
    },
    {
      "commit": "c7d233d93f84fce9877c3eb645bbb515baf0dc0a",
      "tree": "30c45baec612ba4cb683cf057f069d2dc92c2cd0",
      "parents": [
        "3c86134a50618605c86eb9f5f120dbf97826e3e1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 19 16:55:27 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 19 16:55:27 2011 -0700"
      },
      "message": "Fix issue #5484096: Device rebooted after turning WiFi tethering ON, IRL19 Crespo.\n\nChange-Id: Iee530ae4adac20eb9637cc1b933a2202f4beb373\n"
    },
    {
      "commit": "0c4ccff36930ff4f0292b94ad51e164c9fa060a3",
      "tree": "062b194978f180d67b352cc64b552a485bdead62",
      "parents": [
        "70ac412b2fe7be2507189a9fdfb30c43b36d56ac"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Oct 19 16:39:14 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Oct 19 16:39:14 2011 -0400"
      },
      "message": "Add hasNavigationBar() to the window manager.\n\nIt is no longer sufficient to check the value of\ninternal.R.bool.config_showNavigationBar to determine if a\nnavigation bar (separate from the status bar) is shown on a\ndevice, because the emulator needs to be able to override\nthis value (now possible by setting qemu.hw.mainkeys to \"1\"\nor \"0\", for navbar or no navbar, respectively).\n\nThis logic is now contained in PhoneWindowManager, and any\nclients wishing to know whether the system has a software\nnav bar should consult the new hasNavigationBar() method.\n\nBug: 5404945\nChange-Id: I119d32a8c84b88b2ef46f63244e7f11dc5de0359\n"
    },
    {
      "commit": "8408e5165a74ddee7d2d8698314cfda521fbfc76",
      "tree": "3964db6666ebc0af25ecc8b1829d4e9a01c84062",
      "parents": [
        "70ac412b2fe7be2507189a9fdfb30c43b36d56ac",
        "ed48c8b4f50e060add50ad72a8d7af2fa547885b"
      ],
      "author": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Wed Oct 19 09:32:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 19 09:32:50 2011 -0700"
      },
      "message": "Merge \"Fix remote device wipe to not hang.\" into ics-mr0"
    },
    {
      "commit": "70ac412b2fe7be2507189a9fdfb30c43b36d56ac",
      "tree": "02c119cbbb9ee83261917a07017137aa39921b8f",
      "parents": [
        "d7035c58b006b62084232c8db6c4f7c4002170cc",
        "0ab84ef507f23505a72798fbe25cf4bb2c507ea3"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Oct 18 22:58:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 18 22:58:09 2011 -0700"
      },
      "message": "Merge \"Add a LayerScreenshot\" into ics-mr0"
    },
    {
      "commit": "d7035c58b006b62084232c8db6c4f7c4002170cc",
      "tree": "ab6011cd7d51c995bf36948ba669aa391f9b007b",
      "parents": [
        "5264f6003bbcb8ca70df034379154914260cc322",
        "526f0a0e158cf46c244edc57624c15ebce26c71f"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Oct 18 22:33:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 18 22:33:40 2011 -0700"
      },
      "message": "Merge \"Fix a hang in SF caused by invalid transform matrix from the WM\" into ics-mr0"
    },
    {
      "commit": "0ab84ef507f23505a72798fbe25cf4bb2c507ea3",
      "tree": "ea360721418d5b13c376c4f2bcbb4066ebb65f93",
      "parents": [
        "526f0a0e158cf46c244edc57624c15ebce26c71f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 13 16:02:48 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 18 20:21:47 2011 -0700"
      },
      "message": "Add a LayerScreenshot\n\nA LayerScreenshot is a special type of layer that contains a screenshot of\nthe screen acquired when its created. It works just like LayerDim.\n\nMake sure to call compositionComplete() after rendering into a FBO.\n\nBug: 5446982, 5467587, 5466259\nChange-Id: I5d8a1b4c327f9973d950cd4f4c0bca7f62825cd4\n"
    },
    {
      "commit": "526f0a0e158cf46c244edc57624c15ebce26c71f",
      "tree": "019fdf3dfe9b50c00093442c7cbdbdce30994f3e",
      "parents": [
        "0d0fba4587df36846baa80463490befdcef38e98"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 18 20:19:59 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 18 20:21:47 2011 -0700"
      },
      "message": "Fix a hang in SF caused by invalid transform matrix from the WM\n\nWindowManager could create by transforms because of divide by zero.\n\nBug: 5422468\nChange-Id: I782f87ebb78b5ff23750e22837f36ca6cfed1f2f\n"
    },
    {
      "commit": "98cfebc6e871937e296fc1c6b89e07cdc8d5ba28",
      "tree": "40fc7beaa94d0f646a0d126fc37ae14e2c7d6be3",
      "parents": [
        "07848843b23e10e4728fa779cc79fc38a341cf6b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 18 13:17:33 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 18 13:41:10 2011 -0700"
      },
      "message": "Fix issue #5461497: Landed on Welcome screen after a tap on \u0027Next\u0027 in Screen 500\n\nThe basic problem was that at some points during setup wizard, this would\nhappen:\n\n1. The app\u0027s process is killed.\n2. The app\u0027s process is restarted, but not to actually resume the\n   setup wizard activity, just to put it in the stopped state.\n   When doing this, the saved state is cleared but the app will\n   never provide a new one.\n3. The app\u0027s process is killed again.  At this point, because the\n   saved state is cleared, the activity is completely removed.\n4. Eventually the entire activity stack becomes empty, and a new\n   setup wizard activity needs to be created as the home app.\n\nThere is a combination of bad stuff going on here.\n\nFirst, why is the process being killed?  At this point the setup\nwizard is the home app, so it shouldn\u0027t be killed.  There were two\nreasons why this was happening:\n\n- CryptKeeper still was not completely cleanly going away.  To fix\n  this, I removed the check in the activity manager to not allow\n  an activity to finish if it is the only activity on the stack and\n  maybe-kindof looks like the home app.  This really wasn\u0027t necessary\n  (we always take care of starting a new home activity if we find the\n  stack is empty), and outright dangerous with all of these things\n  purporting to be home but not.\n\n- There was an issue in computing the oom_adj where the home app\n  would not be marked as \"not hidden\", and if we had to re-compute\n  its oom adj in the current sequence would then give it an\n  adjustment as a background process...  and with all the processes\n  we spin through during boot, it quickly got down to background\n  #16 and killed.\n\nSecond, what is going on with the state?  This is easier, the code\nin the activity manager to create a new activity but put it in the\nstopped state was still clearing the saved state.  The saved state\nshould only be cleared when going in to the resumed state.  When\ngoing in to the stopped state, we can just keep holding the same\nsaved state.\n\nChange-Id: I7d21cdcfa082d98ca70c79d9923e29605ee4353e\n"
    },
    {
      "commit": "d8581c7a61a9db042b531ce4baca3c036316e066",
      "tree": "0c1767d3eb9c13a6015591123756ba414ab5f0d9",
      "parents": [
        "11116b80d88b72e14e4f6b7ad3ab312096f8eea5"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Oct 18 11:11:33 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Oct 18 11:28:52 2011 -0700"
      },
      "message": "TouchExplorer crashes if there is incative pointer while dragging.\n\nThe TouchExplorer was not taking into account the case with incative\npointers while dragging. If one puts a finger down and then perfroms\na dragging gestore the explorer tries to inject UP event for the end\nof the gesture upon every of the two dragging pointers going up instead\nonly for one the first went up.\n\nbug:5476098\n\nChange-Id: I20d2dd7bde7e016b0678a35d14cd068d9ff37023\n"
    },
    {
      "commit": "ed48c8b4f50e060add50ad72a8d7af2fa547885b",
      "tree": "ecf9d7ff3fd0d5c1121317364bb916771aca4620",
      "parents": [
        "f129988a1aa8a210dc125b0f427d848a2aeb8bb2"
      ],
      "author": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Mon Oct 17 17:30:21 2011 -0700"
      },
      "committer": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Tue Oct 18 10:13:34 2011 -0700"
      },
      "message": "Fix remote device wipe to not hang.\n\nThe DPM seemed to always go through ExternalStorageFormatter to wipe the\ndevice and SD card. For SD cards emulated on a fuse filesystem, this\nseems to fail unless the device is wholly encrypted. Bypass\nExternalStorageFormatter in those cases and just wipe as normal.\n\nBug: 5458396\nChange-Id: Iec759ef894c6bd3863cb4e7329f4de4584c60c1a\n"
    },
    {
      "commit": "b0aec07f7462ff7563835c3107f4b46a28eae7a4",
      "tree": "f989f3e7a21c85cc5fbf1ce8b6f0dd01e263b08f",
      "parents": [
        "c4de6f81d4533acbfc162d051de480d474b72e76"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Oct 14 18:32:24 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Oct 17 14:51:42 2011 -0700"
      },
      "message": "Validate commands and arguments.\n\nBug: 5465176\nChange-Id: I9402054c20ea6cae42781c35bfc2ade90aac31ce\n"
    },
    {
      "commit": "71e14da93c8fea512fedf1b5226d28cd2c330238",
      "tree": "cd42f2053f2eb79c4e6b087d2b6d551ea9f1ca2a",
      "parents": [
        "541f6cfba8d1beb240e841530a761a084e354f64"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Oct 16 16:28:10 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 17 10:21:25 2011 -0700"
      },
      "message": "Fix issue #5445666: bunch of com.android.server.TextServicesManagerService crashes\n\nOnly unbind once.\n\nAlso protection from removing a SpellCheckerBindGroup from mSpellCheckerBindGroups\nif it is no longer the current entry there.\n\nChange-Id: Ic585295dfae77eae101a611afbf116bc681290ad\n"
    },
    {
      "commit": "840b8a678537519c27ddf2f818494eaa20a135d4",
      "tree": "f3b32ab3ba51f342b5b9d6e37dbce835739dd4a0",
      "parents": [
        "4fb6416e3a21031a88921a784ae62b13d8a1a39f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 23:54:25 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 23:54:25 2011 -0700"
      },
      "message": "Revert \"Add a LayerScreenshot\"\n\nThis reverts commit d6809f40cf61203573ec5dbc437f695cd132cc18.\n"
    },
    {
      "commit": "57337eb78e65c160fb9c46a01e04c476d1bfdca1",
      "tree": "244bec32b3f3227b6cdd9a7e43b8ea977fb03694",
      "parents": [
        "eaf4952410eb86d6ac8b343af3024250b9550dfd",
        "d6809f40cf61203573ec5dbc437f695cd132cc18"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 14 15:35:54 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 14 15:35:54 2011 -0700"
      },
      "message": "Merge \"Add a LayerScreenshot\" into ics-mr0"
    },
    {
      "commit": "d6809f40cf61203573ec5dbc437f695cd132cc18",
      "tree": "f7c0278119e2264719eb13d66756fc39df4b35df",
      "parents": [
        "22dad40d3e8ce54a00f337ea06b9b0bbfbd3fd6b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 13 16:02:48 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 14 14:32:48 2011 -0700"
      },
      "message": "Add a LayerScreenshot\n\nA LayerScreenshot is a special type of layer that contains a screenshot of\nthe screen acquired when its created. It works just like LayerDim.\n\nBug: 5446982\nChange-Id: I7814aff2380e7e146937f2b641907be2a30c76cc\n"
    },
    {
      "commit": "8f4e49a8fe4f568b2be090768f3297655ecd6d34",
      "tree": "dfa4e217429bab25bad1d3720c919ae0365f9986",
      "parents": [
        "000053859290d322625dfcbdb0467fc34d5e55f4",
        "b9c1acfb0b4a41ffb5a4d9c38ef298c3a1eb9599"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Oct 14 10:33:13 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 14 10:33:13 2011 -0700"
      },
      "message": "Merge \"DO NOT MERGE - Require device encryption password for adb backup/restore\" into ics-mr0"
    },
    {
      "commit": "8a058cbf12c590db810fe8d9fab6f4f614909329",
      "tree": "0cf23d2be8fb41c18a69740855f82ae332be5180",
      "parents": [
        "22dad40d3e8ce54a00f337ea06b9b0bbfbd3fd6b",
        "ce0ea1f2b92c0e47941f8ae777c676ff6fe50d22"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Oct 13 17:40:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 13 17:40:01 2011 -0700"
      },
      "message": "Merge \"In releaseWifiLockLocked call noteReleaseWifiLock.\" into ics-mr0"
    },
    {
      "commit": "b9c1acfb0b4a41ffb5a4d9c38ef298c3a1eb9599",
      "tree": "9e435077590878bfb5cb714308fbef333738dfd1",
      "parents": [
        "ab9d5b11737f8a460467657035186bcfa7085eb9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 10 13:51:12 2011 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Thu Oct 13 17:39:48 2011 -0700"
      },
      "message": "DO NOT MERGE - Require device encryption password for adb backup/restore\n\nThis supersedes any backup-password that the user might supply.  Per\ndesign, the device encryption password is also always used to encrypt\nthe backup archive.\n\nThe CL introduces two new strings, used for prompting the user for\ntheir device encryption password rather than their settings-defined\n\"backup password\" when confirming a full backup or restore operation.\n\nBug 5382487\n\nChange-Id: I278737927a4ecbb765bfb5ecfd28a4cb8dae52ef\n"
    },
    {
      "commit": "ce0ea1f2b92c0e47941f8ae777c676ff6fe50d22",
      "tree": "8a0af414e6e05ff8a2cb4b7cf8efcbe59013e272",
      "parents": [
        "8da119148fb8c20ec49917a6c106a0f731227238"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Oct 13 16:55:20 2011 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Oct 13 16:55:20 2011 -0700"
      },
      "message": "In releaseWifiLockLocked call noteReleaseWifiLock.\n\nBug: 5452027\nChange-Id: I45786a9cfe752f02a9c2e75e5b6f35bc5dfed6ae\n"
    },
    {
      "commit": "97e9ea98afac197722d7620d5fd09a8c06aafe3a",
      "tree": "7118b88a94b9b44fff9eff9009509bb60bb65dd6",
      "parents": [
        "e6063299d874cc3b9d1fa71d0c3772c6ebe62e06",
        "eabd328deea453a31d6b8f738c5bf0c3974d48b1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 13 16:44:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 13 16:44:26 2011 -0700"
      },
      "message": "Merge \"Fix bug with CLEAR_TASK -- wouldn\u0027t clear the top activity.\" into ics-mr0"
    },
    {
      "commit": "eabd328deea453a31d6b8f738c5bf0c3974d48b1",
      "tree": "3366d520b856166dfe1e349cde33ec735c267ac0",
      "parents": [
        "97175bc3277055047d4c3e6109824065f2abec5d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 13 16:26:49 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 13 16:26:49 2011 -0700"
      },
      "message": "Fix bug with CLEAR_TASK -- wouldn\u0027t clear the top activity.\n\nMaybe this will also fix bug #5144065 as well.\n\nI doubt I am so lucky, though.\n\nChange-Id: I60bf595d3eff79353fdd94b0f2a089e81218bc30\n"
    },
    {
      "commit": "ab9d5b11737f8a460467657035186bcfa7085eb9",
      "tree": "c63936d97e7cd6de1834431e3592e293b2403d3b",
      "parents": [
        "e89b69691f6593d4287dd1d02c5d31561f6d4aa8",
        "5dca30affc517879315b3a928c78756cbc9cf689"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Oct 13 13:59:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 13 13:59:33 2011 -0700"
      },
      "message": "Merge \"PowerManagerService: Remove assumption that light sensor will always send a value as soon as it is enabled.\" into ics-mr0"
    },
    {
      "commit": "c408a5d5738c84160a7e9a8299c953ea638bcef4",
      "tree": "6cc273598976f09dc78dd9755c4865da35edb2be",
      "parents": [
        "b14b2c25c20f77f7de0fd8b8fe59684a02add85f",
        "9730031f8af9f20f3e85fbb2b8925461c3980233"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Oct 13 13:38:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 13 13:38:00 2011 -0700"
      },
      "message": "Merge \"Fixing issue where widgets file was getting blown away, issue: 5036321\" into ics-mr0"
    },
    {
      "commit": "5dca30affc517879315b3a928c78756cbc9cf689",
      "tree": "c49f44de9e8e7510e1ed7bf00ca65b2d368096b8",
      "parents": [
        "8334038f9ed367186845f76fce061c46984da660"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Oct 13 16:29:29 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Oct 13 16:29:29 2011 -0400"
      },
      "message": "PowerManagerService: Remove assumption that light sensor will always send a value as soon as it is enabled.\n\nBug: 5426212\n\nChange-Id: Iebe51609233ef17c108bbec680369793abbae1be\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "38cc8960cbe09f8cb028a0cf8798c8c6fc75df33",
      "tree": "d886bc09f83ed551f37902b3d4397e78e42aea39",
      "parents": [
        "f4b40de684b3574475205542f22b2d49a75f31eb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 13 11:33:55 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 13 12:55:57 2011 -0700"
      },
      "message": "Fix issue #5446988: WindowManager warns BOOT TIMEOUT,...\n\n...dev.bootcomplete flags is set before boot animation is out\n\nAlso:\n\n- Fix crash in recent apps if the intent for an old app didn\u0027t\nhappen to have the new task flag set.\n- Fix issue where a crash in system UI would cause the crash\ndialog to be displayed below it, effectively locking the UI.  Now\nthe crash dialog for persistent processes is shown above everything\nelse.\n\nChange-Id: I0312001a92beeae5f644c7c3e5c5e19f6716df36\n"
    },
    {
      "commit": "f4b40de684b3574475205542f22b2d49a75f31eb",
      "tree": "c750338925a6e3ee7dded1014a274afd5bea85a9",
      "parents": [
        "a76a87a8efbc1e6d3d6f503d937ab18a91638ecf",
        "36991744a221c30a47085442e6416bdde40b85e8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 12 17:01:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 12 17:01:18 2011 -0700"
      },
      "message": "Merge \"Fix issue #5445966: WindowManager reporting -long on prime when it shouldn\u0027t be.\" into ics-mr0"
    },
    {
      "commit": "9730031f8af9f20f3e85fbb2b8925461c3980233",
      "tree": "797eca231f4473176f0ea9689845019089d49750",
      "parents": [
        "99f36683a4f2c218d52922ae7c2a0c0b3f2890ed"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Oct 12 15:48:13 2011 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Oct 12 16:22:08 2011 -0700"
      },
      "message": "Fixing issue where widgets file was getting blown away, issue: 5036321\n\nChange-Id: If40a9c79f70e11eee935b2dd2614e723423ff3bf\n"
    },
    {
      "commit": "36991744a221c30a47085442e6416bdde40b85e8",
      "tree": "8f195b61bcc9b481d2b8de84ca2b8cdae756ef4a",
      "parents": [
        "99b70f3f5d051261229d1792c169a374fc23326b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 11 21:35:26 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 12 15:17:11 2011 -0700"
      },
      "message": "Fix issue #5445966: WindowManager reporting -long on prime when it shouldn\u0027t be.\n\nThe window manager now uses the app screen dimensions to compute\nthe various configuration properties, as it should.\n\nThis means that prime is official a \"not long\" device.  Poor prime.\nIt probably feels inadequate now.\n\nBecause it is.\n\nOh and all that other stuff?  Debugging logs.  Turned off.  And\nwhy the heck not, debugging logs are great.\n\nChange-Id: Iaaf8ef270d986d34fd046d699ef4c0ecea1981fc\n"
    },
    {
      "commit": "d5bb82d18cbd95bb9e751d8315b9ed0b69595033",
      "tree": "697ff41b80db12758a412c3555677d0d347aa2f0",
      "parents": [
        "99b70f3f5d051261229d1792c169a374fc23326b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 12 13:57:59 2011 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Oct 12 15:05:59 2011 -0700"
      },
      "message": "DO NOT MERGE. Improve screenshot chord debouncing.\nBug: 5011907\n\nIntroduce a 150ms delay in handling volume down keys\nwhile waiting to see if a power key will follow.\n\nDon\u0027t trigger the screenshot chord if both volume up and\nvolume down are pressed together.\n\nDon\u0027t trigger the long-press power menu if volume keys are\nalso pressed.\n\nRequire the user to press both keys in the chord within\nthe debounce time and continue long-pressing them in order\nto trigger the screenshot action.\n\nChange-Id: I248968d37b73c09d6d08e7f62667c443eba32da0\n"
    },
    {
      "commit": "075e4c3d2e6a8a9eb3506dfedc8da938fb65fb65",
      "tree": "3ad3b103a9c8f8d1447405e6475c7ccb2bc63229",
      "parents": [
        "87228cd7bb9a39e2bb33a767d214c8d834f840df",
        "e2909e121c45d58fe587849b1474c80745fcd2b9"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 12 13:03:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 12 13:03:11 2011 -0700"
      },
      "message": "Merge \"SurfaceFlinger: update orientation via transactions\" into ics-mr0"
    },
    {
      "commit": "2e1c66bd53d30d2148afaa4b393b60cd59976d65",
      "tree": "73c8f66eec1ab6df0a0f667f49be1dbf0ad83d1c",
      "parents": [
        "99f36683a4f2c218d52922ae7c2a0c0b3f2890ed"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Oct 11 18:19:10 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Oct 11 18:22:16 2011 -0700"
      },
      "message": "Dragging in touch explore mode should not become exploring.\n\nIn touch exploration two fingers in the same direction drag and if one of them\ngoes up the other starts to touch explore. This however causes inadvertent touch\nexploring to happen on almost every scroll causing confusion. Now two finger\ndrag and they should both go up to allow exploring. This way the inadvertent\nexploring is gone and user experience is much better.\n\nbug:5440411\n\nChange-Id: Id8aaece92e5dea1fc740400d2adc9dd63a1674e4\n"
    },
    {
      "commit": "e2909e121c45d58fe587849b1474c80745fcd2b9",
      "tree": "00ec207d638a9815966e4d7f2c4808dcdd28d9b6",
      "parents": [
        "99f36683a4f2c218d52922ae7c2a0c0b3f2890ed"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Oct 10 15:48:06 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Oct 11 13:34:01 2011 -0700"
      },
      "message": "SurfaceFlinger: update orientation via transactions\n\nThis change merges the ISurfaceComposer::setOrientation functionality\ninto ISurfaceComposer::setTransactionState.  It enables the window\nmanager to atomically update both the display orientation and the\nposition and size of the windows in a single transaction with\nSurfaceFlinger.\n\nBug: 5439574\nChange-Id: I18a8ccc564d7d760ef8afb2d015ccdb7a7963900\n"
    },
    {
      "commit": "9f4021d86a92355539844623b782331006926a4e",
      "tree": "a4d178b44bc8db265b252d593fbf925a3276598d",
      "parents": [
        "5f9532f47e823185d7549f7008203a6df1a44131",
        "474fd74b8828717820b303497fece32f0b0e5d44"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 10 19:16:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 10 19:16:52 2011 -0700"
      },
      "message": "Merge \"Keep screen brightness at 0 while waiting for the UI to be displayed.\""
    },
    {
      "commit": "474fd74b8828717820b303497fece32f0b0e5d44",
      "tree": "acc6af64e5bad221a0458b35befe4d72f6eefe58",
      "parents": [
        "94e8471a956d46f4fae3da2b1e79862e07209efa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 10 18:40:22 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 10 18:40:22 2011 -0700"
      },
      "message": "Keep screen brightness at 0 while waiting for the UI to be displayed.\n\nChange-Id: I957135c5423db6d83f4f30232481a1b6d77165fa\n"
    },
    {
      "commit": "338140f7340a5471b5c5e8152405bc810fe56769",
      "tree": "e85ed41001498513b1be4011f1043da8c0abc1a1",
      "parents": [
        "f005a2c83b341647ea827e548cf506d37a8bf97e",
        "50e7e51d68e3b01c3362fe9ab7b3448132e48b43"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Oct 10 17:47:46 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 10 17:47:46 2011 -0700"
      },
      "message": "Merge \"Over-limit within handful of MTU\u0027s, update assets.\""
    },
    {
      "commit": "b765e45f007a97c5b624f27a9368164ad03a4fee",
      "tree": "42c10b325b9f4d207c6d8a967dcb1c0600cbd780",
      "parents": [
        "882ed3747145ca68b3acb26636be7a39755b5548",
        "e659fb92750490807d5bb6f27ce01d2253bd7c70"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 10 17:27:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 10 17:27:05 2011 -0700"
      },
      "message": "Merge \"Gracefully handle \"needs init\" transport errors at finish\""
    },
    {
      "commit": "50e7e51d68e3b01c3362fe9ab7b3448132e48b43",
      "tree": "badba8b1e91776754889b2630fac74b5774edbd9",
      "parents": [
        "f6497e45fae88788b1c67d815458355a1f2f65b5"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Oct 10 16:50:35 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Oct 10 16:57:21 2011 -0700"
      },
      "message": "Over-limit within handful of MTU\u0027s, update assets.\n\nConsider a network over-limit when it\u0027s measured usage is within a\nhandful of MTU\u0027s, since kernel completely drops packets that trigger\nlimit alert.\n\nUpdate notification drawables.\n\nBug: 5433359, 5224629\nChange-Id: I10b19cc34c34b47775904229829a25208cd85d25\n"
    },
    {
      "commit": "e659fb92750490807d5bb6f27ce01d2253bd7c70",
      "tree": "bf5964ac83cd2ae610a7682be41a087e52c4a4d4",
      "parents": [
        "e47b89cabe38bb0a711c3b2a87be9696c7a1f074"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 10 16:34:50 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 10 16:34:50 2011 -0700"
      },
      "message": "Gracefully handle \"needs init\" transport errors at finish\n\nAlthough it\u0027s typical for a backup transport to report that it\nneeds an explicit initialization opportunity when the backup is\ninitiated, it can sometimes come to pass that the \"needs init\"\nerror condition is reported at backup *finish*.  In this case the\nframework side was failing to properly reset all of the relevant\nstate.  The end result was to spin hard forever, holding wakelocks\nand continually failing to actually perform the necessary init\noperation, possibly continuing even after a reboot.  Fixed.\n\nBug 5434579\n\nChange-Id: If1d72c338526e4019ea524c48a11e71e44e77f71\n"
    },
    {
      "commit": "58f42a59bda3bc912d0d2f81dc65a9d31d140eaa",
      "tree": "01c6bed2aec11d4e09510f5962620c115661e90e",
      "parents": [
        "8c3e707999359ed77bf1e2ac8465edae8dffc37c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 10 13:46:34 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 10 14:53:08 2011 -0700"
      },
      "message": "Fix issue #5405788: Device continuously opening and closing...\n\n...the \"Complete action using\" dialog\n\nWhen an application goes idle, it sends back to the activity manager\nthe configuration it last used, to make sure the two don\u0027t get out\nof sync.  Fix a bunch of edge cases here in dealing with that, and\nbe sure to also send the current configuration when launching an\nactivity so the client is always up-to-date when launching.\n\nAlso a small fix to not show the upgrading dialog during first boot.\n\nChange-Id: I14ed366a87cd689d1c78787369e052422290ac6f\n"
    },
    {
      "commit": "af8139ee9b97c031e5b45ac9f1175ef4794c39ee",
      "tree": "33c35fe1387c17829d715c4b0abf83bc61f31b05",
      "parents": [
        "f6497e45fae88788b1c67d815458355a1f2f65b5",
        "dc9ddaee9a710cf6f5d7f37350650f82e706c706"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Oct 10 00:59:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 10 00:59:41 2011 -0700"
      },
      "message": "Merge \"Fix the behavior for choosing new default IME not to choose an auxiliary IME as the default IME\""
    },
    {
      "commit": "dc9ddaee9a710cf6f5d7f37350650f82e706c706",
      "tree": "902346363c3d3ff83549442c6026ba1aec253663",
      "parents": [
        "2e12977ad61d985df741d22cf5907f775ca6c048"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Oct 06 12:22:36 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Oct 10 15:49:22 2011 +0900"
      },
      "message": "Fix the behavior for choosing new default IME not to choose an auxiliary IME as the default IME\n\nBug: 5420127\n\nChange-Id: I3649de36806fc24e1c85c2b15db5e37acad1f120\n"
    },
    {
      "commit": "1059c3c30ad96a15695c1a92ae8896e078a6309f",
      "tree": "3f73fd2918711f25b2ad4dd643db73b6f5483856",
      "parents": [
        "650c53aad5a49c793bbcddad9bfce63a3b3d0360"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Oct 04 16:54:49 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Oct 09 13:49:08 2011 -0700"
      },
      "message": "Move battery stats to xt_qtaguid for data stats.\n\nReplace TrafficStats calls by reading values from xt_qtaguid kernel\nmodule. To keep BatteryStatsImpl changes lightweight, cache recently\nparsed stats. Tracks mobile ifaces from ConnectivityService.\n\nRefactor xt_qtaguid parsing into factory outside of NMS. Add stats\ngrouping based on UID, and total based on limiting filters like iface\nprefix and UID.\n\nBug: 4902271\nChange-Id: I533f116c434b77f93355bf95b839e7478528505b\n"
    },
    {
      "commit": "ba8ecd206cc6f175767f952d380c88f70ece04cf",
      "tree": "f463b4123ae906ac81eb16460aa8443ecefa12d9",
      "parents": [
        "270928bd4a1db1dc0d989f4e9897a81ab865e30e",
        "df89e65bf0fcc651d20b208c8d8d0b848fb43418"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 07 15:12:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 07 15:12:17 2011 -0700"
      },
      "message": "Merge \"Fix how we hide and show the nav bar.\""
    },
    {
      "commit": "df89e65bf0fcc651d20b208c8d8d0b848fb43418",
      "tree": "f8e48a203c551b8fd834aad34c1f5fe6d2755461",
      "parents": [
        "25d888b5ff23acf1a9d41bef3e74ee897baf5ad7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 06 22:35:11 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 07 14:32:01 2011 -0700"
      },
      "message": "Fix how we hide and show the nav bar.\n\nThe PhoneWindowManager is now responsible for hiding and showing\nthe nav bar.\n\nFor hiding, it just moves it off the screen (easy way to get a\nnice slide animation on and off).  At the same time, we use a\nnew WM facility to put up a fake input window to capture all\ntouch events.\n\nWhen a touch event is received, we force the system UI to clear\nthe navigation hiding bit so it will be shown again.\n\nThis removes a bunch of code from the system UI for hiding and\nshowing the nav bar.  Also removes the code calling from userActivity()\nto the system UI, which was bad.  (Also no longer using userActivity()\nfixes bugs around re-showing the nav bar due to key presses and\nother wrong things.)\n\nChange-Id: I8c3174873b5bcaa36a92322a51e8f7993e88e551\n"
    },
    {
      "commit": "e47b89cabe38bb0a711c3b2a87be9696c7a1f074",
      "tree": "f249f6e5400deb338bae72bad367e9b280e87446",
      "parents": [
        "25d888b5ff23acf1a9d41bef3e74ee897baf5ad7",
        "bf6ee4f509cbe7a44f4cc72f28e6150ca47c066d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Oct 07 13:36:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 07 13:36:09 2011 -0700"
      },
      "message": "Merge \"Fix wallpaper restore\""
    },
    {
      "commit": "bf6ee4f509cbe7a44f4cc72f28e6150ca47c066d",
      "tree": "7e546dc709a31a2fdf0503f2817052e3c745fde3",
      "parents": [
        "2461fef4c07defa5ffc31ef1063d21f94e421700"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Oct 07 12:37:42 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Oct 07 12:37:42 2011 -0700"
      },
      "message": "Fix wallpaper restore\n\nFollowing a restore of the wallpaper data files, the settingsRestored()\nmethod was binding the new wallpaper by passing null as the component,\nbecause once upon a time that meant just use the configuration that had\njust been loaded from the [newly restored] settings filed.  However, at\nsome point this broke when the load from settings was made a staging\noperation, not also the commitment of the changes.\n\nThis CL passes the newly-determined component configuration explicitly\nto the bind, overriding the product default that may already have been\nemplaced by the time the restore happens.\n\nIt also turns off the (minor) debugging that had been enabled in\nWallpaperBackupHelper while digging into the issue.\n\nBug 5416839\n\nChange-Id: I963893c236e24c75d10dde75836805295ea42cbb\n"
    },
    {
      "commit": "31743d8cbbd0d54bfe8d2a43154a2b9615c8f282",
      "tree": "8dc7310a4dc06d1e0b7acff0da62723e489fa653",
      "parents": [
        "3b88d87ef6107c91d99d6f44d68b1fafd973ffdc",
        "b6eca6e6691d4563d8395b3c3843d9932a2a6560"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Oct 06 17:28:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 06 17:28:51 2011 -0700"
      },
      "message": "Merge \"Accessibility test automation API not working.\""
    },
    {
      "commit": "b74931559b9e95b22ea632c243acda19fe8ea82c",
      "tree": "6eba00f976e2f803b871a5dd1f6d67b3b732bd8e",
      "parents": [
        "893783ed8768a98cbfea09c4e60093e2580dd22b",
        "4c12a47bffc51868285b17db9f00d40affc7c9e3"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Oct 06 15:29:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 06 15:29:50 2011 -0700"
      },
      "message": "Merge \"VPN: temporarily disable the default proxy when VPN is active.\""
    },
    {
      "commit": "893783ed8768a98cbfea09c4e60093e2580dd22b",
      "tree": "cc55c56f5a823692e49ead62215339f330147d21",
      "parents": [
        "85b9edf2da0534bc53d139bb88cda8866d265afe",
        "e4474c3b7098a13bc81b0dba35bacd93b8a22f79"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Oct 06 15:29:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 06 15:29:43 2011 -0700"
      },
      "message": "Merge \"ConnectivityService: detach the logic of global proxy.\""
    },
    {
      "commit": "85b9edf2da0534bc53d139bb88cda8866d265afe",
      "tree": "a0a50380b9f263103fbc99c6622f40e7541d95f8",
      "parents": [
        "7853c579fa52e4365c6e44ba38aeb3299d776f44",
        "9a230e01a1237749a8a19a5de8d46531b0c8ca6a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 06 15:15:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 06 15:15:32 2011 -0700"
      },
      "message": "Merge \"Fix issue #5371530: SYSTEMUI_FLAG_HIDE_NAVIGATION reasserts itself immediately\""
    },
    {
      "commit": "9a230e01a1237749a8a19a5de8d46531b0c8ca6a",
      "tree": "c62734c0dcd00cc9add7c70bd60e8946e0915735",
      "parents": [
        "fe7fcd23d5b306db7b1fb31c901cbcbb6b66db1d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 06 11:51:27 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 06 14:57:37 2011 -0700"
      },
      "message": "Fix issue #5371530: SYSTEMUI_FLAG_HIDE_NAVIGATION reasserts itself immediately\n\nThis cleans up how ui flags are managed between the client and window manager.\nIt still reports the global UI mode state to the callback, but we now only clear\ncertain flags when the system goes out of a state (currently this just means the\nhide nav bar mode), and don\u0027t corrupt other flags in the application when the\nglobal state changes.\n\nAlso introduces a sequence number between the app and window manager, to avoid\nusing bad old data coming from the app during these transitions.\n\nChange-Id: I40bbd12d9b7b69fc0ff1c7dc0cb58a933d4dfb23\n"
    },
    {
      "commit": "b6eca6e6691d4563d8395b3c3843d9932a2a6560",
      "tree": "40b8bb0d2cfe7ae8631e73b4237864369947e3ef",
      "parents": [
        "e921572bda621b75a217bce115c2b605caf9b26a"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 27 10:47:58 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Oct 06 14:16:03 2011 -0700"
      },
      "message": "Accessibility test automation API not working.\n\n1. Due to a previous change that disabled accessibility if not enabled\n   and installed serivces are present the automation APIs stopped working\n   since they use fake automation service that is not installed.\n\n2. Added clean up of death recipients when binders die.\n\nbug:5374662\nbug:5239044\n\nChange-Id: I1f3c8cd1d1c79753a4a64e2b8b2963025abb2939\n"
    },
    {
      "commit": "0ded8c8a563e07b080b8c133cfc81708c55e5bca",
      "tree": "8b7f41b7e299ecb0e34f0835e40eaeaead3a42e0",
      "parents": [
        "f6f056c5e4f14df9727233d17548da9c330a3f12",
        "336a649cd83dccc8a18125b8f3c0ce5cdd021602"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Oct 06 13:09:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 06 13:09:52 2011 -0700"
      },
      "message": "Merge \"Prevent concurrent backup operations\""
    },
    {
      "commit": "ca35bc5acc80ad1380a9631770f13448677d0d34",
      "tree": "b91d2b0886117e1c37dba04f485fbda28eed4569",
      "parents": [
        "093f9b79c977cedc7a57ba1ac5884bdea2f74854",
        "293779f9c63cbae0dde564449f0270b595593b0d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Oct 05 23:38:44 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 05 23:38:44 2011 -0700"
      },
      "message": "Merge \"Refine random stats generation.\""
    },
    {
      "commit": "293779f9c63cbae0dde564449f0270b595593b0d",
      "tree": "4e5944d8ab6f0c21a68a5f5190872b35f9ebc8e5",
      "parents": [
        "1302d32996100233826598040a8c55bfbecb9322"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Oct 05 23:31:57 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Oct 05 23:31:57 2011 -0700"
      },
      "message": "Refine random stats generation.\n\nOffer parameters to pick out specific list of packages, and to change\nduration and total data.\n\nBug: 5416742\nChange-Id: I6970a5e76f3198ef23a400c079037212b000ca6b\n"
    },
    {
      "commit": "7bb9883d0564e1d3f7303d4934418998d540c1b8",
      "tree": "d276105394ac8d7e43a0b36b1ba1ee4d6790bfad",
      "parents": [
        "1a7ae63490939fbbb7c021f8f20078822f72549b"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Oct 05 18:10:13 2011 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Oct 05 18:18:40 2011 -0700"
      },
      "message": "Adding logging to debug widget deletions\n\nChange-Id: I15a943650f930fd3fb6163c60af85abc2865e684\n"
    },
    {
      "commit": "4dfce20cac7492882d366d053006795aefad59da",
      "tree": "a0a266f97f0f06b7e6b8def3da32800abf17bd7f",
      "parents": [
        "66fb1f3f3d8038d6bf216b52ba21a7e42fda040f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 05 12:00:10 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 05 16:12:07 2011 -0700"
      },
      "message": "Make SENSOR orientation modes trump rotation lock.\nBug: 5371750\n\nChange-Id: I4d18b6c8ba1de0afd5929ddb8d7123272e35fbe2\n"
    },
    {
      "commit": "336a649cd83dccc8a18125b8f3c0ce5cdd021602",
      "tree": "18e404ca1cf37e4ec368379e04611efb71105921",
      "parents": [
        "63d8b0c8b509fb744c034c67027380959279cdc4"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Oct 05 16:05:43 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Oct 05 16:05:43 2011 -0700"
      },
      "message": "Prevent concurrent backup operations\n\nWe\u0027ve seen cases (bug 5417779) where the transport kicked off an immediate\nbackup operation but then was perfectly content to allow the periodic\ntimer to start *another* pass concurrently while the first was still in\nprogress.  This wound up with the backup manager getting mightily\nconfused and leaking wakelock acquisitions, which is Very Bad(tm).\n\nThis patch adds a little bookkeeping so that the backup manager is aware\nof backups in flight, and refuses to kick off a new one until the ongoing\none has finished.\n\nChange-Id: If12b54f4db3effc8af36d31c58d8f9b415ddc01e\n"
    },
    {
      "commit": "edc633170fb28fd17395472d000875f19d157e18",
      "tree": "a9ef99d892a181918163e5439fbd4557e0ea17b4",
      "parents": [
        "01017cdf7452baa13908cba6aa26632114544b33",
        "161dc80ea754d987a905bc5814872168d581040d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 05 11:25:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 05 11:25:19 2011 -0700"
      },
      "message": "Merge \"Always unfreeze display.\""
    },
    {
      "commit": "161dc80ea754d987a905bc5814872168d581040d",
      "tree": "59ae6585d32038b0947571e3927a3524ad2a0e01",
      "parents": [
        "a1aebdf787443413ba870fc9203639405a5ff7bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 04 19:18:25 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 04 19:18:25 2011 -0700"
      },
      "message": "Always unfreeze display.\n\nChange-Id: I7a0f3be49fe723fe59cf6268861bc5fe7f49bc62\n"
    },
    {
      "commit": "59ba98565d82fe7542569d1dd0847b47f30655d6",
      "tree": "e7cb3d8a76ccb2355ea994d69abd36f5100c8b76",
      "parents": [
        "e921572bda621b75a217bce115c2b605caf9b26a",
        "09e5b9daf3c675b8943015abb3b420fd45f19fe8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 04 18:35:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 04 18:35:19 2011 -0700"
      },
      "message": "Merge \"Fix issue #5388352: font size change back to normal\""
    },
    {
      "commit": "09e5b9daf3c675b8943015abb3b420fd45f19fe8",
      "tree": "7daa309c8af0fa375a8e2001bf0fdd197b2eb292",
      "parents": [
        "a1aebdf787443413ba870fc9203639405a5ff7bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 04 16:32:01 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 04 16:32:01 2011 -0700"
      },
      "message": "Fix issue #5388352: font size change back to normal\n\nThis is another place where we are messed up by the stupid default\nConfiguration having a 1.0 font scale.  Argh.\n\nChange-Id: Iaa2550d4edab92fb8a52f98fbb9fd8ef5fab94b5\n"
    },
    {
      "commit": "b5de598554a97c557a3e0c20c28bbe5454164a6d",
      "tree": "75a1f7246189d902ac0f5fcfd94abfef7bc49739",
      "parents": [
        "3c1951c442e40f7f46775acfc8a22c24f04d8cfc",
        "240c7d2d1fb2944ee6a6f1dee41c7bbd766f8f0d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Oct 04 16:16:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 04 16:16:11 2011 -0700"
      },
      "message": "Merge \"Add -nosystem flag to adb backup\""
    },
    {
      "commit": "240c7d2d1fb2944ee6a6f1dee41c7bbd766f8f0d",
      "tree": "1e512dba224bc80c1eeb58411b7d508317699958",
      "parents": [
        "be25ca2997ab98e1257d5625dd510e643dcead95"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 03 18:13:44 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Oct 04 15:35:00 2011 -0700"
      },
      "message": "Add -nosystem flag to adb backup\n\nThis makes it easy to back up everything that belongs to 3rd party apps, but\nnothing that comes with the system per se.  If any system packages are\nexplicitly named on the command line they will be included in the backup\neven if -nosystem was passed.  So, for example, this will back up all 3rd\nparty apps as well as system settings, but nothing else belonging to\nsystem-deployed apps:\n\n   adb backup -all -nosystem com.android.provider.settings\n\nBug 5361503\n\nChange-Id: Iebe04b7d7027ca58b9f55e8eb7f219d6cca69269\n"
    },
    {
      "commit": "50a2f8ea9d855c58f589cfaa12235a742185021d",
      "tree": "c8ac81ceb61b19e738799685394e12ca3ae8eec0",
      "parents": [
        "b177b190a0c24754fc9af042681be7cd0284040e",
        "ae2c1810839430c84e4a1172580d9c4b18f568ca"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Oct 04 13:52:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 04 13:52:24 2011 -0700"
      },
      "message": "Merge \"Read iface stats from single proc file.\""
    },
    {
      "commit": "ae2c1810839430c84e4a1172580d9c4b18f568ca",
      "tree": "803f5de165bb589b65ed8d14a84ec638e4e939a6",
      "parents": [
        "905b5891d2aa802f447ac2ce5d77b6c5ba06277a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Oct 04 13:11:40 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Oct 04 13:22:39 2011 -0700"
      },
      "message": "Read iface stats from single proc file.\n\nWhen available, use single \"iface_stat_all\" file instead of reading\nvalues from dozens of files scattered across proc.  Tests to verify.\n\nBug: 5397840\nChange-Id: I0247be518436c1f79b32c4b72216739f49a9e8cc\n"
    },
    {
      "commit": "c58111b307018da66bc227ed5ca019f7d8143b9a",
      "tree": "bf7858880f975b0c47607324f8bcb852ab4d5a06",
      "parents": [
        "e5320a0270816122ba7939431cc80ed37a5b691b",
        "905b5891d2aa802f447ac2ce5d77b6c5ba06277a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Oct 04 13:12:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 04 13:12:06 2011 -0700"
      },
      "message": "Merge \"Track xtables summary, move tether stats, time.\""
    },
    {
      "commit": "afb119c5e19fe74bc99fd7ad2c4bcc21612872a5",
      "tree": "de7b6df3c2ec452192ee3f7de5f81d6ff5fceaf2",
      "parents": [
        "62abf34d0dce0deb017b18beef3d8f73bd90981a",
        "a503a0f5d407fd10528e26b6eaed0e4e1d3badc1"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 04 09:04:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 04 09:04:06 2011 -0700"
      },
      "message": "Merge \"Add explicit mimetype for verifier calls\""
    },
    {
      "commit": "905b5891d2aa802f447ac2ce5d77b6c5ba06277a",
      "tree": "350a438c16871996361530ffdff0d65d82eaed49",
      "parents": [
        "b9e7e132eacb4d1e1719135a366b767018fa1373"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Sep 30 15:19:49 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Oct 03 17:21:05 2011 -0700"
      },
      "message": "Track xtables summary, move tether stats, time.\n\nBegin tracking xtables summary of data usage to compare with values\nreported from /proc/net/dev.  Roll tethering directly into UID stats\nto trigger UID stats persisting when crossing threshold.\n\nInclude xtables summary and authoritative time in samples.\n\nBug: 5373561, 5397882, 5381980\nChange-Id: Ib7945522caadfbe0864fdf391582dc820f4f371e\n"
    },
    {
      "commit": "4c12a47bffc51868285b17db9f00d40affc7c9e3",
      "tree": "372322a3d2222b53aa2cffd36f72558ede05aee9",
      "parents": [
        "e4474c3b7098a13bc81b0dba35bacd93b8a22f79"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Oct 03 15:34:04 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Oct 03 15:34:04 2011 -0700"
      },
      "message": "VPN: temporarily disable the default proxy when VPN is active.\n\nBug: 5361858\nChange-Id: I99e84cce9c99ff1f5fdccbfd3bfb9cf496ac541c\n"
    },
    {
      "commit": "a503a0f5d407fd10528e26b6eaed0e4e1d3badc1",
      "tree": "d07eeaa4f3d636b0983d41fe6c9bb8d0c94c4c11",
      "parents": [
        "b11d09cb66114dd4a3accab903e6f7d9603dfee8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 03 14:45:28 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 03 14:46:10 2011 -0700"
      },
      "message": "Add explicit mimetype for verifier calls\n\nChange-Id: I29ffb216680aa24fd9ca3fb4d190038f6d724cb9\n"
    },
    {
      "commit": "e4474c3b7098a13bc81b0dba35bacd93b8a22f79",
      "tree": "86eb083f02ec97af389696c56cf9ef1571c98fd3",
      "parents": [
        "b9e7e132eacb4d1e1719135a366b767018fa1373"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Sep 28 16:38:18 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Oct 03 14:04:42 2011 -0700"
      },
      "message": "ConnectivityService: detach the logic of global proxy.\n\nThe current implementation of global proxy is dead,\nand it will be removed completely in separate changes.\n\nChange-Id: I54f6b3960f761483d28d808e99db4c71c9c0348d\n"
    },
    {
      "commit": "774f9856d31d42741660c07d24a1bb86c754365e",
      "tree": "f96af237b46cc92a5b1c72216b4b8750a658be6f",
      "parents": [
        "be25ca2997ab98e1257d5625dd510e643dcead95",
        "31b92e28a577f2f36f30b8a95147155fec038e30"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Oct 03 13:53:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 03 13:53:42 2011 -0700"
      },
      "message": "Merge \"Remember wifi disable due to airplane\""
    },
    {
      "commit": "31b92e28a577f2f36f30b8a95147155fec038e30",
      "tree": "3e5d743580459153b6e1f5c82e3f990910457451",
      "parents": [
        "ce0a7ade96ddbdcb342e0b382e9d3ea43962cafd"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Oct 03 12:13:20 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Oct 03 12:13:20 2011 -0700"
      },
      "message": "Remember wifi disable due to airplane\n\nAdd the wifi disabled due to airplane mode as a seperate settings so\nthat wifi is restored after a reboot when airplane mode is turned off\n\nBug: 5365718\nChange-Id: I36a9694bbcacd5bb5f89498e4adc47c81e611da6\n"
    },
    {
      "commit": "4a553e3a70d26fac5d7b7ec1142e0cabfdd66670",
      "tree": "b4c53f467dd302601c9149f33f963a5ea697dae4",
      "parents": [
        "53b1aaaa08ed0cfd20e45707917bfe3d53529839"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Oct 03 17:05:50 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Oct 03 17:49:57 2011 +0900"
      },
      "message": "Prioritize the order of subtypes in method.xml for implicitly enabled subtypes\n\nBug: 5401115\nChange-Id: I6d9229cd266e27b68a6b9a2892aabfba4fe4de00\n"
    },
    {
      "commit": "82afa6e61e6e8df57b71096a9f07eda956442fec",
      "tree": "6b78c0aaeb42d985442371b70c67661bed36fdb3",
      "parents": [
        "ff1ea0dc5326aa2f1027a145763b05d6f5db0af2",
        "7960d9f888e31602e17b8856c77a3826bf8c841e"
      ],
      "author": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Fri Sep 30 09:57:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 30 09:57:36 2011 -0700"
      },
      "message": "Merge \"Fix IPv6 on wifi\""
    },
    {
      "commit": "83a5926ee349a3daf33cd8efd21e312fc0b1621e",
      "tree": "d7efb4671cd447447e4a1f810ad72be2d2967db3",
      "parents": [
        "1402bb19012d4fc7595da2586bec9e6f428b36fb",
        "3abd75ba3a981850cac43a401d0014a836559cb0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 30 08:57:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 30 08:57:43 2011 -0700"
      },
      "message": "Merge \"Add DUMP permission checks to services\""
    },
    {
      "commit": "3e21c99f10de1acdd373fbb166a7618bebfceba0",
      "tree": "53b2d4994b5adf0c172a30d837b296dcab480a07",
      "parents": [
        "594cb476547b38098018e80b5f70935ff60d9551",
        "59b424c3b6121c9579fc5efcc785ba084072a5ca"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 30 03:31:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 30 03:31:35 2011 -0700"
      },
      "message": "Merge \"Fix a logic to recconect IME in InputMethodManagerService\""
    },
    {
      "commit": "59b424c3b6121c9579fc5efcc785ba084072a5ca",
      "tree": "55c8ac1abb8819045d7e045a71cd919220558c7c",
      "parents": [
        "5c06f0f0d0cd86039dcfa4375645d12b4678efa2"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 30 17:21:46 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 30 19:26:01 2011 +0900"
      },
      "message": "Fix a logic to recconect IME in InputMethodManagerService\n\nBug: 5380216\n\nChange-Id: I7af67265eebbd28f002210d7ac90dd18f1858f66\n"
    },
    {
      "commit": "70deff4c107963164f8b88365909fd30ab5e6526",
      "tree": "44f8b238c740a0a031405074be5193c95f36feb0",
      "parents": [
        "5c06f0f0d0cd86039dcfa4375645d12b4678efa2"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 30 15:14:21 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 30 17:49:40 2011 +0900"
      },
      "message": "Use user\u0027s settings for the spell check language instead of the system locale\n\nBug: 5390462\nChange-Id: Ia2a3981cb93f451646debe5ee6b037313825cf9f\n"
    },
    {
      "commit": "7960d9f888e31602e17b8856c77a3826bf8c841e",
      "tree": "25449b839753fd26da7e6bcb4bfcb67fda6054e3",
      "parents": [
        "3d0d7b41728277380d2e07f8de97c7bdf6840122"
      ],
      "author": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Thu Sep 29 12:40:02 2011 -0700"
      },
      "committer": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Thu Sep 29 16:59:01 2011 -0700"
      },
      "message": "Fix IPv6 on wifi\n\nBug: 5388757\nChange-Id: I3c8c776c26dad1daa9801d0455fde749c0206401\n"
    },
    {
      "commit": "b8491bb75fec622862166e1b0ba3dc60d38bfff5",
      "tree": "e65cf4086b6058023dec1be39cd06d2eb3c79f87",
      "parents": [
        "a44ad813aa57ea3705561968d16e6d30c3fea935"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 29 15:13:11 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 29 15:13:11 2011 -0700"
      },
      "message": "Enforce DUMP permission on BackupManagerService\u0027s dump() method\n\nThe text of the dumped output can potentially include an email address;\nwe don\u0027t want random code to be able to read it.\n\nBug 5389201\n\nChange-Id: If84886357a36b7015878e4d72017abba83b4c511\n"
    },
    {
      "commit": "3abd75ba3a981850cac43a401d0014a836559cb0",
      "tree": "fe163a35d5f394f8304288b4722e2a674bac553f",
      "parents": [
        "b9c13d091efde4865ed5cfaf1c5a17b0bb17a38e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 29 11:00:41 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 29 11:04:15 2011 -0700"
      },
      "message": "Add DUMP permission checks to services\n\nSome services have info that is not readily available any other way. Add\na permission check to those services.\n\nBug: 5389201\nChange-Id: I5a9724ec89e1c11ef7813eeb52a6a05b3ea92af5\n"
    },
    {
      "commit": "c1358b240c28443496249a5483afaccfc93f8d97",
      "tree": "08e428be19cead8c20677f8cdcd1f7f2fc5dcaf8",
      "parents": [
        "8f847653859d9f4c0e0d54f390673b7dccf0b5eb"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 28 22:31:45 2011 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 28 23:07:03 2011 -0700"
      },
      "message": "Revert \"Tell the resolver what protocols to use.\"\n\nChange Ife82a8d8 broke IPv6 on wifi. Change I4e3a69ea is\nan alternate approach that does not require any framework\nchanges.\n\nBug: 5284168\nChange-Id: Ib6e002aa23700adc71051cf6b76860545497dbf4\n"
    },
    {
      "commit": "d7208b98e97abcbc728cb748cc6ff99332b6750f",
      "tree": "57c5b5a25f23cf7b1f1c458e11018eaf0919c988",
      "parents": [
        "3a6c2e985534aeaef04661e2875a8745022c334a",
        "7462251b0a3f2601236b599bcabf54451143b704"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 26 20:40:56 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 26 20:40:56 2011 -0700"
      },
      "message": "am 7462251b: Merge \"Don\\\u0027t hang in restore if the transport reports failure\" into ics-factoryrom\n\n* commit \u00277462251b0a3f2601236b599bcabf54451143b704\u0027:\n  Don\u0027t hang in restore if the transport reports failure\n"
    },
    {
      "commit": "7462251b0a3f2601236b599bcabf54451143b704",
      "tree": "e9a2f5ba4db8ccb43cc2a509c3cd75cd1bcb73c3",
      "parents": [
        "a200a23af10dfcbbe46d10e868c2eae9f2c794a4",
        "5f2f41350ec127c16ea05722687201ad7a227658"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 26 17:12:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 26 17:12:08 2011 -0700"
      },
      "message": "Merge \"Don\u0027t hang in restore if the transport reports failure\" into ics-factoryrom"
    },
    {
      "commit": "84da4e47e723bd27165da8dff735bd508e909610",
      "tree": "bfc99231e6f35b28c48f5bd62247d508e4928e53",
      "parents": [
        "e7b40904be006d1c79776942a9050aace43ac044",
        "ab63aa87c1a8ce4e7bb831b3de4e357028ac2fba"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 26 17:12:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 26 17:12:01 2011 -0700"
      },
      "message": "Merge \"Use the new INSTALL_FROM_ADB Package Manager flag...\""
    },
    {
      "commit": "ab63aa87c1a8ce4e7bb831b3de4e357028ac2fba",
      "tree": "9923ef0ccf4544dced49912be6d45783b9ffb7d8",
      "parents": [
        "52edaa9cfb612bd20b0f718dc95e576f55d9367e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 26 16:30:30 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 26 16:30:30 2011 -0700"
      },
      "message": "Use the new INSTALL_FROM_ADB Package Manager flag...\n\n...when installing an apk in the course of an \u0027adb restore\u0027 operation.\n\nFixes bug 5374597.\n\nChange-Id: I8ddce0e015e3bab79432e82709d841887667c346\n"
    },
    {
      "commit": "1867a3cde6411cfa27d0339c973d94fe0287d1a8",
      "tree": "9d93c2e0417493867b88a65d80d17080709fcb21",
      "parents": [
        "6098a2162a9dc0c315c2b524d1643c0e16daa940",
        "4941dea00a3167addf14ac6bb962cf5bc3590466"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 26 16:13:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 26 16:13:01 2011 -0700"
      },
      "message": "Merge \"Do not blend opaque windows.\""
    },
    {
      "commit": "7036fdd099fe035f7052828aa730e304e760cc39",
      "tree": "619a238d9c44c01d05f2f3ffbaecb82a16e06d73",
      "parents": [
        "892ac4155a7e2f2c824ee9898d4c5cef4bbe1afc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 26 16:08:14 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 26 16:12:04 2011 -0700"
      },
      "message": "Do not blend opaque windows.\n\nThis change ensures the wallpaper is rendered into an opaque surface\nwhich avoids a glClear() in SurfaceFlinger. This should save quite\na bit of work on every frame when panning the workspace in launcher.\n\nChange-Id: Id43d3498a54c2d60ec4ee3377c92ef79bff55bc1\n"
    },
    {
      "commit": "4941dea00a3167addf14ac6bb962cf5bc3590466",
      "tree": "c3166816be059d7b0ce405dc7aecaaa5ee595a7a",
      "parents": [
        "ea1c7f3c5175f6e83dddd381b9a809ec52a9320f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 26 16:08:14 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 26 16:08:14 2011 -0700"
      },
      "message": "Do not blend opaque windows.\n\nThis change ensures the wallpaper is rendered into an opaque surface\nwhich avoids a glClear() in SurfaceFlinger. This should save quite\na bit of work on every frame when panning the workspace in launcher.\n\nChange-Id: I9c1b8c324edf29826d5dbb1fb39d883e43375310\n"
    },
    {
      "commit": "5f2f41350ec127c16ea05722687201ad7a227658",
      "tree": "00792caf8b9c8635db5a9e009bdb74a016ba25b3",
      "parents": [
        "61b645ab86ace1511593f1f1f46dfb62bf0ae8b9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 26 13:10:38 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 26 13:10:38 2011 -0700"
      },
      "message": "Don\u0027t hang in restore if the transport reports failure\n\nCasualty of the recent refactoring: in this particular error case,\nthe restore sequence wasn\u0027t being directed into the finalization\nstate.  Fixes bug 5336295.\n\nChange-Id: Ibf5570cd1003e123da8b561685de8479663340ce\n"
    },
    {
      "commit": "8154495fc7b09938709ded2d07e8f9419cc94be7",
      "tree": "fb14a4cefe07ff09a5a1c7fca6b5d5e8c51706ea",
      "parents": [
        "d1a2f36b834534f422a17fc2324f5af839f29862",
        "69a6d537e6f29683f685ecb688f0b06b1c0b2b15"
      ],
      "author": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Mon Sep 26 12:02:19 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 26 12:02:19 2011 -0700"
      },
      "message": "am 69a6d537: Merge \"Enter minimal boot mode when booting encrypted\" into ics-factoryrom\n\n* commit \u002769a6d537e6f29683f685ecb688f0b06b1c0b2b15\u0027:\n  Enter minimal boot mode when booting encrypted\n"
    },
    {
      "commit": "8a663c89a3b5bda4e749a58d0434b130260eabb2",
      "tree": "e86723e42a19fde6b85b2928dbf29507f620cb23",
      "parents": [
        "3eb34a9cd779a0a2dd1a402e606a45da016352bf",
        "05ca4c90644921df9193d92b2abdc81ef77e4a62"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Sep 26 09:53:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 26 09:53:06 2011 -0700"
      },
      "message": "Merge \"Allow non-required package verifiers\""
    },
    {
      "commit": "61c0818f2425691e67921ee41ca80e62d2cb9004",
      "tree": "4d292d9df35391cd5a3e8a2208d3e4f5955cdd7a",
      "parents": [
        "83131db9a8ff490f936c4c962b31c28f67cb7ad0",
        "367d15ab1a33b6159447fa8542d4fa8ff148371c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Sep 25 23:44:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 25 23:44:10 2011 -0700"
      },
      "message": "Merge \"Watch network subtype, tethering teardown, empty.\""
    },
    {
      "commit": "4c253119db0ce753e46ec3809b54b9e357d363db",
      "tree": "b0737e61622e7184ae35abf71702c9bb87e5def4",
      "parents": [
        "87c9ce06259976186187b02b356a1d2fefbc44e3",
        "c0347aa19f354a8e1ff4fcd5372b134c0c7c16ad"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 18:28:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 23 18:28:01 2011 -0700"
      },
      "message": "Merge \"Prevent unintended rotations. Bug: 4981385\""
    },
    {
      "commit": "c0347aa19f354a8e1ff4fcd5372b134c0c7c16ad",
      "tree": "b442f6284e23f5b203538adb123e9fe2b704fd43",
      "parents": [
        "745f1e3a06eb504c9e4465afc987854a6269220d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 17:26:09 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 17:26:09 2011 -0700"
      },
      "message": "Prevent unintended rotations.\nBug: 4981385\n\nChanged the orientation listener to notify the policy whenever\nits proposed orientation changes, and changes the window manager\nto notify the orientation listener when the actual orientation\nchanges.  This allows us to better handle the case where the\npolicy has rejected a given proposal at one time (because the\ncurrent application forced orientation) but might choose\nto accept the same proposal at another time.\n\nIt\u0027s important that the proposal always be up to date.  A proposal\nbecomes irrelevant as soon as the phone posture changes such\nthat we can no longer determine the orientation with confidence\n(such as when a device is placed flat on a table).\n\nSimplified the orientation filtering.  Now we just wait 200ms\nfor the device to be still before issuing a proposal.  The idea\nis that if the device is moving around a lot, we assume that\nthe device is being picked up or put down or otherwise in\nthe process of being moved.  We don\u0027t want to change the rotation\nuntil that\u0027s all settled down.  However, we do want to tolerate\na certain amount of environmental noise.\n\n(The previous confidence algorithm was also designed along\nthese lines but it was less direct about waiting for things\nto settle.  Instead it simply made orientation changes take\nlonger than usual while unsettled, but the extra delay was often\ntoo much or too little.  This one should be easier to tune.)\n\nChange-Id: I09e6befea1f0994b6b15d424f3182859c0d9a530\n"
    },
    {
      "commit": "05ca4c90644921df9193d92b2abdc81ef77e4a62",
      "tree": "94c9e61b0c3d364f68a194c0a65199451410fc35",
      "parents": [
        "15bbaeb0753f5336a5e8ee07e6f796657ecefb73"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 15 10:36:25 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 23 16:03:03 2011 -0700"
      },
      "message": "Allow non-required package verifiers\n\n* Verifiers can be specified in the AndroidManifest.xml\n\n* Those verifiers can respond to the new Intent action\n\n* PackageManager API for those verifiers: verifyPendingInstall\n\nChange-Id: I4892bce2e6984871e6e93c60a1ca0dae145f5df5\n"
    }
  ],
  "next": "3573d400a5940a53747425139e9f7cbe7e9fe114"
}
