)]}'
{
  "log": [
    {
      "commit": "968a9571a391a2dbb0512c4fb99d04ab50861753",
      "tree": "bae90c91d0b474c6b71694f6c379311929d81292",
      "parents": [
        "962f253665e0c5cc8a29de9e59ce3992dad02440",
        "516c31911578db8ce53529483c3ded918ac7dc6b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 06 17:32:13 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 06 17:32:13 2009 -0400"
      },
      "message": "Merge change I516c3191 into eclair\n\n* changes:\n  Implement data push from scripts.  Fixes the problem where apps would have to poll to monitor a scripts state. Fix bug in StoreState where state could be overridden by the default unless the script used more than one state.\n"
    },
    {
      "commit": "516c31911578db8ce53529483c3ded918ac7dc6b",
      "tree": "eee49f301e720ddfa249375abf611d550a0fba5d",
      "parents": [
        "f7ae77cd67f1a3993b8e56c1af4720a7adf4e69d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Oct 06 13:58:47 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Oct 06 13:58:47 2009 -0700"
      },
      "message": "Implement data push from scripts.  Fixes the problem where apps would have to poll to monitor a scripts state.\nFix bug in StoreState where state could be overridden by the default unless the script used more than one state.\n\nChange only impacts renderscript and renderscript apps.\n"
    },
    {
      "commit": "36f68b8f24df906c969581b0b8e1a47f95dc03cb",
      "tree": "b1c8987ccd5b30c5527fc9abcfe275f163d8d8c5",
      "parents": [
        "5bba632d877c2878384ff21566c8eb6a1a22f37b"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 28 16:14:58 2009 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Oct 06 13:25:10 2009 -0700"
      },
      "message": "Add zoom functions and sendCommand.\n\nb2060030\n"
    },
    {
      "commit": "f8e4bc9f7789b98b54fe04df56555ca8c630df70",
      "tree": "21ffd2455c4ce35e916cb9361b767db13aac7903",
      "parents": [
        "8df16d63d4e1c70cf75a9acc4f24e4e1abca5abc",
        "0c4cec7e4df87181486d280c98fba9c0f4774c37"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 02 23:35:12 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 02 23:35:12 2009 -0400"
      },
      "message": "Merge change I0c4cec7e into eclair\n\n* changes:\n  Attempt to fix [2152536] ANR in browser\n"
    },
    {
      "commit": "7f047786d9e2027a15001a653675dae5a80f9390",
      "tree": "b05e3b88c0b2b134402d6bb51487c3eec8dbc283",
      "parents": [
        "7b16834adc1003f492cd2be4b1bcc3fb73a78c23"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Oct 02 18:18:35 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Oct 02 18:18:35 2009 -0700"
      },
      "message": "Update the SimpleMesh API to support new attribute types.  Also spilt add/set commands to avoid permutation explosion.\n"
    },
    {
      "commit": "0c4cec7e4df87181486d280c98fba9c0f4774c37",
      "tree": "4d3aa4fe0101104a1816af9208d367d588bb4f4d",
      "parents": [
        "7b16834adc1003f492cd2be4b1bcc3fb73a78c23"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 02 18:12:30 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 02 18:12:30 2009 -0700"
      },
      "message": "Attempt to fix [2152536] ANR in browser\n\nThe ANR is caused by SurfaceFlinger waiting for buffers of a removed surface to become availlable.\nWhen it is removed from the current list, a Surface is marked as NO_INIT, which causes SF to return\nimmediately in the above case. For some reason, the surface here wasn\u0027t marked as NO_INIT.\n\nThis change makes the code more robust by always (irregadless or errors) setting the NO_INIT status\nin all code paths where a surface is removed from the list.\n\nAdditionaly added more information in the logs, should this happen again.\n"
    },
    {
      "commit": "9e384dddb8800c9f84f36bf26ec8df298b1d38bd",
      "tree": "675c9652b2c2cecc8dab748baa70d8cf664b11d6",
      "parents": [
        "9b150b74573ce506abd00c692fb42f46980441a3"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Oct 01 16:48:44 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Oct 01 16:48:44 2009 -0700"
      },
      "message": "Add a test pattern as rollo\u0027s icon\n"
    },
    {
      "commit": "e9ad9a719dc66437ddf021d13e6ca736a23b5413",
      "tree": "eaf8a1b1da324af59924a0d49eb6db36cae5b27c",
      "parents": [
        "5eb7c9d3e880032972c0d03dd34d9432fa7c719d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 30 17:36:20 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 30 17:40:06 2009 -0700"
      },
      "message": "Implement screen aligned bitmap drawing support.\n"
    },
    {
      "commit": "436344ae12c819f58306ceb94241a266141e1218",
      "tree": "32688c8fbc1d40fe88ef86d034052f9608176d14",
      "parents": [
        "7e1af37c3148112d9c801272bfa6359a005baf6d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Wed Sep 30 16:17:37 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Wed Sep 30 17:07:37 2009 -0700"
      },
      "message": "Turn off most of the backup-related debug logging\n\nThe core logging in BackupManagerService and in the Google backup transport are\nstill enabled at this point.\n\nChange-Id: I10abfa565bbd1097dd3631051b6aca163e4af33a\n"
    },
    {
      "commit": "7e1af37c3148112d9c801272bfa6359a005baf6d",
      "tree": "77c0ecc44f3f069aa5d824c17dab995500a5c76a",
      "parents": [
        "10be7542327e1d4483b33730164e5404ed48d73e",
        "b7d94602e740e2fc9f98b573b5a3547189250599"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 30 19:19:36 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 30 19:19:36 2009 -0400"
      },
      "message": "Merge change Ibe2085be into eclair\n\n* changes:\n  Fix issue 2153835: AudioFlinger: setParameters() can remain stuck if output thread is terminated.\n"
    },
    {
      "commit": "98a9c56acf1857adaf1773bd91c88a8364fd3fa8",
      "tree": "567d8e955821f2c32bb280408195bb778be89fc0",
      "parents": [
        "a33e3f79259b56b03c7912af35944f34ad190e3c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 30 14:42:13 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 30 15:15:07 2009 -0700"
      },
      "message": "attempt to work around [2155085, 2150246] stuck in closeTransaction()\n"
    },
    {
      "commit": "b7d94602e740e2fc9f98b573b5a3547189250599",
      "tree": "54aafea60d3f21fbf30b5507d75be9a15c51f327",
      "parents": [
        "486733c1fd564acd6d1b72e38147eb5e6d3a3d71"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 29 11:12:57 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 30 14:48:20 2009 -0700"
      },
      "message": "Fix issue 2153835: AudioFlinger: setParameters() can remain stuck if output thread is terminated.\n\nWait for the parameter set completed condition with a time out in ThreadBase::setParameters().\nAlso lock AudioFlinger mutex before accessing thread list in AudioFlinger::setParameters() and keep a strong reference\non the thread being used in case it is exited while processing the request.\n"
    },
    {
      "commit": "e4d51bb2a9706a08c3160eb39e076a89c225257c",
      "tree": "5f1eb51681c7313f57b5c340b4b3ef1ac2a3c46b",
      "parents": [
        "0100fae14ff12c36eeff07b94cdea5f8756837aa",
        "bd23e30de410761af8c68afd8c4b27990e7a099a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 30 17:27:18 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 30 17:27:18 2009 -0400"
      },
      "message": "Merge changes I8851617a,Ie1b6f244,I70cab912,Ibd23e30d into eclair\n\n* changes:\n  fix [2152247] Windows sometimes drawn scaled up.\n  invalidate the surface when the physical changes\n  introduce the notion of the requested size in the Layer state\n  remove unused code\n"
    },
    {
      "commit": "a015c9be1b623749320717ad05352eeb76cc6f11",
      "tree": "8b071558600fdcbec4a14feb49222c2ee3a62d2f",
      "parents": [
        "15f0699504e64c1e290ef8955b1306d2a4a08201",
        "45094a34f014fa79e78eea8ee2091021bf1de209"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 30 17:12:01 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 30 17:12:01 2009 -0400"
      },
      "message": "Merge change I45094a34 into eclair\n\n* changes:\n  remove dead code\n"
    },
    {
      "commit": "bd23e30de410761af8c68afd8c4b27990e7a099a",
      "tree": "e895c2ed7e53b1a8dd636212f1aeb8128aff7f9f",
      "parents": [
        "70cab91229c3c2ca4bb75ab63b552ac7d1a6a8bb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 30 14:07:22 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 30 14:07:22 2009 -0700"
      },
      "message": "fix [2152247] Windows sometimes drawn scaled up.\n"
    },
    {
      "commit": "70cab91229c3c2ca4bb75ab63b552ac7d1a6a8bb",
      "tree": "09cfd67a7edd7be37754e5ce5fe6d01b3ffd9f5d",
      "parents": [
        "e1b6f24423d61b7892e4a59f5a65b04231526712"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 30 12:48:47 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 30 12:48:47 2009 -0700"
      },
      "message": "invalidate the surface when the physical changes"
    },
    {
      "commit": "d0ac8c0879a8ba96d7ac393a2776d168009eccf7",
      "tree": "e60075f11d2aec915173627dce3a743dee7e588b",
      "parents": [
        "2a35c8d7017e4a9408a3c3b8ef1145df082d6782"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Sep 30 03:09:03 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Sep 30 03:09:03 2009 -0700"
      },
      "message": "Reduce the log spew from AudioFlinger due to a certain device that can\u0027t meet latency timing. Bug 2142215.\n"
    },
    {
      "commit": "e1b6f24423d61b7892e4a59f5a65b04231526712",
      "tree": "13ee13a164bea9004a05a76a0d751cbc66b226e7",
      "parents": [
        "8851617aea7d2cd61fd8a8585bd4414a14d71653"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 29 22:39:22 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 29 22:44:28 2009 -0700"
      },
      "message": "introduce the notion of the requested size in the Layer state\n"
    },
    {
      "commit": "8851617aea7d2cd61fd8a8585bd4414a14d71653",
      "tree": "e8bdb24d6c02169891ff6001646acb5a3314b7a2",
      "parents": [
        "45094a34f014fa79e78eea8ee2091021bf1de209"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 29 22:32:36 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 29 22:32:36 2009 -0700"
      },
      "message": "remove unused code"
    },
    {
      "commit": "45094a34f014fa79e78eea8ee2091021bf1de209",
      "tree": "bf30d341e493fcdd5a5f3b1ecd7169be7616bb06",
      "parents": [
        "a39f9188d6c1cdcacef2ab468fd78376171a3447"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 29 15:26:42 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 29 15:26:42 2009 -0700"
      },
      "message": "remove dead code\n"
    },
    {
      "commit": "bd5b57227954e27ca05932721a6917c6edde17b3",
      "tree": "abbe81e222b1cf0186d7e712f7ae7ea410541b8b",
      "parents": [
        "7957eaa69f069781d8067f8806062330572ff82c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Sep 29 13:17:27 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Sep 29 13:17:27 2009 -0700"
      },
      "message": "absf() -\u003e fabsf() instead of fabs()\n\nChange-Id: I5571a635757295aa1514aeaff72e80cc3dd8752c\n"
    },
    {
      "commit": "ff966d5f6c88a9fba033f1bb5ec087464376534d",
      "tree": "519c001fc1c13d175096b01778f38e9fd8f6638d",
      "parents": [
        "0368334db91e923021df36ae9afb81ed8256abfd",
        "5235cf3f41cfcfe39c7072fddf1ead52db31292d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 28 21:34:37 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 28 21:34:37 2009 -0400"
      },
      "message": "Merge change I5235cf3f into eclair\n\n* changes:\n  Fix but processing raster state pragma. rename stateFragmentStore to stateStore\n"
    },
    {
      "commit": "5235cf3f41cfcfe39c7072fddf1ead52db31292d",
      "tree": "e75e82bd4062b49b3c895e81410e97e7a0647830",
      "parents": [
        "3c0dfbab807a459622aeade4940daddf482dec66"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Sep 28 18:12:56 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Sep 28 18:12:56 2009 -0700"
      },
      "message": "Fix but processing raster state pragma.\nrename stateFragmentStore to stateStore\n"
    },
    {
      "commit": "fe1a86df8b1c23e3290f96dce69984bf979a462b",
      "tree": "26a6b2a07b27553efe5d6d905eb3226a50eb5071",
      "parents": [
        "279ba943553ec2368d14e1b3c8a88c36bf17785d"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 28 13:51:12 2009 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 28 13:51:59 2009 -0700"
      },
      "message": "Change FLASH_MODE_VIDEO_LIGHT to FLASH_MODE_TORCH.\n"
    },
    {
      "commit": "81384bf927c47a4efa653b14273084a13e67e3ac",
      "tree": "8b79fb1636fff36530d7db782e738f47ab301945",
      "parents": [
        "1a3c8950394b98f6f354456830208d70e87b8bb6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Sep 27 22:47:27 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Sep 27 22:47:32 2009 -0700"
      },
      "message": "don\u0027t emit GL commands when sf is in freeze mode\n\nWe were emitting GL commands, calling composition complete and releasing clients\nwithout ever calling eglSwapBuffers(), which is completely wrong on non-direct\nrenders. This could cause transient drawing artifacts when unfreezing the\nscreen (upon orientaion change for instance) and could also block the clients\nfor ever as they are waiting for their previous buffer to be rendered.\n"
    },
    {
      "commit": "960972d465d6890d51c73fc08dda7fb17825ce7f",
      "tree": "f7ce3c58e036ede073dc4c8f82bf06268cbd7ba4",
      "parents": [
        "41c64ba73cf4dbc14beeaaa618afdd908da8b0cb",
        "c4646e654a18543be4e2f7d98f63bc4e603128e1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 27 21:47:29 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 27 21:47:29 2009 -0400"
      },
      "message": "Merge change 27375 into eclair\n\n* changes:\n  Allways dump the list of allocated buffers when an allocation fails.\n"
    },
    {
      "commit": "c4646e654a18543be4e2f7d98f63bc4e603128e1",
      "tree": "334ee9d38c238da62365b10ef6e8a9f83f4a8244",
      "parents": [
        "954e98e023568b354aeec0a54668155ad9083398"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Sep 27 18:44:09 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Sep 27 18:44:09 2009 -0700"
      },
      "message": "Allways dump the list of allocated buffers when an allocation fails.\n\nHopefully this will help us understand cases of failures such as [2148405]\n"
    },
    {
      "commit": "41c64ba73cf4dbc14beeaaa618afdd908da8b0cb",
      "tree": "6919b638a8e5ea52f4423d3c3df599e71142c02f",
      "parents": [
        "a78fcccde4131d83681eabe17ec32a3900f5289e",
        "3c0dfbab807a459622aeade4940daddf482dec66"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 27 21:04:09 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 27 21:04:09 2009 -0400"
      },
      "message": "Merge change 27364 into eclair\n\n* changes:\n  Improve logging code to dump more detaild rs object info.  Fix bug with predefined elements not being recreated for contexts after one was destroyed. Add stricter type enforcement.\n"
    },
    {
      "commit": "3c0dfbab807a459622aeade4940daddf482dec66",
      "tree": "efd2b716319c8f69789ec81343776eb7d008975e",
      "parents": [
        "e7d60bfdff35ad8eace600d2a6cb81163c966bb0"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Sun Sep 27 17:50:38 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Sun Sep 27 17:50:38 2009 -0700"
      },
      "message": "Improve logging code to dump more detaild rs object info.  Fix bug with predefined elements not being recreated for contexts after one was destroyed. Add stricter type enforcement.\n"
    },
    {
      "commit": "119376ed49ff118a59b955b66b09ad57ce54587d",
      "tree": "53a179706743742f964fec5dd3ed4b1e6af137af",
      "parents": [
        "4b35d699e1ebd8f3d25b8300ff9c3923547f14d0"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Sun Sep 27 17:00:13 2009 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Sun Sep 27 17:03:12 2009 -0700"
      },
      "message": "fix \"pacakge\" typo in error log message\n"
    },
    {
      "commit": "f075b4e713c4e10e4cea12c856fcf4aaab9c29d4",
      "tree": "0bcab0d44afd8f891ab7b11170df707854c5bbb4",
      "parents": [
        "a6c402fb0ec4298413e1d37c53f0524ea3325854"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 25 20:24:54 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 25 20:24:54 2009 -0700"
      },
      "message": "Fix fountain crash.\n"
    },
    {
      "commit": "0c103af370f7f0ec59a51f43ec0f6bd51972d3cb",
      "tree": "3a43cfae2af56fb17f2fea03d147c4155feb0ea5",
      "parents": [
        "7756cbeef475127ed56bfeabecb3c291366a952f",
        "a57e982785d318ddcaa4d86486d63343acefa3fb"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 25 19:52:41 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 25 19:52:41 2009 -0400"
      },
      "message": "Merge change 27171 into eclair\n\n* changes:\n  Fix remaining object leaks.  Change FountainView to tear down the rsContext and recreate on rotation to test teardown.\n"
    },
    {
      "commit": "a57e982785d318ddcaa4d86486d63343acefa3fb",
      "tree": "28152ec1e24f54bf9768bff6c7429c37e3557b9a",
      "parents": [
        "61f08d6fa7c7657e9fbcd17e9a1c5b9114bb3844"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 25 16:50:36 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 25 16:50:36 2009 -0700"
      },
      "message": "Fix remaining object leaks.  Change FountainView to tear down the rsContext and recreate on rotation to test teardown.\n"
    },
    {
      "commit": "aafc7b547c556da095777a7ed8aac71a68fa9b0a",
      "tree": "8b4709c09a408f45c8672187d1cb8e6e1302e3de",
      "parents": [
        "6ecacd40dd56d80d6b7b8454d8f4c04124c8d899",
        "61f08d6fa7c7657e9fbcd17e9a1c5b9114bb3844"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 25 19:38:40 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 25 19:38:40 2009 -0400"
      },
      "message": "Merge change 27169 into eclair\n\n* changes:\n  Improved object lifecycle tracking and fix leaks.\n"
    },
    {
      "commit": "61f08d6fa7c7657e9fbcd17e9a1c5b9114bb3844",
      "tree": "e836663efc3047198d5aef1723cee4e5556fe8c4",
      "parents": [
        "66b2771d745aa66df5cf80b300b5ba0f936ff22e"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 25 16:37:33 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 25 16:37:33 2009 -0700"
      },
      "message": "Improved object lifecycle tracking and fix leaks.\n"
    },
    {
      "commit": "f37b258c88e339b482696183def08f5c9437a0ff",
      "tree": "f30840b18447deabba38a70d366acd322680b703",
      "parents": [
        "ba14fff7fd44c5174cb14b86c82c707dd03463d1",
        "66b2771d745aa66df5cf80b300b5ba0f936ff22e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 25 18:27:25 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 25 18:27:25 2009 -0400"
      },
      "message": "Merge change 27146 into eclair\n\n* changes:\n  Reduce debugging spew and add props to selectivly re-enable it.\n"
    },
    {
      "commit": "66b2771d745aa66df5cf80b300b5ba0f936ff22e",
      "tree": "3b2b5a14bf61b4c2a8903c3230f7df84660e07ea",
      "parents": [
        "a9e7a05b84470257637c97d65f6562aa832c66ef"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 25 15:25:00 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 25 15:25:00 2009 -0700"
      },
      "message": "Reduce debugging spew and add props to selectivly re-enable it.\n\nchange-id: Ib59ed5d7a9d479ccd1af456029735dbc65ae1efe\n"
    },
    {
      "commit": "2896f7d67aebfc1c4f251155649e82e8490339fc",
      "tree": "2d32edf2759cf79ab4c3e9108dca968bca606572",
      "parents": [
        "fb2b04b7bc505f5e600e360a9de6f63e16c21bf9",
        "a9e7a05b84470257637c97d65f6562aa832c66ef"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 25 18:00:08 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 25 18:00:08 2009 -0400"
      },
      "message": "Merge change 27137 into eclair\n\n* changes:\n  Improve renderscript context teardown.  Track object in the system and then force their cleanup by releasing all user references once destroy context is called.  Java layer will no longer send destroy notifications for objects garbage collected once a context is destroyed.\n"
    },
    {
      "commit": "a9e7a05b84470257637c97d65f6562aa832c66ef",
      "tree": "04a3175485ae7492c3387003c244953b6880c514",
      "parents": [
        "a0cad2f5d19d95cfe496ebb82f3227dd4ed7c169"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 25 14:51:22 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 25 14:51:22 2009 -0700"
      },
      "message": "Improve renderscript context teardown.  Track object in the system and then force their cleanup by releasing all user references once destroy context is called.  Java layer will no longer send destroy notifications for objects garbage collected once a context is destroyed.\n"
    },
    {
      "commit": "8de57d8fa346522404c2064a78e8f24a5aa3bf23",
      "tree": "6866182a92a2da4e189df74d2b858431ee9cef64",
      "parents": [
        "bd5219f5c3b3b692f7544ea5164b18a839f20155"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Sep 23 14:37:52 2009 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Sep 25 14:23:56 2009 -0700"
      },
      "message": "Add camera parameter key constants and documentation.\n"
    },
    {
      "commit": "65e7aa56f56097418d617663683544c25b3988ea",
      "tree": "b115e9b8c4467141b3e99e1afb6159e0d964fb84",
      "parents": [
        "0d3999f788eb01baa8ba671878387761cbbbf861"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 24 17:38:20 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 24 17:38:20 2009 -0700"
      },
      "message": "Implement pause/resume for the RS thread.\n"
    },
    {
      "commit": "0d3999f788eb01baa8ba671878387761cbbbf861",
      "tree": "dab76321d34c048a0f074297e82e11ac5671d8af",
      "parents": [
        "20b394719daa218be7ff767fad024504f12e937b",
        "d3f2eaf60a349316a219ebd12b4ee88f6d1b1261"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 24 18:46:39 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 24 18:46:39 2009 -0400"
      },
      "message": "Merge change 26942 into eclair\n\n* changes:\n  Minor cleanup of profile and compile logging.\n"
    },
    {
      "commit": "d3f2eaf60a349316a219ebd12b4ee88f6d1b1261",
      "tree": "6f75b10e7c4f4341a3e77dbf30c9543874c15cb4",
      "parents": [
        "e60446b9c1a0f4f48372a36de5b01a2ddb8121e3"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 24 15:42:52 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 24 15:42:52 2009 -0700"
      },
      "message": "Minor cleanup of profile and compile logging.\n"
    },
    {
      "commit": "b9c932ba1203b477abbb0695d8b7162f45b4e91e",
      "tree": "919e47b18a8faf32574b99e98bbd9a213e66761d",
      "parents": [
        "a6a4113d50d43930099d26b5f420f293c475e484",
        "f2d28b74850ea0869aef2ce0727a6abb7b166a5c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 24 18:21:40 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 24 18:21:40 2009 -0400"
      },
      "message": "Merge change 26925 into eclair\n\n* changes:\n  minor SurfaceFlinger code cleanup and remove unnecessary tests\n"
    },
    {
      "commit": "f2d28b74850ea0869aef2ce0727a6abb7b166a5c",
      "tree": "a59d2712a9cef92619bb003b77203592e5c32a7b",
      "parents": [
        "2ddccd16496701370572e1ad3d83da056d9ad281"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 24 14:57:26 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 24 14:57:26 2009 -0700"
      },
      "message": "minor SurfaceFlinger code cleanup and remove unnecessary tests\n"
    },
    {
      "commit": "a6a4113d50d43930099d26b5f420f293c475e484",
      "tree": "5e5392642e20105b0b675a1ed6b7e8c99ad4d23c",
      "parents": [
        "b7e89e4cdc4d0e769244b2ceaf9077359843de13",
        "e60446b9c1a0f4f48372a36de5b01a2ddb8121e3"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 24 17:56:39 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 24 17:56:39 2009 -0400"
      },
      "message": "Merge change 26917 into eclair\n\n* changes:\n  Fix invokables to make sure script pointers are setup before invoking function calls.  Reduce app startup time up to 1s.\n"
    },
    {
      "commit": "e60446b9c1a0f4f48372a36de5b01a2ddb8121e3",
      "tree": "8d9d7807a3aa295e2445095ab646a611711f7b72",
      "parents": [
        "b6f2b131c42e5148b07c7cfe22b8bd5bc5b4ad4b"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 24 14:55:38 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 24 14:55:38 2009 -0700"
      },
      "message": "Fix invokables to make sure script pointers are setup before invoking function calls.  Reduce app startup time up to 1s.\n"
    },
    {
      "commit": "a183cb5ebd974096afe2335cd4254de68d55021e",
      "tree": "cbf1dc6308bef691d6bed89f4c0385df341f31ce",
      "parents": [
        "e31c0b5693f8887410d54d590ebf1ccb05ba0cc8",
        "b6f2b131c42e5148b07c7cfe22b8bd5bc5b4ad4b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 24 15:35:17 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 24 15:35:17 2009 -0400"
      },
      "message": "Merge change 26897 into eclair\n\n* changes:\n  Removed last bits of predefined element types from native code.  Predefined types are now constructed at the java layer from standard building blocks.\n"
    },
    {
      "commit": "e31c0b5693f8887410d54d590ebf1ccb05ba0cc8",
      "tree": "dd3a9accc4463a2dd9c23dd93455dfec7351850b",
      "parents": [
        "03d2009b3e41137ed5b17a9bcdd019ec962095e6",
        "6b9dec00afec359f091ed353f371f08ff150278a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 24 15:34:26 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 24 15:34:26 2009 -0400"
      },
      "message": "Merge change 26708 into eclair\n\n* changes:\n  Remove depricated triangleMesh.\n"
    },
    {
      "commit": "b6f2b131c42e5148b07c7cfe22b8bd5bc5b4ad4b",
      "tree": "526051b48705eb45cbccd6be16be9aaff75f255b",
      "parents": [
        "6b9dec00afec359f091ed353f371f08ff150278a"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 24 12:33:45 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 24 12:33:45 2009 -0700"
      },
      "message": "Removed last bits of predefined element types from native code.  Predefined types are now constructed at the java layer from standard building blocks.\n"
    },
    {
      "commit": "4cc86e1ae80eb1938500fe5fa06bbdf8b4b7b50d",
      "tree": "29e86fea79bb021db76dda017ec3d4c72d437349",
      "parents": [
        "bb339eadcb4a3ffd2dc861ffb0f268a49238fd03"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Mon Sep 21 19:36:51 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Thu Sep 24 11:19:04 2009 -0700"
      },
      "message": "Clear the device\u0027s data from the transport when backup is disabled\n\nTurning off backup in the Settings UI constitutes an opt-out of the whole\nmechanism.  For privacy reasons we instruct the backend to wipe all of the data\nbelonging to this device when the user does this.  If the attempt fails it is\nrescheduled in the future based on the transport\u0027s requestBackupTime()\nsuggestion.  If network connectivity changes prompt the transport to indicate a\nbackup pass is appropriate \"now,\" any pending init operation is processed before\nthe backup schedule is resumed.\n\nThe broadcasts used internally to the backup manager are now fully protected;\nthird party apps can neither send nor receive them.\n\n(Also a minor logging change; don\u0027t log \u0027appropriate\u0027 EOF encountered during\nparsing of a backup data stream.)\n"
    },
    {
      "commit": "cc934763c3fc789f53edb64de16fc36d43c3705d",
      "tree": "5e9f508326cbaa27bd1fd255324dfcd4026badbf",
      "parents": [
        "44cac134655d5c3b2eeab2e42792c70a7aa8b92f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 19:16:27 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 19:16:27 2009 -0700"
      },
      "message": "turn dithering off if it\u0027s not needed\n"
    },
    {
      "commit": "44cac134655d5c3b2eeab2e42792c70a7aa8b92f",
      "tree": "517d1519e56a14c4ebec42037af458c09b0c2b28",
      "parents": [
        "8434c5369304e639efe8eab368ca410c589d87c2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 18:34:53 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 18:55:02 2009 -0700"
      },
      "message": "fix [2142193] disable GL_LINEAR when not needed\n"
    },
    {
      "commit": "6b9dec00afec359f091ed353f371f08ff150278a",
      "tree": "58ad3c03d45525d6f669f6dc86f3d01d39a24513",
      "parents": [
        "880aaa7fe0706dbadbb8f2f6b39b4f3021f74c01"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 23 16:38:37 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 23 18:07:45 2009 -0700"
      },
      "message": "Remove depricated triangleMesh.\n"
    },
    {
      "commit": "a30071273a8ee59b300eebe515db86f9070ab4a4",
      "tree": "908b3063306631ab46e179b8e36864771730f81a",
      "parents": [
        "b5501d0e5ce69a1c06d9f9a871b48db4b4274791",
        "9ac2c66f0171593113238635c6a7921c41215e77"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 23 20:27:52 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 23 20:27:52 2009 -0400"
      },
      "message": "Merge change 26728 into eclair\n\n* changes:\n  Make the renderscript timing logging available by setting debug.rs.profile\u003d1\n"
    },
    {
      "commit": "9ac2c66f0171593113238635c6a7921c41215e77",
      "tree": "77b1468329a63d5bf1e98e7c6dce739a313afce9",
      "parents": [
        "8799b96ea09d5fdd9904dd9de3002c0a9cd28fdc"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Sep 23 16:37:36 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Sep 23 17:26:07 2009 -0700"
      },
      "message": "Make the renderscript timing logging available by setting debug.rs.profile\u003d1\n"
    },
    {
      "commit": "2e4b68d57bb64d7e93139238c5a8be91ff956c2a",
      "tree": "7604a70e3ed76b71cd472c8f1320719cd5bbc835",
      "parents": [
        "bc7261130a51dc9f3461d3970eee1b923bcbf193"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 16:44:00 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 16:59:57 2009 -0700"
      },
      "message": "fix [2133214] STOPSHIP: revert I4a06bb4f: workaround for [2113743] Sholes: frozen then runtime restart going to list view\n\nRevert \"workaround for [2113743] Sholes: frozen then runtime restart going to list view\"\n\nThis reverts commit 4a06bb4f3355b0ef2b76aa883704da9d154c44ae.\n"
    },
    {
      "commit": "bc7261130a51dc9f3461d3970eee1b923bcbf193",
      "tree": "8f74c3943a2582418addd8c91e0c1307fe95f733",
      "parents": [
        "de0dfb7b65a02d4dd74c271b558adee0973fc267"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 15:44:05 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 15:49:32 2009 -0700"
      },
      "message": "fix [2132563] stuck in boot animation (framebuffer_device_open: Failed to create flip chain)\n"
    },
    {
      "commit": "5dd7c726f45fd7b7ab473471dc504c00012a6856",
      "tree": "e06c31e1f13d2de6ad2000e261e900f8e7d8b615",
      "parents": [
        "f017167f52e2459cf16fabde8afb5a6c51bd780f",
        "ebfb436a49673693b98469683451bd9ede797557"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 23 17:00:22 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 23 17:00:22 2009 -0400"
      },
      "message": "Merge change 26667 into eclair\n\n* changes:\n  Add raster object to control point and line params. Add flag to force SW rendering.\n"
    },
    {
      "commit": "ebfb436a49673693b98469683451bd9ede797557",
      "tree": "62300ba279079ae34c56dc883430afe4b336f7c6",
      "parents": [
        "59038ca98b5f258784687523ee3be11b5dfa995d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 23 13:57:02 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 23 13:57:02 2009 -0700"
      },
      "message": "Add raster object to control point and line params. Add flag to force SW rendering.\n"
    },
    {
      "commit": "bdeccbba6f6ed49da4e8e668d62754bc7263e9ce",
      "tree": "bcf306256e729c148c0f27aff4aa2c69d84cf0d1",
      "parents": [
        "3f2c70fb9e2dd503f96958db501729a20bb33c31",
        "e613468402544b3dff735ac1311a2864a6660f4a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 23 15:02:49 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 23 15:02:49 2009 -0400"
      },
      "message": "Merge change 26623 into eclair\n\n* changes:\n  fbDev wasn\u0027t initialized of hw_get_module failed, but was then used anyway.\n"
    },
    {
      "commit": "e613468402544b3dff735ac1311a2864a6660f4a",
      "tree": "4b2b634a7bf1cdc6e00e4adb4b56d8eaee983cf3",
      "parents": [
        "585c67f70f18b8879ced854c5865141d6c650cd8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 23 10:54:36 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 23 10:56:51 2009 -0700"
      },
      "message": "fbDev wasn\u0027t initialized of hw_get_module failed, but was then used anyway.\n"
    },
    {
      "commit": "59038ca98b5f258784687523ee3be11b5dfa995d",
      "tree": "c729e93a9e660c8e36d9eb9b1d65bca6e517eabc",
      "parents": [
        "008fc5d142b58688a3827a544c524dff11204c62"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Sep 22 12:26:53 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Sep 22 12:26:53 2009 -0700"
      },
      "message": "Update viewport when height or width change.\n"
    },
    {
      "commit": "f69a3f8dc54707e5be327e83cec742824d1ba263",
      "tree": "2f429e991d0499f5e1c176a2c7f5a46e522dff5f",
      "parents": [
        "2e2f6b5e6866cdba632bdd599cadbf235b80546f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 22 00:35:48 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 22 00:35:48 2009 -0700"
      },
      "message": "Fix issue 2116700: Ringer screwy while connected over Bluetooth.\n\nThere was a regression introduced in AudioFlinger by change 24114 for suspended output:\nThe suspended output was not reading and mixing audio tracks.\nWhen the phone is ringing, the A2DP output is suspended if the SCO headset and A2DP headset are the same. As the ringtone is played over the duplicated output, the fact that the A2DP output was not reading data was causing the hardware output to be stalled from time to time.\n"
    },
    {
      "commit": "fa0a4bde3fa520aa10de88239af04b45a3e28da0",
      "tree": "266be60c60e453239bdb356c854e419e129b259b",
      "parents": [
        "77fa24a5ef3ee3bc108d4bf3c77b7b4c7d0d5451"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Sep 21 14:33:20 2009 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Sep 21 14:33:20 2009 -0700"
      },
      "message": "Work around gcc 4.0.3 bug.\n\nThis appears to fix the sim-eng build on the gDapper build machines.\n\nBasic problem is that LayerBuffer::OverlaySource has a constructor that\ncalls SurfaceFlinger.signalEvent().  SurfaceFlinger lists LayerBuffer\nas a friend, but that\u0027s not enough to convince gcc that the embedded\nOverlaySource class is also a friend.  I don\u0027t see a way to make them\nfriendly, so I marked signalEvent() as public.\n"
    },
    {
      "commit": "c6a22beff2af0590c1d76342bf57853f2bc85ff8",
      "tree": "97c78bbb58f82fe22e417b10dbb3eac5ce5aff56",
      "parents": [
        "5ea916b17cf0071f4d49936a370f4b873e4eb3e3",
        "4a06bb4f3355b0ef2b76aa883704da9d154c44ae"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 20 20:12:30 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 20 20:12:30 2009 -0400"
      },
      "message": "Merge change 26081 into eclair\n\n* changes:\n  workaround for [2113743] Sholes: frozen then runtime restart going to list view\n"
    },
    {
      "commit": "4a06bb4f3355b0ef2b76aa883704da9d154c44ae",
      "tree": "190a580772bf1cf941bde1bb924ba6a6f54f7619",
      "parents": [
        "0647b580aa7874311fc77b659e4f646750ddd74e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 17 22:04:50 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Sep 20 17:08:45 2009 -0700"
      },
      "message": "workaround for [2113743] Sholes: frozen then runtime restart going to list view\n"
    },
    {
      "commit": "6cca1599f78549716ef120245e54fa1961976dda",
      "tree": "938b0ff8e0530e9e665f3ac4e7434bcefade2344",
      "parents": [
        "d163f4babe101b89aaf322c34d3bafeae237f7da"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 20 12:40:03 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 20 12:40:03 2009 -0700"
      },
      "message": "Fix issue #1862317: Browser does not appear to honor anchors (#es) in links\n\nAlso a little improved debugging output of bad resource identifiers.\n\nChange-Id: I054064ef22855608ffd722e4ccf12ce57d1992b2\n"
    },
    {
      "commit": "d342fd75267f30c299d15f2a3d25481267352482",
      "tree": "3c37b692d1eedb25a7a8be77d094cdbc622c4ec2",
      "parents": [
        "66fdd84e28a0619b7981ca00f2f2cd7681dbc82d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 18 14:24:24 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 18 14:24:24 2009 -0700"
      },
      "message": "Clean up some debugging and add 2 math lib routines.\n"
    },
    {
      "commit": "2925b8c62a03381e5b3ff159847e8312ae9dfee5",
      "tree": "8897f49792ada5363176047cc10de96579a288d0",
      "parents": [
        "56af9e9f9cbc3626acf55558d581efd2de3caa03",
        "b9481d8cf6f3ade96ed062dc3f601c777fe4430f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 18 02:55:00 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 18 02:55:00 2009 -0400"
      },
      "message": "Merge change 25496 into eclair\n\n* changes:\n  Fix issue 2127371: Possible race condition in AudioFlinger::openRecord() when a Track is being destroyed.\n"
    },
    {
      "commit": "ac7f13bc1ac8af99093987ebcb811f3892b49296",
      "tree": "e2cd07d253de353a68db17ab2820710f8ccbe2aa",
      "parents": [
        "cd25c56ad442fd5574c1fa49e0d443a80551ee1f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 17 19:19:08 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 17 19:23:59 2009 -0700"
      },
      "message": "fix [2129080] Soft reboot after clicking around and then rubbing the screen\n"
    },
    {
      "commit": "b1a1874625a6aca967601fcda53a82d8d712df45",
      "tree": "3cf96bf9cc4bf734da47e58cab3c5421e7698139",
      "parents": [
        "d55de40481c6ec7d8fbd1a38c80a6c66bf462a71"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 17 16:18:16 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 17 16:18:16 2009 -0700"
      },
      "message": "Android side of the fix for [2121211] Sholes has stutter during animations\n\na new method, compostionComplete() is added to the framebuffer hal, it is used by surfaceflinger to signal the driver that the composition is complete, BEFORE it releases its client. This gives a chance to the driver to\n"
    },
    {
      "commit": "b9481d8cf6f3ade96ed062dc3f601c777fe4430f",
      "tree": "4b6e08fb86055440d681edf00a7d891f08ca4e04",
      "parents": [
        "76f0111845f0886f522cfe1eb5ec1dee34181f7c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 17 05:12:56 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 17 09:26:04 2009 -0700"
      },
      "message": "Fix issue 2127371: Possible race condition in AudioFlinger::openRecord() when a Track is being destroyed.\n\nThe fix consists in locking AudioFlinger::mLock mutex in the TrackBase destructor before clearing the strong pointer to the shared memory client. The mutex is not locked in removeclient() any more which implies that we must make sure that the Client destructor is always called from the TrackBase destructor or that we hold the mLock mutex before calling deleting the Client.\n"
    },
    {
      "commit": "bcef9ac35da08b9f7f8a4728af94c23a7a010669",
      "tree": "c13c342c0265bc0b94608695d90e3edb6f54a918",
      "parents": [
        "76f0111845f0886f522cfe1eb5ec1dee34181f7c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 17 01:35:28 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 17 01:35:28 2009 -0700"
      },
      "message": "add basic time stats for surfaces lock time\n"
    },
    {
      "commit": "e38212a22f900468cc4a888b896bee99e1c29a1d",
      "tree": "c7a67eead4e701e8cc719a44f9163d735500b468",
      "parents": [
        "a6aca3e094719b181c9858aa57d6c2160c5cb16a"
      ],
      "author": {
        "name": "Benny Wong",
        "email": "Benny.Wong@motorola.com",
        "time": "Wed Sep 16 14:48:52 2009 -0500"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 16 20:24:21 2009 -0700"
      },
      "message": "Overlay could not set position or rotation immediately after created, it should be triggered by signalEvent().\nOriginally from: https://partner.source.android.com/g/#change,1074\n"
    },
    {
      "commit": "af369f6280c9eec0caa3f53f8e27f3713e1a7d25",
      "tree": "8021b39056c7e3e0ce50d8a6b26a4b6459aecbfa",
      "parents": [
        "75c4d498776a189f37e3d0294c9eda9ed51f6534"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 16 20:15:42 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 16 20:15:42 2009 -0700"
      },
      "message": "disable backbuffer preservation when possible, which may improve performance a bit\n"
    },
    {
      "commit": "75c4d498776a189f37e3d0294c9eda9ed51f6534",
      "tree": "6499144a5b2d4115e350c4e75c7c43f830ce2406",
      "parents": [
        "b8eb1cb79b2912b91a1b0198ba3e61776af07a79",
        "7cf03bace826631259aaa5ddc87a517e13bdee17"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 16 21:27:54 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 16 21:27:54 2009 -0400"
      },
      "message": "Merge change 25423 into eclair\n\n* changes:\n  fix [2119400] sholes: artifacting when switching orientation\n"
    },
    {
      "commit": "7cf03bace826631259aaa5ddc87a517e13bdee17",
      "tree": "48833f33eac1c4549761cc878f7945ae1cf2bbf0",
      "parents": [
        "2c68dd0483dd4f7b211bea32652d42c3c7cd602c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 16 18:27:24 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 16 18:27:24 2009 -0700"
      },
      "message": "fix [2119400] sholes: artifacting when switching orientation\n"
    },
    {
      "commit": "9080125f6753ca830b091b0103759612036be786",
      "tree": "bd5040b392f150714c330ed61208a16026440bee",
      "parents": [
        "e777e0a3d1645c1b54f12af5779cb7ccf0c82234",
        "2c68dd0483dd4f7b211bea32652d42c3c7cd602c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 16 20:00:57 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 16 20:00:57 2009 -0400"
      },
      "message": "Merge change 25393 into eclair\n\n* changes:\n  fix again [2102410] Home Screen is not displayed in the background in Landscape Mode\n"
    },
    {
      "commit": "2c68dd0483dd4f7b211bea32652d42c3c7cd602c",
      "tree": "9474980fa006d2366d6b37b4772944ab8b28f698",
      "parents": [
        "9092ab4d458ad60b459d5fad52368bde5d25f665"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 16 17:00:19 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 16 17:00:19 2009 -0700"
      },
      "message": "fix again [2102410] Home Screen is not displayed in the background in Landscape Mode\n"
    },
    {
      "commit": "07e62d1de9ca3c0f6f49973b549e8aa1e802ee5e",
      "tree": "6e3c40eeda9b240f245bcc4d5ce0f07384f9584e",
      "parents": [
        "32c687c20d6ac3080b396787147892dc85126b33",
        "be2e84193f709419634de4cc3ba0e67acf6976f3"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 16 18:06:12 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 16 18:06:12 2009 -0400"
      },
      "message": "Merge change 25185 into eclair\n\n* changes:\n  Implement renderscript Invokables.\n"
    },
    {
      "commit": "be2e84193f709419634de4cc3ba0e67acf6976f3",
      "tree": "5c940265dd0a42ef6072c03ec463a6961a6fb4d3",
      "parents": [
        "91a5d831d6e2311d4129cb6086a67ab66874992c"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 16 15:04:38 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 16 15:04:38 2009 -0700"
      },
      "message": "Implement renderscript Invokables.\n"
    },
    {
      "commit": "2bb6b2a11f50401701ed0aa098f91be158bc75a6",
      "tree": "6c07ed0d0b151f9004fb9bd41970b785d8b60ce6",
      "parents": [
        "8e9ef0e78970d0ca399bd3c9aaf9011f0e4aaebe"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 16 06:02:45 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 16 06:02:45 2009 -0700"
      },
      "message": "Fix issue 2123668: Class scope typo in AudioFlinger.cpp.\n"
    },
    {
      "commit": "8ae0384a78ee2b66a91a13fe1c2a80f0642feacd",
      "tree": "05310c9e19505fa0e5ac94ed28d246e59bcb0fa4",
      "parents": [
        "e611a6ed33d157b7ae15bdfe4e1873dc20ce7d48"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 15 19:31:28 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 15 19:31:28 2009 -0700"
      },
      "message": "revert to black video background, since we don\u0027t need the color-key anylonger\n"
    },
    {
      "commit": "e611a6ed33d157b7ae15bdfe4e1873dc20ce7d48",
      "tree": "fc1e8f0b97d6f2c4cb43c52055e5f015ffe8204a",
      "parents": [
        "dd8f6186775f69a8fef6213bcdc23be633d1ab6f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 15 19:10:47 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 15 19:21:31 2009 -0700"
      },
      "message": "fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer\n\nTake 2. We needed to check that the usage flags are \"good enough\" as opposed to \"the same\".\n\nThis reverts commit 8f17a762fe9e9f31e4e86cb60ff2bfb6b10fdee6.\n"
    },
    {
      "commit": "8f17a762fe9e9f31e4e86cb60ff2bfb6b10fdee6",
      "tree": "f9500ecdcefae8e859433c2153dcc1b2fe642909",
      "parents": [
        "d6b10fb86229ed0e904138ec4604066ea85059db"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 15 18:57:06 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 15 18:57:06 2009 -0700"
      },
      "message": "Revert \"fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer\"\n\nThis reverts commit 486aa963b63e20b7910e1004cebb4f0afabbd80f.\n"
    },
    {
      "commit": "486aa963b63e20b7910e1004cebb4f0afabbd80f",
      "tree": "b615e2ca3a60bf05a1315410df8fb4b7501105ad",
      "parents": [
        "a4fe2aca527ee45ddde6ace2316cad27dd487379"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 15 17:34:04 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 15 17:34:04 2009 -0700"
      },
      "message": "fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer\n"
    },
    {
      "commit": "2bccbcc777ca48a08663c16e90ea3f76ace6eb07",
      "tree": "8e8fa0065902422a3b3be68c343d0ba076751825",
      "parents": [
        "f73f91c5b1f66bbe4b3ca59b743a62ad5a65853f",
        "296a0ec7e149b6b373b9271683eca286b1c376ed"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 15 11:29:23 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 15 11:29:23 2009 -0400"
      },
      "message": "Merge change 25050 into eclair\n\n* changes:\n  Fix issue 2118464: cannot play ring tones and notifications after disconnecting BT headset while in call.\n"
    },
    {
      "commit": "296a0ec7e149b6b373b9271683eca286b1c376ed",
      "tree": "29d0e221e2719cc7fe816b5f45eb752607ff28ef",
      "parents": [
        "54c06152e0d9c666aec61ae5d9686d7d3327ea34"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 15 07:10:12 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 15 07:10:12 2009 -0700"
      },
      "message": "Fix issue 2118464: cannot play ring tones and notifications after disconnecting BT headset while in call.\n\nThe problem comes from the fact that when the duplicated output is closed after BT headset disconnection, the OUTPUT_CLOSED notification is not sent to AudioSystem. Then the mapping between notification stream and duplicated output cached in AudioSystem is not cleared and next time a notification is played, the duplicated output is selected and the createTrack() request is refused by AudioFlinger as the selected output doesn\u0027t exist.\nThe notification is ignored by AudioFlinger because when it is sent by the terminating playback thread, the thread has already been removed from the playback thread list.\n\nThe fix consists in sending the notification in closeOutput() and not when exiting the playback thread.\nThe same fix is applied to record threads.\n"
    },
    {
      "commit": "244f8c26365a303d9dd861bd48a29a4b48578da1",
      "tree": "33c20568a94d606507507ec5cedf2a01eba8de58",
      "parents": [
        "54c06152e0d9c666aec61ae5d9686d7d3327ea34"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Sep 15 14:51:56 2009 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Sep 15 18:29:03 2009 +0800"
      },
      "message": "Fix 2083478: Camera needs an auto-focus cancel API\n\nChange-Id: I13bda991b32aee47e82b5cf9d43b3021c416a9a2\n"
    },
    {
      "commit": "54c06152e0d9c666aec61ae5d9686d7d3327ea34",
      "tree": "0f4f6bfa0db5b2bb65a746466fd3ade731af9f7d",
      "parents": [
        "678b4c20cb92ac2b86f13e52ea86d70301358680",
        "64c0e1a51c3063991b4b01cefcf462a74a777592"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 15 02:26:19 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 15 02:26:19 2009 -0400"
      },
      "message": "Merge change 24872 into eclair\n\n* changes:\n  Fix issue 2115450: a2dp thread is started, even though we are only connected to headset and not playing music.\n"
    },
    {
      "commit": "151921a62485f2141ad1316076c196ef00e1b421",
      "tree": "d39ff4a5e1a8030bbebe79b277ca5f4c8d857471",
      "parents": [
        "bd443c01a0fadb2d536ffce1c45950f9037cbc56",
        "64a7c6bf5b73c1a401cb2aa8dfad3898166ae326"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 14 21:11:56 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 14 21:11:56 2009 -0400"
      },
      "message": "Merge change 24977 into eclair\n\n* changes:\n  add support for RGBX_8888 surfaces in SurfaceFlinger\n"
    },
    {
      "commit": "64a7c6bf5b73c1a401cb2aa8dfad3898166ae326",
      "tree": "fe2f128d94e4576d7b353df06ef816cf3ceb181c",
      "parents": [
        "e7f47f50ad0a97e32c87104e56f311db910e98f1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 14 18:10:30 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 14 18:10:30 2009 -0700"
      },
      "message": "add support for RGBX_8888 surfaces in SurfaceFlinger\n"
    },
    {
      "commit": "4503cb75a02f6465bd576366945a1c5f2c8c13f3",
      "tree": "fb7cf94a83a62f450495653d9353ed5cb0958a74",
      "parents": [
        "c2974809373697147cbe5754835cc871fb93aef1",
        "988f6ebb443846228db1749bdbdd7712d73d3f3d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 14 20:15:31 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 14 20:15:31 2009 -0400"
      },
      "message": "Merge change 24968 into eclair\n\n* changes:\n  Minor perf tweak for fountain.\n"
    },
    {
      "commit": "53973fda84d3e19642373f50fc33f646e5673584",
      "tree": "7e8157febb5585db1b97d87ca1a1c309396ec186",
      "parents": [
        "bd8527110caa5427ade0edd7ce0d00e63f15ccbc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 14 15:59:16 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 14 15:59:16 2009 -0700"
      },
      "message": "fix [2117464] SF can crash when calling dumpsys\n"
    },
    {
      "commit": "bd8527110caa5427ade0edd7ce0d00e63f15ccbc",
      "tree": "b3f278132e4c3e9b78cfdfa48a97bf84f26e5d98",
      "parents": [
        "df5e76f9c635a84efa16c5e2f6cf516b4b8fe300"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 14 15:48:42 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 14 15:48:42 2009 -0700"
      },
      "message": "make sure to update the tail pointer when undoing a dequeue\n"
    },
    {
      "commit": "988f6ebb443846228db1749bdbdd7712d73d3f3d",
      "tree": "7797a7c37886ae9e29a636f8c1bcd335a649ee68",
      "parents": [
        "482d54bb0cd9e00fd929185c31fea3ad845d97bc"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Sep 14 14:55:30 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Sep 14 15:00:05 2009 -0700"
      },
      "message": "Minor perf tweak for fountain.\n"
    },
    {
      "commit": "64c0e1a51c3063991b4b01cefcf462a74a777592",
      "tree": "269c73ac43e177f62125340f9937f09f61a84d3c",
      "parents": [
        "91e2d8651fe38a921b37a8bf8b3148c572cf9430"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 14 01:38:42 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 14 02:37:15 2009 -0700"
      },
      "message": "Fix issue 2115450: a2dp thread is started, even though we are only connected to headset and not playing music.\n\nThis is due to a regression introduced by change 24114: when no audio tracks are ready for mixing, 0s are written to audio hardware. However this should only happen if tracks have already been mixed since the audio flinger thread woke up.\nAlso do not write 0s to audio hardware in direct output threads when audio format is not linear PCM.\n"
    },
    {
      "commit": "91e2d8651fe38a921b37a8bf8b3148c572cf9430",
      "tree": "e59c620de2482fdea90b9d22959726d41b45fb8f",
      "parents": [
        "ab50b86b79936623b5e326f2ed84b3c947c8ec93",
        "8a77a995c961c7c9a3888f4212f7be87d08afae1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 14 02:43:52 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 14 02:43:52 2009 -0400"
      },
      "message": "Merge change 24337 into eclair\n\n* changes:\n  Fix issue 2107584: media server crash when AudioFlinger fails to allocate memory for track control block.\n"
    },
    {
      "commit": "3e63f9173a9d60d83c24b6412fe7dd0c42896797",
      "tree": "d55402a3194c9200aef0529800ba78110db71555",
      "parents": [
        "32d8571f509c392dca732c243e9b2138c15daecf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 11 19:18:20 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 11 19:18:20 2009 -0700"
      },
      "message": "fix [2111536] [FAST BLOCKER] Device is soft rebooted after ending the call through voice dialer\n"
    }
  ],
  "next": "248b5bd51e325107f8119b564db6a06ac51c232a"
}
