)]}'
{
  "log": [
    {
      "commit": "da94c346a5b5f3ef7d36b031309aa438194e4957",
      "tree": "fc1231adafe646e49453b85ad12af0ca5dae02d3",
      "parents": [
        "c9e22e9affec97a8c68f838de29dc7f685d9247b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu May 12 09:46:49 2011 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu May 12 09:46:49 2011 -0700"
      },
      "message": "Tweak audio APIs for better forward/backward/sideways compatibility.\n\nChange-Id: I293e99107aed260db68edccad35cdc15ed88c1d3\n"
    },
    {
      "commit": "87b3c0dcc45223ff9d5ab2e39d7b9a6953e03f50",
      "tree": "8c64414e6f079c9511163657f200d2ee132309f4",
      "parents": [
        "4430670f48f75661293371dab8db55865f5f56e0",
        "08d9d9a46250c4fad66e9b637e8898a3524c4286"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Mon Apr 11 15:33:19 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 11 15:33:19 2011 -0700"
      },
      "message": "am 08d9d9a4: Merge \"Runtime resource overlay, iteration 1.\"\n\n* commit \u002708d9d9a46250c4fad66e9b637e8898a3524c4286\u0027:\n  Runtime resource overlay, iteration 1.\n"
    },
    {
      "commit": "57f4b77c89bafedf9468f9a636561c0c193405c9",
      "tree": "9e73065411411858c9c6ae350c5ee8ffe14598c3",
      "parents": [
        "c6b22e2727bd3730edd5ad72831a9bb4670d00f3"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonyericsson.com",
        "time": "Thu Mar 17 14:13:41 2011 +0100"
      },
      "committer": {
        "name": "Kenneth Andersson",
        "email": "kenneth.andersson@sonyericsson.com",
        "time": "Fri Apr 01 14:12:10 2011 +0200"
      },
      "message": "Runtime resource overlay, iteration 1.\n\nRuntime resource overlay allows unmodified applications to appear\nas if they had been compiled with additional resources defined. See\nlibs/utils/README for more information.\n\nThis commit is the first iteration of runtime resource overlay. It\nprovides the actual overlay modifications and loading of trusted overlay\npackages (ie residing in /vendor) targeting framework-res.apk.\n\nThis commit loads exactly one overlay package. The overlay,\nif present, must target framework-res.apk and be located at\n/vendor/overlay/framework/framework-res.apk.\n\nChange-Id: If26ee7754813004a96c043dba37fbe99fa3919db\n"
    },
    {
      "commit": "64802ca780563e2bd715a300e0bb81eec643baf0",
      "tree": "61462a8c74f56deeab509fcb4ea441a35dc18044",
      "parents": [
        "7b445dd7c0814a39eaf912fa1a871f00d5190550",
        "c6b22e2727bd3730edd5ad72831a9bb4670d00f3"
      ],
      "author": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 18:55:26 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 31 18:55:26 2011 -0700"
      },
      "message": "am c6b22e27: Updated JBQ\\\u0027s original SurfaceTexture stubs to make webkit MR1 buildable\n\n* commit \u0027c6b22e2727bd3730edd5ad72831a9bb4670d00f3\u0027:\n  Updated JBQ\u0027s original SurfaceTexture stubs to make webkit MR1 buildable\n"
    },
    {
      "commit": "7b445dd7c0814a39eaf912fa1a871f00d5190550",
      "tree": "36c558dbd3b40c2c97a6d3a8c0e6b77ed81e48c4",
      "parents": [
        "b98967942e9a764b80abc8ff1c6f6f2d620c0f7a",
        "49b49f8fb6d094768d4e093353b34271f2da1bfc"
      ],
      "author": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 18:55:20 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 31 18:55:20 2011 -0700"
      },
      "message": "am 49b49f8f: Added include/private/hwui/DrawGlInfo.h\n\n* commit \u002749b49f8fb6d094768d4e093353b34271f2da1bfc\u0027:\n  Added include/private/hwui/DrawGlInfo.h\n"
    },
    {
      "commit": "c6b22e2727bd3730edd5ad72831a9bb4670d00f3",
      "tree": "b89a7011504b3c751cfbcbeefb923bb753e19295",
      "parents": [
        "49b49f8fb6d094768d4e093353b34271f2da1bfc"
      ],
      "author": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 17:32:20 2011 -0700"
      },
      "committer": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 17:40:08 2011 -0700"
      },
      "message": "Updated JBQ\u0027s original SurfaceTexture stubs to make webkit MR1 buildable\n\nChange-Id: If1c1610efcc0e0bc6de88c75712baed91624b1a7\n"
    },
    {
      "commit": "49b49f8fb6d094768d4e093353b34271f2da1bfc",
      "tree": "8c5b36f17c5d902f6d913fd3ad07bd2fd4872eda",
      "parents": [
        "ad663d8040ddd4f3e537117847f20d42797b429e"
      ],
      "author": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 13:20:52 2011 -0700"
      },
      "committer": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 13:20:52 2011 -0700"
      },
      "message": "Added include/private/hwui/DrawGlInfo.h\n\nChange-Id: If50ccabb8761a994fa1f7aef4fbdb668c6160b0c\n"
    },
    {
      "commit": "de6a47a3e9d1a8cb5722b9785f5ffb9046c23918",
      "tree": "65d534f3ed68fc9110ea4bb3910fcf865ffb984b",
      "parents": [
        "10993b2d1e3614073970aad119ffb2cc9bc8f73f",
        "df6410dce3dae0bdb7e13118b3878079a1dcce03"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 07 18:04:06 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 07 18:04:06 2011 -0800"
      },
      "message": "am df6410dc: Merge \"Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only\" into gingerbread\n\n* commit \u0027df6410dce3dae0bdb7e13118b3878079a1dcce03\u0027:\n  Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only\n"
    },
    {
      "commit": "951d3fec41c8c77f5ce86a5394573e8180d93927",
      "tree": "49a8ec1a8241ba35781627b7562252e27efc2505",
      "parents": [
        "ff5a09904fb05f2776f1bbf1dd3915f38031190c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 09 18:38:55 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 07 16:56:16 2011 -0800"
      },
      "message": "Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only\n\n37c2a37 fix [3408713] Dialog window invisible sometimes\nd35c666 fix [3385504] Surface flinger hang when adding dim surface\n1723b04 fix [3389263] OMX.Nvidia.h264.decode fails to shutdown\n1b0114f fix a surface leak in SurfaceFlinger\n\nBug: 3513017\n\nChange-Id: Ia13ed8c9cdcb1f484e177cdcaff687e7c88a10c3\n"
    },
    {
      "commit": "6901f963c27f2d0a9caf56b42b6054d0cecc84d1",
      "tree": "2f69741ea5b0796f252de1b22ee21440886d88b8",
      "parents": [
        "01a5eba810bfdf5b111a7546814e174c1d57b6e7",
        "93552de8e305027fb003401e347b9493c64c981f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Feb 11 09:54:59 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 11 09:54:59 2011 -0800"
      },
      "message": "am 93552de8: Merge \"stubs\"\n\n* commit \u002793552de8e305027fb003401e347b9493c64c981f\u0027:\n  stubs\n"
    },
    {
      "commit": "1da970625c705dad61800cfaa407d483691e1e2b",
      "tree": "bcdfbf34ff323f58a062f1f211d5e1b8a34592d2",
      "parents": [
        "6e25789fbe7ac283021156b17f406acb48850292"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Feb 10 16:04:48 2011 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Feb 11 09:33:40 2011 -0800"
      },
      "message": "stubs\n\nChange-Id: I6bc0b8e9d4412a0b60c6226fbd2b7a6d15aceb22\n"
    },
    {
      "commit": "27badee3f567015183ab584fae1cbd32a996e78d",
      "tree": "299c7c9ab50c2a1fd598099c0431b00719b4de47",
      "parents": [
        "f7176dfbd284f7da49e5bccc2aa886b42039ba4a",
        "a6fb375cf727b6ded057110875fe49a9b3f230a3"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jan 31 12:03:59 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 31 12:03:59 2011 -0800"
      },
      "message": "am a6fb375c: am 056340ac: Merge \"stubs\"\n\n* commit \u0027a6fb375cf727b6ded057110875fe49a9b3f230a3\u0027:\n  stubs\n"
    },
    {
      "commit": "056340ac95f233090990d77266d89aad3b60f913",
      "tree": "6de7d20303f7778706e1d1dd4c0beaece8fd0d7e",
      "parents": [
        "25503f1c9f0b5f718052b71dc5b21d1c8576d015",
        "235ec8ad24293fbfbd282d5379ea8e225ef083bc"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jan 31 11:32:33 2011 -0800"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Jan 31 11:32:33 2011 -0800"
      },
      "message": "Merge \"stubs\""
    },
    {
      "commit": "a1f5e82f37c77af7b1d630b5bca715d1742f1234",
      "tree": "c7b1d7c8c18f5d74370558cbcf48ca6747661096",
      "parents": [
        "71bb59f9e6799083830077dbb7e0f1effdd3faf7",
        "a30063d80c08434ac3c7316f338c6d54110449ab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Sat Jan 29 23:04:50 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 29 23:04:50 2011 -0800"
      },
      "message": "am a30063d8: am 25eb0464: Merge \"Normalize output from aapt d\"\n\n* commit \u0027a30063d80c08434ac3c7316f338c6d54110449ab\u0027:\n  Normalize output from aapt d\n"
    },
    {
      "commit": "25eb04642cb5a72f59a274bbfc92f4f65c6c343e",
      "tree": "6c59e04e7d9b961b49fccdfb139fe87baaa35855",
      "parents": [
        "bbb5a5ce1922a168335811b177cd7341350c15cc",
        "9872bf4a2d4ae1e7ded170c8e74d400fe6be9bfb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Sat Jan 29 22:53:20 2011 -0800"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Sat Jan 29 22:53:20 2011 -0800"
      },
      "message": "Merge \"Normalize output from aapt d\""
    },
    {
      "commit": "235ec8ad24293fbfbd282d5379ea8e225ef083bc",
      "tree": "d413852bfb18f7d175e0aee04591c826b65b1cb9",
      "parents": [
        "9720323a5138acafbe30da38d61eeac469b675a4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jan 29 06:19:37 2011 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jan 29 06:19:37 2011 -0800"
      },
      "message": "stubs\n\nChange-Id: I829039f3817a172e66eeb9df397e896a488a259d\n"
    },
    {
      "commit": "1155efdc715413cd7a881e5226b5f5f0b2db8f71",
      "tree": "cc5ae04c7c3ca6665503d96470160d93ee28ea8f",
      "parents": [
        "2ec4af59209ab3a7088a001bbbcb10ef0b846564",
        "2ba92c71b5684dce700cf848bf157153c156df1d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 26 14:05:18 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 14:05:18 2011 -0800"
      },
      "message": "am 2ba92c71: do not merge bug 3370834 Cherrypick from master\n\n* commit \u00272ba92c71b5684dce700cf848bf157153c156df1d\u0027:\n  do not merge bug 3370834 Cherrypick from master\n"
    },
    {
      "commit": "2ba92c71b5684dce700cf848bf157153c156df1d",
      "tree": "4a5fd1c92f47a6557552adbb65898c35866d9662",
      "parents": [
        "138757db4f19cb626ef5c1d371d4fca004304a08"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 15 12:11:32 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 26 11:20:01 2011 -0800"
      },
      "message": "do not merge bug 3370834 Cherrypick from master\n\nCherripick from master CL 79833, 79417, 78864, 80332, 87500\n\nAdd new audio mode and recording source for audio communications\n other than telelphony.\n\nThe audio mode MODE_IN_CALL signals the system the device a phone\n call is currently underway. There was no way for audio video\n chat or VoIP applications to signal a call is underway, but not\n using the telephony resources. This change introduces a new mode\n to address this. Changes in other parts of the system (java\n and native) are required to take this new mode into account.\nThe generic AudioPolicyManager is updated to not use its phone\n state variable directly, but to use two new convenience methods,\n isInCall() and isStateInCall(int) instead.\n\nAdd a recording source used to designate a recording stream for\nvoice communications such as VoIP.\n\nUpdate the platform-independent audio policy manager to pass the\n nature of the audio recording source to the audio policy client\n interface through the AudioPolicyClientInterface::setParameters()\n method.\n\nSIP calls should set the audio mode to MODE_IN_COMMUNICATION,\n Audio mode MODE_IN_CALL is reserved for telephony.\n\nSIP: Enable built-in echo canceler if available.\n1. Always initialize AudioRecord with VOICE_COMMUNICATION.\n2. If echo canceler is available, disable our echo suppressor.\n\nNote that this CL is intentionally not correcting the\n getAudioSourceMax() return value in MediaRecorder.java as the\n new source is hidden here.\n\nChange-Id: Ie68cd03c50553101aa2ad838fe9459b2cf151bc8\n"
    },
    {
      "commit": "df8368925acd4593a309e06548d7f900bf8d94df",
      "tree": "39c092306bd33c66952aa4be033f86f1318b5cb1",
      "parents": [
        "af4fa5d83d70a9af9ede67c47eae72d1db0d6d74",
        "239fd805ef7c0e4116b0a89e20caaf287e91f017"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 25 14:46:40 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 14:46:40 2011 -0800"
      },
      "message": "am 239fd805: Merge \"fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\" into gingerbread\n\n* commit \u0027239fd805ef7c0e4116b0a89e20caaf287e91f017\u0027:\n  fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\n"
    },
    {
      "commit": "88bccab35c81907db09be3f511a2c1fd379a75b4",
      "tree": "8482a2450b68473e7f00dbd92052a876e33b9a3b",
      "parents": [
        "eb645a15b95ba917ce360b135f92cbcb6df56104",
        "d3fcd0a1c923498921107bb44fbc8b24582a170a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 25 14:46:22 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 25 14:46:22 2011 -0800"
      },
      "message": "am d3fcd0a1: Merge \"minor clean-up. SurfaceFlinger doesn\\\u0027t need libpixelflinger.so. (DO NOT MERGE)\" into gingerbread\n\n* commit \u0027d3fcd0a1c923498921107bb44fbc8b24582a170a\u0027:\n  minor clean-up. SurfaceFlinger doesn\u0027t need libpixelflinger.so. (DO NOT MERGE)\n"
    },
    {
      "commit": "21956040a77808909ebda426fbd3cce6c8ed059f",
      "tree": "caef5eb4375780074435043e54323cd256c07dfc",
      "parents": [
        "68d3478860fecc9b8fbf256796a832a037434555"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 18 15:51:30 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 25 14:19:13 2011 -0800"
      },
      "message": "fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)\n\nGenerally we never want to lock a buffer for write access if it is at\nthe \"head\" on the surfaceflinger side. The only exception (1) is when\nthe buffer is not currently in use AND there is at least one queued\nbuffer -- in which case, SurfaceFlinger will never use said buffer\nanymore, because on the next composition around, it will be able to\nretire the first queued buffer.\n\nThe logic above relies on SurfaceFlinger always retiring\nand locking a buffer before composition -- unfortunately this\ndidn\u0027t happen during a screenshot.\n\nThis could leave us in a situation where a buffer is locked by the\napplication for write, and used by SurfaceFlinger for texturing,\ncausing a hang.\n\nHere, we fix this issue by never assuming the exception (1), it was\nintended as an optimization allowing ANativeWindow::lockBuffer() to\nreturn sooner and was justified when most of SF composition was\ndone in software. The actual buffer locking is now ensured by\ngralloc. We could have handled screenshots in a similar way to\na regular composition, but it could have caused glitches on screen,\nessentially, taking a screenshot could cause to skip a frame.\n\nnow that we removed the notion of a \"inUse\" buffer in surfaceflinger\na lot of code can be simplified / removed.\n\nnoteworthy, the whole concept of \"unlockClient\" wrt. \"compositionComplete\"\nis also gone.\n"
    },
    {
      "commit": "728d849fc92bbf9b3bfd8c3903344ff58f3d5d06",
      "tree": "59811b37615d1e4d7c227b71cd3a378206449cb0",
      "parents": [
        "c929677e017759047d94599faa1b80ebe278fefb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Dec 13 16:47:31 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 25 14:18:15 2011 -0800"
      },
      "message": "minor clean-up. SurfaceFlinger doesn\u0027t need libpixelflinger.so. (DO NOT MERGE)\n\nChange-Id: I1ddbbbec4fa5b2521ef3787bc28efe1bc90d0060\n"
    },
    {
      "commit": "c3563eb9e75e0b9ae130ec22d5c6c6b1561d783b",
      "tree": "45786dc28bd44e6c5db778c0ad64e5ad04f16f00",
      "parents": [
        "6d92cde287b6399d5c90f3eaccb73602d6d51313",
        "265cf2e76bef9ee369a7d43d567a22a0c39355ef"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Sat Jan 22 21:32:58 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jan 22 21:32:58 2011 -0800"
      },
      "message": "am 265cf2e7: Merge \"Fix getSwitchState.\"\n\n* commit \u0027265cf2e76bef9ee369a7d43d567a22a0c39355ef\u0027:\n  Fix getSwitchState.\n"
    },
    {
      "commit": "3d822cda1e46c5e928152e4d4f7d9d47676bb5e4",
      "tree": "10dcdbdc00c5fd0bc0881f98529b78ae8c1ce310",
      "parents": [
        "069e810c6a5efc0b33fbe8c29a2d11f7c342a4d8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed Jan 19 20:35:47 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed Jan 19 20:35:47 2011 -0800"
      },
      "message": "Fix getSwitchState.\n\nInputReader::getSwitchState always returns AKEY_STATE_UNKNOWN\nbecause SwitchInputMapper::getSources() returns 0 which cannot\nmatch any source mask including AINPUT_SOURCE_ANY.  As a result\ninitial lid switch detection is broken.\n\nThis change adds a new source constant AINPUT_SOURCE_SWITCH\nthat indicates that the source has switches.\n\nChange-Id: I5321ecf0ce84f1c2b4535f6c163d3f4dcf9b7a9b\n"
    },
    {
      "commit": "b26c516c03beffaf60460d3589b3807c0799c344",
      "tree": "dc0df936813d0b042d5868ce7e9fabd8d86e411a",
      "parents": [
        "02bbbc1122eac6ab02c10c3c1bb34092914e3743",
        "41395459e676cf9ab4059e08446656f145662c2d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jan 18 14:38:27 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 18 14:38:27 2011 -0800"
      },
      "message": "am 41395459: Merge \"Filter virtual keys after touches.  (DO NOT MERGE)\" into gingerbread\n\n* commit \u002741395459e676cf9ab4059e08446656f145662c2d\u0027:\n  Filter virtual keys after touches.  (DO NOT MERGE)\n"
    },
    {
      "commit": "41395459e676cf9ab4059e08446656f145662c2d",
      "tree": "6f31fb66122790fa6378d2478c6b5c82194eb49f",
      "parents": [
        "07e6f616d122496342a5bae51323bb218d88f7f2",
        "6f71d0fedbb04c048a7294976103e42f0f046641"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jan 18 14:31:31 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 18 14:31:31 2011 -0800"
      },
      "message": "Merge \"Filter virtual keys after touches.  (DO NOT MERGE)\" into gingerbread"
    },
    {
      "commit": "9286cfe5017363d95798d85163ec4f28aeb0c675",
      "tree": "cd0907a081cd799a4dc67f00072006fd850c016a",
      "parents": [
        "ef6abd8a3e4b05cb9d94f29f4e8ffc7bb2ecec77",
        "83fdc69ea0beb715dd45f0a4285cb5d780f8018a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 14 18:33:51 2011 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 14 18:33:51 2011 -0800"
      },
      "message": "merge 83fdc69e from gingerbread - do not merge\n\nChange-Id: Ib1e9e12244a44f75a93d66142e71915de6386680\n"
    },
    {
      "commit": "9efe47374b61afd0ce84afa64e9fa5b41dfaef22",
      "tree": "4bb85e1b5ef19ce8cad358a9a52ab05f2e6077e4",
      "parents": [
        "a29bf14e1d2857debc632ce4304a1c72dded348c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 02 17:42:08 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 12 17:12:46 2011 -0800"
      },
      "message": "Squash commits of the following patches, cherry-picked from other branch - do not merge.\n\no Prepare for publishing MediaMetadataRetriever as public API\n  step one:\n  o replaced captureFrame with getFrameAtTime\n  o removed getMode\n\no Replace MediaMetadataRetriever.captureFrame() with MediaMetadataRetriever.getFrameAtTime()\n  as part of the preparation for publishing MediaMetadataRetriever as public Java API\n\no Remove captureFrame from MediaMetadataRetriever.java class\n  It has been replaced by getFrameAtTime() method\n\no Replace extractAlbumArt() with getEmbeddedPicture() in MediaMetadataRetriever.java\n\no Publish MediaMetadataRetriever.java as public API\n  o Removed setMode() methods and related mode constants\n  o Removed some of the unused the metadata keys\n  o Updated the javadoc\n  o part of a multi-project change.\n\nbug - 3309041\n\nChange-Id: I2efb6e8b8d52897186b016cb4efda6862f5584c4\n"
    },
    {
      "commit": "6f71d0fedbb04c048a7294976103e42f0f046641",
      "tree": "134e67a8de24e3cba2eafeea87f486342537b576",
      "parents": [
        "7e2f9cc81da788006790365ff11f06551fc1bc26"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 24 14:39:33 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jan 11 20:56:04 2011 -0800"
      },
      "message": "Filter virtual keys after touches.  (DO NOT MERGE)\n\nAdds a new virtualKeyQuietTimeMillis configuration resource that sets\nthe duration for which virtual keys will be dropped after recent touches\non screen.  The default value is 0; it is intended to be overridden\nper device using a resource overlay.\n\nThis change is designed to help in two cases:\n\n1. Swipes from touchscreen into virtual key area.\n2. Accidental taps in virtual key area while using on-screen keyboard.\n\nBug: 3089163\nChange-Id: Id6733c83c2e2bc8d9553aa0e5c1fd74b741bec6e\n"
    },
    {
      "commit": "0569e58988bae5f08733e21e8d8adfa61fe89b7f",
      "tree": "99c06fa3b3c21338314ee4fb5dd66179d821d20d",
      "parents": [
        "6b9db1d8c808439abc12d572283b7fab50fb5257",
        "13d1cb56dfdfc89888de6a0389b0fe6cf7e36c27"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 12:09:09 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 10 12:09:09 2011 -0800"
      },
      "message": "am 13d1cb56: Merge \"Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge\" into gingerbread\n\n* commit \u002713d1cb56dfdfc89888de6a0389b0fe6cf7e36c27\u0027:\n  Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge\n"
    },
    {
      "commit": "6328185b6cc632f85ff640f6e854ab33815ae97f",
      "tree": "291f9958559183fd6741cc9532549e076dce3420",
      "parents": [
        "9aac2e2b9541c424ca02483631b08949f0e90c8c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 08:55:02 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 10:27:02 2011 -0800"
      },
      "message": "Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge\n\ncherry-picked from: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89\n\nbug - 3336424\n\nChange-Id: I2d8ecb79a5422342988c195c012c9e6327ac457a\n"
    },
    {
      "commit": "9e0bb6d5eef5dfe2da60c50f3aaa39512307d11d",
      "tree": "6fe7314d0efe510a50473c23e148d8c8ef43ca40",
      "parents": [
        "ac8d79266b1629f7d0cda81408faf8d05f09c50a",
        "0544d05990c0f43a143e98e71f7fc60277872806"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jan 07 15:34:08 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 07 15:34:08 2011 -0800"
      },
      "message": "am 0544d059: Merge \"DRM Framework bug fixes.\"\n\n* commit \u00270544d05990c0f43a143e98e71f7fc60277872806\u0027:\n  DRM Framework bug fixes.\n"
    },
    {
      "commit": "0544d05990c0f43a143e98e71f7fc60277872806",
      "tree": "21cb5efc60e01aca32ab2c79016c41dd598d41c3",
      "parents": [
        "3c902a62eddebc75adb5286e55e1107e0b63551f",
        "f05913aaa0cc96eab32be3431de1a80d405527a1"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jan 07 11:10:49 2011 -0800"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Jan 07 11:10:49 2011 -0800"
      },
      "message": "Merge \"DRM Framework bug fixes.\""
    },
    {
      "commit": "d1da80a4b3d50c1be120b0e873363da711428a81",
      "tree": "1dc4872a7cb9ec8c46596520f71f6b88cd6e709d",
      "parents": [
        "240cf3d17e40c012eb4a830d60f4a6a3607373f0",
        "ba77a3f9cb1d68b2ed4813aaae856444578e3a75"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 20:29:11 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 06 20:29:11 2011 -0800"
      },
      "message": "am ba77a3f9: Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831\n\n* commit \u0027ba77a3f9cb1d68b2ed4813aaae856444578e3a75\u0027:\n  Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831\n"
    },
    {
      "commit": "ba77a3f9cb1d68b2ed4813aaae856444578e3a75",
      "tree": "171f4e1d0d27fd4739fb614e4553bf7a22e60ded",
      "parents": [
        "f54ad8daf6f9dc2b9670ab1abbbfa4308b40bc6a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 11:12:17 2011 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 15:05:06 2011 -0800"
      },
      "message": "Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add\nsupport for two common ways of specifying album artist in ogg files.\nb/3311831\n\nChange-Id: Iba1152013b7577168af71f947d7249560419fa05\n"
    },
    {
      "commit": "a8ce773607c26dd4336f57856afce507fb98a279",
      "tree": "68cacac6f4874a07c4cfbfeceaec5e375aa41bc4",
      "parents": [
        "3a2c6bf0fcae9421cccf113ff972df7aaeb6d3e9",
        "35e8dcb9df8c3d77ede120e3f1aaf842b2928639"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 05 17:55:27 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 05 17:55:27 2011 -0800"
      },
      "message": "am 35e8dcb9: Merge \"Suppress the recording sound in the recorded video\" into gingerbread\n\n* commit \u002735e8dcb9df8c3d77ede120e3f1aaf842b2928639\u0027:\n  Suppress the recording sound in the recorded video\n"
    },
    {
      "commit": "a7ac739b74428539ad8087a389c9de81081d1a93",
      "tree": "caf165064bd404eb217b1b29a3bc1c70da7321d9",
      "parents": [
        "06fccc325123bf4c9ebd04ac9300b504436724fe"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 17:34:44 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 17:34:44 2011 -0800"
      },
      "message": "Suppress the recording sound in the recorded video\n\nbug - 3309194\n\nChange-Id: Ib8fb248943bc22f963d67537bfdbc6056c5a159b\n"
    },
    {
      "commit": "9872bf4a2d4ae1e7ded170c8e74d400fe6be9bfb",
      "tree": "4040c675a82cdab2888c72e56188d8cd91ae547b",
      "parents": [
        "69ebb984f230a523dc316bdb2c9e9c28111364fd"
      ],
      "author": {
        "name": "Shachar Shemesh",
        "email": "lingnu@gmail.com",
        "time": "Mon Dec 20 17:38:33 2010 +0200"
      },
      "committer": {
        "name": "Shachar Shemesh",
        "email": "lingnu@gmail.com",
        "time": "Tue Jan 04 20:52:08 2011 +0200"
      },
      "message": "Normalize output from aapt d\n\nMake the output from aapt dump --values resources and aapt dump xmltree normalized, so that it is unambigously displayed\nregardless of the content of the strings.\n\nChange-Id: Ia3bff36c4ee1e9a44f474534e154830948beabdf\n"
    },
    {
      "commit": "4e345ab7df737592528e99db73612c6b37e34545",
      "tree": "8eded6da95e3c0929209c992c7f0c5db9778508e",
      "parents": [
        "a0f011ff499289c89535c41ebe79c8c642414dff",
        "a2977c383d363e1e88a5b36230b1fa4c312807d2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 07 14:22:56 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 07 14:22:56 2010 -0800"
      },
      "message": "am a2977c38: Merge changes Ie03796ae,Ide3e980a into gingerbread\n\n* commit \u0027a2977c383d363e1e88a5b36230b1fa4c312807d2\u0027:\n  [3171580] SurfaceFlinger Bypass mode. (DO NOT MERGE)\n  [3171580] Add transform field to native buffers. (DO NOT MERGE)\n"
    },
    {
      "commit": "48f42f8c3fbd33b2f46c6290ff5963dd58938cf9",
      "tree": "0c01be4789618cc40496eab0d4919b1d3703d329",
      "parents": [
        "03dc51b1a07c7d79f1d12751b19ebda044857333",
        "4153bf3a259624a2f2dc497b77b225a1fb517abc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 07 14:20:09 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 07 14:20:09 2010 -0800"
      },
      "message": "am 4153bf3a: Merge \"[3171580] don\\\u0027t automatically log GraphicBuffer allocation failures\" into gingerbread\n\n* commit \u00274153bf3a259624a2f2dc497b77b225a1fb517abc\u0027:\n  [3171580] don\u0027t automatically log GraphicBuffer allocation failures\n"
    },
    {
      "commit": "48e723a0ee9b625825d23642f843b91fa276ab7c",
      "tree": "51c657d5f49e1efee636f2e1aed19b90e22707bd",
      "parents": [
        "e33811512eb061338792dbb0dbd37a1b8e4e1079"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 02 20:57:14 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 03 17:35:07 2010 -0800"
      },
      "message": "[3171580] Add transform field to native buffers. (DO NOT MERGE)\n\nThis field indicate how the content of the buffer\nneeds to be transformed.\n\nChange-Id: Ide3e980a90599e931406135693231276626adbbb\n"
    },
    {
      "commit": "e869aee382cfe01d42dffba4912458a16bb791fb",
      "tree": "4ad59036b474196ca5033fada6604ebde97b7997",
      "parents": [
        "e2abd103a2d311738ff1dd1e1d9b8e6c52aa870c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 03 17:33:09 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 03 17:33:09 2010 -0800"
      },
      "message": "[3171580] don\u0027t automatically log GraphicBuffer allocation failures\n\nsome of these failures are not fatal and even expected in some cases\nso they should not emit a dump in the log in those cases.\n\nChange-Id: Idcfa252e3bfa9d74e27fe4ad8f8623aa01aa9c5e\n"
    },
    {
      "commit": "f05913aaa0cc96eab32be3431de1a80d405527a1",
      "tree": "808fc1b7a3fd2bdb3e88723fe4d4f457d1217f8f",
      "parents": [
        "f0f6c54b13831b11bd7a3bd7a01dc49b7505e56e"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 30 16:27:42 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 30 16:27:42 2010 +0900"
      },
      "message": "DRM Framework bug fixes.\n\n- Make sure to clean-up obsolete listeners.\n- Close cursor after using it.\n- Add virtual destructor to the base class of OnInfoListener.\n\nChanges are made by SEMC and Sony.\n\nChange-Id: Ibb6dd625ef48e3597188f0d7c90f9d4c780b6139\n"
    },
    {
      "commit": "24a90c2674270fee0783bafa54fd5d845bdf0c18",
      "tree": "e666edcc7ed926f5eb2f6c4c23974095f7514c8a",
      "parents": [
        "8484e57f3006dd3aa925792e6414387c233c1a8d",
        "d93349342a89a25c7a884e8543c6adc048c5f86d"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Nov 22 21:25:56 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 22 21:25:56 2010 -0800"
      },
      "message": "am d9334934: Merge \"Update of DRM Framework.\"\n\n* commit \u0027d93349342a89a25c7a884e8543c6adc048c5f86d\u0027:\n  Update of DRM Framework.\n"
    },
    {
      "commit": "fb6f4505ba5c227cebb73f1269b0af5d92e6e5e6",
      "tree": "dcfccf0790d94f47758de9c0bc6b06a94fe7444f",
      "parents": [
        "d3b5510b8505c6c653469193a40f6431272085f3",
        "589e838116b0dffa696fa39336d0588124877f98"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 18:17:24 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 19 18:17:24 2010 -0800"
      },
      "message": "am 589e8381: Merge \"Improve camera documentation.\" into gingerbread\n\n* commit \u0027589e838116b0dffa696fa39336d0588124877f98\u0027:\n  Improve camera documentation.\n"
    },
    {
      "commit": "dc91865622e3cc9ff0bb33b83f1d3b38cd7a6d7a",
      "tree": "910ec95f6e2716cf6911da7247eaee49dc149933",
      "parents": [
        "14ac9546367d4df37eead55f6762b944b49f33b2"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 16 13:56:11 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Fri Nov 19 22:02:51 2010 +0900"
      },
      "message": "Update of DRM Framework.\n\n-Access permission handling\n  Introduce an internal function which allows the desired process to\n  access decryption flow. This new function is just for reference and\n  each OEM manufacturer should implement/replace with their solutions.\n-New API, getMetadata()\n  This API is for retrieving media metadata from container-based DRM,\n  such as OMA forward-lock content. This API asks DRM agent to retrieve\n  media metadata hiddein inside of DRM special container.\n-New API, acquireRights()\n  This API wraps acquireDrmInfo() and processDrmInfo().\n  If DRM agent has valid implementation of both APIs,\n  Application can acquire DrmRights only by calling this API.\n-Bug fix in event loop of OnInfoListener.\n  Separate OnInfo event loop from mail thread loop so as to avoid\n  the issue that message is not dispatched when mail thread is busy.\n\nChanges are made by SEMC and Sony.\n\nChange-Id: I04ee3e0988152a71e221f2256d83253749a29da0\n"
    },
    {
      "commit": "99a3f3e4e06b4370101ca97cc11dbe81d772fefa",
      "tree": "3e16b0910ff4ee8bcc53941fcc851f396e4bd628",
      "parents": [
        "671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 15:56:16 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Nov 19 16:20:04 2010 +0800"
      },
      "message": "Improve camera documentation.\n\nbug:3212606\nChange-Id: Iee7106e4665c08a4c75471114010b75d63ac74ce\n"
    },
    {
      "commit": "5e0690745a45f99d12d940dd4aaae814b00a429e",
      "tree": "e3ec2e16e969670170e68c438343fbceed182491",
      "parents": [
        "1a2344b8b2c374cb32ff4af020666e6910ff2a8f",
        "a15e4886de8f75f3cb137f51743d330414c910e8"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Nov 17 17:29:48 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 17 17:29:48 2010 -0800"
      },
      "message": "am a15e4886: Merge \"Framebuffer: Support variable number of framebuffers in the UI\"\n\n* commit \u0027a15e4886de8f75f3cb137f51743d330414c910e8\u0027:\n  Framebuffer: Support variable number of framebuffers in the UI\n"
    },
    {
      "commit": "c4a2ead2aa5ab4403553e4956ba71b44782f0c84",
      "tree": "76125bcc8afc160abdb4748dfd66686f58b0fb53",
      "parents": [
        "d962bca66fb99d437f065e9a7c66e7fe9abac20e",
        "d2d62d04fc387e2f51d414e101a3e8e3c45f415e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 18:19:40 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 08 18:19:40 2010 -0800"
      },
      "message": "am d2d62d04: Merge \"Support extracting thumbnail from rotated video tracks\" into gingerbread\n\n* commit \u0027d2d62d04fc387e2f51d414e101a3e8e3c45f415e\u0027:\n  Support extracting thumbnail from rotated video tracks\n"
    },
    {
      "commit": "53ebc72fd83f83bb5536d5917390aae03b7f5cad",
      "tree": "1fe4af89aa72abfd2c969789cd0b98fe0b4737fd",
      "parents": [
        "17ae359721ba74399e785369346509b776999d1f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 16:04:27 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 08 16:52:59 2010 -0800"
      },
      "message": "Support extracting thumbnail from rotated video tracks\n\nChange-Id: Ife0a2536aaac5ff1efdf1035b9d2c892773ee16c\n"
    },
    {
      "commit": "2e1a8967243a88d73f3b3485b07a02aa4f8d16d9",
      "tree": "51d2379d88e270d6c401e505521237ff3ce96c7a",
      "parents": [
        "d8166a719e192a026bf25a82b8eb6212823950a3",
        "31dc911aee2b50752c0eb7785176075cdaed139c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 08 11:50:14 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 08 11:56:08 2010 -0800"
      },
      "message": "resolved conflicts for merge of 31dc911a to gingerbread-plus-aosp\n\nChange-Id: I2f51b2120b3c552566d91a7dc498a5e8b130205f\n"
    },
    {
      "commit": "d8166a719e192a026bf25a82b8eb6212823950a3",
      "tree": "3f6f516a25016b93365922631c05818ccd7ebc9d",
      "parents": [
        "bb97d7bbf33393af842de1d8fd8512a24c73b6b3",
        "1653e261e84922facfe27d3d8acc455ed2b6b6da"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sat Nov 06 14:22:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 06 14:22:05 2010 -0700"
      },
      "message": "am 1653e261: Merge \"Rotation support\" into gingerbread\n\n* commit \u00271653e261e84922facfe27d3d8acc455ed2b6b6da\u0027:\n  Rotation support\n"
    },
    {
      "commit": "31dc911aee2b50752c0eb7785176075cdaed139c",
      "tree": "11c30987b79659d1c25d867a473b8997c61ea7d4",
      "parents": [
        "1653e261e84922facfe27d3d8acc455ed2b6b6da"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 04 11:50:27 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 05 17:03:17 2010 -0700"
      },
      "message": "Support post-decode video rotation.\n\nChange-Id: Ia371316e73a57e44610de86adce3eaa560afbf84\n"
    },
    {
      "commit": "65a73f4e8c79d05c0d9001b660325748d4ecf37b",
      "tree": "84b658d31134be344fc440355196b7932373471d",
      "parents": [
        "ce22d608733953e367a590efd9c7656a68ffc24d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 16 18:39:28 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 05 15:47:52 2010 -0700"
      },
      "message": "Rotation support\n\n- We only support 0, 90, 180, and 270 degree clockwise rotation\n\n- Some players are known to ignore composition matrix in the MP4 file,\n  although this is part of the MP4 file standard.\n  Both QT and YT are supporting the rotation\n\nChange-Id: I1b7f66a801e9d9c49d889c9b06dd6173fa7e76c4\n"
    },
    {
      "commit": "84043438cfa7f0f934cb8884315e9db2fd3c7e2c",
      "tree": "ef0a53f647c528e949a30ad2a5f79882029be0fa",
      "parents": [
        "db2403ff3251bebb5dd6bdb98f826a8e04dc6ed1"
      ],
      "author": {
        "name": "Rodrigo Obregon",
        "email": "robregon@ti.com",
        "time": "Wed Nov 03 15:16:18 2010 -0500"
      },
      "committer": {
        "name": "Rodrigo Obregon",
        "email": "robregon@ti.com",
        "time": "Wed Nov 03 15:16:18 2010 -0500"
      },
      "message": "Framebuffer: Support variable number of framebuffers in the UI\n\nThis change defines a macro NUM_FRAME_BUFFERS to set\nthe desired number of framebuffers to be used by the UI,\ninstead of hard-coding 2 framebuffers.\n\nAditional logic has been  added to handle the initialization\nand destruction of NUM_FRAME_BUFFERS buffers.\n\nChange-Id: I3a4bfec3e0f453432f2ffebf084c00f574d3be46\nSigned-off-by: Rodrigo Obregon \u003crobregon@ti.com\u003e\n"
    },
    {
      "commit": "a3f5b615d7adc5a644cbedd55100deba562ec0ac",
      "tree": "2f3cce676494fbdb8eb56e561881873f8f9ce4b9",
      "parents": [
        "0ce0f72c1eb92cf654667c15477f19b4a7e84cd1",
        "f3847e875eb1c58094a2d159a2a6f3f0b381d77a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 03 09:25:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 03 09:25:08 2010 -0700"
      },
      "message": "am f3847e87: Merge \"DO NOT MERGE\" into gingerbread\n\n* commit \u0027f3847e875eb1c58094a2d159a2a6f3f0b381d77a\u0027:\n  DO NOT MERGE\n"
    },
    {
      "commit": "6786fccf5a7979ca1b6fe4360ef47a9c9bbec9bb",
      "tree": "ee2d525a2d3a52fb98250755f946edee9104b40c",
      "parents": [
        "a87ea46cb023763e0a9b0222da20b0a354f79d8d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 02 18:43:03 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Nov 02 19:30:01 2010 -0700"
      },
      "message": "DO NOT MERGE\n\nFix premature release of recording frames when physical address or metadata is stored in input video buffers\n\n- bug 3158459\n\nChange-Id: If297189d2a87fc3abfda68c29ac75b490b30a902\n"
    },
    {
      "commit": "a8d7b7477d99dd2671e6232e157da9954bf4699f",
      "tree": "1d7dc40888d00b25724c1b82e63ea26521737fab",
      "parents": [
        "6fb9316f6bd72b406bbfc61bd210281744eea9c1",
        "ef8a810b3b11d177a64111125eaa44bb76624414"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Nov 02 14:59:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 02 14:59:51 2010 -0700"
      },
      "message": "am ef8a810b: Merge \"Update of DRM framework\"\n\n* commit \u0027ef8a810b3b11d177a64111125eaa44bb76624414\u0027:\n  Update of DRM framework\n"
    },
    {
      "commit": "c7b3ccc564448cb4b918728421f9402bc18278c5",
      "tree": "7d97c647cef5ae086048f62636bad3343f193459",
      "parents": [
        "5b4d0e84d314bd58efb9dcf4e7f23f0d0e3fc630"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Fri Oct 08 23:05:49 2010 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "aimitakeshi@gmail.com",
        "time": "Tue Nov 02 08:06:06 2010 +0900"
      },
      "message": "Update of DRM framework\n\n - Overload openDecryptSession() with uri parameter\n   in order to accept URI of DRM content,\n   Following API is added,\n       DecryptHandle*openDecryptSession(const char* uri);.\n - Unify texisting three event types of processDrmInfo()\n   so that caller of DRM framework does not have to handle many event types.\n - Let DrmManagerService call load/unload plugins API so that\n   client of DRM framework does not have to manage plug-in load/unload.\n - Trivial fix in DrmManagerClient.java is also incorporated.\n\nChanges are made by Sony Corporation.\n\nChange-Id: If62b47fa0360718fdc943e6e6143671d7db26adc\n"
    },
    {
      "commit": "df3cccf3dc6b59ec4a45d80fb483022360e13830",
      "tree": "ad6c69291a1bb02fbf694b0e5ce03258d419bb49",
      "parents": [
        "96abb48dff22a54de4ddcdd427d8e5a261d0facc",
        "120a4594855951ed5eb185fdfc19bf98efef3ba2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 27 19:31:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 27 19:31:24 2010 -0700"
      },
      "message": "am 120a4594: Drop all dispatcher state when dispatcher is disabled.\n"
    },
    {
      "commit": "120a4594855951ed5eb185fdfc19bf98efef3ba2",
      "tree": "74fc123ad9fd79bc8d077dc019f5f669e4596e89",
      "parents": [
        "aa93bcd62482719c146a411008e1eac94135b6a4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 27 18:43:51 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 27 18:43:51 2010 -0700"
      },
      "message": "Drop all dispatcher state when dispatcher is disabled.\n\nThis patch makes the dispatcher drop all of its state when it is\ndisabled (when the screen turns off).  This ensures that the dispatcher\ndoes not get stuck thinking a pointer is still down if the screen\nturned off while the user was touching the display (such as a fat touch\nwhile hitting the power button).\n\nBug: 3098344\nChange-Id: If50ef5804870aa1acd3179fd4b40e3cda58dd39d\n"
    },
    {
      "commit": "b8791479af814d530a3810d0516ef5628958a8d0",
      "tree": "512aa5507bf60631597c06e77ff58a2e2d99b76b",
      "parents": [
        "67bb6741965c0b9f3bf6b4caf2647efc564e287e",
        "9084631dba8938942ddd8d4cb1e0f9149965ae8e"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Oct 25 15:23:04 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Oct 25 16:11:18 2010 -0700"
      },
      "message": "resolved conflicts for merge of 9084631d to gingerbread-plus-aosp\n\nChange-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472\n"
    },
    {
      "commit": "d5770917a50a828cb4337c2a392b3e4a375624b9",
      "tree": "0ba25dd389bab286b27c178e9598cea45cd1cbe6",
      "parents": [
        "c5371fadf2753d074ef117685fed05b0140d6864"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 22 13:55:38 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Oct 25 12:16:56 2010 -0700"
      },
      "message": "DRM framework support:\n- add a sniffer for DRM files\n- add DRMSource and DRMExtractor for es_based DRM\n- add pread in FileSource.cpp for container_based DRM\n- add native DRM framework API calls in the player for\n  DRM audio/video playback\n\nChange-Id: I4b9ef19165c9b4f44ff40eeededb9a665e78a90f\n"
    },
    {
      "commit": "2ef36763700eff5679d6012e7f078c57f1a4c465",
      "tree": "3b36010de56350d0b88914c4fbd729afa38acd00",
      "parents": [
        "b34fe2f0258eb1ed512b682206b7fe65116f1dbd",
        "860c2df4132a2a0be9bcb0e91bfb7e79588c000f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 24 14:31:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 24 14:31:41 2010 -0700"
      },
      "message": "am 860c2df4: Merge \"Add unit tests for native input and fix bugs identified.\" into gingerbread\n\nMerge commit \u0027860c2df4132a2a0be9bcb0e91bfb7e79588c000f\u0027 into gingerbread-plus-aosp\n\n* commit \u0027860c2df4132a2a0be9bcb0e91bfb7e79588c000f\u0027:\n  Add unit tests for native input and fix bugs identified.\n"
    },
    {
      "commit": "c3db858de9fa152480b9cf53c8c0cb793a280722",
      "tree": "ba337dd2df79d211a940727c5c93c112cf0de77d",
      "parents": [
        "b6a2256e5461160a89d077b761d3253d95ce869f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 20 15:33:38 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Oct 23 03:52:57 2010 -0700"
      },
      "message": "Add unit tests for native input and fix bugs identified.\n\nFixed a bug where we would lose the first touch point when swiping out of\nthe virtual key area.\n\nFixed a bug where we would not send an ACTION_MOVE event in cases where\nindividual pointers went down/up and the remaining pointers actually moved.\nThis is important since many applications do not handle pointer movements\nduring ACTION_POINTER_DOWN or ACTION_POINTER_UP.  In the case of\nACTION_POINTER_UP the movement was completely lost since all pointers were\ndispatched using their old location rather than the new location.\n\nImproved motion event validation to check for duplicate pointer ids.\n\nAdded an input source constant that was missing from the NDK api but\ndefined in the framework api.\n\nAdded a timestamp when reporting added/removed devices in EventHub.\n\nBug: 3070082\nChange-Id: I3206a030f43b7616e2f48006e5a9d522c4d92e56\n"
    },
    {
      "commit": "86f1b643d10e0b5b17ae01db3b81020db87b3295",
      "tree": "2d7deecbacb72c2cb8277711e36653343b222175",
      "parents": [
        "482284ad0e3226b49c27bf41442c1cb150853226",
        "bf5efba238f81330f4b473e92b6931b85baa1cbc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 20:17:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 20:17:50 2010 -0700"
      },
      "message": "am bf5efba2: Merge \"Fix issue #3117918: No way to finish a native activity\" into gingerbread\n\nMerge commit \u0027bf5efba238f81330f4b473e92b6931b85baa1cbc\u0027 into gingerbread-plus-aosp\n\n* commit \u0027bf5efba238f81330f4b473e92b6931b85baa1cbc\u0027:\n  Fix issue #3117918: No way to finish a native activity\n"
    },
    {
      "commit": "bf5efba238f81330f4b473e92b6931b85baa1cbc",
      "tree": "0c44e38500f37c552c74f4d288ae7afa8b4b8413",
      "parents": [
        "6b3178a6323e015644590ebaee86523e4bb81773",
        "db28a94d499f995b467b07cee5c9b9119f538b1c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 19:09:44 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 21 19:09:44 2010 -0700"
      },
      "message": "Merge \"Fix issue #3117918: No way to finish a native activity\" into gingerbread"
    },
    {
      "commit": "db28a94d499f995b467b07cee5c9b9119f538b1c",
      "tree": "f720143b3b6a9813d26fdbc210bec10a0780f0b0",
      "parents": [
        "7dc08fb070ff7455e794fc81645ccb4349cd152f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 17:22:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 19:07:37 2010 -0700"
      },
      "message": "Fix issue #3117918: No way to finish a native activity\n\nChange-Id: Ic53e712f7ab5412d72a31b96ecba252344b91644\n"
    },
    {
      "commit": "46beb43357e32507189203db4626d0df954abe62",
      "tree": "9bf3e750957be3bfafe8b5bda50fe57c08093233",
      "parents": [
        "d7cd560af506f75d07034c136bea09b409b4d408",
        "0c636055351f2e1d26138cf7b3bf3c82553e68c4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 16:26:02 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 16:26:02 2010 -0700"
      },
      "message": "am 0c636055: Merge \"Mirror the preview for front-facing cameras. do not merge\" into gingerbread\n\nMerge commit \u00270c636055351f2e1d26138cf7b3bf3c82553e68c4\u0027 into gingerbread-plus-aosp\n\n* commit \u00270c636055351f2e1d26138cf7b3bf3c82553e68c4\u0027:\n  Mirror the preview for front-facing cameras. do not merge\n"
    },
    {
      "commit": "0c636055351f2e1d26138cf7b3bf3c82553e68c4",
      "tree": "c2a759cd036b39dd430c0d9a8d2c9878ce877df5",
      "parents": [
        "1d79a9d9f85f932a1fd6dcddba335450b65ba4e6",
        "b982fb4fd36a3cd24a0bb17c964139fe4c9cbb47"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 16:20:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 21 16:20:07 2010 -0700"
      },
      "message": "Merge \"Mirror the preview for front-facing cameras. do not merge\" into gingerbread"
    },
    {
      "commit": "8ad6335d2c22900de5b46460473495b5bcea9f99",
      "tree": "8d76c7c9abfbaac48d7ae8538d02ed6adbd334d5",
      "parents": [
        "63ac8f5377833303a7f8c4d60f0d74daf903e6ea",
        "fa7a87fb4b3d25b0b6b0985d65848a144d28df26"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Oct 20 21:28:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 20 21:28:38 2010 -0700"
      },
      "message": "am fa7a87fb: Merge \"File writer size estimation improvement\" into gingerbread\n\nMerge commit \u0027fa7a87fb4b3d25b0b6b0985d65848a144d28df26\u0027 into gingerbread-plus-aosp\n\n* commit \u0027fa7a87fb4b3d25b0b6b0985d65848a144d28df26\u0027:\n  File writer size estimation improvement\n"
    },
    {
      "commit": "b982fb4fd36a3cd24a0bb17c964139fe4c9cbb47",
      "tree": "1fe2daa156fed3a3d92f4a552397befda8438f18",
      "parents": [
        "f4cd9be0390135269e22e42fd2e1fe61fdcf9863"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Oct 19 17:19:09 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Oct 20 18:29:18 2010 +0800"
      },
      "message": "Mirror the preview for front-facing cameras. do not merge\n\nNow overlay does ROT_90 before FLIP_V or FLIP_H. It should be FLIP_V\nor FLIP_H first. The formula should be changed after overlay is fixed.\n\nbug:3059865\nChange-Id: Ie4366bf7f1fcac7383e8dfc74b1b865997bbbcc6\n"
    },
    {
      "commit": "22b37fa6e0d7abbfa373e5fdf057fc6dcb2474ff",
      "tree": "06082fbe3f4c1c8f08aedbb01ad538d206e3f918",
      "parents": [
        "f4cd9be0390135269e22e42fd2e1fe61fdcf9863"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 19 21:28:47 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Oct 19 22:59:22 2010 -0700"
      },
      "message": "File writer size estimation improvement\n\no Do not count the reserved space for moov if the meta data size is small\no Do not count the extra 1KB disturbing small file estimation.\no Reduce the default minimum reserved space from 4 KB to 3 KB.\no Estimate the moov size based on both duration AND file size limit is set\n  and set it to the smaller estimated value.\n\nlow risk change\n\nbug - 3111983\n\nChange-Id: I6ac2adb979d8cc12d6b4f1813d000c989add0199\n"
    },
    {
      "commit": "f2c406030874b355ca9e4e67cc0e3aff6103c23e",
      "tree": "cef3bae978fb412cb4d905dab3f989544aedc71e",
      "parents": [
        "8b5161c2aed8637de9bffb1d81298d60ea237caf",
        "7689dd4928d1cc4080e43f83a523521b5ecf44e5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 18 15:17:12 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 18 15:17:12 2010 -0700"
      },
      "message": "am 7689dd49: Merge \"Fix bug where home presses were not poking user activity.\" into gingerbread\n\nMerge commit \u00277689dd4928d1cc4080e43f83a523521b5ecf44e5\u0027 into gingerbread-plus-aosp\n\n* commit \u00277689dd4928d1cc4080e43f83a523521b5ecf44e5\u0027:\n  Fix bug where home presses were not poking user activity.\n"
    },
    {
      "commit": "e2fe69edc009a0e0348e5351cf83062224e011ac",
      "tree": "beb5873a0c09f8b6f5569ff158cadec5d5c69895",
      "parents": [
        "45bd8303fe20f20843f5a76ddf42a5ace54add58"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 18 13:21:23 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 18 14:50:13 2010 -0700"
      },
      "message": "Fix bug where home presses were not poking user activity.\n\nWe now poke user activity twice: once upon dequeueing an event\nfor dispatch and then again just before we dispatch it.  The second\npoke is to compensate for the fact that it can take a few seconds to\nidentify the dispatch target (if the application is responding slowly)\nbut we want to keep the display from going to sleep for X amount of time\nafter the app gets a chance to actually receive the event.  This mirrors\npre-Gingerbread behavior.\n\nRemoved some unnecessary code that filters user activity pokes when sending\nevents to KeyGuard.  We don\u0027t need this because KeyGuard already tells the\npower manager to disable user activity.\n\nBug: 3101397\nChange-Id: I8c3a77601fdef8f584e84cfdd11aa79da0ff51db\n"
    },
    {
      "commit": "9b2f18df2436b6c2d9735e65119b92f320bb57e2",
      "tree": "9cdb635b45b1f29b81ae5d517cf07f36b75a04bb",
      "parents": [
        "ec62719c8396997b436c44906c2760e3914698b8",
        "bc96c2848dadaa844f95e89708d9941f73bbf400"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 18 11:50:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 18 11:50:19 2010 -0700"
      },
      "message": "am bc96c284: Merge \"For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.\" into gingerbread\n\nMerge commit \u0027bc96c2848dadaa844f95e89708d9941f73bbf400\u0027 into gingerbread-plus-aosp\n\n* commit \u0027bc96c2848dadaa844f95e89708d9941f73bbf400\u0027:\n  For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.\n"
    },
    {
      "commit": "5a40e394f1e6b0511542e171eaf4c3e5927efc13",
      "tree": "d83620f903022c1bc2b0087d71c2b257dd5a0719",
      "parents": [
        "d1f7f4a68375f879671d300510f23d3ee78a500e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 18 09:57:42 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Oct 18 10:16:08 2010 -0700"
      },
      "message": "For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.\n\nrelated-to-bug: 3106534\nChange-Id: Ie28d72af2f9e93818d1840ac83aa7bc11fa57b3b\n"
    },
    {
      "commit": "6ba052b4847d85831c38c9b8e2942cef4987e55b",
      "tree": "aa693582c047451f74ad1e45943684cde1f314ed",
      "parents": [
        "bce520e6460e712c0985f12cf212e2d72fd1b9e4",
        "c1a564b108c511c0bdd699567c245b031930e718"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 18:40:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 18:40:39 2010 -0700"
      },
      "message": "am c1a564b1: Merge \"Add support for secure system overlays.  (DO NOT MERGE)\" into gingerbread\n\nMerge commit \u0027c1a564b108c511c0bdd699567c245b031930e718\u0027 into gingerbread-plus-aosp\n\n* commit \u0027c1a564b108c511c0bdd699567c245b031930e718\u0027:\n  Add support for secure system overlays.  (DO NOT MERGE)\n"
    },
    {
      "commit": "746c6a1c6d70769ee4b08b9a7b87d0c5aa65c2e4",
      "tree": "3512a5af553e8791f0f46f3142d7dabc3ffb449e",
      "parents": [
        "13e46665ff69c1a37880762d7d611aacdf02dac7",
        "ff7a7a455c15077e2b691efa370619f06058f697"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 15 18:24:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 18:24:56 2010 -0700"
      },
      "message": "am ff7a7a45: Merge \"Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.\" into gingerbread\n\nMerge commit \u0027ff7a7a455c15077e2b691efa370619f06058f697\u0027 into gingerbread-plus-aosp\n\n* commit \u0027ff7a7a455c15077e2b691efa370619f06058f697\u0027:\n  Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.\n"
    },
    {
      "commit": "2d3f159aa9622e05a18e7f93cecd57ad673955ae",
      "tree": "8df18f80f44133f19ce9e669a36bdd785b31460a",
      "parents": [
        "c9f7890a203a013646650a695157277df81b6a17"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 00:54:27 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 16:03:35 2010 -0700"
      },
      "message": "Add support for secure system overlays.  (DO NOT MERGE)\n\nThis change adds a new window type for secure system overlays\ncreated by the system itself from non-secure system overlays that\nmight be created by applications that have the system alert permission.\nSecure views ignore the presence of secure system overlays.\n\nBug: 3098519\nChange-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07\n"
    },
    {
      "commit": "6ac35f059726cf60a364c1efd783a99c901f2d9d",
      "tree": "99b503aaf16306f2860d51037c014bfb5050e380",
      "parents": [
        "e1f3976bb4eab0d7c46bc8596679d4d00695148c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 15 13:30:27 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 15 13:30:27 2010 -0700"
      },
      "message": "Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.\n\nChange-Id: Ie2ecf9558d4ee80cb5a2bbe66ad49f2165a7b09c\nrelated-to-bug: 3101573\n"
    },
    {
      "commit": "5f0cbfcecc4db20f897507c826296b3aac70c592",
      "tree": "896363b3d748ce378f9b73909b01c9c63cbe1d14",
      "parents": [
        "dc3ad87c04348c925aa86863ed6d25f18a8c6c36",
        "c1e7b2182594aa0463c4a738cc8e7eea6777ef50"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 01:31:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 01:31:14 2010 -0700"
      },
      "message": "am c1e7b218: Merge \"Improve input device calibration format.\" into gingerbread\n\nMerge commit \u0027c1e7b2182594aa0463c4a738cc8e7eea6777ef50\u0027 into gingerbread-plus-aosp\n\n* commit \u0027c1e7b2182594aa0463c4a738cc8e7eea6777ef50\u0027:\n  Improve input device calibration format.\n"
    },
    {
      "commit": "c1e7b2182594aa0463c4a738cc8e7eea6777ef50",
      "tree": "ac17b21bb33a8844756a72c662d76d4f5ba31317",
      "parents": [
        "78a76fea28b8101c1860a2f1115329e3e63abda3",
        "c6d282bb8223ed21666878f71c5a55013ee37805"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 01:15:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 15 01:15:08 2010 -0700"
      },
      "message": "Merge \"Improve input device calibration format.\" into gingerbread"
    },
    {
      "commit": "dc3ad87c04348c925aa86863ed6d25f18a8c6c36",
      "tree": "bbfc1757df259991362a3159742cd8147c820a56",
      "parents": [
        "ebad42d6d35dc0dc07fe89650268453dbdff8a79",
        "78a76fea28b8101c1860a2f1115329e3e63abda3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 14 22:21:40 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 14 22:21:40 2010 -0700"
      },
      "message": "am 78a76fea: Merge \"Revert to using epoll_wait().\" into gingerbread\n\nMerge commit \u002778a76fea28b8101c1860a2f1115329e3e63abda3\u0027 into gingerbread-plus-aosp\n\n* commit \u002778a76fea28b8101c1860a2f1115329e3e63abda3\u0027:\n  Revert to using epoll_wait().\n"
    },
    {
      "commit": "78a76fea28b8101c1860a2f1115329e3e63abda3",
      "tree": "c4e75c2b58ff80abd29db1527e45d8d034d13d8c",
      "parents": [
        "3fbfee2febf13bcc46c389ebecbf91465ef211b7",
        "a97e50f20d39d2abf0fab77090dd82bdef4bce7a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 14 22:18:43 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 14 22:18:43 2010 -0700"
      },
      "message": "Merge \"Revert to using epoll_wait().\" into gingerbread"
    },
    {
      "commit": "c6d282bb8223ed21666878f71c5a55013ee37805",
      "tree": "0638ca8d0a5801ee0a5f5fb80ad1d654d4825a55",
      "parents": [
        "75d3591b2dd60e50182542045147b9b6033c2b85"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 14 21:42:15 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 14 21:44:16 2010 -0700"
      },
      "message": "Improve input device calibration format.\n\nAdded support for calibrating touch size for devices that report\nsize as an area measurement rather than as a width.\nFixed some bugs.\n\nBug: 3096045\nChange-Id: I30a12e73752883516ed054f8af407204bca45814\n"
    },
    {
      "commit": "7e9a54d460030a871a4f05e61e943c6a694e9ef8",
      "tree": "bf9ceeac3814d10936174d73ee85b586b633095e",
      "parents": [
        "a8faf91fa558be1235d508e776eb24be4429585c",
        "d4e03f37423bee383d17f7292753a5f67e497a28"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 14 15:17:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 14 15:17:16 2010 -0700"
      },
      "message": "am d4e03f37: addresses parts of 3096779 and 3097475\n\nMerge commit \u0027d4e03f37423bee383d17f7292753a5f67e497a28\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d4e03f37423bee383d17f7292753a5f67e497a28\u0027:\n  addresses parts of 3096779 and 3097475\n"
    },
    {
      "commit": "d4e03f37423bee383d17f7292753a5f67e497a28",
      "tree": "c559d99f0e6c6fda2621c6809b20ffadfc7bcda2",
      "parents": [
        "6d71f6a0ae9fd81ce25562aee67f841b5d8394cf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 14 14:54:06 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 14 14:57:34 2010 -0700"
      },
      "message": "addresses parts of 3096779 and 3097475\n\n3097475: Animation setting should control the screen on animation\n3096779: CRT power-on animation can briefly show the top app instead of lockscreen\n\nThere is now a parameter that controls wether the ON and/or OFF animation are\nperformed. we also always clear the screen to black on power off, to make\nsure it won\u0027t briefly appear on power on.\nHOWEVER, 3096779 is not 100% fixed in the case where we\u0027re doing the animation\nbecause there is a race, where SF doesn\u0027t wait (b/c it doesn\u0027t know) for the\nframework to have redrawn the lockscreen.\n\nChange-Id: Ie0f02c9225fcdf24b1e8907e268eb7da2c5b0a03\n"
    },
    {
      "commit": "8fda1636e3e35f060b9046294efd3c062a1fdb84",
      "tree": "9c5d4cb8df12357a067f5214eb2f3dbd08d252ca",
      "parents": [
        "e3c50a5470f64fd99438d6fd985f88d9fe20919a",
        "bdf8034c657147226b2390eef113ff841e0d6065"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 22:54:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 22:54:10 2010 -0700"
      },
      "message": "am bdf8034c: Merge \"OBB: use PBKDF2 for key generation.\" into gingerbread\n\nMerge commit \u0027bdf8034c657147226b2390eef113ff841e0d6065\u0027 into gingerbread-plus-aosp\n\n* commit \u0027bdf8034c657147226b2390eef113ff841e0d6065\u0027:\n  OBB: use PBKDF2 for key generation.\n"
    },
    {
      "commit": "bdf8034c657147226b2390eef113ff841e0d6065",
      "tree": "58be0affeafef6d38ef9e53744af1aaf1a7a8fa8",
      "parents": [
        "cebe5b2e01f8ebbf9089aebc386caecea232df76",
        "3b1abba6bbc895d63da3e82e9b158c01bd12eddd"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 18:29:43 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 18:29:43 2010 -0700"
      },
      "message": "Merge \"OBB: use PBKDF2 for key generation.\" into gingerbread"
    },
    {
      "commit": "3b1abba6bbc895d63da3e82e9b158c01bd12eddd",
      "tree": "1296e8c25a2927c94783eda83100c061fc9fe379",
      "parents": [
        "dfc07279fc6205c38f5f39cb5ba4f0aef6b593a4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 15:00:07 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 18:25:33 2010 -0700"
      },
      "message": "OBB: use PBKDF2 for key generation.\n\nSwitch to using PBKDF2 for the key generation for OBBs. Any previously\ngenerated OBBs will stop being read correctly. A small pbkdf2gen program\nis available to allow generation of appropriate keys with the salts.\n\nBug: 3059950\nChange-Id: If4305c989fd692fd1150eb270dbf751e09c37295\n"
    },
    {
      "commit": "5bfa3a34eaef759c3ec4def76f646eb1c0bf997f",
      "tree": "db253b21d2e04cb6a1c74007eaf595d6edfbd864",
      "parents": [
        "27c7fb1a861776b4fdc2632697e4e25eee83617f",
        "011b5bcc0355338b7ff906656282a54ffaa04b5a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 13 15:59:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 15:59:42 2010 -0700"
      },
      "message": "am 011b5bcc: Merge \"implement part of [3094280] New animation for screen on and screen off add support for screen on animation\" into gingerbread\n\nMerge commit \u0027011b5bcc0355338b7ff906656282a54ffaa04b5a\u0027 into gingerbread-plus-aosp\n\n* commit \u0027011b5bcc0355338b7ff906656282a54ffaa04b5a\u0027:\n  implement part of [3094280] New animation for screen on and screen off\n"
    },
    {
      "commit": "011b5bcc0355338b7ff906656282a54ffaa04b5a",
      "tree": "9f6d7c04c957756d2ce6f87dceab45e135e7dff3",
      "parents": [
        "90d59d180bd963f00161e6bfaabfda432960cab6",
        "2d2b803a92ba531cf6c4bb7042326653255b8780"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 13 15:55:57 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 15:55:57 2010 -0700"
      },
      "message": "Merge \"implement part of [3094280] New animation for screen on and screen off add support for screen on animation\" into gingerbread"
    },
    {
      "commit": "2d2b803a92ba531cf6c4bb7042326653255b8780",
      "tree": "4f9bfc77e4850d74b260dff622d03a175add6840",
      "parents": [
        "e03471e12f1adcd818b5bfd9dcb894c75fe955c5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 12 16:05:48 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 13 14:28:26 2010 -0700"
      },
      "message": "implement part of [3094280] New animation for screen on and screen off\nadd support for screen on animation\n\nChange-Id: If50cf52ae04b95b42da7d74cf7fa96d5cb54d238\n"
    },
    {
      "commit": "a127c07c42b8961881f460eb8e6a6b722139e3b9",
      "tree": "1c0168e56514c3afdf64d8098f68009f6a3c54ac",
      "parents": [
        "28b93967d0e702304c7edec854a29d5ab88bfce0",
        "312644cdbb39522fe9cac028b15b907ce0e8e0f7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 13 09:19:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 09:19:28 2010 -0700"
      },
      "message": "am 312644cd: Merge \"Support for writing to MPEG2 transport stream files.\" into gingerbread\n\nMerge commit \u0027312644cdbb39522fe9cac028b15b907ce0e8e0f7\u0027 into gingerbread-plus-aosp\n\n* commit \u0027312644cdbb39522fe9cac028b15b907ce0e8e0f7\u0027:\n  Support for writing to MPEG2 transport stream files.\n"
    },
    {
      "commit": "28b93967d0e702304c7edec854a29d5ab88bfce0",
      "tree": "454ead6bcaee4e07f39d13901e7fee7426fb7cdc",
      "parents": [
        "c7ee44cbe155c2272687a0e82133f3e729eac137",
        "165c6579660c22edafb61fee2a0cf39334a2a905"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 13 09:17:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 09:17:13 2010 -0700"
      },
      "message": "am 165c6579: Merge \"HTTP Live content that are tagged as complete are now seekable.\" into gingerbread\n\nMerge commit \u0027165c6579660c22edafb61fee2a0cf39334a2a905\u0027 into gingerbread-plus-aosp\n\n* commit \u0027165c6579660c22edafb61fee2a0cf39334a2a905\u0027:\n  HTTP Live content that are tagged as complete are now seekable.\n"
    },
    {
      "commit": "312644cdbb39522fe9cac028b15b907ce0e8e0f7",
      "tree": "97dd25e42b1a0ccc607cdbbc60368b833c44a71e",
      "parents": [
        "165c6579660c22edafb61fee2a0cf39334a2a905",
        "9adf466021d37a5062d7d3361e14bfd9e7ffeba6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 13 09:14:40 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 09:14:40 2010 -0700"
      },
      "message": "Merge \"Support for writing to MPEG2 transport stream files.\" into gingerbread"
    },
    {
      "commit": "165c6579660c22edafb61fee2a0cf39334a2a905",
      "tree": "431676c9a9c20d9a2c33041c61f348dce2143e33",
      "parents": [
        "dfc07279fc6205c38f5f39cb5ba4f0aef6b593a4",
        "54d09724e3ea2af4e08dff47d7ade92a95784127"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 13 09:14:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 09:14:13 2010 -0700"
      },
      "message": "Merge \"HTTP Live content that are tagged as complete are now seekable.\" into gingerbread"
    },
    {
      "commit": "9adf466021d37a5062d7d3361e14bfd9e7ffeba6",
      "tree": "32065c7763d46863e76d9f78ba4c76f0117ff2dc",
      "parents": [
        "a7c76d8307a3b49bf5b8fdda3543455b0e5dd64c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 14:17:45 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 12 16:05:23 2010 -0700"
      },
      "message": "Support for writing to MPEG2 transport stream files.\n\nChange-Id: If3b7a807bc224a4b1cb2236537c3ebdc5aee0d97\n"
    },
    {
      "commit": "9a12a3c8d4bb20042cf69e07d268e3a04ac71f96",
      "tree": "8077adbd81854c5b5571b57a5f9d20f28d92ca75",
      "parents": [
        "090ac9f7dd883aa75c899745182471d409a2b762",
        "ba799098608c7be8ff1e18adfa7dc1f452205a7e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Oct 12 14:46:23 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 12 14:46:23 2010 -0700"
      },
      "message": "am ba799098: Merge changes I76513387,I335fb671 into gingerbread\n\nMerge commit \u0027ba799098608c7be8ff1e18adfa7dc1f452205a7e\u0027 into gingerbread-plus-aosp\n\n* commit \u0027ba799098608c7be8ff1e18adfa7dc1f452205a7e\u0027:\n  Remove dead code, and make the animation a setting.\n  turn off the electron beam\n"
    }
  ],
  "next": "54d09724e3ea2af4e08dff47d7ade92a95784127"
}
