)]}'
{
  "log": [
    {
      "commit": "48efde4fb14cfe160747a8148b8e1a810c8f1c6e",
      "tree": "8434e93fc9109a3b8db7e0fe604ad984a94f2227",
      "parents": [
        "dbdca5b29989ce2c0cacfeea99db03b799cc3fb7"
      ],
      "author": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Wed Mar 16 18:22:59 2016 -0400"
      },
      "committer": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Wed Mar 16 18:36:06 2016 -0400"
      },
      "message": "Work-around paletted image decoding bug in SDK_JELLYBEAN\n\nBecause there is a bug decoding paletted images in SDK_JELLYBEAN,\nwe need to avoid encoding paletted images for apps that support\nSDK_JELLYBEAN and earlier.\n\nBUG\u003d27643907\n\nChange-Id: Ib7d51ed87435cd36507915d62b0057c06f18b2b6\n"
    },
    {
      "commit": "37a866e9a6e325a6bcebd052e959ff264a34dd6a",
      "tree": "0ecf9fef4f6482850d5c5eb785e827d33c137e65",
      "parents": [
        "4c95e0b4df62918d6e2abf9878ad4a7e7bb54123",
        "33fcd11bc296fa495a4f4584f782c1c0fe4fe592"
      ],
      "author": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Mon Feb 01 15:22:42 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 01 15:22:42 2016 +0000"
      },
      "message": "Merge \"Encode paletted PNGs more efficiently (part 2)\""
    },
    {
      "commit": "33fcd11bc296fa495a4f4584f782c1c0fe4fe592",
      "tree": "fb44746d2dfeda5dfd09522810a2ea789ea8141b",
      "parents": [
        "fc1159c808962a32746cbddd088ed069f78afcc2"
      ],
      "author": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Fri Jan 29 18:02:41 2016 -0500"
      },
      "committer": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Mon Feb 01 14:15:35 2016 +0000"
      },
      "message": "Encode paletted PNGs more efficiently (part 2)\n\nMany PNGs have multiple distinct pixels with zero alpha.  This\nCL allows us to treat all of those pixels as a single zero pixel.\n\nThis saves space in the color palette and also may help save\nmemory pages when we skip writing zeros.\n\nThere is also a potential disadvantage: if someone intended to decode\nthis image as unpremultiplied with particular transfer modes where\ntheir color components have an effect even though alpha is zero,\nthis will prevent that.  At the moment, we do not support unpremul as\na source, so this won\u0027t affect anyone trying to draw with the view\nsystem.\n\nThis change originated in:\nhttps://googleplex-android-review.git.corp.google.com/#/c/854580/\n\nChange-Id: I702c7bd22d431cc7c775ed29bbd73c930f945ca3\n"
    },
    {
      "commit": "2a84e23399840dc365cd03edcbfcf2727a17cd6e",
      "tree": "cd5ded413e882134f7c62ae0cfdaa606e1d0769f",
      "parents": [
        "795c458c89418885f146f40b8d4de96fb0d08ffe"
      ],
      "author": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Thu Jan 28 18:38:38 2016 -0500"
      },
      "committer": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Mon Feb 01 09:03:34 2016 -0500"
      },
      "message": "Encode paletted PNGs more efficiently\n\nSaves about 2 MB of encoded size across affected assets.\n\nAlso will enable more efficient decoding.\n\nSpecifically, encoded palette values are assumed to be opaque unless\nalpha values are provided in a tRNS chunk.  Before this change, we\nwould wastefully store many opaque alpha values in tRNS chunk.\nAdditionally, the decoder used to need to premultiply all of these\nopaque colors, because the encoded data indicated that they had alpha.\n\nChange-Id: Id21b3b31850c9db6149ced6d20ed5e0ce2d71c5b\n"
    },
    {
      "commit": "3c7235d3868d4bf554d4c1700ac11fc3d4125c71",
      "tree": "51e11327490ba6ee3f0b2e9201239cf02a1d3d6c",
      "parents": [
        "795c458c89418885f146f40b8d4de96fb0d08ffe"
      ],
      "author": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Thu Jan 28 18:38:38 2016 -0500"
      },
      "committer": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Fri Jan 29 22:56:45 2016 +0000"
      },
      "message": "Encode paletted PNGs more efficiently\n\nSaves about 2 MB of encoded size across affected assets.\n\nAlso will enable more efficient decoding.\n\nSpecifically, encoded palette values are assumed to be opaque unless\nalpha values are provided in a tRNS chunk.  Before this change, we\nwould wastefully store many opaque alpha values in tRNS chunk.\nAdditionally, the decoder used to need to premultiply all of these\nopaque colors, because the encoded data indicated that they had alpha.\n\nChange-Id: I1d5400f71a0e3cb800fd0fc68a04c8c4069da8ef\n"
    },
    {
      "commit": "3b1b68d6c764a4f60d034e57a94879b7df65fd43",
      "tree": "6f478d0afc03ca5aae4928eda211a9a4baa81e3a",
      "parents": [
        "cc5061f73e8acde4e91b34187f41bdd131cf85ec"
      ],
      "author": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Mon Dec 14 13:08:33 2015 -0500"
      },
      "committer": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Thu Jan 07 18:17:33 2016 +0000"
      },
      "message": "Allow ninepatches to be encoded using non-RGBA modes\n\nThe original intention for forcing ninepatches to be encoded as\nRGBA (with alpha) was to avoid the possibility of the decoder\nproducing 565 output.\n\n565 output is bad for ninepatches because dithering tiny images\nthat we intend to scale later leads to bad results.  I would\nargue that, since the new BitmapFactory does not dither, we might\nnow be ok to allow 565 decodes for ninepatches.  However, we\nwill maintain the old behavior by disabling 565 decodes for\nninepatch.\n\nThere are two changes to PNG encodings:\n(1) Allows ninepatch images to be encoded in any mode.  Forcing\n    them to RGBA makes things awkward for the decoder.  Currently,\n    BitmapFactory\u0027s png decoder checks every pixel for alpha.\n    That way, RGBA images that are actually opaque can be marked\n    as opaque, in order to optimize drawing.  We want to remove\n    this complexity from the decoder.\n(2) Make sure ninepatch chunks are stored in the png header.  That\n    way we know immediately that the png is a ninepatch, and can\n    refuse to decode to 565 (if we feel this is best).\n\nChange-Id: I724f5dbefb1be7b412f9b362dff83cbc0603f0bf\n"
    },
    {
      "commit": "01f185633c1c12017731336e7f926fe398c69781",
      "tree": "ab1546ae2c5ba5756df24bbe4a5dc3629ac04a9c",
      "parents": [
        "dbd9a4b651aed25a50976ca0a68a979cc3f299fa"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 08 17:29:00 2015 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 08 17:48:23 2015 -0700"
      },
      "message": "Re-enable -Wall and -Werror that were lost in a merge\n\n-Wall and -Werror were lost during a merge when they were added to\naaptCFLAGS instead of aaptCFlags.  Fix the typo, and the warnings\nthat crept in while it was disabled.\n\nChange-Id: Ib944b8d6149278e4f3861c1acac277bcd95cc7c2\n"
    },
    {
      "commit": "030f536009b56dbcc23d284541e51562bd9a6ed3",
      "tree": "ffa22213bbcf93fa38c4d5741100f82f55236cfa",
      "parents": [
        "56fde9e70ef850ca7e3f076e52567f5c75b5e7da"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Mar 04 13:54:20 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Mar 04 13:54:20 2015 -0800"
      },
      "message": "Stop using namespace std.\n\nThe pattern of #include and using namespace std here fails to build\nwith GCC. At first glance it\u0027s a GCC bug rather than libc++ doing\nsomething wrong. Regardless, it can be worked around by just\nspecifying std:: where appropriate.\n\nBug: 19606303\nChange-Id: I5652682eae7ca7559cf2a9307909859013440781\n"
    },
    {
      "commit": "18d5d1107db296c6ac991d991fff98337f6724dd",
      "tree": "25090d947c2cf2f0d3ea0c7d745f2379807cecd4",
      "parents": [
        "e4444d0fd60293b61670345a7e2c01350c9d4f61",
        "3cd840f4b5a2988700a6b366fa32f4565c319900"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 17 22:55:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 17 22:55:25 2014 +0000"
      },
      "message": "am 3cd840f4: Merge \"AAPT: Fix an issue where a resource name was incorrectly derived on Windows\" into lmp-dev\n\n* commit \u00273cd840f4b5a2988700a6b366fa32f4565c319900\u0027:\n  AAPT: Fix an issue where a resource name was incorrectly derived on Windows\n"
    },
    {
      "commit": "9306a474e1b7509f4cdf252359dc301ce933ca1d",
      "tree": "6a6d1a221719c1f664fa739bdccab5872f639c35",
      "parents": [
        "09cce6f509af58e3eeaf687b63e292c222a7d769"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 17 14:40:17 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 17 21:46:52 2014 +0000"
      },
      "message": "AAPT: Fix an issue where a resource name was incorrectly derived on Windows\n\nCalling String8::getLeaf() will assume the system\u0027s file path separator,\nhowever the source string was already converted to a unix path.\ngetLeaf() would therefore not find any occurence of \u0027\\\u0027 and would\nreturn the full path.\n\nBug:18036805\nChange-Id: Ic2bfac0cc553406740204a296327e266b05c0eff\n"
    },
    {
      "commit": "e1b180e21e10e2cc18f3985c4e40cd32a605ac48",
      "tree": "90a769b9cac8715873e9b1364335e12c8abd2e50",
      "parents": [
        "548bb3d3521eee5b9f34b2860c698cb0c5226e27",
        "152d9aae631381ea28f5701168d372a1486a7502"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 02 07:07:13 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 02 07:07:13 2014 +0000"
      },
      "message": "am 152d9aae: am 31629651: Merge \"Frameworks/base: Fix more aapt issues\"\n\n* commit \u0027152d9aae631381ea28f5701168d372a1486a7502\u0027:\n  Frameworks/base: Fix more aapt issues\n"
    },
    {
      "commit": "8daabceb2efddebe2e7c0b2425ad9f8ef62c0a5c",
      "tree": "230e918cee633aa61318edf50e902c44e4a84fde",
      "parents": [
        "9f905f37b229294753ef08ee104a00f611de450f",
        "1dcc75b2dbaef7c3bb3410187bf38cabca0d1aea"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 01 23:34:43 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 01 23:35:41 2014 -0700"
      },
      "message": "resolved conflicts for merge of 1dcc75b2 to lmp-dev-plus-aosp\n\nChange-Id: I8e1c6ee2025b6acd90803545fb95ab1b98560d92\n"
    },
    {
      "commit": "b8dc7bc582ee4acd9d6c1379701a002c5ddbe323",
      "tree": "e8a00555870780e85e659f4bcdc8be7c9516e15d",
      "parents": [
        "0ce259c2f69cefd09342a95fbbd4c1a63a0af484"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 01 19:07:51 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 01 20:42:00 2014 -0700"
      },
      "message": "Frameworks/base: Fix more aapt issues\n\nChange-Id: I6da7dc674e9f9e3b0886a3cfd1e3194d6b5ac948\n"
    },
    {
      "commit": "2412f84064c26b643c722ce914a97c4ec7776c69",
      "tree": "978c6b2e82fceee9153ffe612cfbb67e4b1b8c57",
      "parents": [
        "c46dbe8ac4748a0084b026524ad9e5ac44fb9fde"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 30 20:55:57 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 01 16:18:06 2014 -0700"
      },
      "message": "Frameworks/base: Fix AAPT warnings\n\nTurn on -Wall -Werror. Fix warnings.\n\nChange-Id: I287fb3c1e851c654479bcf9ea8c73bd354a6b2a1\n"
    },
    {
      "commit": "e572c011feabf6319ba836cf5bc4c3baa0ba6a85",
      "tree": "14a4e5461bbdcec4fb348663b8144efb28a796e4",
      "parents": [
        "82a2dd8efe48d3a4e04655f01329da857ace4b7d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 19 15:10:04 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Sep 22 10:51:20 2014 -0700"
      },
      "message": "AAPT: Continuation of public/private attribute fix\n\nXML files like layouts are now scanned and checked\nfor v21 attributes. If those kinds of attributes\nare found, then we remove them in the original\nversion and synthesize a new xml file under the\nv21 configuration.\n\nBug:17520380\nChange-Id: Icf984cb96134180a2e35349c1dbf2cef9a8f0bda\n"
    },
    {
      "commit": "47d86230823de5d372688dff2b6e363a607009a8",
      "tree": "206ec39f118a5b89ba42cfc3b4c318ea6b8da616",
      "parents": [
        "1e1a01b0e44ab7a948265a78070937d2022d7abd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 14 17:26:21 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Aug 15 00:41:09 2014 +0000"
      },
      "message": "Fix nine patch outline radius computation\n\nbug:16852714\nChange-Id: I475154c0f324fd2e2c8991415e0d8240c75663d8"
    },
    {
      "commit": "77b5cad3efedd20f2b7cc14d87ccce1b0261960a",
      "tree": "5acf378a0aa0477ef585d71a0b9e6c56cfd1d6c9",
      "parents": [
        "f660edb25a99282ce86b91804cd0145c1ef54bab"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jul 30 18:23:07 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Jul 31 12:29:57 2014 -0700"
      },
      "message": "Add outline alpha\n\nbug:16140822\nbug:16566746\n\nThis allows background drawables to alter the opacity of a shadow\nbeing cast with their own alpha values.\n\nChange-Id: I49698cc7c1bf4b2b55ffe2f82899543ca62bc61c\n"
    },
    {
      "commit": "47cd8e921db73e894f94ec4729ade90da50996f5",
      "tree": "dc087c5a19fec4c564ef73f6d487f1d72cf1cdb4",
      "parents": [
        "5028fb035794c207698e52b276c54de109dd5022"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jul 08 17:13:08 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jul 14 15:01:27 2014 -0700"
      },
      "message": "Implement outline support for nine patches\n\nb/15856895\n\nNine patches now have outline round rect metadata stored as optional\npng tags. aapt generates these automatically by inspecting the bitmap\npixels to estimate outline bounds and round rect radius, based on\nopacity.\n\nChange-Id: I226e328a97873010d9e1adb797ac48f93a31183c\n"
    },
    {
      "commit": "b5c4e7fd3866bbe30d7ea4d7bc463da5a70970e2",
      "tree": "1348a14b7c5edf6d71960411b9c05defbac1f57b",
      "parents": [
        "df897d08cebb013795ae679eef842a38b5153252",
        "92860a74c6e57fb66b28afe95c13e7c0f97f831e"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 10 10:57:05 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 10 10:57:05 2014 +0000"
      },
      "message": "resolved conflicts for merge of 92860a74 to master\n\nChange-Id: I3036ef9f1251c756092dc5ee2c4fed8146855e1e\n"
    },
    {
      "commit": "6381dd4ff212a95be30d2b445d40ff419ab076b4",
      "tree": "ea96f7e229cafae41f7be46a3cf0345edd2dc869",
      "parents": [
        "3fc3b9fd1bf71351bf1ff2d49d6e10b6acabf068"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 03 17:12:03 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 10 10:00:02 2014 +0000"
      },
      "message": "LP64: Make 9 patches architecture agnostic.\n\nThe Res_png_9patch struct had several pointer members\nwhose size differed between 32 and 64 bit platforms.\n\nThese members have been replaced by uint32_t offsets\nto serialized data. The serialized form for 9patches\nplaces a Res_png_9patch object at the beginning of\nserialized data, followed by int32_t arrays of xDivs,\nyDivs and colors.\n\nNote that these offsets are not strictly required,\nsince they can be computed from the values of numXDivs,\nnumYDivs \u0026 numColors, however they are called in tight\nloops so having them computed once is a beneficial.\n\nThis change also removed the unused patch_equals function\nfrom aapt\u0027s Image.cpp.\n\nChange-Id: I3b9ac8ae5c05510d41377cae4dff1c69b40c2531\n"
    },
    {
      "commit": "b30296b5fda75bf383c7ab3f567eb41820747869",
      "tree": "1c6745cc073dcaa88b2840e24623079018c0135f",
      "parents": [
        "2675f769673f69b0661ddee346292f25cb30a296"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 29 15:25:52 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:08 2014 -0800"
      },
      "message": "Re-apply several tools fixes lost by the directory rearrangement.\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: I56ce144958296961b77354815efc1a245564594b\n"
    },
    {
      "commit": "859e19f97d481bf07c768087d8eb3031fac77aad",
      "tree": "08c0eed6328b3f2f5c7622744dae85d8137c60ed",
      "parents": [
        "19acfb8e873a04d42619d222c43eda95d259d0a5"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Sep 05 16:26:04 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:05 2014 -0800"
      },
      "message": "libpng usage tweaks\n\n Bug: 10447005\n\n Call png_set_interlace_handling explicitly instead of relying on\n implicit handling that logs warnings\n\n Include filename when printing warnings\n\nChange-Id: Ia343427f5522dc8ab1010f8d7017e86f389caf99\n"
    },
    {
      "commit": "282e181b58cf72b6ca770dc7ca5f91f135444502",
      "tree": "e313e7ab30ff4679562efa37bde29cfcb9e375d3",
      "parents": [
        "7023df08f14ec5dee76ac54c03e870f84e297636"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jan 23 18:17:42 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:04 2014 -0800"
      },
      "message": "Revert \"Move frameworks/base/tools/ to frameworks/tools/\"\n\nThis reverts commit 9f6a119c8aa276432ece4fe2118bd8a3c9b1067e.\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": "9f6a119c8aa276432ece4fe2118bd8a3c9b1067e",
      "tree": "1391656f9ad624aa99d4c7d2880d38121801a424",
      "parents": [
        "647b6f5ed276bf93d95e5801e5e8af2802ef5fbb"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Aug 28 09:44:17 2013 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Aug 28 09:44:17 2013 -0700"
      },
      "message": "Move frameworks/base/tools/ to frameworks/tools/\n\nChange-Id: I3ffafdab27cc4aca256c3a5806b630795b75d5c8\n"
    },
    {
      "commit": "e982b7231fcb465bd367f869fd1baaf3c27e0660",
      "tree": "4fbf08f1c76d2e853f077d78bd05a451777917a0",
      "parents": [
        "f39abeb4c4fe19bb0b83d1218e180d5ae1ef1a11"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Aug 26 16:53:40 2013 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Aug 26 16:53:40 2013 -0700"
      },
      "message": "Forward compatibility fixes\n\nChange-Id: Iaf387a10c387e5e157bb16d120a1e033b3d1a6e8\n"
    },
    {
      "commit": "6c16fff219e8f733ea14ed7df9edda9c037d4b71",
      "tree": "f27175b14be6cf54c232e6e1f93da3a149534506",
      "parents": [
        "9bc25aa8a52a1aa2890d19d2c1a3eedf92b92c36"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Aug 14 14:13:54 2013 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Aug 14 14:15:06 2013 -0700"
      },
      "message": "Fixes for libpng 1.6\n\n png_set_filler() now fails if the color type doesn\u0027t support\n a filler (such as RGB_ALPHA)\n png_set_unknown_chunk location bug was fixed and now enforces\n proper location setting\n\nChange-Id: If3834e3744d9618c308cc442e66d85e9cffcea38\n"
    },
    {
      "commit": "48b15b1e1df8315575ada27ab3b0206ed87d67b2",
      "tree": "045a18f381f8b90758c0294fdf1dac3ca83f529f",
      "parents": [
        "1c2274603898dde95eee5caa227fd2bf9133cc3e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Aug 13 13:29:15 2013 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Aug 13 13:29:15 2013 -0700"
      },
      "message": "Fix libpng API usage\n\n Remove usage of deprecated APIs no longer in 1.6\n\nChange-Id: I04cbceba718533312e900e62ddcf3872b61765ec\n"
    },
    {
      "commit": "ec4a50428d5f26a22df3edaf7e5b08f41d5cb54b",
      "tree": "cd47b15082ff35879cf6e22a86f44108f45920aa",
      "parents": [
        "58a40a3e92f8a53ac1068f0839dec4a1707fa6fb"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Apr 04 10:27:15 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Apr 04 12:05:59 2012 -0700"
      },
      "message": "Embed layout padding in nine patch images\n\n- Added a new custom PNG chunk that carries the layout padding ints.\n- Extract the padding ticks from .9.png images and store in the chunk.\n- Load the padding information at runtime into Bitmap and NinePatchDrawable.\n\n- The new chunk is ordered first so that it doesn\u0027t cause a problem in older\n  versions of the platform.\n\nBug: 6087201\n\nChange-Id: I5de46167a1d44b3ec21065b0c165e594b1dc8399\n"
    },
    {
      "commit": "c0f7366a15655c6973ea21029f1997f24c006cca",
      "tree": "ad9302a32cfbfa603ce5b58a6fa263c92953795a",
      "parents": [
        "c9fd9263feedac32e4f5b1f13a3246347efdc25f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 22:17:41 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Mar 17 14:12:57 2012 -0700"
      },
      "message": "aapt: Preprocess images in parallel.\n\nCurrently hardcoded to use up to 4 threads.\n\nThis change substantially reduces the amount of time spent\npreprocessing framework resources to just a few seconds.\n\nChange-Id: I02fdd283fb529a152aeb22ac87f278779fd77983\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": "e6b680364dd992907a8d2037685a2e500d188dfb",
      "tree": "3d931a3139f058da9ae934e5cf50cd6dc50f7e64",
      "parents": [
        "d814d4fa0c76a0384f7e32816e1ca36f237911c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 13 16:26:02 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Oct 16 11:52:17 2011 -0700"
      },
      "message": "New aapt feature to do smarter filtering of configurations.\n\nThis adds a --preferred-configurations flag that specifies the\nspecific configurations you would like to have.\n\nIt is smarter than \"-c\" because it will avoid stripping a\nconfiguration if that would result in there being no value\nfor the resource.\n\nIt is dumber than \"-c\" because it can\u0027t process as many kinds\nof resources.  It is really only intended for bitmaps and use\nwith density configs.\n\nThis required re-arranging AaptAssets to group files together\nby config again, like they used to be.  I think this hasn\u0027t\nbroken anything.  Hopefully.\n\nChange-Id: I4e9d12ff6e6dbd1abb8fd4cb1814c6674b19d0e5\n"
    },
    {
      "commit": "8a39da80b33691b0c82458c3b7727e13ff71277e",
      "tree": "b6fa94370ecb2dba85d5fdb45c83729cef8708e1",
      "parents": [
        "1e24ccbdd56a45c8bb5f2eba94af5aecd2d02554"
      ],
      "author": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Mon Jun 06 17:00:35 2011 -0700"
      },
      "committer": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Wed Jul 20 15:20:26 2011 -0700"
      },
      "message": "Added Caching for PreProcessed PNGs\n\nAdded a cache management system for pre-processed PNG files\nalong with unit tests. The cache system will be used if\nthe --no-crunch flag is passed to AAPT during the package\nphase. The cache can be updated by a call to \u0027aapt crunch\u0027\n(see usage statement). Also put in benchmarking code.\n\nChange-Id: I58271fb2ee2f5f9075fd74d4ff6f15e7afabd05c\n"
    },
    {
      "commit": "9e652a67ca46c1841993a806e67822fc45b4dc42",
      "tree": "cb03215f16a05e9202c2820235e846fe8ea5b204",
      "parents": [
        "e25bf5dc6357c4cc441846c389b86add3f8489cc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Mar 12 14:12:14 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Mar 12 14:12:14 2010 -0800"
      },
      "message": "Give an 9-patch error on too many rows and columns\n\nWhen you have too many rows and columns, there are not enough colors in\nthe 9-patch private metadata to represent them. Instead of crashing\naapt, this change gives the user an error message telling them why it\u0027s\ninvalid.\n\nChange-Id: I5e7bd59472a3a2eafa7cbc263792458cce2b5594\n"
    },
    {
      "commit": "6a1fadea851db236331b3dfe1f3c1e482556057f",
      "tree": "ec5174266cd02bb0010ca51d687a20ba7d3a3b38",
      "parents": [
        "e38e90bf222515538281cc73c5e4a9f3c269c875"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "",
        "time": "Mon Apr 20 16:16:01 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Apr 20 16:16:01 2009 -0700"
      },
      "message": "AI 147028: Fix up aapt so it runs cleanly under the valgrind leak checker.\n\nAutomated import of CL 147028\n"
    },
    {
      "commit": "4df2423a947bcd3f024cc3d3a1a315a8dc428598",
      "tree": "e7dac2c5a367b169e7f05a36058cf470e93f003b",
      "parents": [
        "c474dec3ffa1c0fe37edb3e701684188f7e8e7bc"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@136594\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": "076357b8567458d4b6dfdcf839ef751634cd2bfb",
      "tree": "efbb2fd6f1dc67d2d606382fc3b82983e7cb2e1f",
      "parents": [
        "3dec7d563a2f3e1eb967ce2054a00b6620e3558c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@132589\n"
    },
    {
      "commit": "3dec7d563a2f3e1eb967ce2054a00b6620e3558c",
      "tree": "aa3b0365c47cb3c1607c0dc76c8d32b4046fc287",
      "parents": [
        "15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@137055\n"
    },
    {
      "commit": "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": "9266c558bf1d21ff647525ff99f7dadbca417309",
      "tree": "1630b1ba80f4793caf39d865528e662bdb1037fe",
      "parents": [
        "b798689749c64baba81f02e10cf2157c747d6b46"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:10 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:10 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@126645\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": "f013e1afd1e68af5e3b868c26a653bbfb39538f8",
      "tree": "7ad6c8fd9c7b55f4b4017171dec1cb760bbd26bf",
      "parents": [
        "e70cfafe580c6f2994c4827cd8a534aabf3eb05c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "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"
    }
  ]
}
