)]}'
{
  "log": [
    {
      "commit": "f0252f278bed960d06f0ee315a6849d031dc2503",
      "tree": "a4de20f4db2cb719a3fb528019247a4e617f4a86",
      "parents": [
        "61a2c93ad93ffa63c7c39568c34b3fa284e622b4"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Mar 05 11:33:03 2010 -0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Mar 05 15:21:02 2010 -0800"
      },
      "message": "Still do dump() if we cannot get mServiceLock for a while.\n"
    },
    {
      "commit": "9cb6df5697f026b8ad9b03771741e7f9e6f83397",
      "tree": "5ffa3c668e08e24b498b21513ad9611948dae8a3",
      "parents": [
        "34b33fca2a049ffab389feb21ead4a3ecab4f957"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Feb 18 13:58:24 2010 -0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Feb 18 14:02:56 2010 -0800"
      },
      "message": "Fix the rgb to yuv422sp conversion. The order of uv is different from the\noriginal version, but it should be ok as the original Y,Cb,Cr are all incorrect.\n"
    },
    {
      "commit": "29d174255d6c71caa52ddd530ebf2615a7b31611",
      "tree": "3628bc73c1e5282785f6aa2d8a0ed7d05325c344",
      "parents": [
        "3db21640519541141137166ce55627cf76e1974b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 16 19:42:32 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 16 20:45:21 2010 -0800"
      },
      "message": "fix [2447659] fix improper usage of the YCbCr_420_SP format\n"
    },
    {
      "commit": "54ed4f6282bdea251455f39b978626026affdbef",
      "tree": "157d34806bbfab22e433c1eafe0e2bf72f832af2",
      "parents": [
        "39696474d715de575949a9cdf12e7ff339896f8d"
      ],
      "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": "9cce325fae8adcf7560a28eef394489f09bad74d",
      "tree": "3497604564acd2575016d3a331d661f22a8e6db3",
      "parents": [
        "4fae0fd0c9425318094d4c0059331c2c7a996c66"
      ],
      "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": "d4461e766438fc714a145213ed565fb6b6886c62",
      "tree": "96a2309fb0567d04db4efa8e7020b0377cb28da1",
      "parents": [
        "16944ca85855591464755f073e2763c009f66ff7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 28 11:19:57 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 28 11:52:43 2010 -0800"
      },
      "message": "API Extension: Support for optionally specifying a map of extra request headers when specifying the uri of media data to be played.\n\nrelated-to-bug: 2393577\n\nOriginal change by Andrei Popescu \u003candreip@google.com\u003e\n"
    },
    {
      "commit": "f091e833d339d344fbc4815bcc87ce97d8535cd8",
      "tree": "abf06e2d345aa1d73348c8380194633973dff6b6",
      "parents": [
        "fafd2adbaac51b801af6503a7fc80d1cc2dc3794"
      ],
      "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": "52e7200b6e020bba978c36e3a928493a3f2c8a92",
      "tree": "9c752d7d277ba2dfb9789763369a7373888557a2",
      "parents": [
        "d28d5be75b41fe48f486f9b83ae8685496983f5a"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jan 21 17:31:06 2010 -0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jan 21 20:20:08 2010 -0800"
      },
      "message": "Add an orientation parameter for overlay, so we can do camera preview in portrait mode.\n"
    },
    {
      "commit": "51632e800af49d044a8e573a580e83d30112054e",
      "tree": "52bd0bc823f2b77d08d48735a8471932fe3ad7d7",
      "parents": [
        "3e0a34ff321dbae00894938cdf9b731ffd8adffd"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jan 07 21:48:32 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jan 08 15:46:24 2010 -0500"
      },
      "message": "less log spew\n"
    },
    {
      "commit": "e7e93f9326faf7319c22e775e505487fb525b684",
      "tree": "2fd8951882f4978be4818d56fee1fce0da3e4f44",
      "parents": [
        "01cc538b290ecc9ccfdf1907fb714b76cf0f648b"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Jan 04 08:55:04 2010 -0800"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Jan 04 08:55:04 2010 -0800"
      },
      "message": "Remove some logging from camera operations. Bug 2346606.\n"
    },
    {
      "commit": "44b28d9e7b45b78d6ba13724d450b9f74d0c0e6f",
      "tree": "a69d4ae5d15338be8d030bb34b7968f0b3bb2f06",
      "parents": [
        "5233a4e1b7e0496157a2fa17435f773f6fb16f64"
      ],
      "author": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Wed Dec 09 16:32:04 2009 -0800"
      },
      "committer": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Wed Dec 09 16:32:04 2009 -0800"
      },
      "message": "Add missing library in linker option.  Currently the library is used by the\nexecutable but not specified.  It is included via dependency of another shared\nobject.\n"
    },
    {
      "commit": "abb64629e2aab05af21153a1fa07192d55160999",
      "tree": "b7bd6938b8c20f41d994ddfa4518f1c345c96472",
      "parents": [
        "39b2dcd126968a535036d91f3556033f18b42e87",
        "799ae618c591cf6708e1940cf3867d2d8a2a30f2"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 02 02:48:40 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 02 02:48:40 2009 -0800"
      },
      "message": "Merge change I5ff64f6f into eclair-mr2\n\n* changes:\n  Add CameraServiceTest.\n"
    },
    {
      "commit": "811f2943a7dc475267444b9abf7d27599030a9f9",
      "tree": "694324381b92a0819144e0e1bdcaa0988a6b6082",
      "parents": [
        "271715e469c53112025d34fbb4b5bd3e803ef0ef",
        "def563c45163fea9b53fc4627672fd43d4894b2f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 01 17:04:24 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 01 17:04:24 2009 -0800"
      },
      "message": "am bb3bb57a: Merge change I524dc046 into eclair\n\nMerge commit \u0027bb3bb57a6330f71323fcd7e93e88dbdab55daec3\u0027 into eclair-mr2\n\n* commit \u0027bb3bb57a6330f71323fcd7e93e88dbdab55daec3\u0027:\n  Fix issue 2192673: Music Pausing Even when notifications are set to silent.\n"
    },
    {
      "commit": "059b413e652b704c80386779641603d2bef8197a",
      "tree": "de138451bff83196de14beaf931bda339154135e",
      "parents": [
        "8f80ef11352e6dab3e43bc14a6c76888278e9c93"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 27 05:07:55 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 27 05:07:55 2009 -0800"
      },
      "message": "Fix issue 2192673: Music Pausing Even when notifications are set to silent.\n\nDo not play ringtones, notifications or camera sounds if ringer mode is silent.\n"
    },
    {
      "commit": "7371ed684eae344faa7c312219e09c7ae99156d8",
      "tree": "ffbb3c3abcae2a4b89e437863be1d463bedc046b",
      "parents": [
        "6222a51ec180f5eea927fd2262949849974a6524"
      ],
      "author": {
        "name": "Owen Lin",
        "email": "owenlin@google.com",
        "time": "Tue Nov 24 16:50:54 2009 +0800"
      },
      "committer": {
        "name": "Owen Lin",
        "email": "owenlin@google.com",
        "time": "Fri Nov 27 12:52:32 2009 +0800"
      },
      "message": "Set more camera parameters initial values.\n\nWe will need those values for new camera framework. And change the canned jpeg\nimage to match the new width and height setting.\n\nChange-Id: I49f8fb63d2b859b9e9f1c5d27657a10203315bb6\n"
    },
    {
      "commit": "799ae618c591cf6708e1940cf3867d2d8a2a30f2",
      "tree": "bdbf54767d15a2461a14229ad20513c7e32099c3",
      "parents": [
        "a4380b6ad904dfb83a5778122873ccfce87d7911"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Nov 13 12:49:14 2009 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Nov 13 12:50:58 2009 +0800"
      },
      "message": "Add CameraServiceTest.\n"
    },
    {
      "commit": "ff0f38e6fe2402b1320bc5faeea3f7bec27a3a94",
      "tree": "a9acd18ab5526d297928f96c094ca22eaa33e593",
      "parents": [
        "3bde289d23935c1138a73874999278d822b36b3c"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue Nov 10 17:08:08 2009 -0800"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue Nov 10 17:08:08 2009 -0800"
      },
      "message": "Fix potential deadlock in stopPreview/stopRecord.\n\nSome camera HALs spin up a preview thread and need to wait for\nthe thread to exit. This can create a potential deadlock. In\nstopPreview, we take the main lock. If a preview callback occurs\nwhile the lock is held, the preview thread will block. If the\ncamera HAL is waiting for the preview thread to exit, this will\ncause a deadlock.\n\nThis patch breaks out the preview buffer heap into a separate\nmutex. This mutex is never held when the main lock is held, thus\npreventing the deadlock from occuring.\n"
    },
    {
      "commit": "23c21baf27b7dbc0d4ce0f8d0d7d00437b9979e8",
      "tree": "0e4dbfb10badadbb193645de84fd24d2e116d304",
      "parents": [
        "c47c0789be990e6660ac9d2c56b74631a144360f"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri Nov 06 11:47:13 2009 -0800"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri Nov 06 11:47:13 2009 -0800"
      },
      "message": "Hold a lock while we access the preview heap.\n\ncopyFrameAndPostCopiedFrame was not holding a lock while it accessed\nthe preview heap. If the client process is torn down while the heap\nis accessed, the memcpy could access memory that was deallocated.\n\nThis patch creates a local sp reference to the preview heap while\nholding the lock, then releases the lock. This should prevent the\nheap from being pulled out from underneath us.\n"
    },
    {
      "commit": "986e0dcf7ad2bbf0ec717430cd4e84ee82a3c6ea",
      "tree": "6e5cc79434d23a456184af9067260bc15df05c37",
      "parents": [
        "d6223663f76f435e94eff7fe98505054ff06a47f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Oct 23 17:39:46 2009 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Oct 29 13:20:26 2009 +0800"
      },
      "message": "Use image rect information to display zoomed picture.\n"
    },
    {
      "commit": "393eb7967f6b5acaf82d67b0e686b921b977f461",
      "tree": "46ee03532f785c02a10d2c24593f3a70a7c3f4dd",
      "parents": [
        "39c999a537e4aacf95f617c8763c2cfb0d842838"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu Oct 15 10:02:22 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu Oct 15 15:18:08 2009 -0700"
      },
      "message": "Don\u0027t callback on NULL client. Bug 2180510.\n\nWe weren\u0027t checking to see if there was a valid camera client when\ncalling the notify callback function. Now we grab a strong pointer\nbefore the callback to guarantee that the client is not destroyed\nbefore we complete the callback. This change also fixes other\nplaces in the code where we weren\u0027t holding a local strong pointer.\n"
    },
    {
      "commit": "587f7830a1cb5a49ab413239aaeb8b111738bdd9",
      "tree": "b89ebcd42ab78585b72a14de06c8f18f3b40d0cf",
      "parents": [
        "b4055a63dc71f2c522dbcbd22af9c75823c00488"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Oct 07 19:18:20 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Oct 07 19:22:02 2009 -0700"
      },
      "message": "Retry overlay create if it fails. Bug 2153980.\n\nOccasionally we see references to the overlay hanging around long\nenough to cause problems in applications when they tried to destroy\nthe overlay and re-create it. This patch causes the camera HAL to\nretry the overlay creation call if it fails every 20ms up to 50\ntimes before it gives up.\n"
    },
    {
      "commit": "e6a550d02ff02f465d7dbb6e862671462866f024",
      "tree": "005e2a57c55f5c24400f604150727b9b91b61fe9",
      "parents": [
        "7854a353261dd276a7726d48677c18ef827b26eb"
      ],
      "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": "00900eb35473530a5fc77f7bd3ac306b6dcf19cb",
      "tree": "50ef4d7f5da62be60d0748dba6ed6713c61d6443",
      "parents": [
        "f5733b2938151fda955f01d9dc3ad15f7292604d"
      ],
      "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": "102f777f2c51bc8b5fd73d647aa529bc03152743",
      "tree": "216a2b721668744ae5c26c03a553997612a1bb23",
      "parents": [
        "d44c882e661f8d08a669b2baeb00c1abf5b2b144"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Sep 13 17:10:24 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Sep 13 17:12:35 2009 -0700"
      },
      "message": "Pass return code from Camera HAL for setParameters().\nbug 2116866\n"
    },
    {
      "commit": "d77818614ea24e7425e272d33499d405ec96b6bc",
      "tree": "807fa12799f19b8eb79c792d3d282086246550c0",
      "parents": [
        "ac6dda883eaf0a93dfdfe3ebdfa5f09bfc968b06"
      ],
      "author": {
        "name": "Snigdha Sinha",
        "email": "snigdha.sinha@motorola.com",
        "time": "Mon Aug 31 13:02:23 2009 -0500"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Sep 08 18:28:15 2009 -0700"
      },
      "message": "CameraService change for OVERLAY_FORMAT_DEFAULT\n\nOriginally from: https://partner.source.android.com/g/#change,829\n"
    },
    {
      "commit": "4c8fb0a184e51c3f561fff26ba84ceb5ec75be24",
      "tree": "bf62fcd39b8ddce9c5a9104bad23244cc747a15b",
      "parents": [
        "1689746b118fbf3a3a3e23f2ce7e2ab104d2ecfc"
      ],
      "author": {
        "name": "Benny Wong",
        "email": "Benny.Wong@motorola.com",
        "time": "Wed Aug 12 12:01:27 2009 -0500"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 13 10:46:28 2009 -0700"
      },
      "message": "Modified the camera HAL interface to use the same generic callback architecture as camera services\n"
    },
    {
      "commit": "7907df75e0e3bbbe159f545935db53359e44ec03",
      "tree": "8c05f42ce3dbc28f77fa224021d15102b24f4044",
      "parents": [
        "991ac9e1d9c1bc3d45b4e02d28e3151d5ec16af6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 13 09:24:47 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Aug 13 09:24:47 2009 -0700"
      },
      "message": "In the simulator, make sure that the preview thread is a Java thread,\nsince we won\u0027t be going through the binder in single process mode.\n"
    },
    {
      "commit": "9d91ad5d99c1318f7f1435370e29f3f337afe82f",
      "tree": "a7cd0ed053e743e9b71a440aebf83325b829bad5",
      "parents": [
        "eba4009d897b30f2e24bb464468489c739f93e17"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 17 12:17:14 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 23 06:03:39 2009 -0700"
      },
      "message": "Fix issue 1795088       Improve audio routing code\n\nInitial commit for review.\nIntegrated comments after patch set 1 review.\nFixed lockup in AudioFlinger::ThreadBase::exit()\nFixed lockup when playing tone with AudioPlocyService startTone()\n"
    },
    {
      "commit": "71f771570e1b5341048a6fbf82a7c57d885bd850",
      "tree": "7a54038caf027b749e7d8f59b4d19c54cc1f581e",
      "parents": [
        "7c38f9fbb0e140259a364302b37a1ee91e46ff23"
      ],
      "author": {
        "name": "Benny Wong",
        "email": "Benny.Wong@motorola.com",
        "time": "Wed Jul 15 18:44:27 2009 -0500"
      },
      "committer": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Thu Jul 16 14:31:20 2009 -0700"
      },
      "message": "Hardware overlay support\n\nEnable hardware overlay support for camera and video playback use cases\n"
    },
    {
      "commit": "9f1234e4600d343710635973f3296da7b39cd9a2",
      "tree": "e110a73a5cec4dd06a16f666430bc04413680b3f",
      "parents": [
        "9e76a23f59880a4709a300f5af5c6e9a348f6e19",
        "47a97daf3b85e07551751eaf095106c1a911fc99"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jul 08 17:26:05 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jul 08 17:26:05 2009 -0700"
      },
      "message": "resolved conflicts for merge of 04c7d0f8 to master\n"
    },
    {
      "commit": "f72d640b7c7de40b4c5d83b69748535e4254c941",
      "tree": "984c3ef3759970c80d7f794eb06020776307453e",
      "parents": [
        "ed65428df256e3d51c1817acdd05ad15c6a91396"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jul 08 15:56:53 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jul 08 15:59:25 2009 -0700"
      },
      "message": "Add timestamps to video frames to improve A/V sync.\nBug 1927069.\n"
    },
    {
      "commit": "cd998742c3b439eff94683e236c09c70c9729ecf",
      "tree": "ced08bb77259f4c9fadc00c1f9dab38e9d889994",
      "parents": [
        "5c670fbc50a5eaf5615fbff48cdf82a84d8059e3",
        "988fb62884c108e487a39ef03f0873f74525a9c8"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jul 01 11:20:08 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 01 11:20:08 2009 -0700"
      },
      "message": "am b8a10fe4: Allow setPreviewDisplay after startPreview.\n\nMerge commit \u0027b8a10fe45657f2dcc50cae8a06805f8438a6937e\u0027\n\n* commit \u0027b8a10fe45657f2dcc50cae8a06805f8438a6937e\u0027:\n  Allow setPreviewDisplay after startPreview.\n"
    },
    {
      "commit": "988fb62884c108e487a39ef03f0873f74525a9c8",
      "tree": "28dee31c23cf25106f7ae5e8c1e76ddd5e9ff9aa",
      "parents": [
        "0bfb456fc044666c76e5047eec19487c778e4706"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jun 23 23:37:36 2009 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jul 01 01:41:25 2009 +0800"
      },
      "message": "Allow setPreviewDisplay after startPreview.\n"
    },
    {
      "commit": "8da70e804967771eb8cef056e68296106d99df15",
      "tree": "f5b59626008b729e13ede71467ff0f3ecf32ab73",
      "parents": [
        "d54efb52acef5cfe15ec5b4efd75e9e41083f83c",
        "6007b6d7faccb0cea4a79a93c6e5065a45311e00"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 20:34:35 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 20:34:35 2009 -0700"
      },
      "message": "am c6a482e7: Merge change 5199 into donut\n\nMerge commit \u0027c6a482e778e7b5fc5790edf22e554c93f53b1112\u0027\n\n* commit \u0027c6a482e778e7b5fc5790edf22e554c93f53b1112\u0027:\n  Only remove client after the hardware is teared down, so a new client\n"
    },
    {
      "commit": "d2d6bc7552ee88063c0c26cffed87624e8aac478",
      "tree": "37d9656e830a9debdb26ad32a99fc1cba719bac5",
      "parents": [
        "c8be159ba67931ae38c552fc7b9da6084ca5a60a"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Jun 24 19:59:31 2009 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jun 25 11:03:55 2009 +0800"
      },
      "message": "Only remove client after the hardware is teared down, so a new client\nis rejected before old client is done.\n\nAlso check mUsers in all cases to make sure there are no existing client.\n"
    },
    {
      "commit": "327adb8fece5027a77a1a35edcb90566fd636d21",
      "tree": "f67e0577237919994266112a1f774fc5e5cc04e4",
      "parents": [
        "e786b1e9a24f79909a2197e02f2b6e062baee6d8",
        "c8be159ba67931ae38c552fc7b9da6084ca5a60a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 13:53:24 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 13:53:24 2009 -0700"
      },
      "message": "am 82a32714: Merge change 5190 into donut\n\nMerge commit \u002782a32714f07d25259b91163d383ccdb74a166d2d\u0027\n\n* commit \u002782a32714f07d25259b91163d383ccdb74a166d2d\u0027:\n  Fix 1933269: startPreview failed.\n"
    },
    {
      "commit": "fa89f9f89758925d7c32a03aaa44671d7a91a06c",
      "tree": "2d59574b4f07c26e4c093b74642da72f41efa4b3",
      "parents": [
        "afc52f99e12f0d634b8926c787c44c6e1e5a9233"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Jun 24 13:44:37 2009 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Jun 24 15:50:57 2009 +0800"
      },
      "message": "Fix 1933269: startPreview failed.\n\nThe reason we need this count is a new CameraService::connect() request may\ncome in while the previous Client\u0027s destructor has not been run or is still\nrunning. If the last strong reference of the previous Client is gone but\ndestructor has not been run, we should not allow the new Client to be created\nbecause we need to wait for the previous Client to tear down the hardware\nfirst.\n"
    },
    {
      "commit": "6b6c9874a11b6d06ca512905e5963d19ef381135",
      "tree": "9ddbcbc4c9b86a78c08404a9930305ce97c60b42",
      "parents": [
        "ab436aee3d04f4f596418e80ed36dabe1c39d285",
        "84159b508fd829220e8bd882a0544189269a60de"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 03:44:04 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 22 03:44:04 2009 -0700"
      },
      "message": "am 8570e5fc: Merge change 4907 into donut\n\nMerge commit \u00278570e5fcf15f6b7c22c3023e8b4757c6a880a598\u0027\n\n* commit \u00278570e5fcf15f6b7c22c3023e8b4757c6a880a598\u0027:\n  Add more debug messages for CameraService.\n"
    },
    {
      "commit": "d98c516d2854fdc4bc0e308376cd54316d3a5dc9",
      "tree": "aeefbccff20c7cd85429ba34accf4b35a1daa978",
      "parents": [
        "4f15f7a3f59481c698e0b2de9cf958edda0d5137"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Jun 22 16:03:41 2009 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Jun 22 17:06:32 2009 +0800"
      },
      "message": "Add more debug messages for CameraService.\n"
    },
    {
      "commit": "c1c759ac12e821cf8b9b266da9ae66d1b7026bf5",
      "tree": "2464feee85165d8b55f34817a0b2eee922a08fce",
      "parents": [
        "0cc76d2ab99bad2c63d353d069a97bee7a499095",
        "df1f9c518dfcabde5ebb83ea1b45e5d7887e2b31"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 16 08:37:35 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 16 08:37:35 2009 -0700"
      },
      "message": "am 7f148d65: Merge change 4316 into donut\n\nMerge commit \u00277f148d65051e577cc4a002183ec55d625b51de85\u0027\n\n* commit \u00277f148d65051e577cc4a002183ec55d625b51de85\u0027:\n  Revert \"dumpstate: Temporarily disable dumping /proc/slabinfo to avoid kernel crash.\"\n  Enable more debug message to debug the Camera startPreview bug.\n"
    },
    {
      "commit": "6a5297d204a7debb52cecbc2e84abc16b32b4dc8",
      "tree": "612c74104ecc19bbbd9041bc9bf7c7e7f49b6fcb",
      "parents": [
        "65cc82b1270258771e84b33beb7fc062864fcff0"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Jun 16 17:15:04 2009 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Jun 16 17:19:02 2009 +0800"
      },
      "message": "Enable more debug message to debug the Camera startPreview bug.\n"
    },
    {
      "commit": "1ea7ac24e73fa438862632be54724099c0295ebb",
      "tree": "74202285447556fcf2eab49e6fbad8ef1f1d6c60",
      "parents": [
        "0f61f7fa94fe94f2eb8e0d4702b891e29db86dea",
        "2b1f164a23c1d633f9eb29dbc0be9e073dc0667d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 00:20:15 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 10 00:20:15 2009 -0700"
      },
      "message": "am 084af5e1: Merge change 3551 into donut\n\nMerge commit \u0027084af5e1977e2278e68a69615f55d5fe3bb6c1a4\u0027\n\n* commit \u0027084af5e1977e2278e68a69615f55d5fe3bb6c1a4\u0027:\n  Allow the owner to reconnect to Camera.\n"
    },
    {
      "commit": "34e5a156b87d6dd0c65c9a9341c93dd3e71087b9",
      "tree": "b74d7b5c26f4bcb17ab800f980ddb0d6afe9f91a",
      "parents": [
        "bf07da97a4a58d5d4a16e60e3f9b5478a9157ad9"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Jun 09 13:56:44 2009 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Jun 09 13:58:51 2009 +0800"
      },
      "message": "Allow the owner to reconnect to Camera.\n"
    },
    {
      "commit": "83c0446f27b9542d6c2e724817b2b2d8d1f55085",
      "tree": "a5a1a310070cad89ee8aaa86d3b1b874f9d29610",
      "parents": [
        "5f2397488ab700674d059a001e917de28a1b0a0c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 22 19:00:22 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 26 16:12:20 2009 -0700"
      },
      "message": "some work to try to reduce the code size of some native libraries\n\n- make sure that all binder Bn classes define a ctor and dtor in their respective library.\n  This avoids duplication of the ctor/dtor in libraries where these objects are instantiated.\n  This is also cleaner, should we want these ctor/dtor to do something one day.\n\n- same change as above for some Bp classes and various other non-binder classes\n\n- moved the definition of CHECK_INTERFACE() in IInterface.h instead of having it everywhere.\n\n- improved the CHECK_INTERFACE() macro so it calls a single method in Parcel, instead of inlining its code everywhere\n\n- IBinder::getInterfaceDescriptor() now returns a \"const String16\u0026\" instead of String16, which saves calls to String16 and ~String16\n\n- implemented a cache for BpBinder::getInterfaceDescriptor(), since this does an IPC. HOWEVER, this method never seems to be called.\n  The cache makes BpBinder bigger, so we need to figure out if we need this method at all.\n"
    },
    {
      "commit": "83a857f5d09a7311a4a7e3b76eddf266795d9432",
      "tree": "356f8f282accdf4163b2a94e7f6e03b6cc80b110",
      "parents": [
        "1e6ecc52c049f6b0f77245c00ab14a68f8cbd4d2",
        "7118052e318a672f9633ed54aa826d564ff93bee"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 21 10:27:18 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 21 10:27:18 2009 -0700"
      },
      "message": "am 7283fb18: Merge commit \\\u00277b7225c8fdbead25235c74811b30ff4ee690dc58\\\u0027 into manual_merge\n\nMerge commit \u00277283fb18022674daee4dcdc3a218190791f8cd0e\u0027\n\n* commit \u00277283fb18022674daee4dcdc3a218190791f8cd0e\u0027:\n  AI 149133: Enable the camera permission check.\n"
    },
    {
      "commit": "7118052e318a672f9633ed54aa826d564ff93bee",
      "tree": "93b2b344788e9b6fbbaf543c79bed59c6b90b873",
      "parents": [
        "1c4b60c2f25189681474b6adf0286c69247e0f21",
        "fec880df27adeb901a0e936e7bf3f944d8b95cb7"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 21 10:17:23 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 21 10:17:23 2009 -0700"
      },
      "message": "Merge commit \u00277b7225c8fdbead25235c74811b30ff4ee690dc58\u0027 into manual_merge\n\nConflicts:\n\tcamera/libcameraservice/CameraService.cpp\n"
    },
    {
      "commit": "cfae00675e533074117f4afe99f64192ff06a0bc",
      "tree": "1687be83b6833389050d879ed373dd40fa2f9502",
      "parents": [
        "2385ce2aa45d701ba45771bf7320c6af9a8b44f1",
        "f3b2684ecf80936ac4d9e1b7a19142624f1a3629"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 21 09:42:24 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 21 09:42:24 2009 -0700"
      },
      "message": "am db79edc5: Merge change 2168 into donut\n\nMerge commit \u0027db79edc5dc39e103356cad8781148a8794520bc5\u0027\n\n* commit \u0027db79edc5dc39e103356cad8781148a8794520bc5\u0027:\n  Fix permission hole in camera service. Some debugging code was added\n"
    },
    {
      "commit": "fec880df27adeb901a0e936e7bf3f944d8b95cb7",
      "tree": "5d18cffe9f1d0eb1e31c0c13bc9c23367fc6b5b4",
      "parents": [
        "490b2ba510c0857605f4913f0fdd1c47a1d93647"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "nobody@android.com",
        "time": "Thu May 21 09:18:18 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 21 09:18:18 2009 -0700"
      },
      "message": "AI 149133: Enable the camera permission check.\n  Some debugging code was added to camera service. Later it was #ifdef\u0027d\n  out, but this change also removed the camera permission check. This\n  change puts the permission check back in.\n  BUG\u003d1869264\n\nAutomated import of CL 149133\n"
    },
    {
      "commit": "998b329525ca636930bba88db1e0fa01131b0bec",
      "tree": "8b54833cae143efcaf1ae7fec78d61b8f8f7cf70",
      "parents": [
        "956085965449bae7f01a3f65e6debc34c9577d47"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed May 20 20:02:59 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed May 20 20:02:59 2009 -0700"
      },
      "message": "Fix permission hole in camera service. Some debugging code was added\nto CameraService::onTransact() method during development. Later on\nthe entire onTransact() method was #ifdef\u0027d out, which inadvertently\nomitted the permissions check code. This change restores the code.\n"
    },
    {
      "commit": "c5b2c0bf8007562536b822eb060fc54a01f8e08b",
      "tree": "da6084f542177972cf72a985b5d2c10330f87de3",
      "parents": [
        "208059f67ed2dd9fa025e07fcb6954d3cb61c79e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 19 19:08:10 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 20 12:55:03 2009 -0700"
      },
      "message": "move libbinder\u0027s header files under includes/binder\n"
    },
    {
      "commit": "208059f67ed2dd9fa025e07fcb6954d3cb61c79e",
      "tree": "b2fde632a7c9abf4137751ffe779318c0a89bd96",
      "parents": [
        "501c6179e158b2d5bfc67cb8b7180c02ac301f97"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 18 15:08:03 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 20 12:55:02 2009 -0700"
      },
      "message": "checkpoint: split libutils into libutils + libbinder\n"
    },
    {
      "commit": "93b94584edb1c59037319d9bbf84881ccff9f66a",
      "tree": "7397a7b18c5731e1350f15ff9e9855443261b8d5",
      "parents": [
        "acbd84df864a26d2a928dcc9975001f6f7fb42d7"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 07 19:27:32 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon May 11 07:36:58 2009 -0700"
      },
      "message": "Modify camera framework to use new streamlined binder interface.\nThis is the second half of bug 1837832. Modifies the camera client\nand camera service to use the new binder interface. Removes the\nold binder interface. There will be one more part to this change\nto surface the undefined callbacks to the Java layer so that\npartners can implement new features without having to touch the\nstack.\n"
    },
    {
      "commit": "81d763f77a85309528a3f266141968a8ec08e0d4",
      "tree": "6ec9232fbb82b6f6727752ae8fcf472bedb1e1f9",
      "parents": [
        "35e5ee4e9711021ef2bfe406fcf7c8d8d729b531"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Apr 22 16:21:26 2009 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Apr 22 16:22:01 2009 +0800"
      },
      "message": "Remove debug messages.\n\tmodified:   core/java/android/hardware/Camera.java\n\n\tmodified:   camera/libcameraservice/CameraService.cpp\n"
    },
    {
      "commit": "0ae13e36e1e5052e5f889f1d3e3c07db4f2c03db",
      "tree": "eb80a0e16ac7a3a49e4a49cd365bcebd923b14e0",
      "parents": [
        "ecb28b3021825c7eb2ff65d7d5528e6acf9fc249"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 20 19:35:28 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 20 19:35:28 2009 -0700"
      },
      "message": "Remove dangling media recorder client reference when setCamera() is used.\n"
    },
    {
      "commit": "cbcb00eb7302a166411c0b87e6a9ed70298f65b2",
      "tree": "10560743ea2bf036899e083cf968cc042c6edd6b",
      "parents": [
        "816c5e2314c8dc241c962efaed6a57c0e20f7330"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "",
        "time": "Fri Mar 27 16:27:16 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 27 16:27:16 2009 -0700"
      },
      "message": "AI 143177: am: CL 142889 Fix issue #1736153\tCamera shutter sound can be muted by new AlarmClock setting.\n  Current implementation of Camera service plays the camera shutter sound over the ALARM stream so that it cannot be muted by silent mode in order to comply to some country specific requirement. A recent change made it possible for the user to mute the ALARM stream thus making this stream not suitable any more for the camera shutter sound.\n  The fix consists in creating a new stream type only accessible by native code and that cannot be muted and use it to play camera sounds.\n  Original author: elaurent\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 143177\n"
    },
    {
      "commit": "b1596ee235b568d4c25313e2d335a1203953663b",
      "tree": "f4d5456b806b51a46b7abaa2c33fbd023eb970cf",
      "parents": [
        "192f79fe71af21e6a877bd298b33be92bee6b353"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "",
        "time": "Thu Mar 26 01:57:59 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 26 01:57:59 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@142889,142889\n"
    },
    {
      "commit": "44426618172ab6605fd0d1eb1459cd2b3c8069df",
      "tree": "9957486db8fa1441f83b2d9daf9983152f159197",
      "parents": [
        "c8f10f8374f7acac8329767a5e49c7a019989b91"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "",
        "time": "Tue Mar 24 21:16:04 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 21:16:04 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141992,141992\n"
    },
    {
      "commit": "c8f10f8374f7acac8329767a5e49c7a019989b91",
      "tree": "17f67cc5eea21c7a546035f535c0b6a25bb6aa78",
      "parents": [
        "a26e6060f3483da9793cc871ea6ff1565a809648"
      ],
      "author": {
        "name": "Niko Catania",
        "email": "",
        "time": "Tue Mar 24 20:53:55 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 20:53:55 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141782,141782\n"
    },
    {
      "commit": "a26e6060f3483da9793cc871ea6ff1565a809648",
      "tree": "46bd586546ef896364e889f10075a0a40e373511",
      "parents": [
        "aab44b8cca4d51704669c345477fca84c235720a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "",
        "time": "Tue Mar 24 20:47:19 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 20:47:19 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141711,141711\n"
    },
    {
      "commit": "aab44b8cca4d51704669c345477fca84c235720a",
      "tree": "721e33be9896d117a52067aa0582c51df98c8cc5",
      "parents": [
        "9e431ace328b4c61ca163fc59eed8ca5e51f58c8"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "",
        "time": "Tue Mar 24 20:39:09 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 20:39:09 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141614,141614\n"
    },
    {
      "commit": "9e431ace328b4c61ca163fc59eed8ca5e51f58c8",
      "tree": "1a39d9773aa06cc67aeba672045409909ea403bd",
      "parents": [
        "3df5e433a2bbdec20af735fe7fd928bef8ed6ad8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "",
        "time": "Tue Mar 24 20:36:57 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 20:36:57 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141598,141598\n"
    },
    {
      "commit": "78b877e7e673bc248a878e4513f978b2eb82e1c0",
      "tree": "52c54bfbd691b85e4cf6946e800edefe9eb5a565",
      "parents": [
        "38c89491e4d9a9d951ced381e08f108a43ef33b0"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "",
        "time": "Tue Mar 24 20:21:36 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 20:21:36 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141469,141469\n"
    },
    {
      "commit": "e4d3058e2ffaec9ab0e1983676d31dce20eae5de",
      "tree": "46bd586546ef896364e889f10075a0a40e373511",
      "parents": [
        "ab9687f0f8e9c6ac29ed25a07fa67993b7664408"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "",
        "time": "Tue Mar 24 18:14:23 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:14:23 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@141708,141708\n"
    },
    {
      "commit": "ab9687f0f8e9c6ac29ed25a07fa67993b7664408",
      "tree": "721e33be9896d117a52067aa0582c51df98c8cc5",
      "parents": [
        "4d45243ceac53b611c500be9408cff341ab8edbf"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "",
        "time": "Tue Mar 24 18:01:34 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:01:34 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@141613,141613\n"
    },
    {
      "commit": "4d45243ceac53b611c500be9408cff341ab8edbf",
      "tree": "1a39d9773aa06cc67aeba672045409909ea403bd",
      "parents": [
        "0c2bcbc6cc2c41c567596e1579adae64570e9aad"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "",
        "time": "Tue Mar 24 17:58:31 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 17:58:31 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@141597,141597\n"
    },
    {
      "commit": "0c2bcbc6cc2c41c567596e1579adae64570e9aad",
      "tree": "e65580f0caa45af93f0ffd8e00884a1aa6031b3a",
      "parents": [
        "4f68be1a5b53f690f1a7d8ba62cddb5ef0022a96"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 19 23:08:54 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 19 23:08:54 2009 -0700"
      },
      "message": "auto import from //branches/cupcake_rel/...@141571\n"
    },
    {
      "commit": "edbf3b6af777b721cd2a1ef461947e51e88241e1",
      "tree": "f09427b843b192cccf8c3b5328cb81dddf6489fa",
      "parents": [
        "d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "43aa2b1cbf7a03e248e10f4d0fec0463257cd52d"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "43aa2b1cbf7a03e248e10f4d0fec0463257cd52d",
      "tree": "419be3db269033df1a79ef96e10fe15be35ce27d",
      "parents": [
        "0bb03408de8886e8d17013219967d42fb9c8cf8c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@132589\n"
    },
    {
      "commit": "0bb03408de8886e8d17013219967d42fb9c8cf8c",
      "tree": "6edc73880d91bac5532cdbece4072f7c6ec7d257",
      "parents": [
        "7222586f99599fb2de31293277b79e8d4a3acdc2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@137055\n"
    },
    {
      "commit": "a6938bab1f6fa76ae98ebbe44f4e534e05fa0993",
      "tree": "bc5a1f806bd06db8abb197e80be9ead3644c0bcc",
      "parents": [
        "e41dd756db5184519f4dacbf4d95b333822605c7"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "5f78a48bb8f7714ee231fca67d60fad77bc1cad9",
      "tree": "ac69c2deb25fc345ac453231ed7a8678df497a3e",
      "parents": [
        "8a7a67538a9977c892389bfcde76a8372aa0b56c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127101\n"
    },
    {
      "commit": "276293246ea9cbc0a578a7697cc48930376ec0e9",
      "tree": "03804488c60dda65699333d2311c8d1842ec4b65",
      "parents": [
        "e09fd9e819c23dc90bca68375645e15544861330"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    },
    {
      "commit": "e09fd9e819c23dc90bca68375645e15544861330",
      "tree": "9a9fdadd1301625f875a3c126c986c79e3363ac4",
      "parents": [
        "7c1b96a165f970a09ed239bb4fb3f1b0d8f2a407"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "7c1b96a165f970a09ed239bb4fb3f1b0d8f2a407",
      "tree": "df5a6539447324de36e95b057d6b9f0361b7a250",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
