)]}'
{
  "log": [
    {
      "commit": "c1f63ddba76717db4f42ec04a06a0be12f22b2dc",
      "tree": "6d522364ce921aa681c35a61e7fe0e7054857ba8",
      "parents": [
        "6562dadf3c9c97e14b2cd264d08eaae39c9e6d0c",
        "5b0135e41bc36cc6486d637e2e26523240d0ae2d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 07:22:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 07:22:30 2012 -0800"
      },
      "message": "Merge \"AudioStreamIn and AudioStreamOut\""
    },
    {
      "commit": "6562dadf3c9c97e14b2cd264d08eaae39c9e6d0c",
      "tree": "6256f91ef1c88c4790051de1faf013e30d3d8bd6",
      "parents": [
        "591993f162d0dbf7f6ce0e33a5f8f1bb687e91ce",
        "0ae4d976898abd297d71d284932dd1a8baf42a1a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 07:19:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 07:19:53 2012 -0800"
      },
      "message": "Merge \"Declare methods in binder opcode order\""
    },
    {
      "commit": "591993f162d0dbf7f6ce0e33a5f8f1bb687e91ce",
      "tree": "1d4f2b2c2242c29f40ef6aefcec24eb5f8703955",
      "parents": [
        "86012869b8a99e43158f9fe6488b5928a034b03b",
        "452d6d6efe062b7cee10cc2b543c0b857f171022"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 07:19:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 07:19:10 2012 -0800"
      },
      "message": "Merge \"Use enum effect_state consistently\""
    },
    {
      "commit": "86012869b8a99e43158f9fe6488b5928a034b03b",
      "tree": "32d29cb9ecadacb9931b2461cc1046e578a669f2",
      "parents": [
        "43f4dd4fa19bf3808f9fddc8a678a0fc935173bb",
        "563562032dbe3ae1d89e169827f3a022ed6aa079"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 07:18:23 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 07:18:23 2012 -0800"
      },
      "message": "Merge \"Use enum track_state consistently\""
    },
    {
      "commit": "5b0135e41bc36cc6486d637e2e26523240d0ae2d",
      "tree": "2b525fbd8439f5c09d4c4e87478a0eab9de94e86",
      "parents": [
        "caaac348ed163f59cf1b8185bb14137050c18e7e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 09:46:34 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 15:58:07 2012 -0800"
      },
      "message": "AudioStreamIn and AudioStreamOut\n\nThese are immutable, so make the fields const.\ngetOutput() and getInput() methods are now const.\n\nChange-Id: I128246ebd56ea50b3e542be43f2aa1bcb55f1373\n"
    },
    {
      "commit": "0ae4d976898abd297d71d284932dd1a8baf42a1a",
      "tree": "a76a9db4a8f2d403d8c4deac5e58873462ef7c4f",
      "parents": [
        "0f73d75da069e8af200092c0c6a8487108fdcbfb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 13:40:12 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 14:34:30 2012 -0800"
      },
      "message": "Declare methods in binder opcode order\n\nThis makes it easier to compare interface and implementation.\n\nChange-Id: Ie060e43dec348902abcf40f5a610cec639d6d0d3\n"
    },
    {
      "commit": "789fef1f83bdf7b082a13d11a124797881ca62dc",
      "tree": "f28e63f5f3e2ecceed0c0dea7fde151e3eed1830",
      "parents": [
        "caaac348ed163f59cf1b8185bb14137050c18e7e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 13:37:52 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 14:23:47 2012 -0800"
      },
      "message": "Use enum mixer_state consistently\n\nChange-Id: I5b71ed20f939dfc4b98143334b7aa064d282f584\n"
    },
    {
      "commit": "452d6d6efe062b7cee10cc2b543c0b857f171022",
      "tree": "87e240fefe89927244d484f3b717dff4260b6217",
      "parents": [
        "caaac348ed163f59cf1b8185bb14137050c18e7e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 13:43:46 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 14:20:34 2012 -0800"
      },
      "message": "Use enum effect_state consistently\n\nAlso fix indentation\n\nChange-Id: I393ef9e37ffceed5ad4a78df439726ae1fe139df\n"
    },
    {
      "commit": "563562032dbe3ae1d89e169827f3a022ed6aa079",
      "tree": "8200b553d01cdae6630be0141e1faf5ce6e02664",
      "parents": [
        "caaac348ed163f59cf1b8185bb14137050c18e7e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 13:39:18 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 26 14:13:43 2012 -0800"
      },
      "message": "Use enum track_state consistently\n\nChange-Id: Ie5ebb7befa092e1de1e4df9c6e2d51e6bcfd176a\n"
    },
    {
      "commit": "b675f516da196103597542d2c03f30f70359808e",
      "tree": "3d94ab6471eaa7f772fed00248592c07cfeeabb9",
      "parents": [
        "556f0dba10517c76b6f20e95e3f4510c0cfb5911",
        "c7d7eafb66f14766e9fa0013407862502dcdfb66"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jan 25 14:04:59 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 14:04:59 2012 -0800"
      },
      "message": "Merge \"Add additional debug\""
    },
    {
      "commit": "c7d7eafb66f14766e9fa0013407862502dcdfb66",
      "tree": "863cec87437bd4c56314fd5c6cd368c4b356283d",
      "parents": [
        "e575005f7c7a2ec26662862631ca1d0d1959d6bc"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jan 25 13:47:54 2012 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jan 25 13:47:54 2012 -0800"
      },
      "message": "Add additional debug\n\nWhen ConnectivityService#startUsingNetworkFeature is called and the\nspecial network is not available output some additional information.\n\nChange-Id: I34b226a208596fa6418f1f37a0feec1d274d493c\n"
    },
    {
      "commit": "172870f37dc233922757d35d3180071fa84c59ef",
      "tree": "e4cecc4d50288c4b497d5452381ec41873f53c0a",
      "parents": [
        "9c7d56a78ba819fdc8046ab87c82ee2b57d200b5",
        "535b0264a4cfa790e549bd9cd09980788f1375f4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 25 08:57:23 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 25 08:57:23 2012 -0800"
      },
      "message": "am 535b0264: am 7eeaf3f0: Merge \"AudioFlinger: refine mixer sleep time logic\" into ics-mr1\n\n* commit \u0027535b0264a4cfa790e549bd9cd09980788f1375f4\u0027:\n  AudioFlinger: refine mixer sleep time logic\n"
    },
    {
      "commit": "1d99795d73dadd49c6af1dfc3f5f5a575e0eebaf",
      "tree": "cbf2394f928d6ce2990029b6625d45094dd9935b",
      "parents": [
        "b335fad4705348ff78d764fb4be53dcbe6b67abe"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jan 19 18:34:40 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 24 18:22:56 2012 -0800"
      },
      "message": "improve SurfaceFlinger dumpsys\n\nIt is now possible to say:\n\ndumpsys SurfaceFlinger --latency\n\nto print latency information about all windows\n\ndumpsys SurfaceFlinger --latency window-name\n\nto print the latency stats of the specified window\n\nfor instance: dumpsys SurfaceFlinger --latency SurfaceView\n\nThe data consists of one line containing global stats, followed by\n128 lines of tab separated timestamps in nanosecond.\n\nThe first line currently contains the refresh period in nanosecond.\nEach 128 following line contains 3 timestamps, of respectively\nthe app draw time, the vsync timestamp just prior the call to set and\nthe timestamp of the call to set.\n\nChange-Id: Ib6b6da1d7e2e6ba49c282bdbc0b56a7dc203343a\n"
    },
    {
      "commit": "b335fad4705348ff78d764fb4be53dcbe6b67abe",
      "tree": "0ead32dd0e0e2c74b4e2539a93deacf485f99901",
      "parents": [
        "fa1a91628a706bbe51d91e0ccb9144df8b8529e6"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jan 15 18:54:57 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 24 15:41:50 2012 -0800"
      },
      "message": "hack up frame latency measurement\n\nChange-Id: I6d9a466a23285304f0e229a5649815636ab5d6af\n"
    },
    {
      "commit": "535b0264a4cfa790e549bd9cd09980788f1375f4",
      "tree": "a04b81cdcd0917f4131a15eae7df11cf1cd649c9",
      "parents": [
        "dd347d515d4a4e42b2aba89a8e471392026b7824",
        "7eeaf3f07aa6fb10639d9f96c1367eb98c3e8839"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 24 11:51:50 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 24 11:51:50 2012 -0800"
      },
      "message": "am 7eeaf3f0: Merge \"AudioFlinger: refine mixer sleep time logic\" into ics-mr1\n\n* commit \u00277eeaf3f07aa6fb10639d9f96c1367eb98c3e8839\u0027:\n  AudioFlinger: refine mixer sleep time logic\n"
    },
    {
      "commit": "dd347d515d4a4e42b2aba89a8e471392026b7824",
      "tree": "9c66ad628619c851ad9ca802cb2ba61b446d771b",
      "parents": [
        "67cda1a0ec2f443293d0ada7c49708ff4a11c8c7",
        "41773d46556aa47d4322ff89fdaf7d1345c2d1f2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 24 11:51:47 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 24 11:51:47 2012 -0800"
      },
      "message": "am 41773d46: Merge \"DO NOT MERGE Revert \"Revert \"AudioFlinger: mix track only when really ready (2)\"\"\" into ics-mr1\n\n* commit \u002741773d46556aa47d4322ff89fdaf7d1345c2d1f2\u0027:\n  DO NOT MERGE Revert \"Revert \"AudioFlinger: mix track only when really ready (2)\"\"\n"
    },
    {
      "commit": "629c6765ca21b6ef23db893a35c62eef6a2a28b6",
      "tree": "f33e10f086275b851c53abdfd80682031d0cf21b",
      "parents": [
        "08cec4ee46f8b99a202b775c4eed8699be5165e8",
        "63abc37356728c0575d6a62a203102ae6d97953b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 24 11:49:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 11:49:51 2012 -0800"
      },
      "message": "Merge \"Move network stats to FileRotator pattern.\""
    },
    {
      "commit": "7eeaf3f07aa6fb10639d9f96c1367eb98c3e8839",
      "tree": "1ee60909ec62718656be769b458fd14ad8272079",
      "parents": [
        "41773d46556aa47d4322ff89fdaf7d1345c2d1f2",
        "0609231f4fa415cc8198d706ee1c6b5f5e911023"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 24 11:49:39 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 11:49:39 2012 -0800"
      },
      "message": "Merge \"AudioFlinger: refine mixer sleep time logic\" into ics-mr1"
    },
    {
      "commit": "41773d46556aa47d4322ff89fdaf7d1345c2d1f2",
      "tree": "9a2dd281a4b2c19acbcc2d9cbfdbb6adec8db88e",
      "parents": [
        "f449ea9e96162698f4ec6d62c70750eb50744da7",
        "0b0896555827d2a5a9c8240f27dd94e8933dd778"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 24 11:49:16 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 11:49:16 2012 -0800"
      },
      "message": "Merge \"DO NOT MERGE Revert \"Revert \"AudioFlinger: mix track only when really ready (2)\"\"\" into ics-mr1"
    },
    {
      "commit": "67cda1a0ec2f443293d0ada7c49708ff4a11c8c7",
      "tree": "c1754e9e5bbdedd3b905b3269d7d1bdd8a9ebc76",
      "parents": [
        "a5853595165a6395ca41bbc17a3dd88e12259ad1",
        "f449ea9e96162698f4ec6d62c70750eb50744da7"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jan 24 11:42:21 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 24 11:42:21 2012 -0800"
      },
      "message": "am f449ea9e: Merge \"Use the carrier-given dns addrs for tethering.\" into ics-mr1\n\n* commit \u0027f449ea9e96162698f4ec6d62c70750eb50744da7\u0027:\n  Use the carrier-given dns addrs for tethering.\n"
    },
    {
      "commit": "f449ea9e96162698f4ec6d62c70750eb50744da7",
      "tree": "cf7ef3cfd707477e23ee79937d295ed83afa8be1",
      "parents": [
        "47163685eb90f9520e7ae0ac0984b4e1535e8e5b",
        "7df80fa4e8a017243f26e287c23b7c9092a391fd"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jan 24 11:40:19 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 11:40:19 2012 -0800"
      },
      "message": "Merge \"Use the carrier-given dns addrs for tethering.\" into ics-mr1"
    },
    {
      "commit": "08cec4ee46f8b99a202b775c4eed8699be5165e8",
      "tree": "5eec0ede4ff737016771a46dff99ecf2c8a9746c",
      "parents": [
        "8c190f76fc92b6db9a1886b5de5b7cecdd656c4b",
        "a5853595165a6395ca41bbc17a3dd88e12259ad1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 24 11:39:49 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 24 11:39:49 2012 -0800"
      },
      "message": "am a5853595: am 47163685: Merge \"Another attempt at issue #5823276: home repaints after full-screen app is exited\" into ics-mr1\n\n* commit \u0027a5853595165a6395ca41bbc17a3dd88e12259ad1\u0027:\n  Another attempt at issue #5823276: home repaints after full-screen app is exited\n"
    },
    {
      "commit": "a5853595165a6395ca41bbc17a3dd88e12259ad1",
      "tree": "c68b544edbb3b3f747f3d5de3045d1b1a61e77c1",
      "parents": [
        "29cd79c7b0fecd2753fc27405794c0d5b5314302",
        "47163685eb90f9520e7ae0ac0984b4e1535e8e5b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 24 11:37:02 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 24 11:37:02 2012 -0800"
      },
      "message": "am 47163685: Merge \"Another attempt at issue #5823276: home repaints after full-screen app is exited\" into ics-mr1\n\n* commit \u002747163685eb90f9520e7ae0ac0984b4e1535e8e5b\u0027:\n  Another attempt at issue #5823276: home repaints after full-screen app is exited\n"
    },
    {
      "commit": "47163685eb90f9520e7ae0ac0984b4e1535e8e5b",
      "tree": "559bf70973aa1b8be1106d6243553893aa43b4f0",
      "parents": [
        "c986d6f01b00dd760ba1650918baadd24a6dc838",
        "b7ff51bde92b76757a002bb5b1889f5790986513"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 24 11:33:15 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 11:33:15 2012 -0800"
      },
      "message": "Merge \"Another attempt at issue #5823276: home repaints after full-screen app is exited\" into ics-mr1"
    },
    {
      "commit": "63abc37356728c0575d6a62a203102ae6d97953b",
      "tree": "c828ee65a2764be6307c704fa3dee8c1606c126d",
      "parents": [
        "cf5c78f209a34bae4a049ff2370252be8598d034"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 11 18:38:16 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 24 11:13:14 2012 -0800"
      },
      "message": "Move network stats to FileRotator pattern.\n\nSplit existing network stats into two separate classes: a recorder\nwhich generates historical data based on periodic counter snapshots,\nand a collection of historical data with persistance logic.\n\nRecorder keeps a pending history in memory until outstanding data\ncrosses a specific threshold.  Persisting is handled through a given\nFileRotator.  This pattern significantly reduces disk churn and\nmemory overhead.  Separate UID data from UID tag data, enabling a\nshorter rotation cycle.  Migrate existing stats into new structure.\n\nRemove \"xt\" stats until iptables hooks are ready.  Avoid consuming\nEntry values when recording into NetworkStatsHistory.  Assign\noperation counts to default route interface.\n\nIntroduce \"Rewriter\" interface in FileRotator with methods to enable\nrewriteAll().  Introduce IndentingPrintWriter to handle indenting in\ndump() methods.\n\nBug: 5386531\nChange-Id: Ibe086230a17999a197206ca62d45f266225fdff1\n"
    },
    {
      "commit": "b7ff51bde92b76757a002bb5b1889f5790986513",
      "tree": "909e96458330c2b4203af28ee6b5bf6244a7e567",
      "parents": [
        "a486a53a02392c5d5de5a3d0856433a25e56b110"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 23 19:15:27 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 23 19:15:27 2012 -0800"
      },
      "message": "Another attempt at issue #5823276: home repaints after full-screen app is exited\n\nThis is between the two previous attempts.  I returned the part from the\noriginal that was breaking gallery, but have some new code to detect when\nsomething about the window params has changed that would require a\nlayout pass to make sure we still do a layout then, even if the window is\nnot currently visible.\n\nChange-Id: I07745e1f66022583e3076b84cc8bbe8bd2acd48f\n"
    },
    {
      "commit": "0609231f4fa415cc8198d706ee1c6b5f5e911023",
      "tree": "d49c9a55196ca8e8517dfee39246dc222e38b20d",
      "parents": [
        "0b0896555827d2a5a9c8240f27dd94e8933dd778"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 23 18:56:59 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 23 18:56:59 2012 -0800"
      },
      "message": "AudioFlinger: refine mixer sleep time logic\n\nWhen an AudioTrack is in underrun state, the AudioFlinger mixer will\nsleep for a short period of time to give the app a chance to fill the\nAudioTrack buffer. If the AudioTrack is still not ready during next mixing round,\nthe mixer will proceed with other tracks.\n\nIf an application keeps a steady underrun condition, the AudioFlinger mixer will\nalternate between ready and not ready states. In the longer term this will cause the\naudio HAL to underrun.\nThere is a mechanism to reduce the sleep period if the mixer is not ready several times in a\nrow but this mechanism is defeated by the alternating ready/not ready conditions.\n\nThe fix consists in only increasing sleep time if the mixer is ready for at least two\nconsecutive times.\n\nIssue 5904527.\n\nChange-Id: Id0139bca9be8c4e425ec6d428515c4d8f718e8c9\n"
    },
    {
      "commit": "0b0896555827d2a5a9c8240f27dd94e8933dd778",
      "tree": "1c5913b524ed1acdc5648df5f209d378120082e3",
      "parents": [
        "44760b106a4bafcf83fb356bf91683db40e0e5a2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 23 18:35:10 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 23 18:37:07 2012 -0800"
      },
      "message": "DO NOT MERGE Revert \"Revert \"AudioFlinger: mix track only when really ready (2)\"\"\n\nThis reverts commit b918035d34422a2041b6ec8c09c566bb93345b40.\n\nChange-Id: I093bcfa56ad54a080b930208b6b79169d33581fb\n"
    },
    {
      "commit": "eda775cc89b862e0637af132d78168e1b28820f8",
      "tree": "7bd0dc13fdefa052cc6987c5fcdceb0cbdbca766",
      "parents": [
        "22cfd047abb09929331ce2727499a24bcbb3604b",
        "9f080e2a5bc6a268934e32201c69ea8a86900396"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jan 23 15:53:17 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 23 15:53:17 2012 -0800"
      },
      "message": "am 9f080e2a: am 44760b10: Merge \"Revert \"Fix 5797764: Increase lock screen\\\u0027s thread priority\"\" into ics-mr1\n\n* commit \u00279f080e2a5bc6a268934e32201c69ea8a86900396\u0027:\n  Revert \"Fix 5797764: Increase lock screen\u0027s thread priority\"\n"
    },
    {
      "commit": "9f080e2a5bc6a268934e32201c69ea8a86900396",
      "tree": "eddb7d732c1a8e441e1c9661eedb612faf98444e",
      "parents": [
        "feb1d988c8ea1a67a4edbf1914ea41ea73519e12",
        "44760b106a4bafcf83fb356bf91683db40e0e5a2"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jan 23 15:51:23 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 23 15:51:23 2012 -0800"
      },
      "message": "am 44760b10: Merge \"Revert \"Fix 5797764: Increase lock screen\\\u0027s thread priority\"\" into ics-mr1\n\n* commit \u002744760b106a4bafcf83fb356bf91683db40e0e5a2\u0027:\n  Revert \"Fix 5797764: Increase lock screen\u0027s thread priority\"\n"
    },
    {
      "commit": "44760b106a4bafcf83fb356bf91683db40e0e5a2",
      "tree": "95bd104768afda39f48084ed5cdf324487a40ca5",
      "parents": [
        "fee5a860a8355cda071ff23644e943414ba7f65d",
        "54dbbce1c3cd3b534b0bf7cb15c85f966ed029b7"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jan 23 15:49:32 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 23 15:49:32 2012 -0800"
      },
      "message": "Merge \"Revert \"Fix 5797764: Increase lock screen\u0027s thread priority\"\" into ics-mr1"
    },
    {
      "commit": "54dbbce1c3cd3b534b0bf7cb15c85f966ed029b7",
      "tree": "fda89338361f2ebbc5bc9a8fa7333b54466d1cd2",
      "parents": [
        "6d6a70a33746ef5147ab146f1802f0db424dd2f1"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jan 23 15:24:42 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 23 15:24:42 2012 -0800"
      },
      "message": "Revert \"Fix 5797764: Increase lock screen\u0027s thread priority\"\n\nThis reverts commit 6d6a70a33746ef5147ab146f1802f0db424dd2f1\n\nThis doesn\u0027t appear to have a measurable impact for this issue."
    },
    {
      "commit": "feb1d988c8ea1a67a4edbf1914ea41ea73519e12",
      "tree": "1ec8d457cd2b0a1e7447ba25770624e7c4b3bc67",
      "parents": [
        "add87f99d9ece26c776abe40297e9a49e08932d9",
        "fee5a860a8355cda071ff23644e943414ba7f65d"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Jan 23 15:13:19 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 23 15:13:19 2012 -0800"
      },
      "message": "am fee5a860: Merge \"DO NOT MERGE Revert \"AudioFlinger: mix track only when really ready (2)\"\" into ics-mr1\n\n* commit \u0027fee5a860a8355cda071ff23644e943414ba7f65d\u0027:\n  DO NOT MERGE Revert \"AudioFlinger: mix track only when really ready (2)\"\n"
    },
    {
      "commit": "b918035d34422a2041b6ec8c09c566bb93345b40",
      "tree": "316213e4d9306e8f13656664f362cf6295f89c91",
      "parents": [
        "eaa11a723150f1ea79446d7ba4bf77eb47b73337"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Jan 23 14:01:15 2012 -0800"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Jan 23 15:02:41 2012 -0800"
      },
      "message": "DO NOT MERGE Revert \"AudioFlinger: mix track only when really ready (2)\"\n\nThis reverts commit 71c4496a9757438afd30b4404824f296f6158a49.\n\nChange-Id: Iff10c49ea728bb10023ddeb50a3b708db770fff2\n"
    },
    {
      "commit": "fd1c5ed3705b885ce50b5ecad04ce699248b1d84",
      "tree": "f59154a06fe93c6eefee035570bfbfd15294ffec",
      "parents": [
        "a6b8fe1c7115e0d3843cf6915f9a6f7598779530"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 13:09:16 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 23 12:52:43 2012 -0800"
      },
      "message": "New screen rotation animation design.\n\nWe now have an animation that can start as soon as we detect to\nrotate the screen, and have a different phase once the new UI\nis ready to complete the transition into it.\n\nChange-Id: I05b9c12a699232acbddc36b4a994a4452db71476\n"
    },
    {
      "commit": "d9ea468d6a9cb6018ce33d3dcf9db72f02773af1",
      "tree": "b04a38183228b5f2c8ee6706522ddd0b89697b8f",
      "parents": [
        "30f1312b3cb584c14eba60e6809d4eeed5d906bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 20 18:36:40 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 23 12:01:00 2012 -0800"
      },
      "message": "New brightness setting to adjust auto-brightness mode.\n\nChange-Id: Icfec22be99d8c79e9ff5720b80fb9dacbba36134\n"
    },
    {
      "commit": "7df80fa4e8a017243f26e287c23b7c9092a391fd",
      "tree": "777abb518c32c4be2f65b75150edad99b1df96a7",
      "parents": [
        "5e5b57aef29b33d03965b4dc370cde9a39220adc"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Dec 09 15:36:50 2011 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Jan 23 11:29:37 2012 -0800"
      },
      "message": "Use the carrier-given dns addrs for tethering.\n\nThis fixes a complaint from carriers (that we used 8.8.8.8), but also\nfixes the case where there is only room for one live radio\nconnection: the secondary connection (tethering) doesn\u0027t have a\ndefault route to prevent on-device traffic from slipping out on the\ntethering connection, but tethered dns is proxied through dnsmasq, so\nit is appearing as on-device traffic and is unroutable.  By switching\nto the carrier-indicated dns servers we can use the host-routes\nalready set for those and kill two bugs with one fix.\n\nbug:5898904\nChange-Id: Ida8777687994f353b2d4f2c7db5d6ea4b6ac3882\n"
    },
    {
      "commit": "30f1312b3cb584c14eba60e6809d4eeed5d906bf",
      "tree": "c905b11a3e52f2e058f27a739dcbf87992f4ed2d",
      "parents": [
        "8ffd2cccf0f0458b941d2a3c69d30a6ae06fc33b",
        "2f36229db823d152f3efd879e751e81a601a75b0"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Jan 23 09:34:17 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 23 09:34:17 2012 -0800"
      },
      "message": "Merge \"Use Map.Entry, not HashMap.Entry\""
    },
    {
      "commit": "8ffd2cccf0f0458b941d2a3c69d30a6ae06fc33b",
      "tree": "a761caba1ec100e76b6ef5b6a781e587d316913b",
      "parents": [
        "5691f6a882528a5a2b622eeed335d256d15a7f05",
        "b1c7785c1110e171d3dd3deb259b1caeed0b9da6"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jan 23 09:18:36 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 23 09:18:36 2012 -0800"
      },
      "message": "am b1c7785c: am eaa11a72: Merge \"Fix 5797764: Increase lock screen\\\u0027s thread priority\" into ics-mr1\n\n* commit \u0027b1c7785c1110e171d3dd3deb259b1caeed0b9da6\u0027:\n  Fix 5797764: Increase lock screen\u0027s thread priority\n"
    },
    {
      "commit": "02d37b9731eaf5d79f9eb395576e030934c37f3b",
      "tree": "f1187101a6d5f80fa1b07fcca4e038b5d2afd06f",
      "parents": [
        "65f87ec733955455b66ea704e85709189b1cea80",
        "892d11f4925170543f166c38e594c97577b4c034"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 20 18:42:07 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 20 18:42:07 2012 -0800"
      },
      "message": "resolved conflicts for merge of 892d11f4 to master\n\nChange-Id: I21eca0002100d898e167a25aaa46d896deca2a11\n"
    },
    {
      "commit": "65f87ec733955455b66ea704e85709189b1cea80",
      "tree": "77f8a19183dfb82602ba877b02168bf38063655d",
      "parents": [
        "0f73d75da069e8af200092c0c6a8487108fdcbfb",
        "73d7369e0f049a6f6ad9fac4c945fef6a3729b5c"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 20 17:59:06 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 17:59:06 2012 -0800"
      },
      "message": "Merge \"Fix shared-storage full backup\""
    },
    {
      "commit": "73d7369e0f049a6f6ad9fac4c945fef6a3729b5c",
      "tree": "ad19ea4ea3bf71ec8509c16dcf4083c2adbb8cf9",
      "parents": [
        "e988e0c31ca16160dee1b7c689ac31cd70fe43a2"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 20 17:11:31 2012 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 20 17:41:41 2012 -0800"
      },
      "message": "Fix shared-storage full backup\n\nThe special shared-storage step was mistakenly writing its data directly\nto the USB output pipe rather than to the proper stacked data handling\nchain that applies compression and encryption.  Fix this by getting rid\nof the custom handling of the shared-storage data, instead folding it\ninto the normal data handling flow [with a small amount of additional\nmanagement because e.g. it doesn\u0027t need a \"manifest\" pseudofile in the\narchive stream].\n\nFixes bug 5897791\n\nChange-Id: I3995b07963334d2f8cce49b247c87d3d3ff93bed\n"
    },
    {
      "commit": "0f73d75da069e8af200092c0c6a8487108fdcbfb",
      "tree": "5b89f1b6048faea4541170f23dd164bcfefcee20",
      "parents": [
        "7a640a093639c712ed4e37d06cb86c50d88bd376",
        "34f9f8bb8384b9045bc6aff9289bd1cb8705f427"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 20 17:16:36 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 17:16:36 2012 -0800"
      },
      "message": "Merge \"Remove AudioFlinger dependencies on client\""
    },
    {
      "commit": "34f9f8bb8384b9045bc6aff9289bd1cb8705f427",
      "tree": "24e206f7cb1eb96c75016f2eefca6f69c95d418b",
      "parents": [
        "0a204ed0f58a9baaac5630864cd75495486c6cbe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 20 17:00:00 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 20 17:12:59 2012 -0800"
      },
      "message": "Remove AudioFlinger dependencies on client\n\nChange-Id: Ibb591e41a3ca5d7015e2b66b98b8fef5f415fb37\n"
    },
    {
      "commit": "d3fe9abfb9a6a21a18abde6a98dceb423c04ebef",
      "tree": "35cadfcae72edfa6d0bff057bfd84a2e60857edd",
      "parents": [
        "865534a0e30982b0e669006509b9590fad129295",
        "ab9601cdbb95ae94088750eff9a926a572c1a4d6"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 20 15:48:21 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 15:48:21 2012 -0800"
      },
      "message": "am ab9601cd: am 230a7092: Merge \"Fix 5863053: Add method to lock screen immediately.\" into ics-mr1\n\n* commit \u0027ab9601cdbb95ae94088750eff9a926a572c1a4d6\u0027:\n  Fix 5863053: Add method to lock screen immediately.\n"
    },
    {
      "commit": "b1c7785c1110e171d3dd3deb259b1caeed0b9da6",
      "tree": "a296b36eb41e30aae9cc7b5ee4ad0e6c95f70279",
      "parents": [
        "e46f869629ef27afb149c771e69dbbefe1135f33",
        "eaa11a723150f1ea79446d7ba4bf77eb47b73337"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 20 15:26:42 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 15:26:42 2012 -0800"
      },
      "message": "am eaa11a72: Merge \"Fix 5797764: Increase lock screen\\\u0027s thread priority\" into ics-mr1\n\n* commit \u0027eaa11a723150f1ea79446d7ba4bf77eb47b73337\u0027:\n  Fix 5797764: Increase lock screen\u0027s thread priority\n"
    },
    {
      "commit": "eaa11a723150f1ea79446d7ba4bf77eb47b73337",
      "tree": "65340e7a9715009d887cb013c705e3eaae2f7873",
      "parents": [
        "b09f6f96e3583da320b69486869bc98fd463735e",
        "6d6a70a33746ef5147ab146f1802f0db424dd2f1"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 20 15:24:20 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 15:24:20 2012 -0800"
      },
      "message": "Merge \"Fix 5797764: Increase lock screen\u0027s thread priority\" into ics-mr1"
    },
    {
      "commit": "2f36229db823d152f3efd879e751e81a601a75b0",
      "tree": "21797ffa7224c9f76ce99dd9ad09c781c7782296",
      "parents": [
        "c79e413911d48ebf14621304655029f6cd2c7959"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Jan 20 14:43:38 2012 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Jan 20 14:43:38 2012 -0800"
      },
      "message": "Use Map.Entry, not HashMap.Entry\n\nMap.Entry is the defined return value from entrySet().  HashMap.Entry\nshouldn\u0027t be used directly.\n\nChange-Id: Ia21598c6a73fe7eb22179ce114095f779c903084\n"
    },
    {
      "commit": "6d6a70a33746ef5147ab146f1802f0db424dd2f1",
      "tree": "415cc2c4d78a70f8caf3300f3819d8f426e31a1f",
      "parents": [
        "ff321d496a6a07fc667112ecfe4d9a107d44147b"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 20 14:35:56 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 20 14:41:55 2012 -0800"
      },
      "message": "Fix 5797764: Increase lock screen\u0027s thread priority\n\nThis increases lock screen\u0027s thread priority from THREAD_PRIORITY_FOREGROUND\nto THREAD_PRIORITY_DISPLAY to ensure it runs before other activities that\nmight stall lock screen when the screen turns on.\n\nChange-Id: I14cf9f3f5c092817bc6cf2d0a254001a5d34f744\n"
    },
    {
      "commit": "0a204ed0f58a9baaac5630864cd75495486c6cbe",
      "tree": "5f81caa2a24b7a993c231cbd76bfaacd955a0355",
      "parents": [
        "2772143eff6a69ae7182e0c2628809d8dbd8d355"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 12 12:27:51 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 20 14:41:34 2012 -0800"
      },
      "message": "Use audio_format_t consistently, continued\n\nWas int or uint32_t.\n\nWhen AudioFlinger::format can\u0027t determine the correct format,\nreturn INVALID rather than DEFAULT.\n\nInit mFormat to INVALID rather than DEFAULT in the constructor.\nSubclass constructors will set mFormat to the correct value.\n\nChange-Id: I9b62640aa107d24d2d27925f5563d0d7407d1b73\n"
    },
    {
      "commit": "2772143eff6a69ae7182e0c2628809d8dbd8d355",
      "tree": "7e23f833b91f47c69b3bee356e7257b2c81a7b09",
      "parents": [
        "59734cb7cae326d0c1f06de59ad1768cacaf7a6d",
        "8beff9586ff89a1e59469e9820fd9e9d704300d2"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jan 20 14:35:41 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 14:35:41 2012 -0800"
      },
      "message": "Merge \"Stop using shared DUN APN when tethering stops.\""
    },
    {
      "commit": "59734cb7cae326d0c1f06de59ad1768cacaf7a6d",
      "tree": "e3f8b905a08e26f511e845d6db3bbcfc0bdcffe8",
      "parents": [
        "67d853b61a2d077d51545c480206b1873c74ea46",
        "e95316d6e9fb374c36470f834a4171f6f23820b6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jan 20 14:32:22 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 14:32:22 2012 -0800"
      },
      "message": "Merge \"Add ANativeWindow timestamp support to camera service.\""
    },
    {
      "commit": "67d853b61a2d077d51545c480206b1873c74ea46",
      "tree": "1d6306e40f26c67d89790675b2baacd47fbe2e8d",
      "parents": [
        "1bf599a01e7ad720150d8cc12416ba67bebd74c9",
        "470fd72a06390d7a6b854583afd0ed76ce0a03ee"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jan 20 14:24:15 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 14:24:15 2012 -0800"
      },
      "message": "Merge \"Log netd traffic nicely.\""
    },
    {
      "commit": "ea46649a1cce7447ece812e60168f2bb3db47122",
      "tree": "c4b9d149efa8af5b982a3c530c4b8e4421b5fb86",
      "parents": [
        "5ecff094f4df499f997bc9406c6e1a76a899aa12",
        "70ed6b744d23dec8ec726fa86d559e8c6a2a32d6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 20 12:14:32 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 12:14:32 2012 -0800"
      },
      "message": "Merge \"Remove redundant get()\""
    },
    {
      "commit": "892d11f4925170543f166c38e594c97577b4c034",
      "tree": "020da1d4554e3675d95ddc847b903f8651cd6896",
      "parents": [
        "a64f899fa6159a8839a769d3f107f6c502da58c8",
        "1bae80668cc1d12bb4a4b93bce1960b2601de131"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 20 12:03:47 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 12:03:47 2012 -0800"
      },
      "message": "am 1bae8066: Merge \"Fix issue #5823276 again: home repaints after full-screen app is exited\" into ics-mr1\n\n* commit \u00271bae80668cc1d12bb4a4b93bce1960b2601de131\u0027:\n  Fix issue #5823276 again: home repaints after full-screen app is exited\n"
    },
    {
      "commit": "1bae80668cc1d12bb4a4b93bce1960b2601de131",
      "tree": "31682135168927976967c976f25d2211fe701703",
      "parents": [
        "4d3161f379195302b720e120c5e6b65a0adfaf8c",
        "cfbf7dedaddd825b608e87d3dcf46adf80a46976"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 20 12:01:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 12:01:51 2012 -0800"
      },
      "message": "Merge \"Fix issue #5823276 again: home repaints after full-screen app is exited\" into ics-mr1"
    },
    {
      "commit": "70ed6b744d23dec8ec726fa86d559e8c6a2a32d6",
      "tree": "b2f45fa09bfc5117ffa15cdcfbf0850c8d01ba2e",
      "parents": [
        "92ecdd63033a53b3c6301a9dc94c2438e498f27b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 10 10:46:34 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 20 11:44:26 2012 -0800"
      },
      "message": "Remove redundant get()\n\nget() is almost always unnecessary, except in a LOG.\nAlso no need to check for !\u003d 0 before calling get().\n\nChange-Id: Ib06e7a503f86cf102f09acc1ffb2ad085025516d\n"
    },
    {
      "commit": "06a0fb953ff1c544bdbef2618d20ec1ba551eb6e",
      "tree": "8b34013b112220c0df8686547cfe0ead7c2a63c1",
      "parents": [
        "288cde7f0a17f47f7071168f442d19f703947cc9",
        "5d58eb06bcc8671bae72fb2389a9929e106131cc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jan 20 11:26:43 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 11:26:43 2012 -0800"
      },
      "message": "am 5d58eb06: Merge \"Fix a few memory leaks in the input dispatcher.  (DO NOT MERGE)\" into ics-mr1\n\n* commit \u00275d58eb06bcc8671bae72fb2389a9929e106131cc\u0027:\n  Fix a few memory leaks in the input dispatcher.  (DO NOT MERGE)\n"
    },
    {
      "commit": "5d58eb06bcc8671bae72fb2389a9929e106131cc",
      "tree": "a071eaa43a1b9156ce7de30e5aff51a1cb0a947e",
      "parents": [
        "820b45c0a21980a43532b9fb9823f8aa08c64a15",
        "9f63f121bdc0db64f9dd2be9db792a8698bb0d67"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jan 20 11:24:01 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 11:24:01 2012 -0800"
      },
      "message": "Merge \"Fix a few memory leaks in the input dispatcher.  (DO NOT MERGE)\" into ics-mr1"
    },
    {
      "commit": "cfbf7dedaddd825b608e87d3dcf46adf80a46976",
      "tree": "75601703069be05b1da575fdb95be34ef2fd8c52",
      "parents": [
        "820b45c0a21980a43532b9fb9823f8aa08c64a15"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 12 14:05:03 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 20 11:01:01 2012 -0800"
      },
      "message": "Fix issue #5823276 again: home repaints after full-screen app is exited\n\nDon\u0027t consider a window as a candidate for the top fullscreen window\nif it is not going to be a candiate for layout.\n\nThis fix does not include the change to ignore app tokens that are\nhidden.  This causes problems in some dialogs that stay hidden until\ntheir app is ready to display, but need to perform a series of relayouts\nduring that time to get to the right size.  Dropping this part of\nthe change still (mostly?) seems to allow us to avoid the bad states.\n\nChange-Id: Ic052cb1499d3287f47e9ffeac5cd2470ee5a308c\n"
    },
    {
      "commit": "470fd72a06390d7a6b854583afd0ed76ce0a03ee",
      "tree": "6dbb1bea2e753639b9b83c4581726c2733bc43da",
      "parents": [
        "fa78fe0d70fe7e6a9eb19680888b617ea57eaad4"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jan 18 12:51:15 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jan 20 10:37:11 2012 -0800"
      },
      "message": "Log netd traffic nicely.\n\nCreate a LocalLog class for logging within a service for dumping in dumps.\nUse it in the NativeDaemonConnector so we can get some insight into what\nis happening in these lockups.\n\nbug:5864209\nChange-Id: I68ddc58847f3c8de613be9528570f8c3157d8274\n"
    },
    {
      "commit": "7524a592526a14d20ec3f3acffd61fe18afaa4b4",
      "tree": "2eb574a61a11e29cf85c502fafe38098c1908455",
      "parents": [
        "1b4d60497c6c89ae1457e802446c83ca7c8c0017",
        "ee7fea9f2fd536107450204c9c2058bbe215f713"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 20 10:07:06 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 10:07:06 2012 -0800"
      },
      "message": "Merge \"Remove dead setRingerMode(mode, mask)\""
    },
    {
      "commit": "ee567e08d973c0fad214889e8d980f9bfb535b34",
      "tree": "bfdb82ec6aa8f362f74e8e2715814afdb2f15468",
      "parents": [
        "45470559cd4a499fd5d38cf708f0b531dc081fed",
        "c3c36b4fe5863c8ac0ea5470be633e8fade9c483"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:28:34 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 19 17:28:34 2012 -0800"
      },
      "message": "am c3c36b4f: am 9d25b82d: Merge \"Rename LOG_ASSERT to ALOG_ASSERT\"\n\n* commit \u0027c3c36b4fe5863c8ac0ea5470be633e8fade9c483\u0027:\n  Rename LOG_ASSERT to ALOG_ASSERT\n"
    },
    {
      "commit": "45470559cd4a499fd5d38cf708f0b531dc081fed",
      "tree": "e3ee11ad430ae05d705d9f1e0d1c2c32f1a9a3ea",
      "parents": [
        "db2b39300a8f763cf2d0c9808deb86db87d5492c",
        "12b7da69957ef894ce5134989e38479c64308ea1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:28:30 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 19 17:28:30 2012 -0800"
      },
      "message": "am 12b7da69: am 6df477be: Merge \"Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)\"\n\n* commit \u002712b7da69957ef894ce5134989e38479c64308ea1\u0027:\n  Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)\n"
    },
    {
      "commit": "db2b39300a8f763cf2d0c9808deb86db87d5492c",
      "tree": "fce1cbeaacc788437bfba6ae0655e93fd74c9271",
      "parents": [
        "dde686e2bdf7ea679dae4fd4edbf94c71802dc28",
        "f3f650db96d40014a0203393c585c368b0dd7a9a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:28:26 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 19 17:28:26 2012 -0800"
      },
      "message": "am f3f650db: am a826f9e2: Merge \"Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)\"\n\n* commit \u0027f3f650db96d40014a0203393c585c368b0dd7a9a\u0027:\n  Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)\n"
    },
    {
      "commit": "dde686e2bdf7ea679dae4fd4edbf94c71802dc28",
      "tree": "6a2ea7e5a7d5a010adb25bf920dc41dee8243da8",
      "parents": [
        "a1e873975704814416ee4d5023bf0740ec195ec0",
        "08d3c6e5ba5c3e5fcc386b07efa709325d45b9ff"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:28:22 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 19 17:28:22 2012 -0800"
      },
      "message": "am 08d3c6e5: am 4f367f33: Merge \"Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)\"\n\n* commit \u002708d3c6e5ba5c3e5fcc386b07efa709325d45b9ff\u0027:\n  Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)\n"
    },
    {
      "commit": "a1e873975704814416ee4d5023bf0740ec195ec0",
      "tree": "ae84d90174818e7a15741507783414722a159695",
      "parents": [
        "d6b5584b67f8a2f3d8ea20d748652673d5761e33",
        "7ae84204c14b4abff70fcc19c3c33de2591df34b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:28:18 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 19 17:28:18 2012 -0800"
      },
      "message": "am 7ae84204: am ba7f0d2a: Merge \"Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)\"\n\n* commit \u00277ae84204c14b4abff70fcc19c3c33de2591df34b\u0027:\n  Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)\n"
    },
    {
      "commit": "c3c36b4fe5863c8ac0ea5470be633e8fade9c483",
      "tree": "1514a87b96fc32f01298f5438d32acc54f5d57c6",
      "parents": [
        "12b7da69957ef894ce5134989e38479c64308ea1",
        "9d25b82d280c2d979d500e7da4447148f32f820b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:26:16 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 19 17:26:16 2012 -0800"
      },
      "message": "am 9d25b82d: Merge \"Rename LOG_ASSERT to ALOG_ASSERT\"\n\n* commit \u00279d25b82d280c2d979d500e7da4447148f32f820b\u0027:\n  Rename LOG_ASSERT to ALOG_ASSERT\n"
    },
    {
      "commit": "12b7da69957ef894ce5134989e38479c64308ea1",
      "tree": "fa6d3798fddee16170c0c49d2b986c11298e8f54",
      "parents": [
        "f3f650db96d40014a0203393c585c368b0dd7a9a",
        "6df477be186233e36fc370c4d2db6c1ed928a740"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:26:12 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 19 17:26:12 2012 -0800"
      },
      "message": "am 6df477be: Merge \"Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)\"\n\n* commit \u00276df477be186233e36fc370c4d2db6c1ed928a740\u0027:\n  Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)\n"
    },
    {
      "commit": "f3f650db96d40014a0203393c585c368b0dd7a9a",
      "tree": "7a70859dd347a8240ee02e950ea2eb1a1dad76e5",
      "parents": [
        "08d3c6e5ba5c3e5fcc386b07efa709325d45b9ff",
        "a826f9e2c4f6329d8d48c927f6e942e78ffaf92f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:26:08 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 19 17:26:08 2012 -0800"
      },
      "message": "am a826f9e2: Merge \"Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)\"\n\n* commit \u0027a826f9e2c4f6329d8d48c927f6e942e78ffaf92f\u0027:\n  Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)\n"
    },
    {
      "commit": "08d3c6e5ba5c3e5fcc386b07efa709325d45b9ff",
      "tree": "5aab08b8e1ace52c002db2c56c1c16607f684af3",
      "parents": [
        "7ae84204c14b4abff70fcc19c3c33de2591df34b",
        "4f367f3387887c538c81c34cc8becaea6fa5e430"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:26:03 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 19 17:26:03 2012 -0800"
      },
      "message": "am 4f367f33: Merge \"Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)\"\n\n* commit \u00274f367f3387887c538c81c34cc8becaea6fa5e430\u0027:\n  Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)\n"
    },
    {
      "commit": "7ae84204c14b4abff70fcc19c3c33de2591df34b",
      "tree": "f56a252b78e727b92beec723899454b0e49edb22",
      "parents": [
        "97aa8ee81198234aedffceaf71ad216b96323393",
        "ba7f0d2a03643ce429421b81febf18fd50473070"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:25:58 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 19 17:25:58 2012 -0800"
      },
      "message": "am ba7f0d2a: Merge \"Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)\"\n\n* commit \u0027ba7f0d2a03643ce429421b81febf18fd50473070\u0027:\n  Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)\n"
    },
    {
      "commit": "d6b5584b67f8a2f3d8ea20d748652673d5761e33",
      "tree": "e5ada3e1f246c08651a7f20738ffa5aeee954ab8",
      "parents": [
        "fd266b36826aa6dd8cd3fa00c159a094423899fb",
        "97aa8ee81198234aedffceaf71ad216b96323393"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:20:58 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 19 17:20:58 2012 -0800"
      },
      "message": "am 97aa8ee8: Merge ee4618bc\n\n* commit \u002797aa8ee81198234aedffceaf71ad216b96323393\u0027:\n  Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)\n"
    },
    {
      "commit": "97aa8ee81198234aedffceaf71ad216b96323393",
      "tree": "b5f311825b206befcb8b4bf35ac7b09197fd40cf",
      "parents": [
        "36b48c30adf7236b00eccf87f3b5691359526540",
        "ee4618bc4da65fdabf197874e87d2923904e7acd"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:18:25 2012 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 17:18:25 2012 -0800"
      },
      "message": "Merge ee4618bc\n\nChange-Id: Ie1dc6ad38e7c30636d80f6caef11cf6673144940\n"
    },
    {
      "commit": "170997a519ce79e93e4f6984e9663232475ce92c",
      "tree": "35cfb58116933c36a5cdad70c429bdce095ed87a",
      "parents": [
        "12310ee801553e63091ce3bda6f07a5be31a473c"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Thu Jan 19 13:48:18 2012 -0800"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Thu Jan 19 15:41:33 2012 -0800"
      },
      "message": "DO NOT MERGE Revert \"Fix issue #5823276: home repaints after full-screen app is exited\"\n\nThis reverts commit 01b02a734d2988c22b00f5df6346ad03d8bf52b6.\n\nChange-Id: I848c01fc44eb9a51ead1116b2647ed838ec1825f\n"
    },
    {
      "commit": "f68633da3ced654a9344b5c3b82f4d1c79b6bd09",
      "tree": "a3ce92223f977611f6a1ab6710901a68fad8a968",
      "parents": [
        "c6aacce37191e1cc79cfeba13b39899f59c68c3b"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Mon Jan 09 18:35:44 2012 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:45:08 2012 -0800"
      },
      "message": "Rename LOG_ASSERT to ALOG_ASSERT\n\nChange-Id: Ie2c7ea6560656d65bad791a61996174c75677517\n"
    },
    {
      "commit": "c6aacce37191e1cc79cfeba13b39899f59c68c3b",
      "tree": "df4401aaa38914e03d5eadc82507e7c6fdcc573e",
      "parents": [
        "a51f0e707f1f3142358aa919ea60ad2842803139"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:45:03 2012 -0800"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)\n\nChange-Id: I1de629b4632a4b3187ca1a28d6416daccd35f924\n"
    },
    {
      "commit": "a51f0e707f1f3142358aa919ea60ad2842803139",
      "tree": "3a4bea403affd07f7611fe13da8cbf64a61ee3e3",
      "parents": [
        "933e85615059b85a87747da57288384541cc56da"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 23:22:43 2012 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:59 2012 -0800"
      },
      "message": "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)\n\nChange-Id: I8fbdfa7a7581f481968dbb65aa40f7042936d7cb\n"
    },
    {
      "commit": "933e85615059b85a87747da57288384541cc56da",
      "tree": "5475260306fb9ddb48b2c7fcfe939ed59752e900",
      "parents": [
        "1afd5bab4e0eaba8b5bc2ab5c7b556cd602cf2e7"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:56 2012 -0800"
      },
      "message": "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)\n\nChange-Id: I26f76452ac49e2890b14d133c065493d8df0fb4a\n"
    },
    {
      "commit": "1afd5bab4e0eaba8b5bc2ab5c7b556cd602cf2e7",
      "tree": "7558b2b5d1cb5e2c9c60bd5d52cab21994caa263",
      "parents": [
        "06ade6ae1bd015e8b8ad0685847911213c93cc5b"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Dec 20 16:23:08 2011 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:50 2012 -0800"
      },
      "message": "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)\n\nChange-Id: I44f267700356967dc51e8f85ebf457dc85cfb229\n"
    },
    {
      "commit": "06ade6ae1bd015e8b8ad0685847911213c93cc5b",
      "tree": "0fb687dcbdf125a30cdb645605b57bb847d0c7b5",
      "parents": [
        "c318bbb05e02a0080e129623ec8029d31be0d60e"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:31 2012 -0800"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)\n\nChange-Id: I5321ebd12e9c6248a108529e82c4e1af2a4405e3\n"
    },
    {
      "commit": "a6885fa366116c9dbc8ecba2abe32bf516912e8f",
      "tree": "ff17853b01e929cc2aab4423e576b22bd6834cd8",
      "parents": [
        "ea33f4bca5def40c75214dedb3ea63c70b2a462a",
        "214f459b2c35ac0d95ad8ae9e2a68b94807ceba0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 19 14:19:28 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 14:19:28 2012 -0800"
      },
      "message": "Merge \"Remove no longer needed EventHub usleep() optimization.\""
    },
    {
      "commit": "214f459b2c35ac0d95ad8ae9e2a68b94807ceba0",
      "tree": "c9070f7a5d0e8acf07c7a8603cb253edf4d0aabe",
      "parents": [
        "4130554b452a8462a83f97051240f1aec8590650"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 22 17:21:17 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 19 14:16:09 2012 -0800"
      },
      "message": "Remove no longer needed EventHub usleep() optimization.\n\nThis optimization is no longer needed now that the kernel evdev\ndriver\u0027s poll() implementation only wakes up the poll after\nthe final sync.\n\nChange-Id: If237776861df9cfac3086e744d3bbf3484d4c53b\n"
    },
    {
      "commit": "ea33f4bca5def40c75214dedb3ea63c70b2a462a",
      "tree": "ffa4b7c429491212a5babc478bb97dc8bf64c939",
      "parents": [
        "3e8d7cfd1e6e65a60a9f6b7e174672dc9a281e49",
        "4130554b452a8462a83f97051240f1aec8590650"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 19 14:11:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 14:11:47 2012 -0800"
      },
      "message": "Merge \"Fix line wrapping.\""
    },
    {
      "commit": "4130554b452a8462a83f97051240f1aec8590650",
      "tree": "d947199bac924e8068be8d81cd3b105a9ea6a129",
      "parents": [
        "6534c0e0548332801cffaa0977af165025030297"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 05 11:14:13 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 19 14:08:48 2012 -0800"
      },
      "message": "Fix line wrapping.\n\nChange-Id: I41199d1145d2435eee046a7e5006dcdce0986821\n"
    },
    {
      "commit": "3562931af97354ca028f3e1ff4bed45a9d6bfc26",
      "tree": "d84f59054a51278b9554ad0e2008a8dc3799bae9",
      "parents": [
        "92ecdd63033a53b3c6301a9dc94c2438e498f27b",
        "05683c85965b880d634177c789451dd044fcbd6f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 19 10:00:02 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 19 10:00:02 2012 -0800"
      },
      "message": "resolved conflicts for merge of 05683c85 to master\n\nChange-Id: I7846b7da8c5813b7a9b1f3f71aede0229689ff0d\n"
    },
    {
      "commit": "6808516e8e2327ddf4a6b2f3528d3a4d3ff105b3",
      "tree": "3c8540d06b93b701fc9b80083cd01276d1341d1b",
      "parents": [
        "f4a93d0965f5e4c6ea22798a83823174fa9f38eb",
        "22c4241a13c65b3d5ec715004a3391016967549b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 19 06:09:05 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 06:09:05 2012 -0800"
      },
      "message": "Merge \"Add units to time periods\""
    },
    {
      "commit": "f4a93d0965f5e4c6ea22798a83823174fa9f38eb",
      "tree": "0afcbaef88559add4aafd020a4e5c302c7a4fc20",
      "parents": [
        "0d7a9979651511eb69bab14068fc0bee5d1a8441",
        "05d331090f81704f6f1a06582b93e5789549ed3a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 19 06:08:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 06:08:53 2012 -0800"
      },
      "message": "Merge \"Use const const strings for arrays and pointers to strings\""
    },
    {
      "commit": "0d7a9979651511eb69bab14068fc0bee5d1a8441",
      "tree": "d77c126a642d7b554d8a67b93c083f68720bdf42",
      "parents": [
        "e119bd144207b9b89ec7d52ee619bdbcda8ab497",
        "b737dbb5c4457bfff5c0248a903e1fa764489732"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 19 06:08:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 06:08:40 2012 -0800"
      },
      "message": "Merge \"For booleans, use ! instead of \u003d\u003d false\""
    },
    {
      "commit": "230a709285abc5dfd92f05d91a8997d52a59d3c7",
      "tree": "782118afed3a59641c740dc5a32559b80eccc3cc",
      "parents": [
        "db2e71635968f455ad4f41b2e24fb8b909c24ca0",
        "93c518e4f8abd98f87cda1712b30a5a86cfa60dd"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Jan 18 16:44:52 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 16:44:52 2012 -0800"
      },
      "message": "Merge \"Fix 5863053: Add method to lock screen immediately.\" into ics-mr1"
    },
    {
      "commit": "22c4241a13c65b3d5ec715004a3391016967549b",
      "tree": "1a7a05e04dea33cea1ab035191be387cdab45a5f",
      "parents": [
        "540c35f7aa01f7eba849148ea8b22eff351ce16d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 09 08:33:38 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 18 15:45:55 2012 -0800"
      },
      "message": "Add units to time periods\n\nChange-Id: Ib980e2676cecf5d9b0c2e388da6dc8e370df8abb\n"
    },
    {
      "commit": "05d331090f81704f6f1a06582b93e5789549ed3a",
      "tree": "bd0d6ec1721fc122b7ecd6cb9637d1d95885c15a",
      "parents": [
        "540c35f7aa01f7eba849148ea8b22eff351ce16d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 09 08:41:22 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 18 15:44:48 2012 -0800"
      },
      "message": "Use const const strings for arrays and pointers to strings\n\nChange-Id: I0a073e17ebf6ad59e7edbedac104c6fa4bcaf9c9\n"
    },
    {
      "commit": "6de74ff2a45591455cbb5c21d78904065e89ec89",
      "tree": "70c9ca44545f3e67e3a61d5e69b0763f8f7d4c9a",
      "parents": [
        "ea77ed02e44ebd177e3c7e1797d9cb804820ce43"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jan 17 15:20:32 2012 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jan 18 15:44:47 2012 -0800"
      },
      "message": "Fix edge cases leading to backup hanging forever\n\nPlug a couple of apparent code paths (one not obviously reachable, but\nfixed here on general principles) that could lead to a backup pass\ngetting confused partway through and simply never properly completing.\nIn this state it would leave its wakelock held forever until next\nreboot.  Bug 5828859.\n\nThose fixes are a total of two lines of code. The rest of the patch\nadds a textual journal of the most recently completed (or ongoing!)\nbackup pass\u0027s progress, with an eye to being able to isolate any such\nissues that may crop up in the future.\n\nChange-Id: If8a5e8aba11db5a1e618d8b9c9ba3038dd5377a1\n"
    },
    {
      "commit": "b737dbb5c4457bfff5c0248a903e1fa764489732",
      "tree": "3e8b35b7122a708257a2d1d4e03b2b12dab6f462",
      "parents": [
        "540c35f7aa01f7eba849148ea8b22eff351ce16d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 13 15:54:24 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 18 15:42:59 2012 -0800"
      },
      "message": "For booleans, use ! instead of \u003d\u003d false\n\nChange-Id: Ibc115936d2d0b0b7744ebe9b52839ea5b42c4edd\n"
    },
    {
      "commit": "ee7fea9f2fd536107450204c9c2058bbe215f713",
      "tree": "b7486337ab00e4edd6f9e93f600e2689765e06fe",
      "parents": [
        "540c35f7aa01f7eba849148ea8b22eff351ce16d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 18 14:56:06 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 18 15:10:31 2012 -0800"
      },
      "message": "Remove dead setRingerMode(mode, mask)\n\nChange-Id: Ia4cc8be8424a40b3dcb7ebd0264fdff4e5247f7f\n"
    },
    {
      "commit": "71c4496a9757438afd30b4404824f296f6158a49",
      "tree": "dbfa675e63db41e6f7bd554026f97fc3b158b9c2",
      "parents": [
        "3938e4fbaae132db9b4676ba26f6b3c042a6879e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 17 19:20:12 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 18 12:27:38 2012 -0800"
      },
      "message": "AudioFlinger: mix track only when really ready (2)\n\nThis problem due to the way audio buffers are mixed when\nlow power mode is active was addressed by commits 19ddf0eb\nand 8a04fe03 but only partially. As a matter of fact, when more\nthan one audio track is playing, the problem is still present.\nThis is most noticeable when playing music with screen off\nand a notification or navigation instruction is played: in this case,\nthe music or notification is likely to skip.\n\nThe fix consists in declaring the mixer ready if all active tracks\nare ready. Previous behavior was to declare ready if at least one track was\nready. To avoid that one application failing to fill the track buffer blocks other\ntracks indefinitely, this condition is respected only if the mixer was ready\nin the previous round.\n\nIssue 5799167.\n\nChange-Id: Iabd4ca08d3d45f563d9824c8a03c2c68a43ae179\n"
    },
    {
      "commit": "540c35f7aa01f7eba849148ea8b22eff351ce16d",
      "tree": "da40eb567c9bc1eb47292dc03d4295ea1554aa4d",
      "parents": [
        "96c804af0b4eef79f6d3cdb0f20682e243f1b73d",
        "0632bad8bad41bc44184596478ec2d203d52096f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 18 07:46:18 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 07:46:18 2012 -0800"
      },
      "message": "Merge \"Track volume cleanup\""
    },
    {
      "commit": "93c518e4f8abd98f87cda1712b30a5a86cfa60dd",
      "tree": "fd9e7459bf5a228aef50826097a2cc714b8a6013",
      "parents": [
        "ff321d496a6a07fc667112ecfe4d9a107d44147b"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 17 15:55:31 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 17 18:11:05 2012 -0800"
      },
      "message": "Fix 5863053: Add method to lock screen immediately.\n\nThis fixes a bug where the device fails to lock when DevicePolicyManagerService\nrequests the device to be locked and the screen was off because the user hit\nthe power button.\n\nThe change allows DPMS to directly invoke screen lock, bypasssing the screen state.\n\nChange-Id: Iecdda6fc61e9c519119de495be23c69c3b983921\n"
    },
    {
      "commit": "1be4afecb752559092654c0e9f4ca302b6d04e9c",
      "tree": "797734f3693ef5ef035837fbd75d525024fd5253",
      "parents": [
        "d33f97f1965b34aae673585ad4734b536c3894ef",
        "9bc8358ddaa01c3490f9709991989633a6a3dd42"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 17 17:35:03 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 17 17:35:03 2012 -0800"
      },
      "message": "Merge \"audio framework: manage stream volume per device\""
    },
    {
      "commit": "0632bad8bad41bc44184596478ec2d203d52096f",
      "tree": "43aa40695d8efeeeef9b90c2fc90baff395a1ada",
      "parents": [
        "73d27c3d46ce9a19c0cc358d0b2788f1f51706d7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 12:20:54 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 16:25:17 2012 -0800"
      },
      "message": "Track volume cleanup\n\nAlways read and write track volumes atomically. In most places this was\nalready being done, but there were a couple places where the left and\nright channels were read independently.\n\nChanged constant MAX_GAIN_INT to be a uint32_t instead of a float.\nIt is always used as a uint32_t in comparisons and assignments.\nUse MAX_GAIN_INT in more places.\n\nNow that volume is always accessed atomically, removed the union\nand alias for uint16_t volume[2], and kept only volumeLR.\n\nRemoved volatile as it\u0027s meaningless.\n\nIn AudioFlinger, clamp the track volumes read from shared memory\nbefore applying master and stream volume.\n\nChange-Id: If65e2b27e5bc3db5bf75540479843041b58433f0\n"
    }
  ],
  "next": "9bc8358ddaa01c3490f9709991989633a6a3dd42"
}
