)]}'
{
  "log": [
    {
      "commit": "bb94f3107ea567ddf67bed4617c3bcbd602538df",
      "tree": "3526a7f6b2598fef61d4e03d93cf414e505b71ad",
      "parents": [
        "e40974d92873462c4f1b100c7d03b3f41756c807"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 21 10:41:33 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 21 10:41:33 2014 -0700"
      },
      "message": "Include \u003ctime.h\u003e for clock_nanosleep.\n\nChange-Id: If3098fa03003bce5d06d60e9129c10cce3c850bb\n"
    },
    {
      "commit": "0c1eeb3c8ab53954218d3b8f4be08ff21be3e985",
      "tree": "3a59dbad3788ed44780ea728f306e3eb84d915fe",
      "parents": [
        "ade631eed0df228e343f2a00db653058ff588846"
      ],
      "author": {
        "name": "Mykola Kondratenko",
        "email": "mykola.kondratenko@sonymobile.com",
        "time": "Tue Apr 15 09:35:44 2014 +0200"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 30 10:58:20 2014 +0000"
      },
      "message": "Freeing frame map\n\nFileMap memory is never released until application exit\n\nRelease it now as the texture is already loaded and the memory\nused for the packed resource can be released.\n\nChange-Id: Id08a1e466337b3a0179684eb6a444e18147ee343\n"
    },
    {
      "commit": "cee6a096b155582211f58bb3e541cf431c6ac3dc",
      "tree": "699911902474463f4f5e6c1f93c20f52f296e919",
      "parents": [
        "a0ab49bb52f44eac97f81117d6864edd6a2e0487"
      ],
      "author": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Mon Dec 16 09:42:51 2013 -0500"
      },
      "committer": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Mon Dec 16 09:42:51 2013 -0500"
      },
      "message": "[bootanimation] Drop user loadable bootanimation.zip abiltiy.\n\nA prior change removed the ability of\nthe shell to push to /data/local. Because\nof this, the bootanimation code no longer\nsupports users loading custom bootanimation.zip\nfiles. This patch drops the access attempt\nfrom the code.\n\nChange-Id: Ie30dd73699c8296be00dc6fbf14691e08baa6410\nSigned-off-by: rpcraig \u003crpcraig@tycho.ncsc.mil\u003e\n"
    },
    {
      "commit": "e58d09a5526338aa1f550a1c4111fe4d5028554d",
      "tree": "243a0d478a0cd7d28792c3ce879dbf0b200833b1",
      "parents": [
        "ce3bd309b12e9552c05d5a59a06d7883618c5ca0"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Dec 11 13:10:55 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Dec 11 13:10:55 2013 -0800"
      },
      "message": "Don\u0027t try to set service.bootanim.exit\n\ninit has never allowed the bootanimation code to\nset service.bootanim.exit, and has always generated the\ndmesg error message\n\n  \u003c3\u003e[   17.644615] init: sys_prop: permission denied uid:1003  name:service.bootanim.exit\n\nSince setting this property has no effect and never worked, delete\nthe code which tries to do it.\n\nChange-Id: Idacc5467d85479a8cf974702af8895011be585ea\n"
    },
    {
      "commit": "afd31e08299008fdc5c2813f21b2573f29dc53df",
      "tree": "7f83dd8f1e7ed71d4fe8ce280841e43ce275ac6d",
      "parents": [
        "6e2d0c1d91f644ab50e0c0b7cae4306262a4ca41"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Dec 03 13:16:03 2013 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Dec 09 16:23:16 2013 +0000"
      },
      "message": "Reimplement ZipFileRO in terms of libziparchive.\n\nThis lets us share zip archive processing code with both\nthe runtime (Art, dalvik) and critical java code\n(StrictJarFile).\n\nThis change also moves several utility methods to ZipUtils\nand dedups code across several zip inflation methods.\n\nOne of the side effects of this change is that several\nprocessing loops are now O(n) instead of O(n^2).\n\nbug: 10193060\n\nChange-Id: I3c7188496837a47246c4f342e45485a70fef3169\n"
    },
    {
      "commit": "dbccd44a638ae8705a5b14bff8b2dd74abc26045",
      "tree": "14bfabaf3f3c7be86dfc064e919e00433a0cf2bb",
      "parents": [
        "ecfae4f899873f224e1aeed076dc8a41f8884487",
        "b873a17ce7be0a9771c24999adca6964431728f6"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Nov 22 11:18:57 2013 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Nov 22 11:18:57 2013 -0800"
      },
      "message": "Merge commit \u0027b873a17ce7be0a9771c24999adca6964431728f6\u0027 into HEAD\n\nChange-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd\n"
    },
    {
      "commit": "c367d48c55e5a3fa0df14fd62889e4bb6b63cb01",
      "tree": "cc6a7e56e5c5e74d66603c8170660fd99c52bff3",
      "parents": [
        "b4cae4a955ebd91cf35aaeb00ab12ce6f1d5fc48"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 29 13:12:55 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 29 13:12:55 2013 -0700"
      },
      "message": "Fix a variety of small publicly-reported bugs.\n\nPossible NULL dereference in cmds/bootanimation/BootAnimation.cpp.\nhttps://code.google.com/p/android/issues/detail?id\u003d61556\n\nMissing fclose in core/jni/android_os_Debug.cpp.\nhttps://code.google.com/p/android/issues/detail?id\u003d61546\n\nBad loop guards in core/jni/android_util_Process.cpp.\nhttps://code.google.com/p/android/issues/detail?id\u003d61557\n\nAssignment to wrong variable in libs/androidfw/AssetManager.cpp.\nhttps://code.google.com/p/android/issues/detail?id\u003d61560\n\nMissing delete[]s in libs/androidfw/ObbFile.cpp.\nhttps://code.google.com/p/android/issues/detail?id\u003d61549\n\nLeaks on error in tools/aapt/Images.cpp.\nhttps://code.google.com/p/android/issues/detail?id\u003d61552\n\nTwo missing fclose calls in tools/aapt/Resource.cpp.\nhttps://code.google.com/p/android/issues/detail?id\u003d61553\n\nMissing fclose in tools/aidl/aidl.cpp.\nhttps://code.google.com/p/android/issues/detail?id\u003d61554\n\nChange-Id: I5820f3824e72d07a9acb776cf0af3e7443f5694a\n"
    },
    {
      "commit": "5827cb5059ed0eec4c73adf1acbd7ee47b2c5c8f",
      "tree": "efcece724190c59e9123196c5b648d927701013f",
      "parents": [
        "3a6f25512c0a682b10961a5a7428e3393ffb0b75"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Jul 26 14:58:06 2013 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Aug 01 12:52:21 2013 -0400"
      },
      "message": "Changes needed to support Skia at r10377.\n\nChange-Id: Id1e1c8c5938ee1a33c6fa3caabd2c28e89243eb4\n"
    },
    {
      "commit": "0b722fe9ce98d97dbcb6fefd170b85ab7037e528",
      "tree": "67b40b76ec957ba919dd9e7d9b450fa7d2b2bfd9",
      "parents": [
        "d59db50ab0c3c7a232b2a564e763ca46c6f6ebfa"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 24 22:40:14 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 27 14:34:53 2012 -0700"
      },
      "message": "Use new surface flinger API.\n\nChange-Id: Ic888577408a59a36481a48010e19c5e77c24e211\n"
    },
    {
      "commit": "92c6d2fc50ec2a33a2a990fe66cd70090eb461ca",
      "tree": "cb5238dfab2eaf2e7cbe6775415c30219533e204",
      "parents": [
        "aa871b0ff0fb38112a1693e80e1146cecc5db21d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 25 19:22:59 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 25 20:38:27 2012 -0700"
      },
      "message": "update to new getDisplayInfo API\n\nChange-Id: I8051b4f9f23d3ef4791176de1bbcfafacae7d579\n"
    },
    {
      "commit": "d3782b26b2026e60a8e0d4b967a156369f2a46f8",
      "tree": "4cdd65f7346993aea94bedf15fbd91e910b74b33",
      "parents": [
        "fe54cb6f3da7fe95d5141d97b0c6780e001ad058"
      ],
      "author": {
        "name": "Kevin Hester",
        "email": "khester@google.com",
        "time": "Thu Apr 26 10:38:55 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 19 17:38:43 2012 -0700"
      },
      "message": "Exit boot animation cleanly.\n\nThe desc.txt file can now mark parts as \u0027must finish cleanly\u0027 by using\n\u0027c\u0027 as the part line prefix rather than \u0027p\u0027.  If so indicated, if the\nbootanimation is asked to quit it will do so only after waiting to\nfinish that part.\n\nI considered either making init.c service killing smarter or promoting\nbootanim to be a bindable service with a requestExit method.  However,\nthese changes are probably too big/risky given our ship date.  So\nI used a property as a mailbox between SurfaceFlinger and bootanim.\n\nBug: 6679877\nChange-Id: I1f8dd9e7da1ea80a483b31fa14c4a5645922d774\n"
    },
    {
      "commit": "60691ce1600cb79ec9bb9957eee29be7a6a5e5d2",
      "tree": "644c7b8e65eab2cc4f74192bbd18a2d816118159",
      "parents": [
        "0d8eba64b2ee2921915e0f6793ddd2d8f44e2428"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 11 14:08:02 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 11 14:52:32 2012 -0700"
      },
      "message": "make the boot animation 32-bits to avoid banding\n\nBug: 6611693\n\nChange-Id: Id31b711ea755c89240eaea26f6403a031cd939e4\n"
    },
    {
      "commit": "db7dd2af93ae96e5749cfbe978c2695049d9d782",
      "tree": "43e6441ce2d9edab412fc3faf19cc4ab9e967455",
      "parents": [
        "26511012c40dbe704f4791654b28b9e0e05589d8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat May 12 15:08:21 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat May 12 15:08:21 2012 -0700"
      },
      "message": "fix BootAnimation timing\n\nWe were including the delay of the previous frame when\ncalculating the delay needed between a frame and the next.\nThis caused a bad jitter in the animation timing.\n\nWe also now use clock_nanosleep().\n\nChange-Id: Iebb8cca4d57fe2f11d83b23a736e03db7a7d2006\n"
    },
    {
      "commit": "fd135bc809589d4cadcdbcc7ececaf2d9d0969cf",
      "tree": "6605529aca5a347b7cc728b6af89d5c9e9671aac",
      "parents": [
        "4961295d19e27dd0854f2b07ae126f79ce935c8c",
        "f4b6628e5084bf317eab5326c51cbecb8fabdc45"
      ],
      "author": {
        "name": "Travis Geiselbrecht",
        "email": "travisg@google.com",
        "time": "Tue Apr 24 14:23:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 24 14:23:25 2012 -0700"
      },
      "message": "am f4b6628e: BootAnimation: fix bug to delay the appropriate amount of time per frame\n\n* commit \u0027f4b6628e5084bf317eab5326c51cbecb8fabdc45\u0027:\n  BootAnimation: fix bug to delay the appropriate amount of time per frame\n"
    },
    {
      "commit": "f4b6628e5084bf317eab5326c51cbecb8fabdc45",
      "tree": "192b53b1e8acf2ccaa56f15d95270658e4a934aa",
      "parents": [
        "5c84720322afaae4f4a7e0ea6ad71c309df7eb80"
      ],
      "author": {
        "name": "Travis Geiselbrecht",
        "email": "travisg@google.com",
        "time": "Tue Apr 24 14:14:55 2012 -0700"
      },
      "committer": {
        "name": "Travis Geiselbrecht",
        "email": "travisg@google.com",
        "time": "Tue Apr 24 14:14:55 2012 -0700"
      },
      "message": "BootAnimation: fix bug to delay the appropriate amount of time per frame\n\nChange-Id: I300b67a97a9a685cec59df12d8d605c2b0b49180\n"
    },
    {
      "commit": "8335f1ccccedb6655d96d9d5b697a7f0938235dd",
      "tree": "30a7f8b3e646157365dd51222665a68753fa25e3",
      "parents": [
        "57235fc65b5920f4867e66c8263efab49e92a21b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Feb 25 18:48:35 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 27 13:03:08 2012 -0800"
      },
      "message": "fix libgui header location\n\nChange-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe\n"
    },
    {
      "commit": "b13b9bdad2baf6ad1ec2e56b6b7598fa20f55fc4",
      "tree": "2b90dc39a35d8081ea47b038893624b69a01202d",
      "parents": [
        "6db0608dff408130b35e6f21abe746a635648b18"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 18:27:36 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 19:01:26 2012 -0800"
      },
      "message": "frameworks/base refactoring.\n\nstep 2: move libutils headers to their new home: androidfw\n\nChange-Id: I14624ba23db92a81f2cb929f104386e1fab293ef\n"
    },
    {
      "commit": "3762c311729fe9f3af085c14c5c1fb471d994c03",
      "tree": "7d4caccad80ac7327c7bff96dafc857d5f4631ad",
      "parents": [
        "7a939077bd14521c7d351af98df7ed75a8ec9c15"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "5baa3a62a97544669fba6d65a11c07f252e654dd",
      "tree": "109755e1595b438873d34b981e31f84ea64bd2a5",
      "parents": [
        "173ab4d61077c49f115b82eff34f97fda5a7273a"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Dec 20 16:23:08 2011 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Jan 03 22:38:27 2012 +0000"
      },
      "message": "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156016\n\nBug: 5449033\nChange-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298\n"
    },
    {
      "commit": "2b99e55ee3a0956a43a276f8018356ff9d08eafc",
      "tree": "6f6dd68ef11de2ecc5eeed67d478fcad1a65d4d2",
      "parents": [
        "785fd3685a69e5b3ef9c0958dcf4ae85f818e78d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 10 15:59:07 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 10 15:59:07 2011 -0800"
      },
      "message": "boot animation is dithered and scaled\n\ndisable dithering which shouldn\u0027t have been enabled\nin the first place because the frames are typically scaled.\nwe still use a 16-bits texture format to preserve memory.\n\nBug: 5600948\nChange-Id: Ib4d6e133df4375d0d735cd4325b6e589bbc5dafe\n"
    },
    {
      "commit": "1b253b702a356619ae3c5e68ee92062b5305c5d7",
      "tree": "26233084bf99a5aad2131ede958741fc7147547a",
      "parents": [
        "7d8fc3c911ea8e4cd1e6531118da4f72e521a944"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 15 15:20:22 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 15 15:25:39 2011 -0700"
      },
      "message": "boot animation doesn\u0027t use EGLUtils anymore\n\nChange-Id: I0767ac2a5ab814382b41c85bd5b0786c7a025255\n"
    },
    {
      "commit": "439863f3b3e725b5de1cba4940a21900369961c0",
      "tree": "90ab56432c2436c3392b02ba08876c86796a36ef",
      "parents": [
        "f1bfa84ccf61cad2b6ea9f2e6a612a54a38b79bc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 28 19:09:31 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 29 15:05:41 2011 -0700"
      },
      "message": "SF transactions are now O(1) wrt IPC instead of O(N).\n\nChange-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43\n"
    },
    {
      "commit": "7bb843ca0777111dae7daf8f1b0705817cf523c4",
      "tree": "10545edc3ce21f38282d5e67e5bc08ff729884b3",
      "parents": [
        "dfc7958a2eafba52db90743a4707eed1d780b63b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 20 14:20:59 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 15:51:35 2011 -0700"
      },
      "message": "unify SurfaceTexture and Surface\n\nAdd the concept of synchronous dequeueBuffer in SurfaceTexture\nImplement {Surface|SurfaceTextureClient}::setSwapInterval()\nAdd SurfaceTexture logging\nfix onFrameAvailable\n"
    },
    {
      "commit": "59f19e48c1c043bb9debdc35d166e397e2125d33",
      "tree": "5277f58327257cab63baaa7052573e1883501eb6",
      "parents": [
        "a5720192fe78337bcad9f509c1bbb1f8f3abb3c3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 06 19:22:12 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 06 19:22:12 2011 -0700"
      },
      "message": "clear boot-animation background with black (not transparent) pixels\n\nChange-Id: I2fcf9f303e8324cefaa2d96f1c46647f70980bb2\n"
    },
    {
      "commit": "9638e5c167be321643bf3f3ee39e3fb45541fb3b",
      "tree": "ec79a54e7f44db04b4b5cc7f09ba944f6836a258",
      "parents": [
        "2a231f8435dba525c838779e0fd44710ea23cd98"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 20 14:19:32 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 20 14:26:11 2011 -0700"
      },
      "message": "Get rid of the \"pid\" parameter from createSurface\n\nChange-Id: I28635e3f803e6abe965d79998e305f54a202465d\n"
    },
    {
      "commit": "bd9a08d318f94a3d0b2f8f9d7b16b10736d80c5c",
      "tree": "a636c061499dd9b3f9be7816708da85cfe21dd23",
      "parents": [
        "e3004e7867925e70bf4930384a265106f45f87d6"
      ],
      "author": {
        "name": "Jason parks",
        "email": "jparks@google.com",
        "time": "Mon Jan 31 15:04:34 2011 -0600"
      },
      "committer": {
        "name": "Jason parks",
        "email": "jparks@google.com",
        "time": "Mon Jan 31 15:04:43 2011 -0600"
      },
      "message": "Show the encryption boot animation.\n\nChange-Id: I15892a35238d97302b30f26bec170b9f231a3e15\n"
    },
    {
      "commit": "0d7c66b3a555356315c17da48969fee28181ceda",
      "tree": "7e2ee97d9ff616ba1a657ba3e2deb41befd05a83",
      "parents": [
        "c25c28a496012f64da57f5beb3b99f7424abb602",
        "42c94791b08022b9b214c1efb10b252567d1f0fa"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Nov 04 07:22:33 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Nov 04 07:22:44 2010 -0700"
      },
      "message": "Merge 42c94791 from open-source master\n\nChange-Id: Id17a1a787b6d46c44ba39d628129a3a27f6d70be\n"
    },
    {
      "commit": "2978751310b4efef1faa87b116fcaee9423c007f",
      "tree": "1dd4b37421a49568191c4c37eb65f24b672ef1f2",
      "parents": [
        "9df48a0305818122298a86ae9949f6688814928b"
      ],
      "author": {
        "name": "Chih-Wei Huang",
        "email": "cwhuang@linux.org.tw",
        "time": "Wed Nov 03 15:33:00 2010 +0800"
      },
      "committer": {
        "name": "Chih-Wei Huang",
        "email": "cwhuang@linux.org.tw",
        "time": "Wed Nov 03 15:33:00 2010 +0800"
      },
      "message": "Fix the animation disappeared issue\n\nThe animation movie disappears due to the incorrect logic of\ncommit c11f46259a1e8f4e7e58925aefd1ed9eaf57a7fc.\n\nChange-Id: I9c0eac2bf2950fe20e931da367036ddf38d81f52\n"
    },
    {
      "commit": "18dd95f451f866804d19797bc47ab5a2821c0020",
      "tree": "2ab37d6b4e4d31c1b8050e0223f9d0c8c14323ab",
      "parents": [
        "1a0b19b324eb6631333dcc51d9b92c3b1ead2eac",
        "05b20c034d5a1ffe64c15d155dd8511b77b8989b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Aug 17 07:48:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 17 07:48:26 2010 -0700"
      },
      "message": "am 05b20c03: Merge \"bootanimation: Don\\\u0027t open non-existing bootanimation.zip\"\n\nMerge commit \u002705b20c034d5a1ffe64c15d155dd8511b77b8989b\u0027 into gingerbread-plus-aosp\n\n* commit \u002705b20c034d5a1ffe64c15d155dd8511b77b8989b\u0027:\n  bootanimation: Don\u0027t open non-existing bootanimation.zip\n"
    },
    {
      "commit": "c11f46259a1e8f4e7e58925aefd1ed9eaf57a7fc",
      "tree": "54c99680c61b4e33b05d3278882f84bdf27da892",
      "parents": [
        "0f0dd448ea54ddb760ed77e7d9167b7d7ad1b916"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Tue Aug 10 03:12:15 2010 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Tue Aug 10 03:12:15 2010 +0800"
      },
      "message": "bootanimation: Don\u0027t open non-existing bootanimation.zip\n\nWhile booting from AOSP image, logcat always complains as following:\nW/zipro   ( 1001): Unable to open zip \u0027/data/local/bootanimation.zip\u0027:\nNo such file or directory\nW/zipro   ( 1001): Unable to open zip \u0027/system/media/bootanimation.zip\u0027:\nNo such file or directory\n\nThis patch avoids opening non-existing files.\n\nChange-Id: I54cc03f125a5e16dbc930515bd2e43c623b63f8f\n"
    },
    {
      "commit": "770492cb2b19f6a36ad748cd05fbedfbb9a67dfa",
      "tree": "3c87a789492e52b3c26b1de9608f42690b86c2cd",
      "parents": [
        "cdfd5fe2c89a30a31f9de5a5481e8997f014a89b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 28 14:22:23 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 28 17:19:16 2010 -0700"
      },
      "message": "more clean-up in preparation of bigger changes\n\nthe most important change here is the renaming of\nISurfaceFlingerClient to ISurfaceComposerClient\n\nChange-Id: I94e18b0417f50e06f21377446639c61f65f959b3\n"
    },
    {
      "commit": "000479f9e325b4e426a67033abd92d47da412725",
      "tree": "16b93ea777744aa24ffe7d3a191bb90529ad4ce5",
      "parents": [
        "28a5dc229ed25c771cde25668928edc788073029"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 09 17:46:37 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 13:16:22 2010 -0800"
      },
      "message": "split libsurfaceflinger_client and libcamera_client out of libui\n"
    },
    {
      "commit": "9f3020db15e50d07ee1ace42e47d90b076f2ce54",
      "tree": "5ccf2dc549f87d5e7e327f9ac25351a752290a38",
      "parents": [
        "818a9cf827f282addbf7c8ee23534e08a3aaa358"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 06 16:30:18 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 06 16:30:18 2009 -0800"
      },
      "message": "fix [2243164] live wallpaper screen artifacts at end of boot\n\nmake sure to glClear() the areas not touched by the animation\n"
    },
    {
      "commit": "a8826d67097b12cf9d6b14a7e32c0862f17b189a",
      "tree": "70647cff0bcb6efe7e86b516473e536dc4d3aa57",
      "parents": [
        "98a9c56acf1857adaf1773bd91c88a8364fd3fa8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 01 03:10:14 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 01 03:14:30 2009 -0700"
      },
      "message": "improve boot animation a bit\n"
    },
    {
      "commit": "8434c5369304e639efe8eab368ca410c589d87c2",
      "tree": "4b1db74f52e8308221b7e918e7075a2785e98901",
      "parents": [
        "769de37e2108542f7085536e46ddcd8eab8ad69b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 18:52:49 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 18:52:49 2009 -0700"
      },
      "message": "the boot animation is back! it broke in a recent check-in\n"
    },
    {
      "commit": "b4d5a72691846bce5779cc3db056f09a5031d7cc",
      "tree": "6303ee68783453daba62f94496829f655ad8225e",
      "parents": [
        "2e4b68d57bb64d7e93139238c5a8be91ff956c2a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 17:05:19 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 23 17:05:19 2009 -0700"
      },
      "message": "fix simulator build\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": "317a6280cc109e873646e4652be1582d870eedfd",
      "tree": "3b6d41d465282970f498e172b81ed0ee83e3183e",
      "parents": [
        "81655243a6a373cfde1e689970eeb62af19622d1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 13 17:29:02 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 13 18:19:32 2009 -0700"
      },
      "message": "Surface::GPU and Surface::HARDWARE are now deprecated; they will be set automatically if needed.\n\nthis also ripples into the window manager API by making some constant there deprecated as well.\n"
    },
    {
      "commit": "738b9a45399485893fa9541fae19c47e01bc4af4",
      "tree": "46b664039e1fe144a17dd87eec19bd2549162ce9",
      "parents": [
        "a1f6eff297a3e4870e22fdae926648bda3466805"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 06 16:41:02 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 06 16:41:02 2009 -0700"
      },
      "message": "make sure bootanimation will choose the right config wrt the native surface\n"
    },
    {
      "commit": "abac01052c1c40f8582fe9f010c2efe6013e25c6",
      "tree": "4662643547957b2f93fbb7f8e5c5d38addaaf56e",
      "parents": [
        "1a20bae18ce05a5a141810492549d351a82f6490"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 31 14:47:00 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 31 14:47:00 2009 -0700"
      },
      "message": "be more robust when errors occur upon EGL surface creation (ie: don\u0027t crash)\n"
    },
    {
      "commit": "461bcdd3b7fb2d004bdc6b97b3cf36d137b11ad1",
      "tree": "16b378875a9dc6e77901a75e9b0824535c4bc56f",
      "parents": [
        "383cc38a203b11d68c525505ef51c26d4ff6de66",
        "e640d259c29b9d919e80b2b3d3f810459135b8f3"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 28 15:27:25 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 28 15:27:25 2009 -0700"
      },
      "message": "am e640d259: Merge change 8832 into donut\n\nMerge commit \u0027e640d259c29b9d919e80b2b3d3f810459135b8f3\u0027\n\n* commit \u0027e640d259c29b9d919e80b2b3d3f810459135b8f3\u0027:\n  fix [1996214] Boot animation is occasionally messed up\n"
    },
    {
      "commit": "8166864e42bc20c1544b2028e8dd65b90f29a0ea",
      "tree": "1368d81e80100f9f5cc16ffe8e9a0fdd70f768f4",
      "parents": [
        "ba989ad0ed91beda010d44945fa015d75d99cf67"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 28 11:41:30 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 28 11:41:30 2009 -0700"
      },
      "message": "fix [1996214] Boot animation is occasionally messed up\n"
    },
    {
      "commit": "947f4f4d384ea26eb2145cc070a3eed42c59534a",
      "tree": "edc5fb1e6e808a2b809720f44b6236ebe93b577b",
      "parents": [
        "6158b1bf0364da1582468a98ec09d004ba99deec",
        "0690519fcde1ccb189081aa79df61436f65686c2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 22 01:27:01 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 22 02:16:08 2009 -0700"
      },
      "message": "merge master to master_gl\n"
    },
    {
      "commit": "ac31a3b8b09aba1c5ebc73f0cf65cac2210aa6b7",
      "tree": "c55ca7c98317b9385b7c6abeb6595c1bf34d8ba6",
      "parents": [
        "e755d649771706b24b34e545476c8f2c8f9e09f6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 21 19:59:24 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 21 19:59:24 2009 -0700"
      },
      "message": "this should fix the build\n"
    },
    {
      "commit": "627e7b50be41e4fdee758a1bfad3a55de56b4e27",
      "tree": "de5c88b60ad0f5454956eb457090958ebb9fc331",
      "parents": [
        "384bfa270cdcb5dc3bc9ec396b783e25eb2d9b4d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 21 19:21:59 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 21 19:21:59 2009 -0700"
      },
      "message": "split boot animation out of SurfaceFlinger\n\nConflicts:\n\n\tdata/etc/platform.xml\n"
    },
    {
      "commit": "6158b1bf0364da1582468a98ec09d004ba99deec",
      "tree": "6fc11335f772f84dbee308e830d807fe0df1f815",
      "parents": [],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 11 00:03:41 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 17 23:34:16 2009 -0700"
      },
      "message": "Region now has its own implementation instead of relying on SkRegion, which allows us to break libui\u0027s dependency on libcorecg.\n"
    },
    {
      "commit": "00f5eca412248a32325442c982f97303dacae94b",
      "tree": "37616ae157cfcb177edd9501a290ec7f326f864e",
      "parents": [
        "c485a60a32342ff4e5db5c707f28a0816b4c2ff4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "",
        "time": "Tue Mar 24 22:42:15 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 22:42:15 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@142430,142430\n"
    },
    {
      "commit": "b24b2970a8ff713ece1b732b55cb064cb87eb1c7",
      "tree": "4496f5379f4f8668c33aee3232364681bd3ae048",
      "parents": [
        "8516e44aa7c1c56e07cd5e06eb26d35d7ef8b440"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "",
        "time": "Tue Mar 24 18:34:22 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:34:22 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@140807,140807\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "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": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "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": "d24b8183b93e781080b2c16c487e60d51c12da31",
      "tree": "fbb89154858984eb8e41556da7e9433040d55cd4",
      "parents": [
        "f1e484acb594a726fb57ad0ae4cfe902c7f35858"
      ],
      "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": "b798689749c64baba81f02e10cf2157c747d6b46",
      "tree": "da394a395ddb1a6cf69193314846b03fe47a397e",
      "parents": [
        "f013e1afd1e68af5e3b868c26a653bbfb39538f8"
      ],
      "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": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "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"
    }
  ]
}
