)]}'
{
  "log": [
    {
      "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": "720beef28dacc924d77576f63fced84e6a820dc6",
      "tree": "11cdfd10ab302973dd88a6928a8637d461a080fd",
      "parents": [
        "391232da084d715b9f20539a98b4a49cc56bf949",
        "9b624c186cb6059dfb3ec24bfb6386a0fc17b88c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 04 18:24:39 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 04 18:24:41 2014 +0000"
      },
      "message": "Merge \"AAPT: Move private attrs to new type for framework\" into lmp-mr1-dev"
    },
    {
      "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": "455550d5869e6ca1433802b06e15d415b6f86e6b",
      "tree": "fa2596c4736f06d6bb534c8bd4ad8bffbc981c56",
      "parents": [
        "b46e9da64c51bcbfdd21b8e18850064eeb50d930",
        "72a6aeaca0712d9b72b9f773e2b72bb45ddd3cb8"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 03 20:42:22 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 03 20:42:22 2014 +0000"
      },
      "message": "am 72a6aeac: am 91ca64ea: Merge \"AAPT: Add pathMotion custom classes to Proguard Keep set\" into lmp-mr1-dev\n\n* commit \u002772a6aeaca0712d9b72b9f773e2b72bb45ddd3cb8\u0027:\n  AAPT: Add pathMotion custom classes to Proguard Keep set\n"
    },
    {
      "commit": "62c5df52e771e8cf490ee42e5d1516ec10170679",
      "tree": "ded8265fdf1fe1ef02b3dd94f0c6d1e1db2f4220",
      "parents": [
        "4c488ff931fe6b2fc79ef854febc98b4cb748402"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Dec 02 16:19:05 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Dec 02 16:23:59 2014 -0800"
      },
      "message": "AAPT: Add pathMotion custom classes to Proguard Keep set\n\nBug:18590044\nChange-Id: Ia5dbf55317d2cc89826316e8d10f031b5d340e57\n"
    },
    {
      "commit": "3550c6c5d67740b8ea77b2921146780fe340f34e",
      "tree": "a0b7e0943d0ac21b9fef5972302011ddaa2c152e",
      "parents": [
        "233d700efc5f308fe32acc5984b636860e4fc7b0",
        "f17611a29e3b0d0c7a5d28a1ce92682a2c097de6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 03 00:05:33 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 03 00:05:33 2014 +0000"
      },
      "message": "am f17611a2: am 130e30fe: Merge \"AAPT: Add custom transition classes to Proguard keep set\" into lmp-mr1-dev\n\n* commit \u0027f17611a29e3b0d0c7a5d28a1ce92682a2c097de6\u0027:\n  AAPT: Add custom transition classes to Proguard keep set\n"
    },
    {
      "commit": "4c488ff931fe6b2fc79ef854febc98b4cb748402",
      "tree": "83c4d20398ce41b7ade1bc1ea460e3e2a87c5fdf",
      "parents": [
        "92ad4dd017a13364b4001bdb04911202932f81c2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Dec 02 14:50:21 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Dec 02 15:40:17 2014 -0800"
      },
      "message": "AAPT: Add custom transition classes to Proguard keep set\n\nBug:18590044\nChange-Id: Ib24831e669a09f0e6f32434081c0e2499702399c\n"
    },
    {
      "commit": "d493fa6d797cbdd805f009f7403f2a046190b5d4",
      "tree": "7620aa29b37359e9de50b5d342a13784d80087df",
      "parents": [
        "3c922dd7f2c82ae09c5ccf5a7b3a338ef682fe65",
        "537888be7d5cfa6bfa9ddd459a622ea208339735"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 13 19:05:06 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 13 19:05:06 2014 +0000"
      },
      "message": "am 537888be: Merge \"kill HAVE_LOCALTIME_R\"\n\n* commit \u0027537888be7d5cfa6bfa9ddd459a622ea208339735\u0027:\n  kill HAVE_LOCALTIME_R\n"
    },
    {
      "commit": "25d58a93571119af35044b54f559e9f88b0b2fff",
      "tree": "34ab5c9e87fa304b505bfd60f405b13aad01c869",
      "parents": [
        "f0044947a7199278d529c9b0b53cde089851ce23"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 13 09:57:22 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 13 09:57:22 2014 -0800"
      },
      "message": "kill HAVE_LOCALTIME_R\n\nBug: 18361583\nChange-Id: Ia79e2b641fd6c61ae5d2b8f2db5456bd3d36a25b\n"
    },
    {
      "commit": "b28ff487fb6db4a44e4d18aa17d8253f00a63bb6",
      "tree": "3e86f055fb0dd069bc41ba7c1270780fa34e9aaf",
      "parents": [
        "56dd295b69a78017baf44491cb27fcaaf8101f1c",
        "5e6cf24213c5eacc9d3e3c8da5826be4a23f22af"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Nov 12 13:24:42 2014 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Nov 12 13:24:42 2014 -0800"
      },
      "message": "resolved conflicts for merge of 5e6cf242 to lmp-mr1-dev-plus-aosp\n\nChange-Id: If21bd328a5c8ea3474abfe624e910d4830c72dc9\n"
    },
    {
      "commit": "ff1d8a6635fb6441615778a47e2881129574a5b1",
      "tree": "d2f490ec6a546461eda288e4383a50796d68059c",
      "parents": [
        "34acb4c8d4abe1c4f580b85ddc84b18b7e38e417"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Nov 11 19:31:26 2014 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Nov 12 11:22:20 2014 -0800"
      },
      "message": "Move frameworks/base over to libc++.\n\nBug: 15193147\nChange-Id: I96109d2d383f0c8a4aaa611f29fcf887afb3c69e\n"
    },
    {
      "commit": "be6c125783686be593e958725249ffcff5717fc4",
      "tree": "f2911bd19b7c7a58c5644ff8fe9c2825d8e2882d",
      "parents": [
        "3aa19984adc6f3e26e4b8551ab663de8b23afc29",
        "1e2e05bf8cb1445f9e431ca54837bb01f762d9e6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 11 22:15:44 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 11 22:15:44 2014 +0000"
      },
      "message": "am da772234: Merge \"AAPT: Ignore densities specified in -c flag\" into lmp-mr1-dev\nautomerge: 1e2e05b\n\n* commit \u00271e2e05bf8cb1445f9e431ca54837bb01f762d9e6\u0027:\n  AAPT: Ignore densities specified in -c flag\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": "a2bb565db553e3def89a6e010b59f2fd1db98ff4",
      "tree": "9f50b0b4c146eb4b8557f51661ee5d198fd87a2d",
      "parents": [
        "85d558cd486d195aabfc4b43cff8f338126f60a5"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 10 17:56:11 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 10 17:56:11 2014 -0800"
      },
      "message": "AAPT: Ignore densities specified in -c flag\n\nThe --preferred-density flag knows how to handle missing resources of\nspecific densities. Using -c with a density leads to missing resources.\n\nChange-Id: I2251d842f48c08ed083663bb7ed608e14c4983c8\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": "8a5bb15efaa55ff57a92e36d2b9e33d1f34c9608",
      "tree": "ef44daf0e3ee027c8e9f425d86cac613fb957325",
      "parents": [
        "b2808c03c3de0d4fe6a986545fd506df0233b072"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 20:35:54 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 20:35:54 2014 -0800"
      },
      "message": "Fix automerge issue\n\nDuplicate method declaration.\n\nChange-Id: I9355bd7c716e668ad7892fd12e93352455d149b5\n"
    },
    {
      "commit": "b2808c03c3de0d4fe6a986545fd506df0233b072",
      "tree": "f35e27327287e7b4e5a68b6e357871c8e9c3637a",
      "parents": [
        "89ff8726545e9cced824c655c8e46d1e8f82aa5e",
        "0cc963c66334acbcaef7f50c2415080b56c60c78"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 04 03:37:49 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 04 03:37:50 2014 +0000"
      },
      "message": "Merge \"Fix build due to bad merge\" into lmp-mr1-dev-plus-aosp"
    },
    {
      "commit": "0cc963c66334acbcaef7f50c2415080b56c60c78",
      "tree": "498e4d22ce6f8f373fd86c63c2ccd089998930ec",
      "parents": [
        "3fd340028fc24198edb23ddf5eb5a0a100bab745"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 18:37:49 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 18:37:49 2014 -0800"
      },
      "message": "Fix build due to bad merge\n\n- tools/aapt/qsort_r_compat.c was removed\n  and the merge added it back to the src list in Android.mk\n\nChange-Id: I15aae8adc68f82ac2381020ac0b96a7b1ab59f9c\n"
    },
    {
      "commit": "4dfff4e7276ef98e4c5b84ef715b75a80b01f5c7",
      "tree": "30fe0bfb854771b3880d18de6f599ba97bb79c58",
      "parents": [
        "3fd340028fc24198edb23ddf5eb5a0a100bab745",
        "5fa9021822577f1e4676db49a6b5cb5d36e4614a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 04 02:20:47 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 04 02:20:47 2014 +0000"
      },
      "message": "am 5fa90218: am f7ffcaa7: Merge \"Build the split-select tool without C++11 support\" into lmp-mr1-dev\n\n* commit \u00275fa9021822577f1e4676db49a6b5cb5d36e4614a\u0027:\n  Build the split-select tool without C++11 support\n"
    },
    {
      "commit": "3fd340028fc24198edb23ddf5eb5a0a100bab745",
      "tree": "489ffeed9998280d7402b74ed78bcc61d6cd8872",
      "parents": [
        "7fd12db350a341eb7a50759aa329be5281556928",
        "78be0498af2b7d5b6855701ef316f488e2de6f14"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 18:03:53 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 18:06:22 2014 -0800"
      },
      "message": "Merge commit \u002778be0498\u0027 into manualmerge\n\nConflicts:\n\tlibs/androidfw/ResourceTypes.cpp\n\ttools/aapt/Android.mk\n\ttools/aapt/StringPool.cpp\n\ttools/aapt/StringPool.h\n\nChange-Id: I9d69efdfb892032895ace12159d193304f02dc6c\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": "f7ffcaa7a478eaafc121e84b14dcaf2503dd5457",
      "tree": "360be2dca990e9d244fc92529ec8d53266ed6d7f",
      "parents": [
        "668f0a356cba44c22d8ca0c9f4711613885d46a9",
        "c3dc0b57b8d0b3875f868788e110aa67fb032b4a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 23:38:55 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 03 23:38:56 2014 +0000"
      },
      "message": "Merge \"Build the split-select tool without C++11 support\" into lmp-mr1-dev"
    },
    {
      "commit": "c3dc0b57b8d0b3875f868788e110aa67fb032b4a",
      "tree": "d29bf5702b81c4f283ae5e463af00c1e9327d459",
      "parents": [
        "425b1dc88c47e0e9d3a653ad902a69f3ec09b966"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 12:05:15 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 03 12:09:58 2014 -0800"
      },
      "message": "Build the split-select tool without C++11 support\n\nIt was complicated to get the tool building on Windows, Linux,\nand OSX with C++11 support.\n\nOSX uses Clang to build C++11 binaries, which requires the libc++\nstandard library. Since most of the dependencies of this program\nare built against libstdc++, this was difficult to resolve.\n\nNow we build without C++11 support.\n\nChange-Id: I4e537c113734508a8f480a1c402ed237de4f0e60\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": "a9aecc0c29ce9b9692b9b317559f83b2520dcc43",
      "tree": "5889226f88b60d09c55de7c6714dd67a7da96093",
      "parents": [
        "14dd733073c3003a8d9f0d4201199d5a244100d1",
        "181c18efd438f7a5e8cc18327367c49bf51795be"
      ],
      "author": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Fri Oct 24 21:24:59 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 24 21:24:59 2014 +0000"
      },
      "message": "Merge \"aapt updates for Android TV\" into lmp-mr1-dev automerge: 6af7d76\nautomerge: 181c18e\n\n* commit \u0027181c18efd438f7a5e8cc18327367c49bf51795be\u0027:\n  aapt updates for Android TV\n"
    },
    {
      "commit": "d9b1cad71e8aaf94e7738d2e47d3a06daa3cdf2d",
      "tree": "a8308e27b4d8c3259ea456e36c0a60a379f5564f",
      "parents": [
        "e41d967c5c6ff42ea41f61c731d77aa687b3956f"
      ],
      "author": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Fri Oct 24 12:43:41 2014 -0700"
      },
      "committer": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Fri Oct 24 12:59:24 2014 -0700"
      },
      "message": "aapt updates for Android TV\n\n- Output whether an app claims to be a game (android:isGame)\n- Output android:banner if it is specified at the application level.\n\nChange-Id: I7118b524f62cdfc4effeef21b32b3cdd814d9bfa\n"
    },
    {
      "commit": "08d1c808477d67fe9f0a2d2ad9463998f8d54379",
      "tree": "7ce4c3a7abc06109a9070c3a2a8401f4f2adaf93",
      "parents": [
        "41707d01e9e950ebd00642ef3564edcff8c539e7",
        "cd8442d4e8f372e6ecd90779f8885798145f5366"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Oct 23 14:55:57 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Oct 23 14:55:57 2014 -0700"
      },
      "message": "Merge commit \u0027cd8442d4\u0027 into manualmerge\n\nConflicts:\n\ttools/aapt/ResourceIdCache.cpp\n\nChange-Id: I5341d47ed0fe891d6fefb174f644e636ce966eb8\n"
    },
    {
      "commit": "40e8eefbedcafc51948945647d746daaee092f16",
      "tree": "eb14bacf3510fc8865145a1c68b4dcb8fc802904",
      "parents": [
        "74af6700196ed55a0aa39c7777293e735e7b4d73"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Sep 16 14:43:29 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Oct 23 10:39:31 2014 -0700"
      },
      "message": "First commit of split-select tool\n\nThis tool emits a set of rules as JSON for when a Split APK\nshould match a target device.\n\nChange-Id: I8bfbdfbdb51efcfc645889dd03e1961f16e39645\n"
    },
    {
      "commit": "11d3d1016bf7064f0232278eb0a798dfb33ab00f",
      "tree": "9125aaa3feb70687ed87a6c31c6016c060a49544",
      "parents": [
        "22cf018313fd2b427c16002a5a14354342b6075e",
        "9295a1354eb8220be9a0a40985253c6cdfac35c3"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Oct 20 22:01:04 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 22:01:04 2014 +0000"
      },
      "message": "am 9295a135: am e40974d9: Merge \"Fix an overflow found by ASAN.\"\n\n* commit \u00279295a1354eb8220be9a0a40985253c6cdfac35c3\u0027:\n  Fix an overflow found by ASAN.\n"
    },
    {
      "commit": "2095ed4ef650809c6ead90ebd1223fa2ad669eea",
      "tree": "717529984d924e09de72eda906febfc85b7a02a4",
      "parents": [
        "22fc33d6451e34e769fff4af1aaeb1faf05bc2c6",
        "9295a1354eb8220be9a0a40985253c6cdfac35c3"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Oct 20 22:01:02 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 22:01:02 2014 +0000"
      },
      "message": "am 9295a135: am e40974d9: Merge \"Fix an overflow found by ASAN.\"\n\n* commit \u00279295a1354eb8220be9a0a40985253c6cdfac35c3\u0027:\n  Fix an overflow found by ASAN.\n"
    },
    {
      "commit": "d395f7913336417bcbbea740fcdc8589789626bc",
      "tree": "e1f6abf7cc604e064f9f1168e583d28752eec1b2",
      "parents": [
        "4cd671e4d27befdd576fa86051956c3cafad6808"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Oct 20 14:44:39 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Oct 20 14:45:55 2014 -0700"
      },
      "message": "Fix an overflow found by ASAN.\n\nSometimes len is 0.\n\nChange-Id: I031000188edc57663a5519b00cbbb751600d32f4\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": "6dfe03ae6cb6ea7c96c5485f542e42ab59b598a0",
      "tree": "848766db2a3fb3768eaa4ea0ed478b44dd2605e4",
      "parents": [
        "12d808a24f4af9a127ae851edd06339b77020178",
        "73a8c5962d4d28a2e8aa6fa0b0b18e39782ee79c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 20 21:05:04 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 21:05:04 2014 +0000"
      },
      "message": "am 73a8c596: am 3f8c7dec: Merge \"AAPT: Fix path for final generated resources on Windows\" into lmp-dev\n\n* commit \u002773a8c5962d4d28a2e8aa6fa0b0b18e39782ee79c\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": "10db7553ec036557032c98cdcd334b55fa1bec10",
      "tree": "c927a025ee0950c7bfa29f9f49647c8b53d86ffc",
      "parents": [
        "83c97babb00b4b78747d5b14be2ed7dba6f438b0",
        "dd64fc43a6c560d3c545132adc16cd4a079f9600"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 17 23:12:28 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 17 23:12:28 2014 +0000"
      },
      "message": "am dd64fc43: am effd416e: am 83fae208: am 3cd840f4: Merge \"AAPT: Fix an issue where a resource name was incorrectly derived on Windows\" into lmp-dev\n\n* commit \u0027dd64fc43a6c560d3c545132adc16cd4a079f9600\u0027:\n  AAPT: Fix an issue where a resource name was incorrectly derived on Windows\n"
    },
    {
      "commit": "effd416ee3c05c6c378614995fdbe514c8423a48",
      "tree": "d830fec0f081852ea0d4cbabca0c8776d6e30f6f",
      "parents": [
        "44d515457a55cdcd92257a711db8dd10f71f0175",
        "83fae208fee402d8a6a51362f99660f9a49bd5a4"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 17 23:01:44 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 17 23:01:44 2014 +0000"
      },
      "message": "am 83fae208: am 3cd840f4: Merge \"AAPT: Fix an issue where a resource name was incorrectly derived on Windows\" into lmp-dev\n\n* commit \u002783fae208fee402d8a6a51362f99660f9a49bd5a4\u0027:\n  AAPT: Fix an issue where a resource name was incorrectly derived on Windows\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": "7dd87312c9e9ee52c7c945785c6d3b274b3004b3",
      "tree": "85f91fbd14d28123d5d0885f389484ec2d6f047e",
      "parents": [
        "50207f043f8fd2e39173956c9b4ee52fe775e115",
        "87a529c899045cf2785b86e4e289dd6c6cf56c1a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 17 20:28:47 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 17 20:28:47 2014 +0000"
      },
      "message": "am 87a529c8: am 12c84b5d: Merge \"Minor resource notation/compatibility fixes\" into lmp-mr1-dev\n\n* commit \u002787a529c899045cf2785b86e4e289dd6c6cf56c1a\u0027:\n  Minor resource notation/compatibility fixes\n"
    },
    {
      "commit": "9086562a6a524cc0c96231411863cd65d8785bfe",
      "tree": "8227f89264ebc5c599813ccbeec3b0f96fcd45b7",
      "parents": [
        "df385fffe822a7854fb7ce9c5e46ee007646c89e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Oct 16 18:18:10 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 17 01:21:50 2014 +0000"
      },
      "message": "Minor resource notation/compatibility fixes\n\n- Change the format of mnc/mcc when printing a resource-qualifier\n  formatted string from a Configuration object.\n- Correctly bump the SDK to 21 when using anydpi in a resource qualifier.\n\nChange-Id: I3c31e344dc5384d45398d6e9f264a073abab65d1\n"
    },
    {
      "commit": "b51644c3c7d428d92202c2c6a8f6ba69700a71f1",
      "tree": "9885fc7077aaf13d8f629c44a9885b0626050485",
      "parents": [
        "acb677ad9d8a92c6553ce7316808b0ee77bef1c8",
        "e36550dc9e202450d0921bf65d00d14e7e3e8a54"
      ],
      "author": {
        "name": "Jerome Dochez",
        "email": "jedo@google.com",
        "time": "Fri Oct 10 23:21:01 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 10 23:21:01 2014 +0000"
      },
      "message": "am e36550dc: am 0757e5fd: am c9c512e0: am f47f8855: Merge \"Added a daemon mode to aapt to receive streams of commands from gradle.\" into lmp-dev\n\n* commit \u0027e36550dc9e202450d0921bf65d00d14e7e3e8a54\u0027:\n  Added a daemon mode to aapt to receive streams of commands from gradle.\n"
    },
    {
      "commit": "fc07eb1c7f06f75cca9e32547516e83e115163c3",
      "tree": "d18874e15284fa3d10139b79c7e6a9eaad5a1f34",
      "parents": [
        "da37a460ddf85364efa1b93be7dcc9ed38533332",
        "f47f8855175213b4bf1014593f97bc81c042dfd1"
      ],
      "author": {
        "name": "Jerome Dochez",
        "email": "jedo@google.com",
        "time": "Fri Oct 10 19:24:33 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 10 19:24:33 2014 +0000"
      },
      "message": "am f47f8855: Merge \"Added a daemon mode to aapt to receive streams of commands from gradle.\" into lmp-dev\n\n* commit \u0027f47f8855175213b4bf1014593f97bc81c042dfd1\u0027:\n  Added a daemon mode to aapt to receive streams of commands from gradle.\n"
    },
    {
      "commit": "f47f8855175213b4bf1014593f97bc81c042dfd1",
      "tree": "85fae38b2aabaaa64b89679744b6b81cf8519a43",
      "parents": [
        "3e683b6a0f40e176ba9ffce652939ecef23b9dc2",
        "6f1280cf170b358a57ff70341a9f2ad224e5a662"
      ],
      "author": {
        "name": "Jerome Dochez",
        "email": "jedo@google.com",
        "time": "Fri Oct 10 19:21:48 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 10 19:21:49 2014 +0000"
      },
      "message": "Merge \"Added a daemon mode to aapt to receive streams of commands from gradle.\" into lmp-dev"
    },
    {
      "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": "6f1280cf170b358a57ff70341a9f2ad224e5a662",
      "tree": "86e6e7c829b8a112973b4be9b38deeca2ec179d3",
      "parents": [
        "519006395204ba3eab77ae420d20eb70ebb78af5"
      ],
      "author": {
        "name": "Jerome Dochez",
        "email": "jedo@google.com",
        "time": "Fri Sep 26 10:21:21 2014 -0700"
      },
      "committer": {
        "name": "Jerome Dochez",
        "email": "jedo@google.com",
        "time": "Thu Oct 02 15:43:55 2014 -0700"
      },
      "message": "Added a daemon mode to aapt to receive streams of commands from gradle.\n\nWhen crunching png, we used to spawn a separate aapt process from java\nwhich is slow and resource intensive.\nIntroduced a daemon mode to appt which when invoked with -m parameter\nwill listen from commands on stdin and give report of command execution\non stdout.\n\nOne one command is supported so far :\ns f1 f2\n\nThis command perform a single png crunch, f1 pointing to the input\npng file to crunch, and f2 pointing to the path for the resulting\ncrunced file.\n\nExpected output from the command is \"Done\" or \"Error\".\n\nChange-Id: Iaf1d865e8d5ee5d36abe39dea6443715865a98d3\n"
    },
    {
      "commit": "f08384c763d2e57c05e0be4325c267d12fc516d4",
      "tree": "239debb53181f087a472ee32ee385b4e6b4b4819",
      "parents": [
        "594d2a5690a720002eac49c0666323accd8904cd",
        "25a8e43b13e719ff97edd174f8b1ed175e6f91b0"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Oct 02 12:41:58 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 02 12:41:58 2014 +0000"
      },
      "message": "am 25a8e43b: am 7d92ae6d: am 5b3be618: am 70de9c0d: Merge \"include direct.h for _mkdir\" into lmp-dev\n\n* commit \u002725a8e43b13e719ff97edd174f8b1ed175e6f91b0\u0027:\n  include direct.h for _mkdir\n"
    },
    {
      "commit": "5e77475b5d1de1fecbaf5b3e27988a255a3c399e",
      "tree": "dde9a0b48cf6e5ba02e0c87dfada3677280bc530",
      "parents": [
        "87332a7109610d02ac7f5db6af99d3a11813d5c1",
        "152d9aae631381ea28f5701168d372a1486a7502"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 02 12:31:16 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 02 12:31:16 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": "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": "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": "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": "95fc18f38b704869fa779e587e8703e1dd8e1c2c",
      "tree": "495a593b7cad53e94b0e69847f91fbbf7fc38d8f",
      "parents": [
        "010447561a60d943b05e2aa3ef64c6df83b2c0b2",
        "70de9c0d585dcfe71e2cfd921438071e69ff5c45"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Oct 01 23:01:40 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 01 23:01:40 2014 +0000"
      },
      "message": "am 70de9c0d: Merge \"include direct.h for _mkdir\" into lmp-dev\n\n* commit \u002770de9c0d585dcfe71e2cfd921438071e69ff5c45\u0027:\n  include direct.h for _mkdir\n"
    },
    {
      "commit": "47c23a228deb2fa2e7158c58fc42441e8517ea38",
      "tree": "692629c9de9597279eb24c75b4aebb3ac2ad395a",
      "parents": [
        "7ed7afb51ec2c415c8de8266ea8d38b9a00cdcd0",
        "fe50cfd53309af4dd49e572bd4a3120ea1494029"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 01 13:52:49 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 01 13:52:49 2014 -0700"
      },
      "message": "resolved conflicts for merge of fe50cfd5 to lmp-mr1-dev-plus-aosp\n\nChange-Id: Id09c2786db18fa7e747cd1652ea95f575c3f5c46\n"
    },
    {
      "commit": "864272f3eb1700b999275887a61dd228f8a565a9",
      "tree": "a12b7684194dbd7f6495b6806ba14d4985390067",
      "parents": [
        "b3ad87e6b1599a9b8881134f3491232aec722815",
        "fe50cfd53309af4dd49e572bd4a3120ea1494029"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 01 13:47:12 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 01 13:47:12 2014 -0700"
      },
      "message": "resolved conflicts for merge of fe50cfd5 to lmp-dev-plus-aosp\n\nChange-Id: Iea93ad20b44f0183f1868f078dd7982b2798fcd3\n"
    },
    {
      "commit": "0de19adc80d8caeac8ab5da79e70ed4adb18b1c1",
      "tree": "ad3d0d9727f762371d91685d97f2a9643050f206",
      "parents": [
        "0451728645d559d904f579894d4b59e971e2369e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 01 11:34:17 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 01 11:34:17 2014 -0700"
      },
      "message": "Use std::sort instead of qsort_r wrapper.\n\nThe HAVE_(BSD|GNU)_QSORT_R in AndroidConfig.h has never worked, and we\nshould just be using something standard anyway.\n\nChange-Id: I784d6212f6c890a11c4af2f83d1ce2d279708652\n"
    },
    {
      "commit": "c9d32390e59d99c76b79edd247a1127088ce81ec",
      "tree": "aa1ecc14b318c0a93dbedf8fb7d76c2e3008c25e",
      "parents": [
        "38646c19d8badea143113c0dc48ccdacb18badc4"
      ],
      "author": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Wed May 07 20:14:30 2014 +0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 30 02:28:05 2014 -0700"
      },
      "message": "include direct.h for _mkdir\n\nBug: 14416410\n\nThe new mingw-w64 toolchain x86_64-w64-mingw32-4.8 no longer\ndeclares _mkdir in io.h.\n\nChange-Id: I624b52d2f35db54a7f28df09f997fc883b0f0557\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": "8ab25d82b56c7604dc945e4385b74a75de093e56",
      "tree": "7f112dd6a95cacfc2f6322f06f346162820ed23f",
      "parents": [
        "0e3b5a7986a7304c2239d35796a60e59b8076c55",
        "1a4527ce9449d913e7a60dc3784520006d8955b7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 19 16:13:49 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 19 16:13:49 2014 -0700"
      },
      "message": "resolved conflicts for merge of 1a4527ce to lmp-mr1-dev-plus-aosp\n\nChange-Id: If649bd9ef98181a1e1e341cc5b73d237586fb72c\n"
    },
    {
      "commit": "c04d92cac93fdbbdc6d104f15f6496d197753e92",
      "tree": "8d8e1b83666562d4f28998c4b1e9b2ee5ac2ec44",
      "parents": [
        "901c36e51c052c6f0556b6272bbeaaa3aa716fd8",
        "1a4527ce9449d913e7a60dc3784520006d8955b7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 19 15:57:26 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 19 15:57:26 2014 -0700"
      },
      "message": "resolved conflicts for merge of 1a4527ce to lmp-dev-plus-aosp\n\nChange-Id: Iee4e93e3a2b049ec5f13166dbbffdd77b301fe5c\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": "88ba339aefd74ffe0ea978ebb659a430f82940f0",
      "tree": "d10fa776649804e7b225f832a975a9814e66bb93",
      "parents": [
        "bcaaebb8a881951720190f4a6b9ffcbf871542af"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 11 16:20:16 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 11 16:21:19 2014 -0700"
      },
      "message": "Clean up makefile cruft.\n\nThe build system already takes care of all these things.\n\nChange-Id: Idef80b554e07cef5e5ed2adf1b5740a76f13ef6d\n"
    },
    {
      "commit": "0bdcb84b55bd94843081ba45e95256e0655e99b7",
      "tree": "65378c8662d8263a98b596eaeb2052fad98de466",
      "parents": [
        "a28bfe3b9c9de05dd13dc73ebf140dae35cf567f",
        "48ce27b86dcc48d17410adedb1d612d461cff37c"
      ],
      "author": {
        "name": "Marcin Kosiba",
        "email": "mkosiba@google.com",
        "time": "Thu Sep 11 18:49:07 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 11 18:49:07 2014 +0000"
      },
      "message": "am 972628dc: am 5128e88e: Merge \"Don\\\u0027t use reflection when generating the onResourcesLoaded callback.\" into lmp-dev\n\n* commit \u0027972628dc8c63b02b75f9e976b3ab67e3913da1a8\u0027:\n  Don\u0027t use reflection when generating the onResourcesLoaded callback.\n"
    },
    {
      "commit": "a0a946647611ea0477c9a25b3d9621fab4cfaaf3",
      "tree": "0b947292cf390eba3990652671a3554af815dc10",
      "parents": [
        "3e42b339800f5a3ac840e9545c36f3445b5c64b3",
        "0f3a5a6559a955ea20f1ae2d3e0995f3fa821c90"
      ],
      "author": {
        "name": "Marcin Kosiba",
        "email": "mkosiba@google.com",
        "time": "Thu Sep 11 18:34:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 11 18:34:33 2014 +0000"
      },
      "message": "Merge \"Don\u0027t use reflection when generating the onResourcesLoaded callback.\" into lmp-dev"
    },
    {
      "commit": "0f3a5a6559a955ea20f1ae2d3e0995f3fa821c90",
      "tree": "d00b9872793dd4a7e4618f489edfd934b30660d7",
      "parents": [
        "a41c4bcc3dcac9e808c9d524e24454d132790e9a"
      ],
      "author": {
        "name": "Marcin Kosiba",
        "email": "mkosiba@google.com",
        "time": "Thu Sep 11 13:48:48 2014 +0100"
      },
      "committer": {
        "name": "Marcin Kosiba",
        "email": "mkosiba@google.com",
        "time": "Thu Sep 11 16:02:13 2014 +0100"
      },
      "message": "Don\u0027t use reflection when generating the onResourcesLoaded callback.\n\nBUG: 17466240\nChange-Id: I74608f3d8b3617281639a9d387face97e15fb616\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": "6800165351b693fa7e4bcf0f205655f0cd16b361",
      "tree": "4d3911423ebd8e3642a487c7d1bf9da388109440",
      "parents": [
        "08dceea7d32475ac1cea85280deee5a87ac7ab86",
        "1d99636fcccbf45a6cc39c478d534da7a5714eec"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 09 09:51:01 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 09 09:51:01 2014 -0700"
      },
      "message": "resolved conflicts for merge of 1d99636f to lmp-dev-plus-aosp\n\nChange-Id: Ic5f808de7d9722056112c6a73c718892e00bc9df\n"
    },
    {
      "commit": "8085477fb98eab36bbc8c3e9add76f398235b469",
      "tree": "7532e6b7fea0f28ee56e2f0e3b85b312c01beafc",
      "parents": [
        "2ffa4aabd76353a907ee89a3e0c6f1961237f257",
        "a8995adc2b363811482c38009f64992b322efaad"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 09 16:25:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 09 16:25:41 2014 +0000"
      },
      "message": "Merge \"Don\u0027t check for null references.\""
    },
    {
      "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": "ddb605d4b2fa544bab69a72a288e578f2dd37f52",
      "tree": "960f4458f89c212bb5347566f79676adfac0b1f1",
      "parents": [
        "60803943f8276a311b7f985613b285a60b042886",
        "de86cf1362ef0461b589fa85bdd5c58921010c6a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 09 05:19:06 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 09 05:19:06 2014 +0000"
      },
      "message": "am de86cf13: am 5a6934c0: Merge \"Don\\\u0027t pollute the namespace for two uses.\"\n\n* commit \u0027de86cf1362ef0461b589fa85bdd5c58921010c6a\u0027:\n  Don\u0027t pollute the namespace for two uses.\n"
    },
    {
      "commit": "2ffa4aabd76353a907ee89a3e0c6f1961237f257",
      "tree": "155ccc475b02ef260666cc118fcfd8fc3a2474f7",
      "parents": [
        "5a6934c07946743e622df52ba1155d97129b37f0",
        "f348c15ecf78e9d58b8238ffcf1d78a279e3a862"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 09 04:30:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 09 04:30:35 2014 +0000"
      },
      "message": "Merge \"Use char16_t for char things.\""
    },
    {
      "commit": "1c6c7573e9ffa95058adc9d185d205b1e59b3d70",
      "tree": "3259f5a147d78bb32128f4a1cd076f958ad50a45",
      "parents": [
        "f4eaaadb8cb0e2ff8d1704827883b5a62173311d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Sep 08 18:44:12 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Sep 08 18:44:12 2014 -0700"
      },
      "message": "Don\u0027t pollute the namespace for two uses.\n\nClang complains about ambiguity between std::hash and ::hash (locally\ndefined). There\u0027s no need to pull in the whole namespace for two uses of\nstd::map anyway.\n\nChange-Id: Icbaa7ebbaad05999988784ad34662c721fb12b29\n"
    },
    {
      "commit": "a8995adc2b363811482c38009f64992b322efaad",
      "tree": "37cb7d31ea9614a7f4c200c14bc36125d789f083",
      "parents": [
        "f4eaaadb8cb0e2ff8d1704827883b5a62173311d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Sep 08 18:34:29 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Sep 08 18:34:29 2014 -0700"
      },
      "message": "Don\u0027t check for null references.\n\nThe address of a reference will never be null in well formed C++ code.\nThe function returning the value being checked simply returns a\ndereferenced pointer (which is just going to segfault if it is null!).\n\nChange-Id: I3a4eb6adfc003c63ebf21b81d46088d52154d99d\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": "5283faba4a75a4d1fd9990637d22768e423895e3",
      "tree": "31b7157c4c11a5121c068e9a2081bdca8a62ff85",
      "parents": [
        "3e294e9921db619f5ef0adaf6124a78fd73911b2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 29 11:23:55 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 29 11:27:00 2014 -0700"
      },
      "message": "Change platformBuildVersionCode to name in aapt dump badging\n\nChange-Id: Ie3972105b3f6a727682f91851f7a99b05bb28e1a\n"
    },
    {
      "commit": "ad2d07d2d98a46babb2a9472413fe9ce5080ca76",
      "tree": "40be93c366de29a74421b20cf8ae10c34ac34dfd",
      "parents": [
        "032402cff1fe5dc3a6b2adae3d4c13fb771cd91f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 27 16:21:08 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 27 18:28:49 2014 -0700"
      },
      "message": "Stamp platform version code into app Apks\n\nThe versionCode of theframework resources that an app is built against\ngets stamped inside an app\u0027s AndroidManifest.xml in the \u003cmanifest\u003e\ntag as \"platformBuildVersionCode\" and \"platformBuildVersionName\"\nattributes.\n\nBug:17207635\nChange-Id: Id573c3dffcbca38eec9c0eb3e89f4a547e3361d3\n"
    },
    {
      "commit": "3aa6076083f09a3c6c25726a14efb1ea5af8c044",
      "tree": "b6fe514367e930be4d09dd693fa90c510e1197ef",
      "parents": [
        "5c1b42e4f5d7307ad09d0d7ad094adf34650fb62",
        "1e466385d4a4f1acee080fa0fdf16cc8fd8ce7ca"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Aug 26 18:23:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 26 18:23:57 2014 +0000"
      },
      "message": "Merge \"Have R classes generate their own reference rewrite logic\" into lmp-dev"
    },
    {
      "commit": "1e466385d4a4f1acee080fa0fdf16cc8fd8ce7ca",
      "tree": "431c15e17f780767289dc5d3362d5d6d53ee3c18",
      "parents": [
        "5b8e5a7d4c930b42e1a3c2b3e67144b89d37efa2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 15 14:47:28 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 25 20:04:07 2014 -0700"
      },
      "message": "Have R classes generate their own reference rewrite logic\n\nChange-Id: I0e5b8311fc3479d966a49f9acf0d4c32a6a024d3\n"
    },
    {
      "commit": "31245b4f06003f1c8cd44c31b387c96ab4e282f9",
      "tree": "ec59d73e6b6e563876ed8c4e5de331b4df17549e",
      "parents": [
        "5b8e5a7d4c930b42e1a3c2b3e67144b89d37efa2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 22 19:10:56 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 25 17:47:30 2014 -0700"
      },
      "message": "Introduce anydpi density resource qualifier\n\nThis is meant to be used with scaleable vector\ndrawables, and are chosen as the best match unless\nthere is a configuration that matches the density\nrequested exactly.\n\nBug:17007265\nChange-Id: Ic3288d0236fe0bff20bb1599aba2582c25b0db32\n"
    },
    {
      "commit": "a5cc002bfe7ca8a6536549189b44e7143c8611dc",
      "tree": "23305e3a4ba650ff870208c414a06fa12c8cca74",
      "parents": [
        "5fa3f3a995ba5bd86e460b1b5f72b2f1ada699fb"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 22 14:10:31 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 22 16:09:54 2014 -0700"
      },
      "message": "AAPT: Filtering resource fix\n\nPreviously, when filtering resources from an APK using\n-c option, if one qualifier matched, we would keep the resource.\nHowever, in the case of something like\n\n-c fr-FR,sw360dp\n\nand with a resource in the APK like so\n\ndrawable-fr-FR-sw600dp-v13\n\nwe would want this resource to be excluded, as it does not\nmatch the sw360dp qualifier (must be less than or equal to it).\n\nThis CL fixed the behavior of the filter to require that all\ndefined qualifier axis be matched.\n\nBug:17142358\nChange-Id: Ie48f3d516a0e610abc7ba8a7ced4eb3ab52534d4\n"
    },
    {
      "commit": "caf797c84a6a2829662872e0df93fcd61da78d51",
      "tree": "f9efcb33c5bdd25c95df7c6a60cdd8e12b3075e7",
      "parents": [
        "d255aba09337bf81c3cc277e978f6664699a54b7"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 22 12:56:26 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 22 13:01:11 2014 -0700"
      },
      "message": "AAPT: Dump installLocation in badging\n\nBug:17033144\nChange-Id: I87dea9af47eef8bcba1465df9b49e355ac6346ec\n"
    },
    {
      "commit": "d255aba09337bf81c3cc277e978f6664699a54b7",
      "tree": "bfe788ef554ed7fc7e5efd4545d2a395cf5213e3",
      "parents": [
        "628f670a5401fe635b8d50a9e00db2d1dc7534dc",
        "48f05d29f398576c76b2c3b47a22f4e44e8919fc"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Aug 21 22:00:24 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 21 22:00:25 2014 +0000"
      },
      "message": "Merge \"Add better error message for AAPT file conflicts\" into lmp-dev"
    },
    {
      "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": "48f05d29f398576c76b2c3b47a22f4e44e8919fc",
      "tree": "6e04ac902663b6ba1371c3c13c77268e9f538f99",
      "parents": [
        "759f780af0b838316556de69049fb892f7b11ed5"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon May 12 22:13:02 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Aug 21 20:54:01 2014 +0000"
      },
      "message": "Add better error message for AAPT file conflicts\n\nSome resource directories may be the same even though\ntheir names are different. For instance, the\n\"smallest width\" qualifier was added in API 13,\nso the resource directory \"values-sw600dp\" and\n\"values-sw600dp-v13\" are the same and cause\na conflict. The error reports that this might be the\ncase.\n\nChange-Id: Ia35f1d670edd48265b3a7fe3d55656128421f612\n"
    },
    {
      "commit": "6a7d2757a936ee79b8dba2055139c8b71130c58e",
      "tree": "cf709a074ba681da1001e5394931d5442ad75979",
      "parents": [
        "223ddaa74d39cb0afabd2d3f3e4ae3ae4bdba572"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Aug 07 21:26:53 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Aug 21 11:00:09 2014 -0700"
      },
      "message": "Use the correct versionCode for Split APKs\n\nInsert the correct versionCode into the generated\nSplit AndroidManifest.xml.\n\nChange-Id: I0aec797b5a4ff8bd70f9394b18aee5ad292b37c8\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"
    }
  ],
  "next": "43a0df04b0826ffb9e4589aac73b07b0c98abe8c"
}
