)]}'
{
  "log": [
    {
      "commit": "3eee9fbb6df1dbbcefe1f0dfdf1295c95ddf3279",
      "tree": "285d1151279eacfcacf01400e0ec580d6895855d",
      "parents": [
        "f1f13f98b58467b69c0ac9d4ba43d3f083525966"
      ],
      "author": {
        "name": "Sai Kiran Korwar",
        "email": "skirank@nvidia.com",
        "time": "Tue Jun 16 17:13:35 2015 +0530"
      },
      "committer": {
        "name": "Robert Tray",
        "email": "rtray@gpartner-nvidia.com",
        "time": "Thu May 26 09:38:50 2016 -0600"
      },
      "message": "bootanimation: Call eglReleaseThread in threadLoop\n\nAdd eglReleaseThread call in the threadLoop function to\nensure that the thread properly cleans up its resources\nbefore exiting.\n\nChange-Id: I90dff47370e7acaecc046c43f0bb274214a29f77\n"
    },
    {
      "commit": "358fcc795ea567ba086a460c587de427507fefdd",
      "tree": "50b63b979def79d569bbc767c734705cdd14a7d1",
      "parents": [
        "33a5c80773b7b2913c92fec170787499a453d184"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Aug 11 20:23:56 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Aug 18 20:26:47 2015 +0000"
      },
      "message": "Do not start with a black frame in bootanimation\n\nBug: 23128307\nChange-Id: I0ec044f983c1c30960be046e43a882c63205dc5f\n"
    },
    {
      "commit": "4600dd053dbdbd4b95f3b11057a1cc55b99f9c77",
      "tree": "c4bb116de6b55b054a73083165c9512fbf21c164",
      "parents": [
        "5e063b1da52cca1b93b19bdf7be694aabf95d336"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jun 16 12:02:57 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jun 17 08:40:25 2015 +0000"
      },
      "message": "ZipFileRO: Use precise widths for zip file types.\n\ngetEntryInfo crashes on 64-bit devices because \"long\" types\nwere being passed int pointers (that pointed to a stack frame)\nthat were reinterpret_cast\u0027ed to long* (sigh.). To fix this issue\nonce and for all, use types with explicitly defined widths.\n\nThis change also removes some dead invariant checking from\nAsset.cpp instead of cleaning it up.\n\nNote that we\u0027ve introduced a wart in NativeLibraryHelper, where\nwe need to deal with zlib\u0027s uLong type, which is \"at least 32 bits\nwide\".\n\nbug: 21622286\n\nChange-Id: Iae675a9601db7aae03a8b80b40321d2cc1d97f50\n"
    },
    {
      "commit": "b65b66ccc251371c817abe75176a73f84565410e",
      "tree": "000e3ae2151dc5c85e23a5b9e3b7096ffd3f3f24",
      "parents": [
        "b53420d02def4277cf5b8a04da289b4291a9f24a",
        "2224eac30375a731f4ad38d6930dbc37b0855a0d"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Thu May 07 17:06:47 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 07 17:06:47 2015 +0000"
      },
      "message": "am 2224eac3: Merge \"bootanimation: fix garbage line issue when screen height is odd.\" into lmp-mr1-modular-dev\n\n* commit \u00272224eac30375a731f4ad38d6930dbc37b0855a0d\u0027:\n  bootanimation: fix garbage line issue when screen height is odd.\n"
    },
    {
      "commit": "d13d504e4b7548f0ce4f9c4f0eee5c1ac2ce6794",
      "tree": "6686b4699d67f62045f51ed88b1dddcc1b9fdd46",
      "parents": [
        "d3de33e9dfaee6c0336a51e774632813b3344fca"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Mon May 04 15:24:12 2015 -0700"
      },
      "committer": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Tue May 05 13:21:27 2015 -0700"
      },
      "message": "bootanimation: fix garbage line issue when screen height is odd.\n\nbug:20032072\n\nChange-Id: I784fb6f815b22c37dcd7354729aca346726196d9\n"
    },
    {
      "commit": "688ff4cf0f93d1a886437884f23874e5595d59a3",
      "tree": "b8ef91775dfc3dff86d05aa5638b17dee597ca91",
      "parents": [
        "adb52ef7034d4d3e0eee58cedae2a343d29771b9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 23 15:47:54 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 23 15:47:54 2015 +0000"
      },
      "message": "Track removal of refcounts from FileMap.\n\nUse delete instead of release.\n\nChange-Id: I25c841b368aa9d51e9259399b94cafa2bbb7a076\n"
    },
    {
      "commit": "cfedceb8c180a2e176154d461659e0c3569dc931",
      "tree": "00de5f6ee61e72713c3b141f5a308f33f312bf53",
      "parents": [
        "59701b9ba5c453e327bc0e6873a9f6ff87a10391"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 30 21:48:18 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 07 14:33:51 2014 -0800"
      },
      "message": "Frameworks/base: Turn on -Wall -Werror in cmds\n\nFix small warnings, turn on -Wall -Werror.\n\nChange-Id: Iab1f01a7c7ebd6ba832b75067c5e395f380a1b8b\n"
    },
    {
      "commit": "5a71f83227f0340a265f34b226d8fe01d4dd9773",
      "tree": "9e74435ad8e21fe6ace6a1c49ca2f596c60ced34",
      "parents": [
        "52656916e35b08013bf776b3603d6cecba287a1e",
        "a0d07d49b8b0aae71beb48ec31b43f6923530d00"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 22 09:00:49 2014 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 22 09:00:49 2014 -0700"
      },
      "message": "Merge lmp-dev-plus-aosp-without-vendor into stage-aosp-master\n\nChange-Id: I7063b7b52e9c09a57eb6bf3b4ffa3716d58ebf43\n"
    },
    {
      "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": "ebf9a0d8a888042c16ec0cb6dd8419f18038663f",
      "tree": "e364c8e39ff0795a22da5a5d1e32472bc22dcebb",
      "parents": [
        "76716c5a180aa471c6973ca7aa03c7f2da677823"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Oct 02 16:08:47 2014 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Oct 03 15:38:15 2014 -0700"
      },
      "message": "Add support for playing audio during bootanimation\n\nThe bootanimation daemon will play 16 bit WAV files contained in bootanimation.zip\nFor this to work, the bootanimation.zip must contain an audio_conf.txt file,\nwhich contains parameters to be used for the tinyalsa pcm_open call\nas well as mixer parameters to set before attempting to play the sound.\n\nIf the bootanimation finds an audio_conf.txt file, then it will look for a file named\n\"audio.wav\" in each of the part subdirectories. If audio.wav is found, it will play that\nWAV file starting at the beginning of that part.\n\nThe code for this is based on the tinyplay utility in tinyalsa.\n\nThe audio_conf.txt and must begin with the following header:\n\ncard\u003d\u003cALSA card number\u003e\ndevice\u003d\u003cALSA device number\u003e\nperiod_size\u003d\u003cperiod size\u003e\nperiod_count\u003d\u003cperiod count\u003e\n\nThis header is followed by zero or more mixer settings, each with the format:\nmixer \"\u003cname\u003e\" \u003d \u003cvalue list\u003e\nSince mixer names can contain spaces, the name must be enclosed in double quotes.\nThe values in the value list can be integers, booleans (represented by 0 or 1)\nor strings for enum values.\n\nFinally I should mention that this change is not the right approach.\nInstead of going straight to ALSA we should be using the mediaserver instead.\nBut mediaserver isn\u0027t ready in time due to interactions with the system server, and there\nisn\u0027t time to fix this for the current release. We need to fix that for the next one.\n\nBug: 17674304\n\nChange-Id: Ic391ade61c941d0a24f4d64fe005ac9375a23fa9\n"
    },
    {
      "commit": "083b84cf8880bb7f0d2c2dc1b45c7d610656dbd1",
      "tree": "2c83dce383d221eeb4bba0069b2d047424c7a350",
      "parents": [
        "471157821f7b0933c55081ef4625c78f8e798de7"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Sep 22 10:51:09 2014 -0700"
      },
      "committer": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Thu Sep 25 23:37:12 2014 +0000"
      },
      "message": "bootanimation: allow animation to specify background color\n\nSome OEMs want to have a bootanimation (or parts of it) displayed on a\ncolor other than black. They currently just use full-screen frames for\nthat, which wastes lots of memory and bandwidth. This change allows\neach part of the animation to specify a background color that will be\napplied outside of the frame images; if unspecified the background\nwill be black as it is now.\n\nBug: 16635599\nChange-Id: Ibf008fc75c5aad891c86ba9e4ec0879b7a61b8bd\n"
    },
    {
      "commit": "42a1d08df7d417fd4e67eabc91ff05ee77fd9995",
      "tree": "7bfa7e66b153087c56b19c6dd8b340e0ea2ddb42",
      "parents": [
        "95f621a1a4a0891075f1f9daf8e0323aab488793"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Jul 07 18:06:18 2014 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Jul 07 18:11:24 2014 -0400"
      },
      "message": "SkBitmap::Config is deprecated, use SkColorType\n\nChange-Id: Ida181d2aac760072cf2d01409edac37699dea216\n"
    },
    {
      "commit": "52adfdaafd464348628d9257101f24a67d7c8bbb",
      "tree": "06e21eb893fdcdee82e81a8de2b8adc88a7e8479",
      "parents": [
        "10882ec8d7890c7d5712e6b7f23e007e09bd0062",
        "516130ccb1841afb6ef154c28269d91594925429"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 30 17:36:10 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 30 17:36:10 2014 +0000"
      },
      "message": "am 516130cc: am dbbf431b: am d0f7f418: Merge \"Freeing frame map\"\n\n* commit \u0027516130ccb1841afb6ef154c28269d91594925429\u0027:\n  Freeing frame map\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": "28f0877073e0ebc59f1eeeb6e0d54b614b9d3fa5",
      "tree": "715d463e05f8f558335a9919e038334d51460a6d",
      "parents": [
        "bdd4491b322bebd96b99da508ec7b0b7d59d97ae"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 16 09:41:58 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 28 08:54:17 2014 -0700"
      },
      "message": "Allow custom wallpaper and boot animation.\n\nAdd new \"ro.config.wallpaper\" and \"ro.config.wallpaper_component\"\nproperties which may be defined outside of the bundled framework\nresources.  Falls back to bundled resources when properties are\nundefined.\n\nAlso look for boot animation under OEM partition.\n\nBug: 13340779\nChange-Id: Ibdc9935dbdaae3319bf63b40573de0503d82ae67\n"
    },
    {
      "commit": "c749b44086722217526f220f3656ba06b2e8cea0",
      "tree": "b215189cd0f6172493a0d4f9cdd80cb56a3be09f",
      "parents": [
        "4b131046aa5685112b8f198a989daef13279cadb"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Mar 05 15:36:58 2014 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Mar 05 15:36:58 2014 -0800"
      },
      "message": "FramebufferNativeWindow.h is obsolete\n\nChange-Id: I3c645af7247a520e28d337e567f326375558519a\n"
    },
    {
      "commit": "eece0dda56ae29fff6e9003df97594f6ac50b6e2",
      "tree": "46e4cd73a189dabb2e28d2eafaef2b9abf73a82f",
      "parents": [
        "94b5ca811e5716bddb4a4d86df35c29bb9165e5f"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 27 14:31:29 2014 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 27 14:31:29 2014 -0500"
      },
      "message": "Fix includes so that they no longer rely on the global Skia includes directories.\n\nbug:13225538\nChange-Id: Ia5d816dc665f81c7985f21036af4fd0a63c560cf\n"
    },
    {
      "commit": "9d7d4da6b719594a89b4b8b17546f6601b617f33",
      "tree": "863cd571b02ee37919f5713964491d7da13b3063",
      "parents": [
        "d9a32847e51f19822937dc9b916e8b7ea5f50df7",
        "fc800d407d695926ba07299c4e27d1e06284098f"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Dec 16 18:47:03 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 16 18:47:03 2013 +0000"
      },
      "message": "am fc800d40: am fbd6d5a8: am 09fdc159: am 3ddee4de: Merge \"[bootanimation] Drop user loadable bootanimation.zip abiltiy.\"\n\n* commit \u0027fc800d407d695926ba07299c4e27d1e06284098f\u0027:\n  [bootanimation] Drop user loadable bootanimation.zip abiltiy.\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": "362028d6321468ff598a93df7b2ca0dbfcf3405a",
      "tree": "68858ce6d44acf28ca52f18a44ed52430dcafe63",
      "parents": [
        "8883bebd0fd32ca9183bbda6a9fe0f7f163964dd",
        "411954aef072574676462f579847a01af0aed728"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Dec 11 23:05:00 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 11 23:05:00 2013 +0000"
      },
      "message": "am 411954ae: am a6416309: am 1e137549: am efa5c88f: Merge \"Don\\\u0027t try to set service.bootanim.exit\"\n\n* commit \u0027411954aef072574676462f579847a01af0aed728\u0027:\n  Don\u0027t try to set service.bootanim.exit\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": "5a74e2df57acb93b61568b90b048016046ef4512",
      "tree": "949871145e8e5dce1ccaa00dddac162796a3129a",
      "parents": [
        "3554740951b91b1487e72c2d2208302c29d43613"
      ],
      "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": "Wed Dec 11 19:06:18 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\n(cherry picked from commit afd31e08299008fdc5c2813f21b2573f29dc53df)\n\nChange-Id: I86a2c528575d4a3ca86b94be068dcdc3c17c2ed6\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": "4b9a19a8f865970e0079f431c8c2c2a8e4333ae9",
      "tree": "8133e88dfa631ab30311375f3751f7b7ff09e58b",
      "parents": [
        "8af04d8b85183978aa6182c281325394bf47a593"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Dec 03 15:06:30 2013 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Dec 03 15:23:11 2013 -0500"
      },
      "message": "Call SkBitmap::config() instead of  ::getConfig()\n\ngetConfig() has been deprecated.\n\nChange-Id: I32066256ab82ac4760c752c80856d1b56d291fae\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": "ed84dea928a5a830a19b5bcab7ad05a7e92f3279",
      "tree": "3433335ce3be3a69f12b957130e95b4d19f74e3f",
      "parents": [
        "2fcefe45718af44452b725b61f4051f507cb7e5d",
        "8f592378a1ea7f31d57253dc202f42707ef4da36"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 29 13:35:04 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 29 13:35:04 2013 -0700"
      },
      "message": "am 8f592378: am 69920427: Merge \"Fix a variety of small publicly-reported bugs.\"\n\n* commit \u00278f592378a1ea7f31d57253dc202f42707ef4da36\u0027:\n  Fix a variety of small publicly-reported bugs.\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"
    }
  ]
}
