)]}'
{
  "log": [
    {
      "commit": "b172c3161f00a697140c226c3ed0993c8a9e0e4d",
      "tree": "bf5b6222a0fb1ae3b7233e49590332b1d26b4e84",
      "parents": [
        "71dd611947ce1ede7eb34371011bc46dc1eab381"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Jul 20 15:15:33 2022 +0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Jul 20 15:16:58 2022 +0800"
      },
      "message": "Fix unused-but-set-variable warnings\n\nThese are essentially dead code...\n\nTest: presubmit\nBug: 197240255\nChange-Id: If36fa244990cb7d101fce57bcd5d8115f8722064\n"
    },
    {
      "commit": "82ac868c8c6c17d2c3eeee564962994cc65d433b",
      "tree": "c3dbd6d525d789f64a2342dab21f2f76c47a793b",
      "parents": [
        "a6f81885390bf02ac5507ca96df0fe733429e549"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Aug 20 02:48:22 2021 +0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Aug 19 18:57:56 2021 +0000"
      },
      "message": "Remove unused but set variables\n\nDiscovered by unused-but-set-variable diagnostics.\n\nTest: build\nBug: 197240255\nChange-Id: I32a1185f9714848c91860fbaa76521d490c842b9\n"
    },
    {
      "commit": "80094e39f90801c44cd80ab0f98df505828ea1f3",
      "tree": "e70d5241691a509ce9cf774dc39ce85932fdd1d2",
      "parents": [
        "ec7e7f5622e3444a3003db20ddfd8f5745971fa7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Nov 16 23:08:18 2020 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Dec 08 16:58:12 2020 +0000"
      },
      "message": "Revert^2 \"libandroidfw hardening for IncFs\"\n\n55ef6167a2c235bd88c7216238b2001b46795b79\n\nChange-Id: I02d4890d181655dfd0a14c188468db512559d27b\nMerged-In: I02d4890d181655dfd0a14c188468db512559d27b\n"
    },
    {
      "commit": "ea5cf9f31c64e93d6589216e10504abd4f7a1c30",
      "tree": "28b40a8ad60ef0a7ea81d88852eb543d4651c418",
      "parents": [
        "24482c9f05c4d4bd0e1460c1732a02fbdc7f7d69",
        "466ada94fe8848da5637d2134a460291b5e00a22"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon May 14 11:22:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 14 11:22:57 2018 -0700"
      },
      "message": "Merge \"For Win32, don\u0027t cast ssize_t while printing\" am: aaf8d7aa2e\nam: 466ada94fe\n\nChange-Id: I39b73406a41ecc5396c39648f8e05e8a88e7aaee\n"
    },
    {
      "commit": "dc36bb6dea837608c29c177a7ea8cf46b6a0cd53",
      "tree": "b2665fb535d0583511349cdf5d00052a705dd2ab",
      "parents": [
        "ef43ea3238e55ddca0658059a05c7a53db50d621"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri May 11 15:52:49 2018 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri May 11 23:22:10 2018 +0000"
      },
      "message": "For Win32, don\u0027t cast ssize_t while printing\n\nBug: http://b/69933068\n\nThis is a partial revert of\nhttps://android-review.googlesource.com/c/platform/frameworks/base/+/109433\nso we can use Clang for windows cross compilation.\n\nClang does not allow a cast to \u0027signed size_t\u0027 and both Clang and\ncurrent MinGW accept a ssize_t to the \u0027%zd\u0027 format specifier.\n\nTest: m native-host, m native-host-cross with both MinGW and Clang\nChange-Id: I5366622b91be1433f6c533c55a9ae429b57c7a27\n"
    },
    {
      "commit": "e78a8169665c19b5539508f113093b6c2a4b80de",
      "tree": "0f645728f1a25f71a0db4046d96226bc3d77afb6",
      "parents": [
        "c8b76fe1f4d48aadf07c479dc9412d6b344bab1a"
      ],
      "author": {
        "name": "Nick Butcher",
        "email": "nickbutcher@google.com",
        "time": "Tue Jan 09 15:24:21 2018 +0000"
      },
      "committer": {
        "name": "Nick Butcher",
        "email": "nickbutcher@google.com",
        "time": "Fri Feb 09 11:36:27 2018 +0000"
      },
      "message": "Prevent AAPT from versioning \u003canimated-selector\u003e tags.\n\nBug: 69359529\nTest: Manually tested with ag/3178054\nChange-Id: I10ae4d96c2a31a0a7c363d7a9292ecdfd3bb526a\n"
    },
    {
      "commit": "ab2a38c03d54fad1ed0873ac091959ee38823cd6",
      "tree": "5a360c6adc7e4e733e2a5d1d326a9b993ba5f20d",
      "parents": [
        "404f23d6d0950754f4d4d65606379889c922a3eb"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Oct 13 15:56:08 2017 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Oct 16 10:34:27 2017 -0700"
      },
      "message": "AAPT leave \u003cgradient\u003e alone for VDC\n\nbug: 62421666\nTest: Tested with changes for Gradient of VDC.\n\nChange-Id: I07b39721aeaaafd888416a0f71f6cbd5fce97732\n"
    },
    {
      "commit": "54b58ba5cc2c341b39355e265f760fe0654f77a7",
      "tree": "592d2e3026cd67b3a495e93122ed9d85350b3505",
      "parents": [
        "1e28c8fa337388060dc7f69a835852cab324724d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 14 18:44:30 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Apr 18 18:05:02 2017 -0700"
      },
      "message": "Fix issue with unresolved IDs in adaptive icons\n\nAdaptive icons were versioned correctly, but skipped the compilation\n/ resource ID assignment phase. This CL fixes the glitch.\n\nBug: 34829129\nTest: manual\nChange-Id: I93739a8b10fac53a048d95b330edf381684a807c\n"
    },
    {
      "commit": "cf1f1d9128853f0fa0cef657e2bbb7bf6904c732",
      "tree": "68e76fbe66623c18408fccb2c8c190cc0a760f49",
      "parents": [
        "3ab5c0173a7371c1757c52029cde5f4f84d3bd22"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 16 16:54:23 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Mar 28 19:16:11 2017 +0000"
      },
      "message": "AAPT: Version \u003cadaptive-icon\u003e to v26\n\nBug: 35908647\nTest: manual\nChange-Id: Ic8f43efe34385192fbab18675eb5898ed80912a5\n"
    },
    {
      "commit": "205548561c67a3c05163d17057a1fc76a338ec15",
      "tree": "fa402bbcbbb23c34915601cc1cb19b49eb7cd8a6",
      "parents": [
        "5beefa697aeca3eeaeeac50f781908657490e211"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 21 16:28:57 2017 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 21 16:44:00 2017 -0700"
      },
      "message": "disable versioning for objectAnimator to support path motion\n\nbug:33527757\n\nTest: replace the AAPT in local SDK, and make sure the propertyX/YName\nstill works within ObjectAnimator.\n\nChange-Id: Ic9bb14cd228dcf7e4d250bd0f6cb5f0c31a14183\n"
    },
    {
      "commit": "010df88f90a40f8c521ccde8d6a541e70a044fb7",
      "tree": "a99bcbe1134d3c6c20291a4f8bd19b912aade462",
      "parents": [
        "b09ac24c3c7097c85609b430aee1b6fe6e8db321"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 07 15:50:03 2017 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 07 16:12:07 2017 -0800"
      },
      "message": "Disable versioning for pathInterpolator when no-version-vectors is on.\n\nTest: manually build demo app for support lib, and works!\nbug:33527757\n\nChange-Id: I3badea18b2eb8cddea94f7e44f9129bb55ed9649\n"
    },
    {
      "commit": "af463961bc44c53fe35fe184a93b55d07273a676",
      "tree": "2532e5693888c4e59f2d501650b2af7277ed27e1",
      "parents": [
        "0ebe2d1b0dca82cadbce2fad5eff32c7d498d1f6",
        "fa1e9d7ad0e3f5b7fce37dbdc3f5ad889274ee43"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 08 14:07:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 14:07:22 2017 +0000"
      },
      "message": "Merge \"AAPT: Fix --feature-of to allow non-public symbol visibility\""
    },
    {
      "commit": "fa1e9d7ad0e3f5b7fce37dbdc3f5ad889274ee43",
      "tree": "9534bed2e842071ede73c74d096829f5f751c3bb",
      "parents": [
        "9bbe787822502e8c09d9abe963e6539647bea346"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 24 16:16:09 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 24 16:16:09 2017 -0800"
      },
      "message": "AAPT: Fix --feature-of to allow non-public symbol visibility\n\nTest: manual\nChange-Id: Iada18b201c6463011002f96285a64c64565a6e1c\n"
    },
    {
      "commit": "4d35cca96ce55eb29d1948086214f91ae94e9adb",
      "tree": "2ddb5bd63163bf8806be9dc4773e66630b5c4712",
      "parents": [
        "9727f22fc092fe7ccdbf2929d697126f2095d62e"
      ],
      "author": {
        "name": "Yuichi Araki",
        "email": "yaraki@google.com",
        "time": "Wed Jan 18 20:42:17 2017 +0900"
      },
      "committer": {
        "name": "Yuichi Araki",
        "email": "yaraki@google.com",
        "time": "Tue Jan 24 14:59:51 2017 +0900"
      },
      "message": "AAPT: Add --no-version-transitions flag\n\nAdd a new flag to disable versioning of Transition related XMLs.\nTransition support library will use this to handle these XMLs on older\nAPI levels.\n\nTest: make libaapt_tests AaptTestAppOne\nBug: 34427868\nChange-Id: I66e81cca049e71ef6704177b2ca21c9cdeaff78f\n"
    },
    {
      "commit": "081d1b4cf602fdd7302b597e6bf902cb415bc3a8",
      "tree": "731e72ea0c123552ff69c8ffecb0d8a5de9d350b",
      "parents": [
        "2d280471669568d9e14cb7df679a51cf7f4d6c11"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 15 18:45:00 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 15 18:45:00 2016 -0700"
      },
      "message": "AAPT: Handle gaps in resources when building splits\n\nDue to public ID assignment, gaps in resource type and entry\nIDs can occur. This can lead to null pointer dereferencing\nif not careful. This happened in ResourceTable::getDensityVaryingResources()\nwhich is called when building Splits.\n\nBug:30879690\nChange-Id: I588e4dcd2e042fccfcb2e87967b5cbd0d23b4497\n"
    },
    {
      "commit": "9b8528fee4eed35b8e887ded0851d08eb2b10db6",
      "tree": "36df1cee89b3689454e6b09a6bfa5eabfb3214b1",
      "parents": [
        "7310353aeb771c109e5aea2c5415fa502eb13a7b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 14:15:30 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Aug 11 15:16:41 2016 -0700"
      },
      "message": "Fix clang-tidy warnings in aapt and aapt2.\n\n* Add explicit keyword to conversion constructors.\n* Add NOLINT(implicit) comments for implicit conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\n* Use const reference type to avoid unnecessary copy.\nBug: 30413862\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: Id6d21961f313a1ad92b15a37fdaa5be9e8ab48e1\n"
    },
    {
      "commit": "4d219da3c43f12ff000e685ae069374b618b30fc",
      "tree": "d9653ade178f9bbd605d7bfb399f24c8800e809d",
      "parents": [
        "76af60554ca5c74a8327774fdc4bf758f7eb518f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 03 15:40:19 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 03 16:54:15 2016 -0700"
      },
      "message": "AAPT: Fix feature split generation of ID resources\n\nID resources that get generated on demand with the\nnotation @+id/name were previously not given the\nappropriate type ID offset when being built as feature\nsplits.\n\nThis change declares an ID type ahead of time so that\nthe type ID offset is applied before IDs can be generated.\n\nBug:30607637\nChange-Id: I122a9133cb01b35e9892103ec52fc228dc65bf1a\n"
    },
    {
      "commit": "526d73be4a3a2714fa6112769e16fb6cd0194451",
      "tree": "5b1f6862bed22be84c5547ad0bb2b2c317604b45",
      "parents": [
        "699e1bc74bb00d81b9680c826828678847caf205"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jul 18 17:01:14 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jul 18 17:07:41 2016 -0700"
      },
      "message": "AAPT: Don\u0027t keep processing files that failed to be added\n\nAAPT will continue ahead without reporting an error if a file\nfailed to be added to the ResourceTable. This would cause crashes\nlater when the file was assumed to be present.\n\nBug:30200166\nChange-Id: Ieb2daf97ccf0345153b6f4598d130a38d108c937\n"
    },
    {
      "commit": "afc79be228596c56ea68c0d2fa22d0a8d733be47",
      "tree": "3b1d5a93a03008c7b43aee3f2c25132648f5b2ba",
      "parents": [
        "187b9b9e5bb3c6a83a26f2ece23a6cfa16614d03"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Feb 22 09:16:33 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 26 15:57:59 2016 -0800"
      },
      "message": "AAPT: Allow duplicate attribute definitions if identical\n\nThis allows libraries to coexist a bit easier, since a lot of them\ndeclare the same attribute. When used together they cause errors.\nBug:27101533\n\nChange-Id: I649cf17bc587c4814f849d5ac522daf74495adcf\n"
    },
    {
      "commit": "525db2489d8bb1204225e697171d3f18b6fc9695",
      "tree": "6c9f60b63d3671207434076861354c388f2ae811",
      "parents": [
        "c25283b5e206ceae2aa6eb01877b79c3c1f0adfb"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 25 23:13:08 2016 +0000"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 25 23:13:08 2016 +0000"
      },
      "message": "Revert \"AAPT: Allow duplicate attribute definitions if identical\"\n\nThis reverts commit c25283b5e206ceae2aa6eb01877b79c3c1f0adfb.\n\nChange-Id: I2f42a4360fa53c4333494afe0178dcec56d62d8e\n"
    },
    {
      "commit": "c25283b5e206ceae2aa6eb01877b79c3c1f0adfb",
      "tree": "b76246dd9a2392ffe2ffd670dc3893ffb7ca1807",
      "parents": [
        "62e1f4891773eecbd144d58e05c61562bb46d2eb"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Feb 22 09:16:33 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Feb 22 09:25:06 2016 -0800"
      },
      "message": "AAPT: Allow duplicate attribute definitions if identical\n\nThis allows libraries to coexist a bit easier, since a lot of them\ndeclare the same attribute. When used together they cause errors.\nBug:27101533\n\nChange-Id: I10327251636392e810637a79e7c9aa514f3f07a6\n"
    },
    {
      "commit": "78713998f94a2cc2562aa0ae7761bbc563d8eafa",
      "tree": "753a994b7373774fafa2c4258cc9c53afa845c29",
      "parents": [
        "5f986095bed776c119d2f5452e0afeac3a437ea2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Dec 07 14:02:15 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Dec 07 14:52:53 2015 -0800"
      },
      "message": "Specify private resource package in Android.mk\n\nPrivate resource package shouldn\u0027t be buried in some resource file.\nIt can now be specified on the command line via the Android.mk file.\n\nChange-Id: I9e3cb0bf54830d6b021077af271913306c024701\n"
    },
    {
      "commit": "07dfd2d8642f8a3630ca6429f740865a0c0bfdf7",
      "tree": "28a4aa59b021ddbf0f7bcf9890c98994fd16ade8",
      "parents": [
        "14ed6cf3e7bada4932314969000d384bed6d3f92"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 28 15:44:27 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 30 14:43:43 2015 -0800"
      },
      "message": "Implement AAPT Bundle format\n\nAAPT will scan XML files looking for the \u003caapt:attr\u003e XML tag.\n\n\u003c!-- @layout/bundle.xml --\u003e\n\u003cImageView xmlns:aapt\u003d\"http://schemas.android.com/aapt\"\u003e\n  \u003caapt:attr name\u003d\"android:src\"\u003e\n    \u003cvector android:pathData\u003d\"...\" ...\u003e\n    \u003c/vector\u003e\n  \u003c/aapt:attr\u003e\n\u003c/ImageView\u003e\n\nThe SINGLE child element of the \u003caapt:attr\u003e tag is extracted into its own top\nlevel resource. It is given a generated name.\n\nThe parent element of \u003caapt:attr\u003e is then given the resource attribute that was assigned\nto the `name\u0027 attribute. The value is set to a reference to the generated resource.\n\n\u003c!-- @layout/bundle.xml --\u003e\n\u003cImageView android:src\u003d\"@drawable/bundle_1.xml\"\u003e\n\u003c/ImageView\u003e\n\n\u003c!-- @layout/bundle_1.xml --\u003e\n\u003cvector android:pathData\u003d\"...\" ...\u003e\n\u003c/vector\u003e\n\nBug:22627686\nChange-Id: I8575fc4f739011402662fbf6b3db96df0012f598\n"
    },
    {
      "commit": "5b9847ca3fbcd0bb2528dd2b4c0b789e2d501684",
      "tree": "4d232086253525a00977075cf4aede5a42089287",
      "parents": [
        "9d0f7d44d5cc5322415f52f7ce03cc37a478b350"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 30 21:07:44 2015 +0000"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 30 21:07:44 2015 +0000"
      },
      "message": "Revert \"Implement AAPT Bundle format\"\n\nThis reverts commit 9d0f7d44d5cc5322415f52f7ce03cc37a478b350.\n\nCaused a build breakage when parsing some attributes.\n\nChange-Id: I89ca958b2f2e820d353648df8aadd90bbe8d8339\n"
    },
    {
      "commit": "9d0f7d44d5cc5322415f52f7ce03cc37a478b350",
      "tree": "1882cbfd2f9867e865444c95da0d79028d79ae60",
      "parents": [
        "1cffc196610891f6669c33404f3ff5b0232b7059"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 28 15:44:27 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 24 15:38:40 2015 -0800"
      },
      "message": "Implement AAPT Bundle format\n\nAAPT will scan XML files looking for the \u003caapt:attr\u003e XML tag.\n\n\u003c!-- @layout/bundle.xml --\u003e\n\u003cImageView xmlns:aapt\u003d\"http://schemas.android.com/aapt\"\u003e\n  \u003caapt:attr name\u003d\"android:src\"\u003e\n    \u003cvector android:pathData\u003d\"...\" ...\u003e\n    \u003c/vector\u003e\n  \u003c/aapt:attr\u003e\n\u003c/ImageView\u003e\n\nThe SINGLE child element of the \u003caapt:attr\u003e tag is extracted into its own top\nlevel resource. It is given a generated name.\n\nThe parent element of \u003caapt:attr\u003e is then given the resource attribute that was assigned\nto the `name\u0027 attribute. The value is set to a reference to the generated resource.\n\n\u003c!-- @layout/bundle.xml --\u003e\n\u003cImageView android:src\u003d\"@drawable/bundle_1.xml\"\u003e\n\u003c/ImageView\u003e\n\n\u003c!-- @layout/bundle_1.xml --\u003e\n\u003cvector android:pathData\u003d\"...\" ...\u003e\n\u003c/vector\u003e\n\nBug:22627686\nChange-Id: I31bc96aae30d38bfd0b16508d0f585de5fd88a07\n"
    },
    {
      "commit": "beb9e33bfb79847c25aac98e39f3ea620a953ef7",
      "tree": "4f795b9e4b2cdf95f1dd6b43fdf02eb9fc438b0e",
      "parents": [
        "81eeef589386483722c21572d9ab6d3f95dd26be"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 14 13:16:18 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 14 13:41:46 2015 -0700"
      },
      "message": "AAPT: Fix regression in resource versioning\n\nWith a set of resources with the following configurations:\n\n()\n(land)\n\nthe regression caused any resources that needed to be versioned in configuration () to be lost.\n\nBug:23038206\nChange-Id: I2f1b0313fb780ac241e7aaa487cb37dfb79c36aa\n"
    },
    {
      "commit": "f45d2fad2ecd3cb3c4aeee3014763e01b59eab09",
      "tree": "8d483d3552a4425d7bbe013284b1dd5e8f840543",
      "parents": [
        "beb6e66817e084c8a1ac92ecaeb6f0c73d11cc49"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jul 28 12:10:36 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jul 28 12:26:57 2015 -0700"
      },
      "message": "AAPT: Fix resource versioning\n\nResource generation was greedy, so when an attribute with sdk level 21 was used in a resource\nwith v1, and a different attribute with sdk level 21 was used in a resource with v11,\na v21 resource would be synthesized, but it would contain the attribute from v1 instead of v11.\n\nThis change fixes the issue, having the higher versioned resource take precedence.\n\nBug:22793816\nChange-Id: Ia687f56b0d9969e424111477d55d9804255b22e9\n"
    },
    {
      "commit": "5892248580859620db90d5ef2e3c2f48531933fa",
      "tree": "1aa8d618ee303c56fba94e636d53f46db6e221c9",
      "parents": [
        "8a8ffd4e9b15a04d2af0909205658f08c76bd6b2"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Jun 01 17:59:41 2015 -0700"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Jun 02 02:55:52 2015 +0000"
      },
      "message": "aapt: add option for stricter symbol generation\n\nAdds an option that prevents generating java symbols for string\nresources that don\u0027t have a default localization.\n\nBug: 21537397\nChange-Id: Ifafa942b24d5cdbed93651cde363e859be13d395\n"
    },
    {
      "commit": "6e46056abc1c2803ed7f195bab169bbb1cacec6b",
      "tree": "f68b9654b5dc9e402e79052f1cafa7e60c6d56c3",
      "parents": [
        "d981c0d4f01bb25ba378e865952cf9d48109b9fe"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Apr 21 14:20:15 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Apr 21 14:27:02 2015 -0700"
      },
      "message": "AAPT: Add flag to disable versioning of vector related XML\n\nAAPT automatically versions XML files according to the SDK level\nin which their attributes were introduced. Support libraries\nknow how to handle resources built against newer SDKs, so offer\nthe option to disable some of the automatic versioning, namely\nvectors.\n\nBug:19336994\nChange-Id: I9f9d0ae8f2a0c28404f82e27de416f80e38493c9\n"
    },
    {
      "commit": "1be312dfb02e86731da6ac54a39956db791f4978",
      "tree": "47a4996e85d477e1448a40a0ad486ce11cdbbd23",
      "parents": [
        "e8a3c320e658f6c7f8d1db3d8ad3c3f189c0f54e",
        "01f185633c1c12017731336e7f926fe398c69781"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 09 00:49:55 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 09 00:49:56 2015 +0000"
      },
      "message": "Merge \"Re-enable -Wall and -Werror that were lost in a merge\""
    },
    {
      "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": "b12f2410c7bdbf90bd8a77b897846ee2763e3037",
      "tree": "47038fdc39ec8491b35a3ad455e456e92775bf02",
      "parents": [
        "64b0062a373102f83837faade20b469685758139"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 03 12:56:45 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 03 12:56:45 2015 -0700"
      },
      "message": "Only Windows doesn\u0027t have %zd.\n\nChange-Id: I0e4b0fdc61641c5ecb724fd096bd2315dcf8ed4a\n"
    },
    {
      "commit": "f8d6a4ba8739e16e13ae0014efa099ec564939a7",
      "tree": "3359c566008dcbe79e5553503e37a754fea16b1e",
      "parents": [
        "ecc20aafa6f3d272292e7b3577c99f2c127e590f",
        "701f9c2fd8d4e31c5ed3a51e4767d4aeb9b20c40"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Mar 05 15:41:39 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Mar 05 15:41:39 2015 -0800"
      },
      "message": "resolved conflicts for merge of 701f9c2f to stage-aosp-master\n\nChange-Id: I42e0411c0acef4b15137491ecaaed95d9b1cd0c1\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": "5c61dfc25fed75a436dc32b0fb18854bde0c4cea",
      "tree": "0eae0de74a065094073690f7060d7a0ebf137b8b",
      "parents": [
        "4d5e761a34c73a700757ade349e9a05b3335f617",
        "e488ce8668538b45c586eba21f5bca288d749686"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 14 20:47:47 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 14 20:47:47 2015 +0000"
      },
      "message": "am e488ce86: am 94e30215: Merge \"AAPT: Handle all old unversioned attribute usage\" into lmp-mr1-dev\n\n* commit \u0027e488ce8668538b45c586eba21f5bca288d749686\u0027:\n  AAPT: Handle all old unversioned attribute usage\n"
    },
    {
      "commit": "28994d8d181c286b39811441ce78399576c2d315",
      "tree": "2e1d2308c8c49184fc04ad98994f95ed4d462961",
      "parents": [
        "7ce662ef870df34cd189b4ce9e487e496ba407dd"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 13 13:42:41 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 14 12:02:15 2015 -0800"
      },
      "message": "AAPT: Handle all old unversioned attribute usage\n\nAll references to attributes defined in pre-LOLLIPOP_MR1 SDK\nare moved to version qualified resource entries.\n\nBug:18221682\nChange-Id: Ifd739530ebcf99e6bc7ddb3f10bc5e05f0726e62\n"
    },
    {
      "commit": "22bfb75ebb949ff05d34ad22fbcc888582aaaaa4",
      "tree": "dcf12a59cc9555618478515a7fb3f2571a8ff4b7",
      "parents": [
        "4800de0f7ce810f57db4259a6f6a7d02484800ea",
        "465d123464eadf180b618164b2ed23702bca3d86"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Dec 16 01:43:16 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 16 01:43:16 2014 +0000"
      },
      "message": "am 0f0e85a6: Merge \"AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices\" into lmp-mr1-dev\nautomerge: 465d123\n\n* commit \u0027465d123464eadf180b618164b2ed23702bca3d86\u0027:\n  AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices\n"
    },
    {
      "commit": "ea4e5ecc27793b5c1dd2eda291f752b3f900ee6c",
      "tree": "efdd249d1298cdcdd9d35b668660c25e14fa00c4",
      "parents": [
        "4df65bf1eb454814954421403da9f8b5fcb82180"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 10 15:46:51 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 10 15:55:27 2014 -0800"
      },
      "message": "AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices\n\nThere was an inconsistency in the indexing when removing attributes\nin layouts. Now we account for that shift that happens when you delete\nan attribute.\n\nBug:18707321\nChange-Id: I656eee3fb614168fa8ceeff379e8594708961dad\n"
    },
    {
      "commit": "e97908d32ee8ea80138d085260a0eac93841c722",
      "tree": "0fb24cd7ef6cf6236d3451296937262b78fe2efc",
      "parents": [
        "501bf216dc9068c8169687437d8d6594cd1e1165",
        "0953ab276449cf8d2b27d4f68cb213dfe317a3b4"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Dec 05 11:06:21 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Dec 05 11:06:21 2014 -0800"
      },
      "message": "Merge commit \u00270953ab27\u0027 into manualmerge\n\nChange-Id: I36dea45f7571096136ea7bda5e2680bd85a0df32\n"
    },
    {
      "commit": "9b624c186cb6059dfb3ec24bfb6386a0fc17b88c",
      "tree": "e57516e076eddb75d4c657704522f43067153c2a",
      "parents": [
        "92ad4dd017a13364b4001bdb04911202932f81c2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Nov 19 17:49:26 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 03 15:59:20 2014 -0800"
      },
      "message": "AAPT: Move private attrs to new type for framework\n\nPrivate attributes are typically placed after public\nattributes in the resource table. Each time a new version\nof the Android framework is released, new public attributes\ntake the place of the private attributes, and the private\nattributes are shifted after the new public ones.\n\nThis means that any apps built against the newer SDK\nmay inadvertently be using private attributes on older\ndevices.\n\nThis change moves all private attributes to a completely\ndifferent type ID, so there will never be collisions across\nversions.\n\nThese private attributes are automatically moved to a synthesized\ntype only for the system resources.\n\nBug:18263655\n\nChange-Id: I7a850512953fadcc9f3524d509cea30249782db8\n"
    },
    {
      "commit": "d660e05c84c7412336ca5510ff9514357e9ba074",
      "tree": "c8ef441a63ea9289c94c74907de6a7152ff790ba",
      "parents": [
        "044f323e624084de464e780828f1d7f204e4d01d",
        "8aa93764ea025b1c20f96b366ae6efb17e4f2d67"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 11 19:53:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 11 19:53:52 2014 +0000"
      },
      "message": "am 8aa93764: Merge \"Fixing NULL pointer access causing segmentation fault in aapt\"\n\n* commit \u00278aa93764ea025b1c20f96b366ae6efb17e4f2d67\u0027:\n  Fixing NULL pointer access causing segmentation fault in aapt\n"
    },
    {
      "commit": "4d29c6693090cb9a0be209f9cfd0aef307fe52ed",
      "tree": "65c9af94f6045205dda8a337ad2ca9fc7d844944",
      "parents": [
        "984d81c3937d46240fb9645ffa37c5166284a983",
        "fa31eb2cd1705cdb77f8d8dd9b5761bc773cbb9d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 10 14:32:11 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 10 14:32:11 2014 -0800"
      },
      "message": "Merge commit \u0027fa31eb2c\u0027 into manualmerge\n\nConflicts:\n\ttools/split-select/RuleGenerator_test.cpp\n\nChange-Id: I0d1261301d433f32e857cf1b0d75a861205f7625\n"
    },
    {
      "commit": "da44fe0e1f7c177cd65b7c5c80b35ec8fb3bc1c2",
      "tree": "125b68da3d72e46b95323493d0fbebfe39dd36b7",
      "parents": [
        "59701b9ba5c453e327bc0e6873a9f6ff87a10391"
      ],
      "author": {
        "name": "Jörgen Ekström",
        "email": "jorgen.ekstrom@sonyericsson.com",
        "time": "Thu Mar 24 15:09:42 2011 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Fri Nov 07 13:41:06 2014 +0000"
      },
      "message": "Fixing NULL pointer access causing segmentation fault in aapt\n\nIn cases where resource packages are generated which does\nnot have public resources for all resource types - NULL\npointers sneaks into the mOrderedConfigs vector causing\nthe aapt tool to crash. The solution in this fix simply\nignores the NULL elements when later processing the sorted\nvector.\n\nThe NULL elements are inserted during applyPublicEntryOrder\nfunction call\n\nChange-Id: I8b7135932e2d235018da2e2f7e09f0d22f1b2f59\n"
    },
    {
      "commit": "dcdfe9fef4b07ee53d312c3fbecc74cb215ace6f",
      "tree": "1e689ea612de5ab03f10144b4103fae511b564e8",
      "parents": [
        "d12b69518daabff3c13482f4b5140020b747b71f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 06 12:54:36 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 06 14:57:34 2014 -0800"
      },
      "message": "split-select: Fix rules generated for anydpi density\n\nChange-Id: I9de569ca9a76eb22df4d0e178df847ba1c7d0b01\n"
    },
    {
      "commit": "685d363d7a3e8833edc9368a3c59b69755e0ba29",
      "tree": "e04662b84ae8cc05665206336a148928c23b7cab",
      "parents": [
        "b3d260222fd003c8b537bb9f86625a200bd0f999",
        "fb96e54ba8d43a9f3162c92760e53ab61c7486ff"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Nov 05 12:30:25 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Nov 05 12:30:25 2014 -0800"
      },
      "message": "Merge commit \u0027fb96e54\u0027 into manualmerge\n\nConflicts:\n\ttools/aapt/Resource.cpp\n\nChange-Id: I4147c3550e9426f3429146eaeb16f10ba76b5b15\n"
    },
    {
      "commit": "de7de47fef1dcaa26d553665d89e4d3792325c3f",
      "tree": "0d9551d2f037b841f325bbbd3ba27a309e9441b3",
      "parents": [
        "f7ffcaa7a478eaafc121e84b14dcaf2503dd5457"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 12:03:08 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 15:55:44 2014 -0800"
      },
      "message": "Add error checking to aapt for split generation\n\nChange-Id: Ica627db6a671f6a6c35f98bfd9c03598ffe103ce\n"
    },
    {
      "commit": "4bf58108d442b37ab4adf5ce3a4ecd63472ce254",
      "tree": "2b6359ad85861bf339e6a45813c599ab683fc7c3",
      "parents": [
        "e8d9810cdef5b3e288f54f42adc3205532343406"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 11:21:19 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 11:49:47 2014 -0800"
      },
      "message": "Fix issues that will be present in C++11\n\n- char16_t is a distinct type, so stay consistent\n  with it throughout the code base.\n- char16_t is defined as minimum size of 16 bits.\n  Since we mmap and cast data structures onto raw memory,\n  we need a precise definition (uint16_t), so we cast between\n  that (and static_assert that they are the same size).\n\nChange-Id: I869c32637543bbcfb39d2643e7d9df10d33acd3c\n"
    },
    {
      "commit": "217b17a915849ac50f01f9097e0e35e2b21e6235",
      "tree": "60bdcc42ab9edfbb610237fe833d34f14f5d6ebc",
      "parents": [
        "9aa6ea106d7aec78e5ea4ea251c1eac146496fa6",
        "d3969d927eef2f04ec097244c5f2bff5e7c0689e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 20 21:16:17 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 21:16:17 2014 +0000"
      },
      "message": "am d3969d92: am 6dfe03ae: am 73a8c596: am 3f8c7dec: Merge \"AAPT: Fix path for final generated resources on Windows\" into lmp-dev\n\n* commit \u0027d3969d927eef2f04ec097244c5f2bff5e7c0689e\u0027:\n  AAPT: Fix path for final generated resources on Windows\n"
    },
    {
      "commit": "3986e52cf994ea7960dabffb8d6015e400ce3b63",
      "tree": "319210a0631fdfdd766eed429e5eb811529b89d7",
      "parents": [
        "b12ff841592d6c8cf4846b710d07858e63addbeb",
        "3f8c7dec6b3fd4ac7fc99fe4e41cd0fa1b97bcad"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 20 20:59:49 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 20:59:49 2014 +0000"
      },
      "message": "am 3f8c7dec: Merge \"AAPT: Fix path for final generated resources on Windows\" into lmp-dev\n\n* commit \u00273f8c7dec6b3fd4ac7fc99fe4e41cd0fa1b97bcad\u0027:\n  AAPT: Fix path for final generated resources on Windows\n"
    },
    {
      "commit": "aff7c2447df1ddfe094628317b6d22121cd657f8",
      "tree": "02f11ac125243065e21563e262bcabec3e3b1055",
      "parents": [
        "00831836cdeeb4a61ba10c724c3ca33280937b62"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 20 12:15:25 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 20 12:15:25 2014 -0700"
      },
      "message": "AAPT: Fix path for final generated resources on Windows\n\nChange-Id: Id11ac79b281b51747c73f90406ebd60023c54f92\n"
    },
    {
      "commit": "5787920f5bbac1c7cf296b5c042daf0108dbdacc",
      "tree": "4a461c898612d52da4b5fd268b876cb7dc398886",
      "parents": [
        "9f22aef0c9d7d1bd9aecad7ed6e047ea78d3f7c8",
        "85035d90257beedd54641385674ce2dfb29ae241"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sat Oct 04 00:01:21 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Oct 04 00:01:21 2014 +0000"
      },
      "message": "am 85035d90: am b2b166a5: am 397001b2: am a80aba70: Merge \"AAPT: Gate v21 resource synthesizing logging behind -v flag\" into lmp-dev\n\n* commit \u002785035d90257beedd54641385674ce2dfb29ae241\u0027:\n  AAPT: Gate v21 resource synthesizing logging behind -v flag\n"
    },
    {
      "commit": "865acc74395a56287ab7bec58947327b5790aa70",
      "tree": "e370b0a9b8f5f6ee5a0bca3a11d85857c2878280",
      "parents": [
        "366cafa2be06080c891c9090961044d324c6d0c7",
        "a80aba70728c2843df94474dbd7829dadb77855f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 03 22:12:16 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 03 22:12:16 2014 +0000"
      },
      "message": "am a80aba70: Merge \"AAPT: Gate v21 resource synthesizing logging behind -v flag\" into lmp-dev\n\n* commit \u0027a80aba70728c2843df94474dbd7829dadb77855f\u0027:\n  AAPT: Gate v21 resource synthesizing logging behind -v flag\n"
    },
    {
      "commit": "f15de2e2151ae48338afd27f3ebd33fce5009103",
      "tree": "f0fc010bafa6673fbb17e2f4a9ca90eef07863f1",
      "parents": [
        "b591da942e159588c70687dfe3e792feedc8f3b4"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 03 14:57:28 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 03 14:57:28 2014 -0700"
      },
      "message": "AAPT: Gate v21 resource synthesizing logging behind -v flag\n\nThis is verbose information and should be hidden behind the -v flag.\n\nBug:17822471\nChange-Id: I36e2c6beb54669a31cde73416427477a80ded8a6\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": "87332a7109610d02ac7f5db6af99d3a11813d5c1",
      "tree": "19696ad7c6d520eeaff870636aa953a96adcc530",
      "parents": [
        "bee6dfe09d4381f9ddf666fd04012c662f31e7fd",
        "1dcc75b2dbaef7c3bb3410187bf38cabca0d1aea"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 01 22:03:58 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 01 23:26:06 2014 -0700"
      },
      "message": "resolved conflicts for merge of 1dcc75b2 to lmp-mr1-dev-plus-aosp\n\nChange-Id: I8f7cbd971beae3ab134195e612d705860665142f\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": "61b8bfa5d303645d95a7bff52d19a3d6ec297bb8",
      "tree": "91b2724decc4d7a9e10508e908fe23e86b09f9fe",
      "parents": [
        "da3b0d3f3fe8c745fd9a3d14fd79a3fa5d3875fc",
        "3481fd9522e8b954c10de432126cf475006a789e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 26 05:03:49 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 26 05:03:49 2014 +0000"
      },
      "message": "am a196e203: am 98e858b1: am 581dfee1: am 0a6c5ea4: Merge \"AAPT: Fix issue with synthesized resource not actually showing up\" into lmp-dev\n\n* commit \u0027a196e203076cb810a21a702b41f6a1d82d029318\u0027:\n  AAPT: Fix issue with synthesized resource not actually showing up\n"
    },
    {
      "commit": "86641af81dc7e7216ac035a7e78bc39ff1f1244d",
      "tree": "e6bcb195f4483d982bc9fab3e9e84a1b99899c83",
      "parents": [
        "9cd82d061a4c674552e408a3a20a1850d0de53ec",
        "663a52d68a4cd9aa0a9109bab8934459d05c7753"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 26 01:04:51 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 26 01:04:51 2014 +0000"
      },
      "message": "am 0a6c5ea4: Merge \"AAPT: Fix issue with synthesized resource not actually showing up\" into lmp-dev\n\n* commit \u00270a6c5ea412bc1e49aa1e98a6a3fe268081883d4a\u0027:\n  AAPT: Fix issue with synthesized resource not actually showing up\n"
    },
    {
      "commit": "978ab9d92934b79409638cf220de3002fea8d505",
      "tree": "9352e4099e7c627436ac9e3a8d7e9094e6987f69",
      "parents": [
        "7e1d525b47404a27fb1c780ea2070f7ca8344461"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Sep 24 19:02:52 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Sep 24 19:02:52 2014 -0700"
      },
      "message": "AAPT: Fix issue with synthesized resource not actually showing up\n\nAAPT keeps around a few pieces of state that are disjoint, so\nsimply adding to a collection won\u0027t add the resource to the final\nflattened output. Instead, we create the resource from the top\nand then copy over the values into the newly created resource.\n\nBug:17647890\nChange-Id: I214263e84c18f9370c6e6a5aa53aa2d833fc842d\n"
    },
    {
      "commit": "dc03c9f292a93806a30a3a32009ff75ff8d419cc",
      "tree": "ae22bc693aced61651c28f48efc1ecc520333857",
      "parents": [
        "c2ece0002baf8731fedddc3f6053ef97863df497",
        "534b739118b6af4c4f27dc7a2d991f1b7d7c1e88"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Sep 22 19:45:27 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 22 19:45:27 2014 +0000"
      },
      "message": "am d4e5b601: am 37e3df38: am 1aa4db07: am 81745c51: Merge \"AAPT: Continuation of public/private attribute fix\" into lmp-dev\n\n* commit \u0027d4e5b601c7da5c662d8cf9c46177810fdeeed23f\u0027:\n  AAPT: Continuation of public/private attribute fix\n"
    },
    {
      "commit": "94ea10844c2b1ab344a5bcb404a19fdf66434874",
      "tree": "ab3880e3282eec2c54b947cac7ee2011e7ee8f3d",
      "parents": [
        "4dc8d46cd03d3421265dd9edefe7748b446dac0d",
        "de4495d2a043b133b075c38d23180a5974c9723d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Sep 22 18:23:20 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 22 18:23:20 2014 +0000"
      },
      "message": "am 36b5795f: am 81745c51: Merge \"AAPT: Continuation of public/private attribute fix\" into lmp-dev\n\n* commit \u002736b5795fc9e9a2eed320a0d626bce44a8c231f6b\u0027:\n  AAPT: Continuation of public/private attribute fix\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": "0fa7511db2ec1e2326938f92262d00f23876307e",
      "tree": "79fe6be8c92ccf3acef647bbaa3ee85e6f890890",
      "parents": [
        "e83bc5932eba4af67e2cd7b76648ae26740b9b01",
        "a7d1a111c7176fdf853e53e74f6c7c7843c3c81c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 19 19:08:50 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 19 19:08:50 2014 +0000"
      },
      "message": "am 9ee3ba23: am e7e9ad6d: am 863b1a90: am 19f9d54f: Merge \"Fix backwards compat problem with AAPT public attrs\" into lmp-dev\n\n* commit \u00279ee3ba23395bd1a13bbfd3fe523ee611a5ca001b\u0027:\n  Fix backwards compat problem with AAPT public attrs\n"
    },
    {
      "commit": "8d2556f0de2786367babaafbf1c34b24926e48ca",
      "tree": "fcd53787b65f0ff0e1449b3ba1794d5edc79be32",
      "parents": [
        "26d5da351e5fbeb23605a643923e896bb3a0d57c",
        "ecdaa576af69361538738b9982b22d25017012a3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 19 18:37:15 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 19 18:37:15 2014 +0000"
      },
      "message": "am 8bdb265f: am 19f9d54f: Merge \"Fix backwards compat problem with AAPT public attrs\" into lmp-dev\n\n* commit \u00278bdb265f0a73bc6f2114ca70f141c214a23696c7\u0027:\n  Fix backwards compat problem with AAPT public attrs\n"
    },
    {
      "commit": "82a2dd8efe48d3a4e04655f01329da857ace4b7d",
      "tree": "9c5ec064aeba43cf4b27fd4bb36e31f0bf425f35",
      "parents": [
        "49c0e7375b237bc6eff8746ae91466ea6a660233"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Sep 17 18:34:15 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 18 14:05:24 2014 -0700"
      },
      "message": "Fix backwards compat problem with AAPT public attrs\n\nAAPT has traditionally assigned resource IDs to public attributes,\nand then followed those public definitions with private attributes.\n\n--- PUBLIC ---\n| 0x01010234 | attr/color\n| 0x01010235 | attr/background\n\n--- PRIVATE ---\n| 0x01010236 | attr/secret\n| 0x01010237 | attr/shhh\n\nEach release, when attributes are added, they take the place of the private\nattributes and the private attributes are shifted down again.\n\n--- PUBLIC ---\n| 0x01010234 | attr/color\n| 0x01010235 | attr/background\n| 0x01010236 | attr/shinyNewAttr\n| 0x01010237 | attr/highlyValuedFeature\n\n--- PRIVATE ---\n| 0x01010238 | attr/secret\n| 0x01010239 | attr/shhh\n\nPlatform code may look for private attributes set in a theme. If an app\ncompiled against a newer version of the platform uses a new public\nattribute that happens to have the same ID as the private attribute\nthe older platform is expecting, then the behavior is undefined.\n\nWe get around this by detecting any newly defined attributes (in L),\ncopy the resource into a -v21 qualified resource, and delete the\nattribute from the original resource. This ensures that older platforms\ndon\u0027t see the new attribute, but when running on L+ platforms, the\nattribute will be respected.\n\nWe still need to address this problem in the platform moving forward,\nas this will only help us in the transition from pre L to L.\n\nBug:17520380\nChange-Id: Ia2a985798b50006c21c7c3431d30d9598f27cd91\n"
    },
    {
      "commit": "017d1bdca7d41ceb1351fc73e50f543fb45618a2",
      "tree": "166c222617efd162ccf2f968c261f4f15abed19d",
      "parents": [
        "8c2b2085c9f8735b65a22637600ff23d181c7faf",
        "99d0ad0dff156d3d752fa2c842c31da084b78777"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Sep 10 00:51:15 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 10 00:51:15 2014 +0000"
      },
      "message": "am 716c7279: am 799dc748: Merge \"AAPT: Don\\\u0027t crash on illegal symbol name\" into lmp-dev\n\n* commit \u0027716c7279854318eeabad39b7bb187aa69ad41c97\u0027:\n  AAPT: Don\u0027t crash on illegal symbol name\n"
    },
    {
      "commit": "3fb8c9b50ef1873454acf3a4e7fd33ad182c03d7",
      "tree": "dec5449bab1566ca938ba1a3d81f39c064a36458",
      "parents": [
        "97e75e1da97f01e82c0105b1f915821a99dda196"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Sep 09 16:05:10 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Sep 09 16:05:10 2014 -0700"
      },
      "message": "AAPT: Don\u0027t crash on illegal symbol name\n\nWe never checked the return value when adding a nested\nsymbol, which would be NULL if the symbol name was invalid.\n\nExternal bug: https://code.google.com/p/android/issues/detail?id\u003d75876\n\nChange-Id: I5211f4d4b87897d52f2b6e5907113d31930bb92d\n"
    },
    {
      "commit": "20ec4fa2294a91e5ff87839280904aba4a050cf6",
      "tree": "975bff3addce4062cb4227f7d96d1f36a16c7ed0",
      "parents": [
        "ddb605d4b2fa544bab69a72a288e578f2dd37f52",
        "6c585756b4c66058af85bb8d6524ffa94af79e62"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Sep 08 22:25:54 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Sep 08 22:25:54 2014 -0700"
      },
      "message": "resolved conflicts for merge of 6c585756 to lmp-dev-plus-aosp\n\nChange-Id: I5a25f2bac44ac5efcd7462af91005e09680a1d96\n"
    },
    {
      "commit": "f348c15ecf78e9d58b8238ffcf1d78a279e3a862",
      "tree": "fad413b2f2b3d849eaf83e607a8336683adb8b63",
      "parents": [
        "2a1ed46decbc8e21a39367a4b7770111392167c3"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Sep 08 18:28:00 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Sep 08 18:30:08 2014 -0700"
      },
      "message": "Use char16_t for char things.\n\nWhen compiling in C++ mode, the compiler will complain about conversions\nfrom uint16_t to char16_t. Be consistent in using char16_t for strings.\n\nChange-Id: I052b6176ced635162920b31560052d9a64f92764\n"
    },
    {
      "commit": "27f69f4e06961fdecd1078b2292d764a157e5e1c",
      "tree": "24a4336bc223fd6380ba4fe0113d86edcee33a23",
      "parents": [
        "759f780af0b838316556de69049fb892f7b11ed5"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Aug 21 13:19:12 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Aug 21 13:59:46 2014 -0700"
      },
      "message": "AAPT: mipmaps should not end up in Splits\n\nMipmaps are never filtered, and so they will always\nend up in the base APK. Make sure they get omitted from\nany split.\n\nChange-Id: Id24b082bc9bd2d3f031a58bd0de4d30b4f0de7e0\n"
    },
    {
      "commit": "6022debdbcc4498736580640c6287b57872617a2",
      "tree": "17fa702311166e6f78ad07af3e767ca672817135",
      "parents": [
        "e02f340d9a0c4f841376c3db8ec93f65e7e58417"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 20 14:59:19 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 20 17:55:33 2014 -0700"
      },
      "message": "AAPT: Fix regression generating dynamic ref table for shared libraries\n\nAAPT stopped generating dynamic reference tables for shared libraries.\n\nChange-Id: Ib0025811bdca1a4756eb21080dd6b6bb3fc1ca3d\n"
    },
    {
      "commit": "43a0df04b0826ffb9e4589aac73b07b0c98abe8c",
      "tree": "118d79fa190f8a6f622e1490403ec25681a875e9",
      "parents": [
        "611f8f17f333f7702cd8c60e2f4908ae306a02db"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 18 17:14:57 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Aug 19 03:46:00 2014 +0000"
      },
      "message": "Allow enum generated IDs to reuse existing IDs\n\nChange-Id: Ida5dbbce1c4ecb0a4e57511555cec6448737be25\n"
    },
    {
      "commit": "833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1",
      "tree": "a57e8389088178108de1424faf41ea3bb87c934a",
      "parents": [
        "5c09e8ad5ee8e67976066366527ee58792551953"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 18 15:06:01 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 04 18:48:14 2014 -0700"
      },
      "message": "AAPT support for feature splits\n\nThis change allows the developer to add a base package for\nwhich to build a feature split. The generated resource types\nwill begin after the base APK\u0027s defined types so as not\nto collide or override resources.\n\nMultiple features can be generated by first choosing an\narbitrary order for the features. Then for each feature,\nthe base APK and any preceding features are specified\nwith the --feature-of flags.\n\nSo with a base APK \u0027A\u0027 and features, \u0027B\u0027, and \u0027C\u0027,\n\u0027B\u0027 would be built with\n\naapt package [...] --feature-of A [...]\n\nand \u0027C\u0027 would be built with\n\naapt package [...] --feature-of A --feature-of B [...]\n\nChange-Id: I1be66e3f8df9a737b21c71f8a93685376c7e6780\n"
    },
    {
      "commit": "57079519f4610715e4c0668c641575d10f3d4461",
      "tree": "aeecc2293b5d0de29a512c288ac2add5c940bf7c",
      "parents": [
        "e9ac817e834ce9c41a9bfed73e6cf1cf5ccf01c7"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jul 29 11:51:35 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 30 18:46:51 2014 +0000"
      },
      "message": "Fix large memory corruption in AAPT\n\nWhen assigning a new string pool to a package, don\u0027t release the\nreference to the old memory immediately, as the cleanup code that\nis called after references the old memory.\n\nBug: 16155257\nChange-Id: I3eaeb81191b71a282a0ef82856023f09707f1b17\n"
    },
    {
      "commit": "f90f2f8dc36e7243b85e0b6a7fd5a590893c827e",
      "tree": "b2fb1fc49961c7c5f5c1712872ce2ffcfe550a89",
      "parents": [
        "c802c8cda234129c1ce3c7a939bd68a1d5813ce6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jun 06 14:27:00 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 18 19:20:08 2014 +0000"
      },
      "message": "Support multiple resource tables with same package\n\nIn order to support APK split features, the resource\ntable needs to support loading multiple resource\ntables with the same package but potentially new set\nof type IDs.\n\nThis adds some complexity as the type ID space changes\nfrom dense and ordered to potentially sparse.\n\nA ByteBucketArray is used to store the type IDs in\na memory efficient way that allows for fast retrieval.\n\nIn addition, the IDMAP format has changed. We no longer\nneed random access to the type data, since we store the\ntypes differently. However, random access to entries of\na given type is still required.\n\nChange-Id: If6f5be680b405b368941d9c1f2b5d2ddca964160\n"
    },
    {
      "commit": "f0009776203b4e5b705f575990d3fa466a10a1b3",
      "tree": "adce2f25011a4201e57d85b8a82faa3a483247a4",
      "parents": [
        "1cb088c1281deec042bdf00e0f2d227f7e5cd718",
        "fab50875b98e8274ac8ee44b38ba42521bbbf1f9"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon May 12 18:12:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 12 18:12:35 2014 +0000"
      },
      "message": "Merge \"Add support for building split APKs\""
    },
    {
      "commit": "fab50875b98e8274ac8ee44b38ba42521bbbf1f9",
      "tree": "984277e1fadd3d5156bb6b05b21a1c23252b3a1b",
      "parents": [
        "57df4fd69e96c901ac0a027aa913f3f9086fbbf6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 16 14:40:42 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sun May 11 18:30:12 2014 -0700"
      },
      "message": "Add support for building split APKs\n\nBuild multiple APKs, each containing a disjoint subset\nof configurations. These can then be loaded into the device\nAssetManager and should operate as if they were never split.\n\nUse the idea of building multiple sets of files, where each\nset represents an APK. An ApkBuilder can place files\nin a set based on its configuration, but you can actually\nadd directly to a set, in the case of the resources.arsc and\ngenerated AndroidManifest.xml for splits.\n\nChange-Id: Ic65d3f0ac1bbd290185695b9971d425c85ab1de3\n"
    },
    {
      "commit": "f3e7945c79557cfd4d667caeacf69ee197508535",
      "tree": "b6563edea58fd7f3219976ebc8b1f908c4c1aa22",
      "parents": [
        "ccd3a6a519030989c18371c1d58d6d3632de78ee",
        "867680342e12af59a26756f30cf817a131724943"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 06 02:34:40 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 06 02:34:40 2014 +0000"
      },
      "message": "am 86768034: am b593ad60: am f1f28d1d: Merge \"Skip resource files for locales en-XA and ar-XB during packaging if pseudolocalization was done automatically. This prevents attemts to add same resource twice.\"\n\n* commit \u0027867680342e12af59a26756f30cf817a131724943\u0027:\n  Skip resource files for locales en-XA and ar-XB during packaging if pseudolocalization was done automatically. This prevents attemts to add same resource twice.\n"
    },
    {
      "commit": "47843df11fe88b30abcac324173b6c15f16cc797",
      "tree": "228316dd281263a087e6b60b071db711f5003004",
      "parents": [
        "83a538e40ed8bdcda64c4bb5a448c0357b8e5e73"
      ],
      "author": {
        "name": "Igor Viarheichyk",
        "email": "viarheichyk@google.com",
        "time": "Thu May 01 17:04:39 2014 -0700"
      },
      "committer": {
        "name": "Igor Viarheichyk",
        "email": "viarheichyk@google.com",
        "time": "Mon May 05 18:13:41 2014 -0700"
      },
      "message": "Skip resource files for locales en-XA and ar-XB\nduring packaging if pseudolocalization was done automatically.\nThis prevents attemts to add same resource twice.\n\nChange-Id: I51e17f961ac44047bf466ce4aa0d4d17f4ded0d6\n"
    },
    {
      "commit": "8c2fff23853d78c19a94d034dbf21fc2718ead9a",
      "tree": "28ce995652ad196e67719836e6f6636ec321ac77",
      "parents": [
        "5e2901ba1c88c922a86d91915a00c4fa08f805ff",
        "fd955f14d6c87dffd1a20c36ad8001705495f831"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 30 23:35:39 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 30 23:35:39 2014 +0000"
      },
      "message": "am fd955f14: am 6a6979ad: am 86315c45: Merge \"Fixes issue causing pseudolocalization of strings in non-translatable resource files.\"\n\n* commit \u0027fd955f14d6c87dffd1a20c36ad8001705495f831\u0027:\n  Fixes issue causing pseudolocalization of strings in non-translatable resource files.\n"
    },
    {
      "commit": "84410b054c7db0b6685a0f15cb2d1ffcb264f6c9",
      "tree": "e75b6010cd7a2eb70025fe4db1c2b90b798b13ee",
      "parents": [
        "56cd8dbfbdeebc36ccbd5b2beedaaaa3f13c8b07"
      ],
      "author": {
        "name": "Igor Viarheichyk",
        "email": "viarheichyk@google.com",
        "time": "Wed Apr 30 11:56:42 2014 -0700"
      },
      "committer": {
        "name": "Igor Viarheichyk",
        "email": "viarheichyk@google.com",
        "time": "Wed Apr 30 11:56:42 2014 -0700"
      },
      "message": "Fixes issue causing pseudolocalization of strings\nin non-translatable resource files.\n\nChange-Id: Ic8e5effc86226d5be00561ac71bab7695ef90376\n"
    },
    {
      "commit": "4b0ee78bfa0df6e278c7327822fd9a0eff52b584",
      "tree": "536b4b814feb42123a516c3eda279470f70bbcd3",
      "parents": [
        "5b5def547201b213bc2325400371c37d1612732e",
        "56ca82191231f3aba1132e3db06e7e09a10ec6dc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 18 16:07:41 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 18 16:07:41 2014 -0700"
      },
      "message": "resolved conflicts for merge of 56ca8219 to master\n\nChange-Id: I62f5804a5c4404eedce09188cda2e3b1bb990b36\n"
    },
    {
      "commit": "a2ef5c0d4fb863c0382e77ae00f986a019b11cbe",
      "tree": "d6c10bedf5d762e0fc0bd10b38f381ccefefa248",
      "parents": [
        "ecdf9b199ac9659c37c34c0b23084199acea80bf"
      ],
      "author": {
        "name": "Anton Krumin",
        "email": "antkrumin@google.com",
        "time": "Wed Mar 12 14:46:44 2014 -0700"
      },
      "committer": {
        "name": "Anton Krumin",
        "email": "antkrumin@google.com",
        "time": "Wed Apr 09 16:59:48 2014 -0700"
      },
      "message": "Pseudolocalizer improvements.\n\nFixes accented pseudolocalization and adds RTL pseudolocale.\n\nThis change contains following modifications in the pseudolocalization logic:\n1) zz_ZZ pseudolocale was removed;\n2) en_XA pseudolocale was added for pseudo-accented;\n3) ar_XB pseudolocale was added for pseudo-rtl;\n4) Pseudo RTL localization functionality was implemented;\n5) Text expansion functionality was implemented;\n6) Text bracketing was implemented;\n7) Couple of issues of previous implementation were fixed.\n\nChange-Id: I9f7f27bed717e39e82717d15c398decffc8bec3c\nSigned-off-by: Anton Krumin \u003cantkrumin@google.com\u003e\n"
    },
    {
      "commit": "de898ff42912bd7ca1bfb099cd439562496765a4",
      "tree": "849b591a99a7e6a8fd790aedca3afff6f6b6eade",
      "parents": [
        "05f79758cd2688f89444a38baba326a0a1c1a438"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 29 18:20:45 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Mar 25 12:09:56 2014 -0700"
      },
      "message": "Shared library resource support\n\nShared libraries can now export resources for applications\nto use.\n\nExporting resources works the same way the framework exports\nresources, by defining the public symbols in res/values/public.xml.\n\nBuilding a shared library requires aapt to be invoked with the\n--shared-lib option. Shared libraries will be assigned a package\nID of 0x00 at build-time. At runtime, all loaded shared libraries\nwill be assigned a new package ID.\n\nCurrently, shared libraries should not import other shared libraries,\nas those dependencies will not be loaded at runtime.\n\nAt runtime, reflection is used to update the package ID of resource\nsymbols in the shared library\u0027s R class file. The package name of\nthe R class file is assumed to be the same as the shared library\u0027s\npackage name declared in its manifest. This will be customizable in\na future commit.\n\nSee /tests/SharedLibrary/ for examples of a shared library and its\nclient.\n\nBug:12724178\nChange-Id: I60c0cb8ab87849f8f8a1a13431562fe8603020a7\n"
    },
    {
      "commit": "e119b22146c602dac1e8bdfdb325b6c83fc66d66",
      "tree": "d318c4a106673041cf3b47733a8dea78463aaad5",
      "parents": [
        "88517170cbb09b45324d5b457a0e5e840cc7d09b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 20 18:04:57 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Mar 24 10:50:34 2014 -0700"
      },
      "message": "Reduce warning verbosity in aapt\n\n- Attributed source of problems to the correct file.\n- Only verify string localizations against valid\n  locales.\nBug:13140015\nChange-Id: I9dabc5efa0510649caee8af0c8ebb803d6f48269\n"
    },
    {
      "commit": "a01a9374fd386f3a8773528d7a49bc5315492dff",
      "tree": "30857703034ba4ae65c917cac6a17c4a15c347c3",
      "parents": [
        "40436a20c666c99287379838e737cc69ee10fd10"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 20 18:04:57 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 20 18:14:48 2014 -0700"
      },
      "message": "Reduce warning verbosity in aapt\n\n- Attributed source of problems to the correct file.\n- Only verify string localizations against valid\n  locales.\nBug:13140015\nChange-Id: I9dabc5efa0510649caee8af0c8ebb803d6f48269\n"
    },
    {
      "commit": "788fa41482b9d398591b7db8b0b01839029611ad",
      "tree": "ab94d4040351d79cca717a8b7e21fc6be5d0fcb5",
      "parents": [
        "48620f1d1b03e1cb4e0dce4999e0a4c2daf3a1b2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 21 15:32:36 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Feb 14 14:08:57 2014 +0000"
      },
      "message": "Extended locales in AAPT / AssetManager.\n\nSupport 3 letter language codes, script codes \u0026\nvariants. The bulk of the changes are related to\nthe implementation of command line filtering of\nlocales etc. The previous code assumed that the\nvalue of each \"axis\" (locale, density, size etc.)\ncould be represented by a 4 byte type. This is\nno longer the case.\n\nThis change introduces a new class, AaptLocaleValue\nwhich holds a (normalized) locale parsed from a\ndirectory name or a filter string. This class takes\nresponsibility for parsing locales as well as\nwriting them to ResTable_config structures, which is\ntheir representation in the resource table.\n\nThis includes minor changes at the java / JNI level\nfor AssetManager. We now call locale.toLanguageTag()\nto give the native layer a well formed BCP-47 tag.\nI\u0027ve removed some duplicated parsing code in\nAssetManager.cpp and replaced them with functions on\nResTable_config. The native getLocales function has\nbeen changed to return well formed BCP-47 locales as\nwell, so that the corresponding java function can use\nLocale.forLanguageTag to construct a Locale object\nout of it.\n\nFinally, this change introduces default and copy\nconstructors for ResTable_config to prevent having\nto memset() the associated memory to 0 on every\nstack allocation.\n\n(cherry-picked from commit 91447d88f2bdf9c2bf8d1a53570efef6172fba74)\n\nChange-Id: I1b43086860661012f949fb8e5deb7df44519b854\n"
    },
    {
      "commit": "91447d88f2bdf9c2bf8d1a53570efef6172fba74",
      "tree": "dc46e96130696c26e8fd3883227314ef5c0b7ad1",
      "parents": [
        "378c6775a62d9c461cde51f06c1b14bb014c78fd"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 21 15:32:36 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 10 15:50:16 2014 +0000"
      },
      "message": "Extended locales in AAPT / AssetManager.\n\nSupport 3 letter language codes, script codes \u0026\nvariants. The bulk of the changes are related to\nthe implementation of command line filtering of\nlocales etc. The previous code assumed that the\nvalue of each \"axis\" (locale, density, size etc.)\ncould be represented by a 4 byte type. This is\nno longer the case.\n\nThis change introduces a new class, AaptLocaleValue\nwhich holds a (normalized) locale parsed from a\ndirectory name or a filter string. This class takes\nresponsibility for parsing locales as well as\nwriting them to ResTable_config structures, which is\ntheir representation in the resource table.\n\nThis includes minor changes at the java / JNI level\nfor AssetManager. We now call locale.toLanguageTag()\nto give the native layer a well formed BCP-47 tag.\nI\u0027ve removed some duplicated parsing code in\nAssetManager.cpp and replaced them with functions on\nResTable_config. The native getLocales function has\nbeen changed to return well formed BCP-47 locales as\nwell, so that the corresponding java function can use\nLocale.forLanguageTag to construct a Locale object\nout of it.\n\nFinally, this change introduces default and copy\nconstructors for ResTable_config to prevent having\nto memset() the associated memory to 0 on every\nstack allocation.\n\nChange-Id: I899a56a9a182ee6be52b9389d1ae59266f5482e9\n"
    },
    {
      "commit": "9a9fa163c384e7fff159d339dfcce3b3122bece5",
      "tree": "29943710651270e47dbea26c4a96fd750e2454e5",
      "parents": [
        "9636071bdc29df0ed5d801d0499bdb76abade1db"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Dec 18 13:27:30 2013 +0000"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:10 2014 -0800"
      },
      "message": "Don\u0027t pseudolocalize untranslatable strings.\n\nbug: https://code.google.com/p/android/issues/detail?id\u003d63004\n\n(cherry picked from commit 7e1b8ff3e15b35b92978e572ccbfbc47cedce242)\n\nChange-Id: I99ba1a915ae8fc61f70ce570b782108171d0fcaa\n"
    },
    {
      "commit": "cd28bd37ea2d88dd72930f032ca73daaad5744b4",
      "tree": "3fda41d9360e2d127b47cbe31ebd176c8a900588",
      "parents": [
        "24dffd0b0beb58d900bf232448596064f3c7d483"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Nov 14 17:12:10 2013 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:09 2014 -0800"
      },
      "message": "Add new aapt flag --error-on-missing-config-entry\n\nIt forces aapt to return an error if aapt fails to find an resource\nentry for a configuration.\n\nBug: 11259444\nChange-Id: Ie5674a29dff5d4455e7d7c94f6b25560fb1305b7\n"
    },
    {
      "commit": "8ff15b4cada7998e78c93934ab2c869c322d7e07",
      "tree": "98c5c7e41ca513b9dd115675a5559e4d80946df7",
      "parents": [
        "492d16434acaaf050f676b6767fbf020fd6ff772"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 07 16:54:01 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:07 2014 -0800"
      },
      "message": "AAPT emits error for res with no \u0027default\u0027 product\n\nRather than ignoring resources that do not match the specified\nproduct, we keep track of the ignored ones and make sure that\nsome variant of the resource that matches the product was processed.\n\nbug:10860838\nChange-Id: I7a35f37fda2c9561634f75323bd4cb2b9047e29b\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": "7e1b8ff3e15b35b92978e572ccbfbc47cedce242",
      "tree": "4393ea93637c97d20808c49f197e5ead561a645a",
      "parents": [
        "6e2d0c1d91f644ab50e0c0b7cae4306262a4ca41"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Dec 10 09:49:59 2013 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Dec 10 13:37:32 2013 +0000"
      },
      "message": "Don\u0027t pseudolocalize untranslatable strings.\n\nbug: https://code.google.com/p/android/issues/detail?id\u003d63004\nChange-Id: I8e47a53d887144dc867111e42313d0e113b83ea1\n"
    },
    {
      "commit": "2b8e82fd51fca815675e7cb32c35da3932f0dc13",
      "tree": "80ffefd2ff99d2f3d129c7682b014d468a56c7dd",
      "parents": [
        "fc141ef20bf871e925fbbbe4bb9af64c67033246"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 04 12:06:38 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 04 15:14:09 2013 -0700"
      },
      "message": "AAPT emits error for res with no \u0027default\u0027 product\n\nRather than ignoring resources that do not match the specified\nproduct, we keep track of the ignored ones and make sure that\nsome variant of the resource that matches the product was processed.\n\nbug:10860838\nChange-Id: I804cd04a053269a35b7e1c1cc743b77493337bf9\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": "d8dde13a63565dcd72bcf03a5088407b737ba793",
      "tree": "671cd9a2e230b1f960e673e8c2c1bbd3b535d9cc",
      "parents": [
        "aeb6268645d571dfc9f2d387a7ad2471039ddb54"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Nov 16 15:58:08 2012 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 27 18:28:49 2012 -0800"
      },
      "message": "Cache resource ID lookups in aapt\n\nThis speeds up certain workloads considerably, particularly\nthose involved in buildling apps via the SDK.  Windows-based\nuse should particularly benefit from the change.\n\nChange-Id: I29f4b3a77400b201ee219729cc28a5e359c0c5e8\n"
    },
    {
      "commit": "5f7979993979466c79ab4f38d83c6f2aca361662",
      "tree": "90c8b098b3c9a53a90c039641b0b7ba379d6b4eb",
      "parents": [
        "5e8e41e41aecd2a4951659a1f3507f3371e0cc47"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Fri Jun 15 20:16:41 2012 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Aug 23 14:55:33 2012 -0700"
      },
      "message": "Add support for \"-rtl\" in resources\n\n- fix bug #7035019 Need to have \"-rtl\" support for Resource\n\nChange-Id: Ic82145c2ac672729d8a6c695a5f343276a1a0a2c\n"
    },
    {
      "commit": "3e2d59146df9e9e325dcc65018bb130b03242bbc",
      "tree": "54d3d73e5d71d8ae0e83bfd6516cb6befd7ece97",
      "parents": [
        "39b58ba2b299e1c97e13535aae9add530d942c7b",
        "13c04786ceec6aebe898bca7c62853af2e4e7c09"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 10:00:22 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 10:02:02 2012 -0700"
      },
      "message": "resolved conflicts for merge of 13c04786 to jb-dev-plus-aosp\n\nChange-Id: Ib7aa5a768f4606beb2a4387811cfed7c00cbc111\n"
    },
    {
      "commit": "39b58ba2b299e1c97e13535aae9add530d942c7b",
      "tree": "94247b9025407767a527abeded5c8cfebfabe1cb",
      "parents": [
        "a43d2589b1ce657d8af7702cd7b3e3114e7ae133",
        "bc2fb7b92e013779356c16685a388d5cdae6e93d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 09:53:48 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 09:54:38 2012 -0700"
      },
      "message": "resolved conflicts for merge of bc2fb7b9 to jb-dev-plus-aosp\n\nChange-Id: I5386585e473201268c6ed8b05e0a16569d434ea2\n"
    },
    {
      "commit": "345b7eb8749d6954942fd4e961fff9f2f854934c",
      "tree": "9357978bf60889db44adb838760e261265a5d839",
      "parents": [
        "8a9cfcc85260eadcc2c17c4a8911c6d93b642f39"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 15:25:17 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 15:25:17 2012 -0700"
      },
      "message": "Remove dead code in StringPool.\n\nThe sorted string pool option was no longer used.\nNeither were strings with associated identifiers.\n\nChange-Id: Ic5f6368637fbeedfda873d63f4ad0f3ea9d0d603\n"
    }
  ],
  "next": "59eb5fd509c98a371b8824f6b13cf29981a4f063"
}
