)]}'
{
  "log": [
    {
      "commit": "f806871f3016a8184de4c9dcfbe0b9069dc0d72c",
      "tree": "101cdbebf89847c8d2a670f1bfd8cf44222e2ad9",
      "parents": [
        "d47d4f7b7713a4a05da7ea55c3e698b939fe81b1"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Oct 20 10:47:26 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Oct 20 10:48:21 2011 +0800"
      },
      "message": "Fix 5487571: Make sure shutter sound is played when it\u0027s enforced\n\nChange-Id: I0c7adf452217b8308243836b40b1fba8f2029240\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": "3c86134a50618605c86eb9f5f120dbf97826e3e1",
      "tree": "ab597c18135ef02e019f8ff4fe537b267f40ed91",
      "parents": [
        "bdca5c6237558015910a14d38f78ba84973e8ed4",
        "7fa1cee12c12231b5d72c95dc72512867713ff1b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 19 13:59:55 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 19 13:59:55 2011 -0700"
      },
      "message": "Merge \"Fix issue 381905: BassBoostTest CTS tests fail...\" into ics-mr0"
    },
    {
      "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": "7fa1cee12c12231b5d72c95dc72512867713ff1b",
      "tree": "747e597778768c37e6c4e82b5820324184a88aca",
      "parents": [
        "70ac412b2fe7be2507189a9fdfb30c43b36d56ac"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 19 11:44:54 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 19 11:44:54 2011 -0700"
      },
      "message": "Fix issue 381905: BassBoostTest CTS tests fail...\n\nWhen AudioEffectTest is executed, an Equalizer is created\nand enabled on a MediaPlayer session. Effects on the output\nmix are therefore suspended.\nThen the MediaPlayer is released with the effect still enabled.\nIn this case, Audioflinger::purgeStaleEffects_l() fails to restore\nthe suspended effects when the effect attached to the released audio session\nis removed.\nWhen subsequent tests are executed on output mix effects, these effects cannot be\nenabled as they are still suspended.\n\nFixed purgeStaleEffects_l() to restore suspended effects if the effect removed is enabled.\n\nAlso fixed EffectHandle::disconnect() to only restore suspended effects if the disconnected\nhandle actually has control over the effect.\n\nChange-Id: I67232e7c34680b0cc01abfd57d5d510a524e5d4f\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": "f7613743f29f38cbbaf4ae09996c380845a17daf",
      "tree": "05c50117a60046ac06c986332a4cf62d54d18f6f",
      "parents": [
        "23bf250522b7dff9acd14c5900b66b1df9c76745",
        "0d0fba4587df36846baa80463490befdcef38e98"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 18 20:23:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 18 20:23:22 2011 -0700"
      },
      "message": "Merge \"Don\u0027t call hwc set() if there is nothing new to do\" into ics-mr0"
    },
    {
      "commit": "23bf250522b7dff9acd14c5900b66b1df9c76745",
      "tree": "fd09c3bd2ba14504e94fe8cd0ec91b315c8df643",
      "parents": [
        "ecfdd7ff468bfc861e84fe18992e26b89cc63126",
        "9044ef05d542a4f99b4be7ecefbe5e676bd3ea7f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 18 20:23:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 18 20:23:15 2011 -0700"
      },
      "message": "Merge \"Make sure set GL state properly\" 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": "ecfdd7ff468bfc861e84fe18992e26b89cc63126",
      "tree": "395764d9d0d0a4de3dc30d0ab8609ac814a4bcf5",
      "parents": [
        "cd815fc55bf998578461a95daf8d8fe4a6522961",
        "276fa43b98920f4da60b64fe23da4debb72667c0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 18 19:29:39 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 18 19:29:39 2011 -0700"
      },
      "message": "Merge \"Limit AudioFlinger log.\" into ics-mr0"
    },
    {
      "commit": "0d0fba4587df36846baa80463490befdcef38e98",
      "tree": "8f68cf2a3ea1fc88cfaca4eb4119b7a30dd50b47",
      "parents": [
        "9044ef05d542a4f99b4be7ecefbe5e676bd3ea7f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 18 17:36:28 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 18 17:39:09 2011 -0700"
      },
      "message": "Don\u0027t call hwc set() if there is nothing new to do\n\nthere was situations where SF\u0027s main loop would run (as if there was\nan invalidate), but the dirty region was empty (so no new buffers\nwere retired). In this case we return early and don\u0027t swap, which\nwould cause drawing artifacts.\n\nBug: 5476838\nChange-Id: Id3b7bf4b7aabec7919c50d9278eb2165973a4c3d\n"
    },
    {
      "commit": "276fa43b98920f4da60b64fe23da4debb72667c0",
      "tree": "e62373a31e7519bcd4f0d3232685aaac11448de8",
      "parents": [
        "11116b80d88b72e14e4f6b7ad3ab312096f8eea5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 18 15:42:27 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 18 15:42:27 2011 -0700"
      },
      "message": "Limit AudioFlinger log.\n\nAudioFlinger logs a warning when a write to the audio HAL\ntakes too long to return. The threshold for this warning is\na rule of thumb based on the assumption that the audio HAL will consume\nbuffers at a regular pace.\nThe introduction of low power audio mode with larger buffers and writes\noccuring in bursts makes that this threshold is often exceeded resulting\nin excessive and misleading warnings.\n\nThe threshold is raised to remove unwanted warnings but we should reconsider\nthe usefulness of this warning altogether.\n\nChange-Id: I5ef6898ea28d879cede3e47da542a64092a3cca4\n"
    },
    {
      "commit": "9044ef05d542a4f99b4be7ecefbe5e676bd3ea7f",
      "tree": "bdd0b1be4d282566ab3232943f15a9ed2dc3ec8a",
      "parents": [
        "f522e095e69406a5c6039b406237e9b30781a355"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 18 14:49:27 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 18 15:32:57 2011 -0700"
      },
      "message": "Make sure set GL state properly\n\nwhen taking a screenshot, in particular, we could end up\nwith stale GL state when drawing LayerDim which resulted\nin incortect rendering.\n\nBug: 5467587\nChange-Id: Id9fbed2843481d31063620f3662b364c7e3ac781\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": "a84e37f37c7cd21fe498a923c181d3896e055d56",
      "tree": "af32434af500e598419b1bdcb89977e7b8c2be7a",
      "parents": [
        "6f13adb22afcb47a1cd45a90eaa3c154522089d4",
        "4091f0ba080a1f9c3af4c8f95b3b6eb03b9d576e"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Oct 17 19:40:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 17 19:40:12 2011 -0700"
      },
      "message": "Merge \"Fix 5468644: Use the proper audio stream type to play sound.\" into ics-mr0"
    },
    {
      "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": "4091f0ba080a1f9c3af4c8f95b3b6eb03b9d576e",
      "tree": "a69a94cd7e42ff7aa38702674c83f31b289f7d74",
      "parents": [
        "bd9d2bcdebfa66a0f71fa67aa256dcae4ccd93da"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Oct 17 19:03:12 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Oct 17 19:04:00 2011 +0800"
      },
      "message": "Fix 5468644: Use the proper audio stream type to play sound.\n\nChange-Id: I80dd37da277b1810959a2dbdd852078b26f70cf5\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": "e757a87ff15668749e2ecbd572c69f1c24e28535",
      "tree": "e3ef5528cc805e35c2be18c8efe8beb5afade588",
      "parents": [
        "bd9d2bcdebfa66a0f71fa67aa256dcae4ccd93da"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 18:46:35 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 16 18:59:38 2011 -0700"
      },
      "message": "we need to guarantee that h/w comp set() is called when a buffer has been retired\n\nremoved a test that could violate this guarantee. note that we\nhave no proof tha this ever happened, but consequences could be\nhard lock-ups.\n\nthe code here was intended to track the region to update for displays\nthat can do partial update. the logic discarded the update entirely\nif that region was empty. instead we just redraw the whole thing\n(note that we should never be there with an empty region and retired\nbuffers though).\n\nBug: 5466259\n\nChange-Id: I91ccab3b1a599e729e438eb833939e2236da6854\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": "5c3bea702276bed21234715b497d683ef1b1f012",
      "tree": "a611d06246c7e9beff0adc810e7eed0d30eeb965",
      "parents": [
        "12b6fa1da82567b9a36664b759d10464f4970e6f",
        "919139247ccf5ade7c24ec1a9499a377be5498c2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 10 22:21:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 10 22:21:57 2011 -0700"
      },
      "message": "Merge \"fix an issue where the screen could stay off\""
    },
    {
      "commit": "919139247ccf5ade7c24ec1a9499a377be5498c2",
      "tree": "aca54f8ec378483be0d9a842261b2f4f1313c4bc",
      "parents": [
        "b946a56b696674f6d6f399f68df38ec18adebe87"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 10 22:18:55 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 10 22:18:55 2011 -0700"
      },
      "message": "fix an issue where the screen could stay off\n\nthis would happen when toggling on/off/on very fast, the screen\ncould stay black (while the panel is on).\n\nBug: 5429724\nChange-Id: Ic8aa6aff066e6267923c0d47ef65e314e7bb6d41\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": "9c518d1f16850ba1036bab5d731cad9dacd1b6fa",
      "tree": "ce37c7bd19c4709dcf95c40324ea0fce6d5e7de9",
      "parents": [
        "338140f7340a5471b5c5e8152405bc810fe56769",
        "b946a56b696674f6d6f399f68df38ec18adebe87"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 10 19:05:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 10 19:05:23 2011 -0700"
      },
      "message": "Merge \"Fix screen off animation when in landscape\""
    },
    {
      "commit": "b946a56b696674f6d6f399f68df38ec18adebe87",
      "tree": "9fd734eabf3de7708cc0e60dd4dc54ec90d2830b",
      "parents": [
        "9e076a61e5daacd4c846b8dc362d89f053054703"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 10 19:02:07 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 10 19:02:07 2011 -0700"
      },
      "message": "Fix screen off animation when in landscape\n\nChange-Id: I4bc5b12d7a64a4bf8b9a851594be4d60b790d1ed\n"
    },
    {
      "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": "5872a7758b15f98fcd37e7f1cd357328932f7bf5",
      "tree": "0aa75b8135c11f272dc399f56dcb485367d9b1ab",
      "parents": [
        "9e076a61e5daacd4c846b8dc362d89f053054703",
        "184df101c005e6f9289f4c72e0e38c405a98cb33"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 10 12:38:16 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 10 12:38:16 2011 -0700"
      },
      "message": "Merge \"enable EGL_IMG_context_priority for the omap4 platform\""
    },
    {
      "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": "830d083bf75f1dfe3753f9565f0c90b1dbcc264f",
      "tree": "d9c664db2e4ff4fe849347e8680e774066ef75fb",
      "parents": [
        "ba8ecd206cc6f175767f952d380c88f70ece04cf"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 07 14:51:16 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 07 17:53:37 2011 -0700"
      },
      "message": "SurfaceFlinger: screenshots w/ protected buffers\n\nThis change modifies SurfaceFlinger\u0027s screenshot behavior when a layer\nwith a protected buffer is visible.  The previous behavior was to simply\nfail the screenshot.  The new behavior is to render the screenshot using\na placeholder texture where the protected buffer would have been.\n\nChange-Id: I5e50cb2f3b31b2ea81cfe291c9b4a42e9ee71874\n"
    },
    {
      "commit": "184df101c005e6f9289f4c72e0e38c405a98cb33",
      "tree": "beb86e7bd92853b96dac92729bfcc6b8cbc11d5e",
      "parents": [
        "31743d8cbbd0d54bfe8d2a43154a2b9615c8f282"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 07 15:42:53 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 07 15:42:53 2011 -0700"
      },
      "message": "enable EGL_IMG_context_priority for the omap4 platform\n\nBug: 5311015\nChange-Id: Icaad3d1c963d382ac0a4b9121fe20d3408846c2b\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": "7b6da3c7a2cdc44a35f3af3b4110eabda6f6a4b7",
      "tree": "ca2c9d289f57e1b4d1de52dd50db96b11f20ccfb",
      "parents": [
        "59797e6bece0ac2d649d8d93d02ed81979950145"
      ],
      "author": {
        "name": "Tyler Luu",
        "email": "tluu@ti.com",
        "time": "Thu Oct 06 00:00:03 2011 -0500"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 07 09:24:05 2011 -0700"
      },
      "message": "Add initialize method to CameraHardwareInterface\n\nAdd intialize() method to CameraHardwareInterface so we can\nreturn a proper error value to CameraService if open of camera\nhardware module fails.\n\nb/5405235\n\nChange-Id: I09c627034ddd22a5753c5163392c4fcff301e0b9\nSigned-off-by: Tyler Luu \u003ctluu@ti.com\u003e\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "17f254105b399c7a4216da2d477e7f9cbdbd7319",
      "tree": "8e07078c56028499010422825a01eca37a8a1e8d",
      "parents": [
        "3c02c12c73fa8719e49a5da6534750196efe3eba",
        "9143aaafeefae694cb4210eb1590b0b151618734"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Oct 07 03:20:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 07 03:20:26 2011 -0700"
      },
      "message": "Merge \"Allow shutter/recording sound to be adjusted unless it\u0027s forced.\""
    },
    {
      "commit": "3c02c12c73fa8719e49a5da6534750196efe3eba",
      "tree": "8355193d9ba2d891eae54d1e6da944866a134d0a",
      "parents": [
        "1d6f70c8debf6144e9552ffb7c6e0637fd0c1adc",
        "d303362ac21fb9de40f2f2366cbe7ecaa113dc12"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Oct 07 03:08:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 07 03:08:23 2011 -0700"
      },
      "message": "Merge \"Allow Camera.setDisplayOrientation to be called when preview is active.\""
    },
    {
      "commit": "d303362ac21fb9de40f2f2366cbe7ecaa113dc12",
      "tree": "44ab449f27a946e7d5d0fe70ca6beead88411cdb",
      "parents": [
        "85b10b0dd0e568699f349ba500ddc8d3e6c1c12d"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Oct 07 13:13:54 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Oct 07 18:01:09 2011 +0800"
      },
      "message": "Allow Camera.setDisplayOrientation to be called when preview is active.\n\nbug:5422679\n\nChange-Id: I4c936ab00428fc158b5947fe8f10b1028869bbdb\n"
    },
    {
      "commit": "9143aaafeefae694cb4210eb1590b0b151618734",
      "tree": "0d9f75530233d7d35685e37fe7d934df9caaee4a",
      "parents": [
        "5e3cdc765536ded778f3be81dc923c3af3c680a1"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Oct 07 13:37:42 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Oct 07 13:39:18 2011 +0800"
      },
      "message": "Allow shutter/recording sound to be adjusted unless it\u0027s forced.\n\nChange-Id: I7080d5f50a87f92c8e9395d4cf8f927a6760fa70\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": "3c892288837d165e0273ff1a0f1194c2347d24ac",
      "tree": "0c375fd155180f03d18c97f991bb9176793ddcf7",
      "parents": [
        "219f3c71269ff0bd8949b88af07f92c4e4eddc67",
        "6fccbd04fc7e64dfc05096281cd64d76dfcb299d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 05 18:02:54 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 05 18:02:54 2011 -0700"
      },
      "message": "Merge \"Fix issue 5381089: problem with A2DP music volume\""
    },
    {
      "commit": "6fccbd04fc7e64dfc05096281cd64d76dfcb299d",
      "tree": "5ae109331b34eda9a381bb55f5e31711cab7ce75",
      "parents": [
        "50dabc5f0efbe2c4a987579cb2ad94132ee587be"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 05 17:42:25 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 05 17:42:25 2011 -0700"
      },
      "message": "Fix issue 5381089: problem with A2DP music volume\n\nThis problem only occurs when audio effects are present and\nthe music volume is applied by one effect engine.\nWhen connecting or disconnecting A2DP, audio effects are moved from\none mixer thread to another. When removed from the source thread,\nthe effect is stopped but it is not restarted when added to the\ndestination thread.\nThis regression was introduced by commit 21b5c47e.\n\nChange-Id: I4cc578d8d760ec65b185032b6fda98c739d331bc\n"
    },
    {
      "commit": "219f3c71269ff0bd8949b88af07f92c4e4eddc67",
      "tree": "4f1ee647435a82a5908ca02c9780bf108bf012a5",
      "parents": [
        "39382aa77a6c50eb4b7292c1d5063a2934c3f36c",
        "4dfce20cac7492882d366d053006795aefad59da"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 05 17:24:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 05 17:24:29 2011 -0700"
      },
      "message": "Merge \"Make SENSOR orientation modes trump rotation lock. Bug: 5371750\""
    },
    {
      "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": "edaab94c2bc5b131dabff440e7ff3dfde6a012b7",
      "tree": "d77e057787b89660b87434b1b4fb3e6a8c1fc1fa",
      "parents": [
        "94d2f366f971bc052da9856e9f8867094e738cd1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 05 15:00:22 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 05 15:00:22 2011 -0700"
      },
      "message": "Force a repaint when hwc invalidate hook is called\n\nwithout this prepare() would be called but not set() since the\ndirty region is empty.\n\nChange-Id: I038acfbdad4c16015357ccde4d1949391d6f989d\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"
    }
  ],
  "next": "e4474c3b7098a13bc81b0dba35bacd93b8a22f79"
}
