)]}'
{
  "log": [
    {
      "commit": "2f7540e78f2a0952ddbbd9b953e186b90f401734",
      "tree": "a507541a85465b755372d2e8e638dc0fe3a5bb92",
      "parents": [
        "f6331a497455fdb6618bf4c634c9326695304c24"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Mar 11 15:06:54 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Mar 11 15:06:54 2010 -0800"
      },
      "message": "implement connect/disconnect in our native_window_t implementations\n\nthe framebuffer implementation doesn\u0027t do anything special with this\nbut the surfaceflinger implementation makes sure the surface is not used\nby two APIs simultaneously.\n\nChange-Id: Id4ca8ef7093d68846abc2ac814327cc40a64b66b\n"
    },
    {
      "commit": "015b59756eecdbec46f9aeda620ad0de1c8c9a23",
      "tree": "24ace4ee0eb7a936fc81d3146ce5adda1636d373",
      "parents": [
        "6fc4fe98ab72c5852b87f1f8699b9808c0dbecc5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 09 19:17:47 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Mar 11 12:55:39 2010 -0800"
      },
      "message": "fix [2483456] Video orientation is wrong on Droid for some videos\n\nChange-Id: I450191f1335f57bffc51aff3e27295395847dbc0\n"
    },
    {
      "commit": "c57346035aa4ee2b08e4f8c5653923613d16250f",
      "tree": "c7202df6444c76f962462c6b2778449c2efe7321",
      "parents": [
        "fe62d04c30e7b3abe408b56c7744c7f547c57640",
        "99c085bd5a34cfe4311f97beac5914cd51004522"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Mar 09 18:43:57 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 09 18:43:57 2010 -0800"
      },
      "message": "Merge \"Use proper config to enable LVMX\""
    },
    {
      "commit": "99c085bd5a34cfe4311f97beac5914cd51004522",
      "tree": "32c137d71670e63014b363775944d2804cd647bf",
      "parents": [
        "ae58f6d7473c67d76b6c6373794fd1a77543ddb4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Mar 09 18:13:59 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Mar 09 18:13:59 2010 -0800"
      },
      "message": "Use proper config to enable LVMX\n\nChange-Id: Ifa75a82884b99aeee139e055f40e7c510cf28213\n"
    },
    {
      "commit": "cf244ada58539ce857ec041d7288d0271204fbb6",
      "tree": "ec16084d19a3b0c0e43e11dd276fbe7c6a6813c5",
      "parents": [
        "ae58f6d7473c67d76b6c6373794fd1a77543ddb4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 09 15:00:30 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 09 17:18:05 2010 -0800"
      },
      "message": "Add ability for some manifest attributes to reference resources.\n\nThis loosens our restriction on many manifest attributes requiring\nliteral string values, to allow various ones to use values from\nresources.  This is only allowed if the resource value does not change\nfrom configuration changes, and the restriction is still in place\nfor attributes that are core to security (requesting permissions) or\nmarket operation (used libraries and features etc).\n\nChange-Id: I4da02f6a5196cb6a7dbcff9ac25403904c42c2c8\n"
    },
    {
      "commit": "871c16cec850c042c61aa06a7ffc0e1965867bcf",
      "tree": "4eb07e9acdcaa01d10d5d3458c2659f715379c34",
      "parents": [
        "c10275abd6a494c93a025f683dde104a5d4f2793"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 05 12:18:01 2010 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 09 14:16:01 2010 -0800"
      },
      "message": "Initial version of LifeVibes integration.\nAlso changed tabs to spaces in other audioflinger files.\n"
    },
    {
      "commit": "758559e6b7e310cf46cc269437f44decd58d68d6",
      "tree": "33b262fca683199cfcf6da3ab44c5d738731dced",
      "parents": [
        "a9fb0a2497e563c2066e10a816ff1f7baaf8aa9b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Mar 09 09:26:08 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Mar 09 12:45:55 2010 -0800"
      },
      "message": "Fix bug 2329540\n Part 1 of the fix: when the user doesn\u0027t elect to use the car dock\n for music and media, the APM was not aware of the device being\n docked.\n This is fixed by dissociating the notification for the APM of\n the docking to the dock from the sink state change of the A2DP\n device.\n Also missing was forcing the volumes to be reevaluated whenever\n the device is docked or undocked, as volumes for docks may\n differ, even when the same output device is being used.\n\nChange-Id: If5314e27821a71adbd6df6fdf887c45208241d96\n"
    },
    {
      "commit": "85b8d12207c12531d736c7ec836f10d1e6f448e4",
      "tree": "80b6ffa465ebbc18a72a91beaab14e06045ed192",
      "parents": [
        "50ab63f5831fed5cfa888fb67f0a27eb4c0a86c4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 08 19:29:09 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 08 19:30:56 2010 -0800"
      },
      "message": "improve SF logging/debugging a little bit\n\nChange-Id: I6a57f89c25defc293fd748cc1fbd710031c02ec2\n"
    },
    {
      "commit": "8d8a915a935378405fcf9978b83bd815ac5a265c",
      "tree": "03c8c93c2ebce03a7100ea6c797ff5caac55b517",
      "parents": [
        "ca14320fa28b818d755cff8f0c2ff4c780d30105",
        "4119c543024b4ae647b22a2da1422f8848a6ef7a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 08 19:24:27 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 08 19:24:27 2010 -0800"
      },
      "message": "Merge \"Fix a small bug where we could compute SharedBufferStack\u0027s tail incorrectly.\""
    },
    {
      "commit": "4119c543024b4ae647b22a2da1422f8848a6ef7a",
      "tree": "259188a8db6b8d22d286ea14dd8fd989de5ae91e",
      "parents": [
        "0e0b0c9e3d2c2edf8deff1f02b7856ad47db3ff9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 08 19:23:26 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 08 19:23:26 2010 -0800"
      },
      "message": "Fix a small bug where we could compute SharedBufferStack\u0027s tail incorrectly.\n\nAlso add \"tail\" to the debug dump().\n\nChange-Id: I04b1ea375dfc9ddcc22f0c6b6cd01300e507572e\n"
    },
    {
      "commit": "27dd40bc27815a2929a7791d17bd945f3c9a868c",
      "tree": "99b484e69449643c7ef180aef8a912bb694ecd09",
      "parents": [
        "147113ee54e18094d3a8829c37a1041ec0e9dd7c",
        "d9ef5d7f13be0e5e0f9cf0ea768742fd91636c8d"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 08 16:31:57 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 08 16:31:57 2010 -0800"
      },
      "message": "Merge \"Add camera parameter string constant for \"true\".\""
    },
    {
      "commit": "9e7b076cadc941feaa44838d39497537b8106ff0",
      "tree": "0a4a330c041e4a1d7eaf878fb4dabb999dcb97e9",
      "parents": [
        "453e60db6e3946334acc48b05bc847cef49bc4d7",
        "1d211f8ee0b422a3a741c3f88246c7c72ce483b0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 08 15:35:44 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 08 15:35:44 2010 -0800"
      },
      "message": "Merge \"fixes for [2474091] Saw Poor behaviour playing a video.\""
    },
    {
      "commit": "d9ef5d7f13be0e5e0f9cf0ea768742fd91636c8d",
      "tree": "c2e877fe017d78941623345a2a2a99ddc395b3f2",
      "parents": [
        "796325b619a467eade0d6303c05b94a791a9c241"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 08 15:28:48 2010 -0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 08 15:28:48 2010 -0800"
      },
      "message": "Add camera parameter string constant for \"true\".\n\nbug:2458926\nChange-Id: I11eaae8ff031765e23f2627ded5873eabc09cead\n"
    },
    {
      "commit": "1d211f8ee0b422a3a741c3f88246c7c72ce483b0",
      "tree": "87af9e22d28f96301a27f5572dadc03398317744",
      "parents": [
        "14b60e747cdf16b79bb755b42dd766348c4f1880"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 08 11:14:20 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 08 11:14:20 2010 -0800"
      },
      "message": "fixes for [2474091] Saw Poor behaviour playing a video.\n\n- fix a bug when hacking video buffers into gralloc buffers\n where the buffer size was incorrect this was causing the\n \"direct-form-texture\" mode to fail\n\n- also when the above fails, make sure to revert to the\n \"mdp copy mode\" before going to \"slow mode\"\n\n- finally disable completely the \"direct-from-texture\" mode\n for now. It cannot work because the allocated buffers can\u0027t\n respect the GPU constraints (alignment and such). We\u0027ll\n have to find a solution for that.\n"
    },
    {
      "commit": "fe2e075e07a4764857c48fbe9b5a11b4d6423f1d",
      "tree": "3e1e85a77780f70aba7e0a90c30125b8a727d9b7",
      "parents": [
        "239038094493b3b1ac262222d1f21254b48d4fc6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Mar 06 15:46:31 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 08 06:50:44 2010 -0800"
      },
      "message": "Fix issue 2317760: Change the priority between wired headset and A2DP.\n\nModified audio policy manager so that wired headset has precedence over A2DP headset.\n"
    },
    {
      "commit": "29855801de083e82b76dee18e5e161d154bdb60c",
      "tree": "0b1b15f34b43bbad34060d8e231bb10cc64864d2",
      "parents": [
        "931bf89d327ecf07301231fd86b17deac535feaa",
        "ba8811f5528404527b0cbad584a836f0b1807d26"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 05 16:01:47 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 05 16:01:47 2010 -0800"
      },
      "message": "Merge \"Fix issue 2428563: Camera rendered inoperable by voice call interruption.\""
    },
    {
      "commit": "ba8811f5528404527b0cbad584a836f0b1807d26",
      "tree": "fdb7b5e747307bcfdecfed42cefb75b66c03a9be",
      "parents": [
        "ff846009ecb6df669feeb5d5feecf4b304b8b9a5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 02 18:38:06 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 05 11:54:23 2010 -0800"
      },
      "message": "Fix issue 2428563: Camera rendered inoperable by voice call interruption.\n\nThe problem is that AudioRecord never exits read() when a timeout occurs while trying\nto get new PCM data from audio hardware input buffer: it just keeps waiting and retrying until stop() is called.\nIn the same time, opencore AndroidAudioInput::audin_thread_func() loop cannot be exited when stuck\nin AudioRecord::read() because the iExitAudioThread flag can only be sampled when AudioRecord::read()\nreturns. We remain stuck with the audio input thread running.\n\nThe fix consists in modifying AudioRecord behavior in case of timeout when getting new PCM samples.\nWe now wait only one timeout period and try to restart audio record, in case the problem is due to a media_server\nprocess crash. If this fails, we exit read() with a number of bytes read equals to 0 so that\nAndroidAudioInput::audin_thread_func() loop can exit.\n\nAlso modified Audioflinger::RecordThread() loop so that we attempt to recover from HAL read errors.\nIn case of read error, the input stream is forced to standby so that next read attempt does a\nreconfiguration and restart of the audio input device.\n"
    },
    {
      "commit": "b776d5be97f64d90e5d28e46325a1c6ecff3179f",
      "tree": "f471ba094886bdce769b231b88dd57fb5224618c",
      "parents": [
        "5321aef4a22daef6ed01ed48d936cdd82f2e38b7"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 04 16:26:06 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 04 16:32:32 2010 -0800"
      },
      "message": "Calculate bitmask array sizes correctly in the EventHub\n\nWe\u0027ve gotten lucky to date:  the previous calculation of bitmask array\nsizes, (maxval+1)/8 only works properly when \u0027maxval\u0027 is one less than\na multiple of 8.  Fortunately, this has either been the case for us,\nor there has been sufficient \u0027unused\u0027 space at the end of the defined\nmax value range that we haven\u0027t wound up overreading/overwriting the\nallocated buffers.\n\nChange-Id: I563a93a86644ab9f19489565e06c28e06bb53abc\n"
    },
    {
      "commit": "4ff7e223a9507b95ffc58a188be20217f2b3c26e",
      "tree": "d26156a5f3ea53f13695037f6ca768e3ea960a20",
      "parents": [
        "175ab23dbf098a8b870ebe8cb90ac16e5b50f0ef"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 04 16:00:29 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 04 16:00:29 2010 -0800"
      },
      "message": "Fix #2489986 : The key bitmask needs to cover all possible keys\n\nChange-Id: Ieebd2f879e6b6fbc0388655dd66f34be89e809a0\n"
    },
    {
      "commit": "20cb56e26e91df91bd64d4251222e0d421cdbe47",
      "tree": "17f4e6b033d060bd4745fd6a2ac38ada2e35897f",
      "parents": [
        "89d6d00a8b015e97f6bf8ca9fa9203402c15aa00"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 04 00:58:29 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 04 11:52:14 2010 -0800"
      },
      "message": "Fix some bugs.\n\nBug #2376231: Apps lose window focus (and back key causes ANR) if the\nlock screen is dismissed while the phone is in landscape mode\n\nThis is another case where we weren\u0027t recomputing the focused window\nafter changing the visibility policy.\n\nbug #2479958: Investigate source of \"Resources don\u0027t contain package\nfor resource number 0x7f0a0000\"\n\nUm, okay, so it turns out there were bugs all over the place where\nwe would load an XML resource from a another application, but not\nuse the Resources for that application to retrieve its resources...!\nI think the only reason any of this stuff was working at all was\nbecause it typically only cared about retrieving the resource\nidentifiers of the items (it would look up the values later).\n\nBug #2401082: Passion ERE26 monkey crash - InputMethodManagerService\n\nAdd some null checks.\n"
    },
    {
      "commit": "055c986ab841f8f758398841730f1e90313b132a",
      "tree": "6f1aeb48706161c57a657b12a9fab102345e9bbf",
      "parents": [
        "3f5144b8a4b45a05cf7c1b0bd0422d0bd9ecb59b"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Tue Feb 23 10:45:42 2010 +0800"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Fri Mar 05 03:03:48 2010 +0800"
      },
      "message": "Add location provider name to gps-processing-method in EXIF header.\n"
    },
    {
      "commit": "156cce698093023d9e79a4ff4fb96f4e4d3019db",
      "tree": "ff5ce34e453d2f475bcab35d29f5a7d00d53554d",
      "parents": [
        "a034cd3e15b6626be03e60f2d6a0f929dcb950d9"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Mar 03 13:03:18 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Mar 03 14:14:37 2010 -0800"
      },
      "message": "Improve RS error handling.  On errors RS will now store the error and a message that can be read from the app.  RS will then not continue rendering frames while an unchecked error is present until new state is received.\n"
    },
    {
      "commit": "a2e92266b3f768f74ab7fcb42972a22d6c739b39",
      "tree": "ddbce0189e04e2ef3b196c9d71dd9dab03410d4b",
      "parents": [
        "c018f3cfdd8a8277dbb3b61d4761974862876ab9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 02 17:19:29 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 02 17:37:45 2010 -0800"
      },
      "message": "Maybe fix issue #2482201: Paired bluetooth device looks like a qwerty keyboard\n\nWe now only consider a device to be a default keyboard if its name\nhas \"-keypad\".  A hack, but whatever.\n\nAlso add some debug logging for the input state to help identify such\nissues in the future.\n"
    },
    {
      "commit": "6b1806b2d3dac4ac11c4c5d306320fcabf5fac1e",
      "tree": "50774c24836a53a008eb18e029ceb8f6c1385f27",
      "parents": [
        "bd80e560ac09c42b8081fe555d74a922ebca080a"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Mar 02 15:39:44 2010 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Mar 02 16:44:46 2010 -0800"
      },
      "message": "surfaceflinger: remove un-cached buffers hack for Adreno\n\nChange-Id: I5ae4e74bfa3e25b55be2cddf7b3c51368a140ab9\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "47d0a9264fa5297db6333697ad750e6bc06822aa",
      "tree": "2b688202179ab906b44a413b8b27fd1a0ae9f75a",
      "parents": [
        "04218254ec1129e329cac71479b309cfb8a28d88"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 26 02:47:27 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 02 08:20:13 2010 -0800"
      },
      "message": "Issue 2071329: audio track is shorter than video track for video capture on sholes\n\nAdd API to retrieve number of frames dropped by audio input kernel driver.\n\nSubmitted on behalf of Masaki Sato \u003cmasaki.sato@motorola.com\u003e\n"
    },
    {
      "commit": "ef05e076ced1a32c5c0aaee28403779834adb2ba",
      "tree": "20dcf607adf508481d57610937ceab6ef2c6aee2",
      "parents": [
        "883dbacb12a003f8f46c3faab26b744fdef649a1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 01 17:43:39 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 01 20:42:14 2010 -0800"
      },
      "message": "Fix issue #2448075: aapt doesn\u0027t fix up activity-alias android:targetActivity links\n\nAnd related:\n\n- The aapt tool now sets a resource configurations sdk level to match any configs\n  that have been set (for example if you specify density your sdk level will be\n  at least 4).\n- New option to modify the targetPackage attribute of instrumentation.\n- Clean up of aapt options help.\n- Fix of UI type values to leave 0 for \"unspecified\".\n- Make the UI mode config APIs public.\n"
    },
    {
      "commit": "31901cc0b6f0c678be4f629c8c3405700e63c346",
      "tree": "3f3e0dc39aad486f1bf3ad1e11ea2e134a08a73a",
      "parents": [
        "5d26c1e38dabb3ad8b4b6e1000375f3b1a6b7693"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 01 17:51:17 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 01 18:36:14 2010 -0800"
      },
      "message": "fix [2425395] portrait UI briefly shows in landscape\n\nthe \"freeze\" timeout was not initialized properly which caused it\nto kick-in immediately instead of after 5s\n"
    },
    {
      "commit": "5d26c1e38dabb3ad8b4b6e1000375f3b1a6b7693",
      "tree": "6ba3c3a0a6a5de37d65c07690de84080a91db3b3",
      "parents": [
        "69f22feb8540576d2a2e9d32f9c86ebbbf309409"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 01 16:09:43 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 01 18:34:50 2010 -0800"
      },
      "message": "Added a name to Surface created by SurfaceFlinger\n\nUpdated the window manager to use this new facility.\nSurfaces name are now printed by \"dumpsys\".\n"
    },
    {
      "commit": "922a12e14d28bb7137c72acc73eecaf133ee02d1",
      "tree": "7b1c102f858c630dc31f3bead66aea2163ac061d",
      "parents": [
        "d6dc43bf4f6decb5ff6bdec1a4edc6be6b4deb73",
        "56c0952a1f200665934a4d11975d0feb832f9908"
      ],
      "author": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Mon Mar 01 16:36:26 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 01 16:36:26 2010 -0800"
      },
      "message": "Merge \"Demote the famous ResourceTypes warning to LOGV.\""
    },
    {
      "commit": "56c0952a1f200665934a4d11975d0feb832f9908",
      "tree": "d2ceaa3d5d324c8cb89d31d4b384e54879bd47e1",
      "parents": [
        "1be40985283e77d3fc5d98268f9f6453bcc7223e"
      ],
      "author": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Mon Mar 01 16:33:53 2010 -0800"
      },
      "committer": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Mon Mar 01 16:33:53 2010 -0800"
      },
      "message": "Demote the famous ResourceTypes warning to LOGV.\n\nIt is spamming the log bigtime and can be promoted back to LOGW\nor worse by whoever decides to actually investigate the bug.\n\nChange-Id: I72d950155378f641ebdfbacabae774f5736a52bc\n"
    },
    {
      "commit": "108831a72c5ec7ca22c9e3697381e85f1a313276",
      "tree": "8a8e4a919d3d0e67a5d494b423fe149a93fafa91",
      "parents": [
        "1549257d12d8c134c0671ae56981e2e40d471d05",
        "8a64743f37ed35af7c2204acd18bb3d62d8f66d5"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Mar 01 15:42:47 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 01 15:42:47 2010 -0800"
      },
      "message": "Merge \"Add support for linking to a skia bitmap rather than always copying the data from the bitmap.\""
    },
    {
      "commit": "1549257d12d8c134c0671ae56981e2e40d471d05",
      "tree": "a08580ec71bf4b1ff73c8cdf028466e366649115",
      "parents": [
        "053100e6b6fdb57dbea98f7adff48fd07455c00b",
        "c2908e60c9b021fb4bb69acff8d49981dd4dade8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Mar 01 15:42:03 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 01 15:42:03 2010 -0800"
      },
      "message": "Merge \"Support defered generation of mipmaps.  With this change we support mipmap generation when the texture is uploaded to GL without requiring RS to retain the full chain.\""
    },
    {
      "commit": "053100e6b6fdb57dbea98f7adff48fd07455c00b",
      "tree": "abadf3802c31706df583cbdb30f1a84b178e7681",
      "parents": [
        "8cbb8f5e1f939b03515cb4d5942c3fcb226efb9e",
        "7eecbf2085bcfe475daf68090a1a4f47fbb6ec72"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Mar 01 15:40:37 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 01 15:40:37 2010 -0800"
      },
      "message": "Merge \"Begin implementation of generated java files from RS files.\""
    },
    {
      "commit": "8cbb8f5e1f939b03515cb4d5942c3fcb226efb9e",
      "tree": "82706f029d7d318cb034993cc19625f47ce28903",
      "parents": [
        "7714d7132e4059a1256581b3599a5808b6a6f294"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Feb 28 23:19:55 2010 -0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 01 15:32:33 2010 -0800"
      },
      "message": "Unhide zoom API.\n\nbug:2458926\n"
    },
    {
      "commit": "8a64743f37ed35af7c2204acd18bb3d62d8f66d5",
      "tree": "13222fdd1021b6af52f78d1d3576b0139b724ee1",
      "parents": [
        "c2908e60c9b021fb4bb69acff8d49981dd4dade8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Mar 01 15:31:04 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Mar 01 15:31:04 2010 -0800"
      },
      "message": "Add support for linking to a skia bitmap rather than always copying the data from the bitmap.\n"
    },
    {
      "commit": "022a43b15bb5de7544c72e073394c6ff5cfc3d47",
      "tree": "620c872220b866fc31960482434bddc32ba7d3c2",
      "parents": [
        "7895da44e32e9c76e07663aae7084f11cbacbbdb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 26 18:59:23 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 26 18:59:23 2010 -0800"
      },
      "message": "to help debugging [2461567] Home screen redraw messed up\n\nlog SF\u0027s idea of the front buffer in dumpsys.\n"
    },
    {
      "commit": "24b326a8978bf78e3e560723dde221792784325b",
      "tree": "a675e74ca0e7f430cf4f1386032154fc8895fd96",
      "parents": [
        "4d98579f43026a8213b0570e7836648902741005"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Feb 20 17:47:04 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Feb 26 14:04:43 2010 +0800"
      },
      "message": "Unhide exposure compensation API.\n\nbug:2375993\n"
    },
    {
      "commit": "bda568fb80a74bc965294572d94af6ff1486f73b",
      "tree": "74c8d9f209bf6e1b03e8d30a49c1ae18df570021",
      "parents": [
        "7ff20e30c50cf1d47a7eaacd71665a1d2f4ecdc4",
        "ce3e038ac96b0460c4fd760439ae6b886918e33d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Feb 25 00:14:47 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 25 00:14:47 2010 -0800"
      },
      "message": "Merge \"Fix issue 2327064: Music played via line out is interrupted due to the phone call audio on BT hs.\""
    },
    {
      "commit": "ce3e038ac96b0460c4fd760439ae6b886918e33d",
      "tree": "39915647c17cd344cccc30fb1275e4aeae2c10b3",
      "parents": [
        "8bb2103416cab84b96d1a911cfb3cf70ce88e0b2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 24 11:51:43 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 24 11:54:32 2010 -0800"
      },
      "message": "Fix issue 2327064: Music played via line out is interrupted due to the phone call audio on BT hs.\n\nThis is not a real fix for the issue but a change to make sure that the behavior is consistent regardless of\nexternal condidions (WIFI ON or OFF, music started before call or not, A2DP device same as SCO device...).\n\nAs there is now way to guaranty good quality audio over both SCO and A2DP simultaneously, especially when WIFI is on, We will stick to this behavior:\nWhen music is playing and we are docked to the desk dock and a call is answered with a BT SCO headset, A2DP output will be suspended.\nIf music is restarted during the call, it will appear muted to the user until the call is terminated.\n"
    },
    {
      "commit": "9ff1f96fdf1c88c55c45e0876b10a3a9686dc28a",
      "tree": "b74953b2ea4d74917ce83972bf2bebf886bb5073",
      "parents": [
        "6c0df0b47328655aa450f406ffb39fda5703a55c",
        "780d2a1b714724d85227141c76b3c64f543f00b4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 24 07:52:27 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 24 07:52:27 2010 -0800"
      },
      "message": "Merge \"Use UTF-8 strings to avoid duplicate caching, part 1\""
    },
    {
      "commit": "8bb2103416cab84b96d1a911cfb3cf70ce88e0b2",
      "tree": "271ad4fac4733850e9c1fd51ed2a0dfa0e281954",
      "parents": [
        "8ff1e3f2ec24c6b81b90e1644060e6de25fb456e",
        "22e1ca3fc59acebd05af0225b1eaed0122bc30d2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 23 23:36:37 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 23 23:36:37 2010 -0800"
      },
      "message": "Merge \"Fix issue 2305382: Pick up original call makes a noisy beep when wired headset connected.\""
    },
    {
      "commit": "c2908e60c9b021fb4bb69acff8d49981dd4dade8",
      "tree": "7b719d7ca8dc804e2906df1d38022ea4f9c22c50",
      "parents": [
        "7eecbf2085bcfe475daf68090a1a4f47fbb6ec72"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 23 17:44:28 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 23 17:44:28 2010 -0800"
      },
      "message": "Support defered generation of mipmaps.  With this change we support mipmap generation when the texture is uploaded to GL without requiring RS to retain the full chain.\n"
    },
    {
      "commit": "7eecbf2085bcfe475daf68090a1a4f47fbb6ec72",
      "tree": "60735dbb382347f4a018a3428b7ecef63a2778fd",
      "parents": [
        "33285c37abee6d95d0ac55cd7e9889cdc8d96d14"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 23 15:27:51 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 23 15:28:52 2010 -0800"
      },
      "message": "Begin implementation of generated java files from RS files.\n"
    },
    {
      "commit": "80bd6a16379a009fbad697fe1c4ffabe0f2630ff",
      "tree": "15bfe1c508d2358a21272c4662b12438de028fad",
      "parents": [
        "aff2e1b71c74776079df6adc06e6e8d5f123eeb6",
        "8c20ca39c1248bc876ab164b37ae36261c86ad98"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 23 12:52:28 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 23 12:52:28 2010 -0800"
      },
      "message": "Merge \"remove a dependency of surfaceflinger on libskia\""
    },
    {
      "commit": "22e1ca3fc59acebd05af0225b1eaed0122bc30d2",
      "tree": "058e85cbc9bb671dcd7edd2b40c023981dfdfcc3",
      "parents": [
        "f82c76656b29059e2d28b9ca4bdad11d7cba038b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 23 09:48:31 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 23 11:00:56 2010 -0800"
      },
      "message": "Fix issue 2305382: Pick up original call makes a noisy beep when wired headset connected.\n\nThe noise is the residual ring tone that is still playing while the call is answered and the\naudio route changed to headset or earpiece.\n\nThe fix consists in muting the ringing tone when changing mode from ringtone to in call\nand delaying the route change until the audio buffers are emptied.\n"
    },
    {
      "commit": "780d2a1b714724d85227141c76b3c64f543f00b4",
      "tree": "3bd5411acce1ae663e4509c812b3aaa6100c6a41",
      "parents": [
        "cfe79e9220c996ed9f60fbc00eebb23e7faba2f0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Feb 22 22:36:26 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Feb 23 10:02:20 2010 -0800"
      },
      "message": "Use UTF-8 strings to avoid duplicate caching, part 1\n\nStringBlock instances containing UTF-8 strings use a cache to convert\ninto UTF-16, but using that cache and then using a JNI call to NewString\ncauses the UTF-8 string as well as two copies of the UTF-16 string to\nbe held in memory. Getting the UTF-8 string directly from the StringPool\neliminates one copy of the UTF-16 string being held in memory.\n\nThis is part 1. Part 2 will include ResXMLParser optimizations.\n\nChange-Id: Ibd4509a485db746d59cd4b9501f544877139276c\n"
    },
    {
      "commit": "8c20ca39c1248bc876ab164b37ae36261c86ad98",
      "tree": "b5343a655b4e0cbef26a3ca0ebdaa54d7c3fbdcc",
      "parents": [
        "33285c37abee6d95d0ac55cd7e9889cdc8d96d14"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 22 03:15:57 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 22 17:30:40 2010 -0800"
      },
      "message": "remove a dependency of surfaceflinger on libskia\n\nlibskia was only used for a small part of SkTransform. We now implement\nTransform is surfaceflinger directly.\n"
    },
    {
      "commit": "2978bfc6ad79c8f1138d34a704ce5b3d3d70d2c1",
      "tree": "e87e3477880e64454f57cbc00cf22aea71e762a4",
      "parents": [
        "33285c37abee6d95d0ac55cd7e9889cdc8d96d14"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Feb 22 15:37:51 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Feb 22 15:37:51 2010 -0800"
      },
      "message": "beging np2 extension check work.\n"
    },
    {
      "commit": "c86727f5805f28fbd25da141c50fb6843f364f3a",
      "tree": "395806614f40b9aac7306a9e951305167fb8abe1",
      "parents": [
        "08d13c3cbb0b250b84ca861edb462060556aead9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 17:30:52 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Feb 21 23:27:25 2010 -0800"
      },
      "message": "remove a dependency of GraphicBuffer (libui) on Parcel (libbinder).\n\nAdd a Flattenable interface to libutils which can be used to flatten\nan object into bytestream + filedescriptor stream.\nParcel is modified to handle Flattenable. And GraphicBuffer implements\nFlattenable.\n\nExcept for the overlay classes libui is now independent of libbinder.\n"
    },
    {
      "commit": "ed2ab7f1062e002053e5a9d8c73672b74268dcbb",
      "tree": "1b1c74ebe0173767a6be0abb0acf77c974519147",
      "parents": [
        "6c81defa3d1111c36f8b0c9c4e84e8b2c342620f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 19 17:51:58 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 19 17:51:58 2010 -0800"
      },
      "message": "Initialize layer position\n"
    },
    {
      "commit": "bf31ed256a058310df657b072c685d60f48923d0",
      "tree": "e0429a4a5bf4b538408530aecea3fde6641c0f61",
      "parents": [
        "ea25183196970412482e4dfc3a36e756880fe5b9",
        "c2cb25d49534cc05d114332b09dbeb36480348a3"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 19 13:27:24 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 13:27:24 2010 -0800"
      },
      "message": "Merge \"Add test pattern icon to Fountain.\""
    },
    {
      "commit": "c2cb25d49534cc05d114332b09dbeb36480348a3",
      "tree": "86de294a3185d389b7158328ef4fb2da3a4c2340",
      "parents": [
        "e4c487a75282e8a38a8b3defd49e7799c8670881"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 19 13:26:08 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 19 13:26:08 2010 -0800"
      },
      "message": "Add test pattern icon to Fountain.\n"
    },
    {
      "commit": "eba3bb06a8018bc12510a266cadc267d2163e949",
      "tree": "e15f8306ad689efbd9387ba1b6bfa01122c4ceb4",
      "parents": [
        "fc081668c307b7820c8c63c8cb3146760814454b",
        "e59a54c0edc65f6092a62a137226ddf540361022"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 17 20:27:45 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 17 20:27:45 2010 -0800"
      },
      "message": "Merge \"Remove a dependency of Region (libui) on Parcel (libbinder).\""
    },
    {
      "commit": "e59a54c0edc65f6092a62a137226ddf540361022",
      "tree": "65e95cec486c7b5b9ce7a02819d6ec4eca6eb7a1",
      "parents": [
        "41207b6eb0524c6a2fe9e85f6373785e2937e90f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 17 20:22:26 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 17 20:26:47 2010 -0800"
      },
      "message": "Remove a dependency of Region (libui) on Parcel (libbinder).\n"
    },
    {
      "commit": "e4c487a75282e8a38a8b3defd49e7799c8670881",
      "tree": "cce081d45415dfe54bdd65761e85f13046c91a82",
      "parents": [
        "5bc54073186a83472963934d4325c3b9d968892f"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 17 15:38:10 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 17 15:38:10 2010 -0800"
      },
      "message": "Implement type collapsing for Elements and Types.  Now if a user creates two or more identical objects we simply reuse the existing object rather than create a new one.\n"
    },
    {
      "commit": "102f49f361b9d8d780b0f683f417f8c02a4e25f3",
      "tree": "7a3e6a960cccdb8ea5b9995d3df3d9df9d95d301",
      "parents": [
        "329c6aed7870b55ced7774924781cddb44022683"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 16 20:43:39 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 16 20:43:39 2010 -0800"
      },
      "message": "fix a bug I introduced recently where YUV formats would crash the system\n"
    },
    {
      "commit": "8f2423e8f394ae0666f1b61f83df4c0c7a4782d9",
      "tree": "cf8ea7a6f5a60e1ff45b7eeb44c2a83576787161",
      "parents": [
        "4b71fc0fa8dee98764b55aefc176599bd982f53e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 16 17:33:37 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 16 17:33:37 2010 -0800"
      },
      "message": "get rid off the YUV formats at the libui layer\n"
    },
    {
      "commit": "be16be13c6f03e5e94fc442ba6a95e420e1a0fef",
      "tree": "2b0fe30ec906e67d3e65c3e750655575b5892b61",
      "parents": [
        "206ce622fcde9429b10d7b14c516ce162890223d",
        "08956f04c628bd4d15c26b06af5beecf167deefd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 16 12:56:56 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 16 12:56:56 2010 -0800"
      },
      "message": "Merge \"minor cleanup.\""
    },
    {
      "commit": "08956f04c628bd4d15c26b06af5beecf167deefd",
      "tree": "e80d5b3a588687d73961371c8ef3989ec8084119",
      "parents": [
        "7f66d6e63dc79709ea308440ec57906980046531"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 18:50:28 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 18:50:28 2010 -0800"
      },
      "message": "minor cleanup.\n"
    },
    {
      "commit": "6f8a3dfa6bda25d98e9a3001c046496575212648",
      "tree": "1f129f2b460b28c40b894f60ccaef51a205d6ee5",
      "parents": [
        "d2affae13dfdb116adaee1bb10aaaac80a885481",
        "941533186c70d80c014859d3f09b518d31f535bf"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 12 17:26:46 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 12 17:26:46 2010 -0800"
      },
      "message": "Merge \"Add comment block matching the type defines added by RS.\""
    },
    {
      "commit": "941533186c70d80c014859d3f09b518d31f535bf",
      "tree": "e02c7f7fb68f2afce6df3e5078d63f6ded3953a5",
      "parents": [
        "965e37ec88609c36a3c5461ece459a96abb6f7ca"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 12 17:24:28 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 12 17:25:47 2010 -0800"
      },
      "message": "Add comment block matching the type defines added by RS.\n"
    },
    {
      "commit": "a9886c580b299984e62303a995bf7b13276b5bc8",
      "tree": "f481a1e98fc053de7e8d3ce8c0ec6534890dd3fb",
      "parents": [
        "7f66d6e63dc79709ea308440ec57906980046531"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 12 14:09:24 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 12 14:37:42 2010 -0800"
      },
      "message": "Totally remove Unicode.cpp and rely on ICU\n\nUnicode.cpp used a packed data table for character data that essentially\nduplicated ICU\u0027s functionality.\n\nChange-Id: Ia68fe4ac94e89dc68d9a3f45f33f6e648a5500b7\n"
    },
    {
      "commit": "7f66d6e63dc79709ea308440ec57906980046531",
      "tree": "40d508171cb703c42b91a292cc69bfc0044a0a49",
      "parents": [
        "96898b38fa72957963fd768b379df5d2860a7f3c",
        "128ce4b24ad0ee2c2ed56af9a0d800d7dc6111c0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 14:09:03 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 12 14:09:03 2010 -0800"
      },
      "message": "Merge changes I128ce4b2,I5cbb940c\n\n* changes:\n  real fix for [2440014] launcher2 crashing in loop during boot\n  Revert \"Revert \"RenderScript should not depend on libsurfaceflinger_client.so\"\"\n"
    },
    {
      "commit": "128ce4b24ad0ee2c2ed56af9a0d800d7dc6111c0",
      "tree": "f777da7ff4020a608a97e071a4bada2917cd8ec8",
      "parents": [
        "5cbb940cf6b1fd2b44d66bc40e5c3e8429bbd741"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 14:04:35 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 14:04:35 2010 -0800"
      },
      "message": "real fix for [2440014] launcher2 crashing in loop during boot\n\nSurface* cannot be casted to void* and then to android_native_window_t*\n"
    },
    {
      "commit": "564bfc27f253694183f5972cdda6357c66bd7bbd",
      "tree": "b9af3f503d7183a8f9f1cf5fe99fcf391eaa0c89",
      "parents": [
        "965e37ec88609c36a3c5461ece459a96abb6f7ca"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 12 13:01:16 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 12 13:01:16 2010 -0800"
      },
      "message": "Excise code from Unicode.cpp that was dead\n\nRemove some utility functions for discovering character data\nthat ICU probably took over a while ago.\n\nChange-Id: I97abe4de2f51eb2bf48679941258bc501184c3dc\n"
    },
    {
      "commit": "5cbb940cf6b1fd2b44d66bc40e5c3e8429bbd741",
      "tree": "b159bd272cdb42a6c9a68a547334a38a2f0b8798",
      "parents": [
        "90762d35a99e32ed22cdfb1f81252544ee22e30b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 12:00:38 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 12 12:00:38 2010 -0800"
      },
      "message": "Revert \"Revert \"RenderScript should not depend on libsurfaceflinger_client.so\"\"\n\nThis reverts commit a0659aa36c987e28e29778bd97e75fe52152c60e.\n"
    },
    {
      "commit": "a0659aa36c987e28e29778bd97e75fe52152c60e",
      "tree": "b3cb8b2888c171060e94a787381cfa3303dda100",
      "parents": [
        "470969346d7958f859d97d1a136b4ecc11e2a464"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Feb 12 18:21:26 2010 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Feb 12 18:21:26 2010 +0800"
      },
      "message": "Revert \"RenderScript should not depend on libsurfaceflinger_client.so\"\n\nThis reverts commit 88b55fb090ace1a835f890758866f42f03795c12.\n"
    },
    {
      "commit": "88b55fb090ace1a835f890758866f42f03795c12",
      "tree": "06f73ef2db182b1b1d7312af52b3dae83b741faa",
      "parents": [
        "000479f9e325b4e426a67033abd92d47da412725"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 14:57:11 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 14:57:11 2010 -0800"
      },
      "message": "RenderScript should not depend on libsurfaceflinger_client.so\n"
    },
    {
      "commit": "000479f9e325b4e426a67033abd92d47da412725",
      "tree": "16b93ea777744aa24ffe7d3a191bb90529ad4ce5",
      "parents": [
        "28a5dc229ed25c771cde25668928edc788073029"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 09 17:46:37 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 13:16:22 2010 -0800"
      },
      "message": "split libsurfaceflinger_client and libcamera_client out of libui\n"
    },
    {
      "commit": "8dd9ca3e971c6f69b58ca201a313c61f94fa93ef",
      "tree": "f5f35b453c803072dba74880b85f795e8ab36a8a",
      "parents": [
        "586f3b5d32c0464a4e69c92f89865eea672ab665"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 18:09:36 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 18:09:36 2010 -0800"
      },
      "message": "Change default mode.\n"
    },
    {
      "commit": "586f3b5d32c0464a4e69c92f89865eea672ab665",
      "tree": "5ee6dbfb9e195cf9b5060e4c3936ac286489250d",
      "parents": [
        "1d317d1453348d66e41c8b677a27340803139d4b"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 18:07:37 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 18:07:37 2010 -0800"
      },
      "message": "Add java benchmark to imageProcessing.\n"
    },
    {
      "commit": "1d317d1453348d66e41c8b677a27340803139d4b",
      "tree": "810fb0d11ba3ac678cdf38b8c23a7c9f6875c1d4",
      "parents": [
        "aa82768b8c6b6e81bb048d2d72b6586eb66b5b5d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 16:58:16 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 16:58:16 2010 -0800"
      },
      "message": "Cleanup image processing example script.\n"
    },
    {
      "commit": "a5cbed967d98926a89c8da6ea76635a9c597e579",
      "tree": "a9bb3b31c55254c57a80ccdd0f8db058b7b294ed",
      "parents": [
        "05b2f71ebd8c3e46cd0ca91d8b2313d2a3e530c2",
        "ec2746c33f10d4cd24823d217fa26a4b9f3eab76"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 15:04:56 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 10 15:04:56 2010 -0800"
      },
      "message": "Merge \"Fix ImageProcessing example.\""
    },
    {
      "commit": "ec2746c33f10d4cd24823d217fa26a4b9f3eab76",
      "tree": "98065e07c812eda33ef86c9755d5b6cede743b80",
      "parents": [
        "704ff64b099406bb328898a7443921f22dbffd6d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 15:03:24 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Feb 10 15:03:24 2010 -0800"
      },
      "message": "Fix ImageProcessing example.\n"
    },
    {
      "commit": "ca35953c9064114cb09181e8bffddb2f7c2d8d53",
      "tree": "ac8dcfc6ce2c46bb87ec6812f7562c72c5d8fa69",
      "parents": [
        "a18e90176a8e2442837d0503fbfd4adb9df0818f",
        "ca9d9dc8271017e60e3a0e477e416283433e721c"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Feb 10 00:07:35 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 10 00:07:36 2010 -0800"
      },
      "message": "Merge \"Remove some logs.\""
    },
    {
      "commit": "ca9d9dc8271017e60e3a0e477e416283433e721c",
      "tree": "f5a35bcabc242a980c5f11bc3c4ef6f7db569d70",
      "parents": [
        "7406e53c4c152267bff799b0bb5d7edb6ece404f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Feb 10 13:01:48 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Feb 10 13:02:17 2010 +0800"
      },
      "message": "Remove some logs.\n"
    },
    {
      "commit": "be14332227f1265fb5196ed3f38fb6a2a1e0a39d",
      "tree": "dfd94d43203a854a332315d12405b8cc4a080cba",
      "parents": [
        "739e1f8cdaee7ad448086f61412d118cb18152c5",
        "ff723b6c43d5a8fd0ae0e0732f5d47012d74e01d"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Feb 09 20:49:06 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 09 20:49:06 2010 -0800"
      },
      "message": "Merge \"Add exposure compensation parameter.\""
    },
    {
      "commit": "b687581d4cf67fe8f25bac4333b513bcba2f3cb2",
      "tree": "36fb2ee184e50a0074d048e9e4b06b0d366cf136",
      "parents": [
        "c4893b71e56a6c945f58fa2540900d17f07b45c3",
        "704ff64b099406bb328898a7443921f22dbffd6d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 09 17:08:50 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 09 17:08:50 2010 -0800"
      },
      "message": "Merge \"Preview seperating RenderScript into RenderScript and RenderScriptGL\""
    },
    {
      "commit": "704ff64b099406bb328898a7443921f22dbffd6d",
      "tree": "f5ec300c4d3bd6cdb6225909b4435d44a4a226dd",
      "parents": [
        "5bec3aa2c6bcde7f81ca77b0887296bf05a745c8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 09 16:05:07 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 09 16:05:07 2010 -0800"
      },
      "message": "Preview seperating RenderScript into RenderScript and RenderScriptGL\n"
    },
    {
      "commit": "ba637f87367878b1cebaf1b23a62f077e9c8006f",
      "tree": "9917b377f08efa7cd1d4f17fac4251d9882e509e",
      "parents": [
        "4eaef139cf72e8f260ec4cf165c42f579cf6127d",
        "66c77a5b42517b15c933431e12445b856d804ce5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 09 15:26:44 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 09 15:26:44 2010 -0800"
      },
      "message": "Merge \"Add support for physically rotated displays\""
    },
    {
      "commit": "ff723b6c43d5a8fd0ae0e0732f5d47012d74e01d",
      "tree": "ebb57244605ea16e2206ec479b8bc5f11d435beb",
      "parents": [
        "7406e53c4c152267bff799b0bb5d7edb6ece404f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Feb 09 13:38:19 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Feb 09 18:28:50 2010 +0800"
      },
      "message": "Add exposure compensation parameter.\n\nbug:2375993\n"
    },
    {
      "commit": "5bec3aa2c6bcde7f81ca77b0887296bf05a745c8",
      "tree": "d67e8e7222d091bdbeb8e41e0306273ec48f1a89",
      "parents": [
        "0066b084b9ac10842769b3cbf755482560d21cd8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Feb 08 16:31:39 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Feb 08 16:32:29 2010 -0800"
      },
      "message": "Fix fountain and put the demos back in the optional build.\n"
    },
    {
      "commit": "66c77a5b42517b15c933431e12445b856d804ce5",
      "tree": "2e275ec566e062c9b28ba5be5b0304157784d86b",
      "parents": [
        "0066b084b9ac10842769b3cbf755482560d21cd8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 08 15:49:35 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 08 15:49:35 2010 -0800"
      },
      "message": "Add support for physically rotated displays\n\nThis feature is currently controled by a system property.\n\"ro.sf.hwrotation\" can be set to either 90 or 270. It\u0027ll cause\nSF to rotate the screen by 90 and 270 degres respectively.\n\nThat is, if the driver reports 800x480 for instance, and\nro.sf.hwrotation is set to 90, applications will \"see\" a\n480x800 display and will run in portrait.\n\nThis is implemented by introducing an extra \"display\"\ntransformation in the GraphicPlane.\n"
    },
    {
      "commit": "fcdd394f3b25e336a3ff55960b695bc0943d4d3d",
      "tree": "bd575f5fd0a49e51a5d4a7624a07433486b03f7f",
      "parents": [
        "42d99d211f547a2b5a4632e62b38ac16a1ad481c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 04 17:13:06 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 04 17:13:06 2010 -0800"
      },
      "message": "Add support for direct EGLImageKHR use with pushbuffer API\n\nWe now always first try to use the EGLImageKHR directly before\nmaking a copy with copybit. The copy may be needed when\nEGLImage doesn\u0027t support the requested format, which is\ncurrently the case with YUV.\n"
    },
    {
      "commit": "7eae31cab43a36b6feccf523f212968619abe599",
      "tree": "f430871c3730c4b3d05b54a5a7a5384741563c4b",
      "parents": [
        "6c8d2760736a0753dad96b4bb8f98c7d075e6d54"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Jan 31 14:19:38 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Jan 31 17:03:10 2010 +0800"
      },
      "message": "Add float support for set and get in CameraParameters.\n\nbug:2375989\nbug:2375987\n"
    },
    {
      "commit": "6c8d2760736a0753dad96b4bb8f98c7d075e6d54",
      "tree": "5df1fac94e122b86f92095d697d4da8bb737d210",
      "parents": [
        "4c4300c71229638183d814ab8374e09f722910f5"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jan 27 22:55:14 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Jan 30 20:36:04 2010 +0800"
      },
      "message": "Add focal length and view angle API.\n\nbug:2375989,2375987\n"
    },
    {
      "commit": "6faf7893b6307a3295993380d61af49f2cda965c",
      "tree": "0b96c41270e160fbafb2956f8a91ec3ef1772b67",
      "parents": [
        "bf124e7e41f7850ac1b7be808221a462db6f3447"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jan 25 19:00:00 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 29 14:51:06 2010 -0800"
      },
      "message": "Simplify the MemoryDealer implementation\n\nAt some point the implementation became complicated because of\nSurfaceFlinger\u0027s special needs, since we are now relying on gralloc\nwe can go back to much simpler MemoryDealer.\n\nRemoved HeapInterface and AllocatorInterface, since those don\u0027t need\nto be paramterized anymore. Merged SimpleMemory and Allocation.\nMade SimplisticAllocator non virtual.\n\nRemoved MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)\n\nRemoved a lot of unneeded code.\n"
    },
    {
      "commit": "f145108a68bf4123ae03544d80ce4fef84320005",
      "tree": "8b352fde58e04ce6fffcc14383eac0a0d1e79008",
      "parents": [
        "1ad05dcbf506d489a99ecd9f308874d2a453db29"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 28 13:42:59 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 28 13:42:59 2010 -0800"
      },
      "message": "Remove verbose log from AudioPolicyManagerBase.\n"
    },
    {
      "commit": "2060b637f793c1ac969aad85ab0b8e27351ab711",
      "tree": "aa08aa5fb83a1d757e34d357324b0adbc745b0a4",
      "parents": [
        "0ebff76e95aab7f6827ce1a8c25f1b4ad87a9029",
        "5dbfe93b3f15f3a837836d024958635fd8f9ad14"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 27 14:48:29 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 14:48:29 2010 -0800"
      },
      "message": "Merge \"Fix some minor bugs with GL state setup that were exposed by Droids driver.\""
    },
    {
      "commit": "5dbfe93b3f15f3a837836d024958635fd8f9ad14",
      "tree": "7a86155c3054d0b7fe0d655e2f2dd21754b05330",
      "parents": [
        "445cc0e4bfd5b9460fb1cdccd22d8d54a49e5da1"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 27 14:41:43 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jan 27 14:41:43 2010 -0800"
      },
      "message": "Fix some minor bugs with GL state setup that were exposed by Droids driver.\n"
    },
    {
      "commit": "0ebff76e95aab7f6827ce1a8c25f1b4ad87a9029",
      "tree": "877df1054ffe46b509da0d7ac1ade93e854e8714",
      "parents": [
        "e6dca5c29b569ec245c665341bd8794abf6a02e9",
        "0986e7907ffc8387b04fb201e285784bcd11b9b7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 27 14:21:20 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 14:21:20 2010 -0800"
      },
      "message": "Merge \"Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync\""
    },
    {
      "commit": "89e02edf6f92c034942b697be4eccea46930cdfb",
      "tree": "849781b00d72345d5fb9a5774f2ccb608a2a13d9",
      "parents": [
        "02735bc9b7686e56957cdec9c10660c4a6dd1090",
        "d1d7706fce19a9a0cf71ff9b65f3aba9b89eeb3b"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Jan 27 09:20:19 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 09:20:19 2010 -0800"
      },
      "message": "Merge \"Add support for setting camera display orientation.\""
    },
    {
      "commit": "0986e7907ffc8387b04fb201e285784bcd11b9b7",
      "tree": "96733235d1e92e0f329ded11b9b55c0d67a4ca83",
      "parents": [
        "7d3a558b9ebf2256517ec99cd09c066cc7dbc92c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 19 17:37:09 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 26 18:40:39 2010 -0800"
      },
      "message": "Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync\n\nAdded getRenderPosition() API to IAudioFlinger to retreive number of audio frames\nwritten by AudioFlinger to audio HAL and by DSP to DAC.\n\nAdded getRenderPosition() API to AudioHardwareInterface to retreive number of audio frames\nwritten by DSP to DAC.\n\nExposed AudioTrack::getPosition() to AudioSink() to make it available to media player.\n\nRemoved excessive log in AudioHardwareGeneric.\n"
    },
    {
      "commit": "122b309481f5e606b9af4c8266d1dd75e5b1bc8c",
      "tree": "7e013756999584d479911686ee50e98d130a3517",
      "parents": [
        "508370f0cb5d3e03b1bcf04f1164ea1f384f496f",
        "a1d302e867cc86d1e9c91a2fd613af9f1eb76574"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 26 11:34:48 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 26 11:34:48 2010 -0800"
      },
      "message": "Merge \"Turn the debugging back on.\""
    },
    {
      "commit": "a1d302e867cc86d1e9c91a2fd613af9f1eb76574",
      "tree": "867ca225100bc0af350823684b9fac1d02779d53",
      "parents": [
        "df48b571144ed0b0a09c735f997cc408c3d22b2b"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 26 11:34:09 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jan 26 11:34:09 2010 -0800"
      },
      "message": "Turn the debugging back on.\n"
    },
    {
      "commit": "d1d7706fce19a9a0cf71ff9b65f3aba9b89eeb3b",
      "tree": "e4945abf24f406374fcc51fec3935fe3aeb57195",
      "parents": [
        "09ac3c3cbc6278af127cffedb9d534449e63b683"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jan 22 17:49:48 2010 -0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Jan 26 11:07:07 2010 -0800"
      },
      "message": "Add support for setting camera display orientation.\n"
    },
    {
      "commit": "c8b60d1932bb9f294550584126fc5b58a6312406",
      "tree": "0c27776ee9b05f09a0ad306c7ad6e65961f94169",
      "parents": [
        "996dddff64f90d8469e24107c44bfd618cf0c2dd"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Jan 26 10:27:15 2010 -0800"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Jan 26 10:28:52 2010 -0800"
      },
      "message": "Revert \"Fix failure to open AVRCP input device due to EPERM.\"\n\nThis reverts commit e6b1bbd8acca3f6e174c24cf4eb23a66db2d08a2.\n"
    },
    {
      "commit": "a667fda9f54f4fd44e3eb53e159b3129e0aa36fa",
      "tree": "35ec05626d342546d6826e1560304981d5efc43f",
      "parents": [
        "5dffc6bb2ac918e7d101fd2f14cf0d4fdbd32e05",
        "425324e97bba75cd69bb6c81de6248529540e6fe"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Jan 25 18:12:47 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 25 18:12:47 2010 -0800"
      },
      "message": "am 425324e9: am e834722f: Merge \"Fix failure to open AVRCP input device due to EPERM.\" into eclair\n\nMerge commit \u0027425324e97bba75cd69bb6c81de6248529540e6fe\u0027\n\n* commit \u0027425324e97bba75cd69bb6c81de6248529540e6fe\u0027:\n  Fix failure to open AVRCP input device due to EPERM.\n"
    },
    {
      "commit": "23f25cda0c73f8eb878844dea32fb0bd419edca2",
      "tree": "c1945d31c382864db8da0b829ccb017d2c31bbd6",
      "parents": [
        "bb04b631b60e0286c02e0fd4dd7ab764a001e0ce"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 25 08:49:09 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 25 14:00:10 2010 -0800"
      },
      "message": "Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active.\n\nModified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream\ntype is playing.\n\nChanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.\n"
    },
    {
      "commit": "df48b571144ed0b0a09c735f997cc408c3d22b2b",
      "tree": "3c4b6ccdf272b3dde00725c83078306a7df57e9b",
      "parents": [
        "882652bf0d78ef06635621a11a07690b7c682a7b"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jan 25 12:31:24 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jan 25 12:41:19 2010 -0800"
      },
      "message": "Cleanup seperation of Legacy and user attribs.  All user programs now use the new names.  Legacy vertex attribs are given default names.\n"
    }
  ],
  "next": "acf77033bbd4682566bcd3c535f4f1e94d23f962"
}
