)]}'
{
  "log": [
    {
      "commit": "c71c678e9b6a4278337b69f2c60c0fbe9988bf93",
      "tree": "f3bbf4e077314b0bf611a2a94ea586c559d4c4cd",
      "parents": [
        "f37d9c07b258ceeea991801f9223ecf071debd08",
        "a4e10cc746caea514216f436e2065b3bbefb25ef"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 14:50:37 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 15 14:50:37 2013 -0800"
      },
      "message": "am a4e10cc7: am 6080cc5f: resolved conflicts for merge of dd52dfed to jb-mr1.1-ub-dev\n\n* commit \u0027a4e10cc746caea514216f436e2065b3bbefb25ef\u0027:\n  Fix the single crunch command to return the right error code.\n"
    },
    {
      "commit": "a4e10cc746caea514216f436e2065b3bbefb25ef",
      "tree": "3dce7e8ed99c06ac9483a48d660024b19b19a04d",
      "parents": [
        "b78714b5dfc871fee251db125ec5e14f4e0aff5f",
        "6080cc5fd7c332c79098a50605c0c37d99d4c481"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 14:48:02 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 15 14:48:02 2013 -0800"
      },
      "message": "am 6080cc5f: resolved conflicts for merge of dd52dfed to jb-mr1.1-ub-dev\n\n* commit \u00276080cc5fd7c332c79098a50605c0c37d99d4c481\u0027:\n  Fix the single crunch command to return the right error code.\n"
    },
    {
      "commit": "6080cc5fd7c332c79098a50605c0c37d99d4c481",
      "tree": "d73683e19eb9236bb62e32409ff0b742557644d2",
      "parents": [
        "5941ff03721005228072dca5b1c808cb5d12a001",
        "dd52dfed52404490d51ca5ed43c2192cbc25a7a7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 14:24:56 2013 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 14:24:56 2013 -0800"
      },
      "message": "resolved conflicts for merge of dd52dfed to jb-mr1.1-ub-dev\n\nChange-Id: I839981af97e54c39f0ea0b8141a4dd02959263a0\n"
    },
    {
      "commit": "c75d3f5c10bf6d7718ef69c6bbc1cdf64cd8ff04",
      "tree": "89c04bb1b6f41275fa71aec9bf0df80ef701e59e",
      "parents": [
        "22d7cf239d8a9b009ea7adf86d8826a8a8116d03"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Jan 14 18:02:40 2013 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 10:37:20 2013 -0800"
      },
      "message": "Fix the single crunch command to return the right error code.\n\nCasting from status_t to int doesn\u0027t work for return values\nif the lower 8 bits are all 0.\n\nChange-Id: I88e910dfe46cb72acd1595352e71da3c8eff4ca9\n"
    },
    {
      "commit": "22d7cf239d8a9b009ea7adf86d8826a8a8116d03",
      "tree": "80b4db57378fff41d163e2980dd9ff0a7b6e6840",
      "parents": [
        "0dae634b06f5dc6039a5aaa9c0f00250e10c6547"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Dec 21 09:54:02 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jan 02 15:41:52 2013 -0800"
      },
      "message": "Add single crunch command to aapt. do not merge.\n\nPreviously the crunch command would work on a full res folder\nand output a full res folder (with only the drawables). This\nwas only used in the SDK.\n\nThe incremental logic is moved to the SDK build system so we\nchange the crunch command (or rather add a new one) to only\ncrunch a single file.\n\n(cherry picked from commit b1f6ad82dd8d1702617a757a88430604b3131fac)\n\nChange-Id: I3653f67ee321eac37cb8a6d228b1ef6d104ff0be\n"
    },
    {
      "commit": "fac7b0a60306d851d903730ccc408a0272e866db",
      "tree": "78085c2a918fc005c3e03151af27109c78a3fafa",
      "parents": [
        "4317b3418b144c162634ec647df76a484ac35612",
        "5f958e9bfc793b3b653dfc88418bbd7745e633e1"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 29 10:58:26 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 10:58:26 2012 -0800"
      },
      "message": "am 5f958e9b: am 67b38c44: Cache resource ID lookups in aapt\n\n* commit \u00275f958e9bfc793b3b653dfc88418bbd7745e633e1\u0027:\n  Cache resource ID lookups in aapt\n"
    },
    {
      "commit": "67b38c44e8b04b97e357664804d593823b2a34ed",
      "tree": "9179968cfd7e832bb87ff45e8e053e4e31ba3f9c",
      "parents": [
        "23cc5d99fcb97c5a369b3ddf7f90505f6bb29363"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Nov 16 15:58:08 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Nov 28 15:32:46 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\n(cherry picked from commit d8dde13a63565dcd72bcf03a5088407b737ba793)\n\nChange-Id: I33835bc64ade77688d41e8bfcd371b0a5f59d8fd\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": "0122a3db313d3a7b55e0dee5eae1d7798c0d55be",
      "tree": "a09e249293ad45d890ad6c01b3481d2ddcf4ae00",
      "parents": [
        "2832136bb6fcace61ef078051e94aa0a841aac15"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Sep 26 10:11:54 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Sep 26 11:14:50 2012 -0700"
      },
      "message": "Fix writing text version of styleable IDs. do not merge.\n\n(cherry picked from commit d16047434bca24b2811de7ea9d22de6ee0f87f79)\n\nChange-Id: Ic679080d5157daf77c35516c8f682bd13e2b4d96\n"
    },
    {
      "commit": "05113163a9e18d863932e8913be2f203c6ab1226",
      "tree": "a09e249293ad45d890ad6c01b3481d2ddcf4ae00",
      "parents": [
        "17b71e5937b8a58e3eb9faf475d51db1c9deb0c1",
        "253f76357dc9acdb329f321190eca4f0b049b4af"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Sep 26 10:46:46 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 26 10:46:46 2012 -0700"
      },
      "message": "am 253f7635: am fb34490f: Merge \"Fix writing text version of styleable IDs.\"\n\n* commit \u0027253f76357dc9acdb329f321190eca4f0b049b4af\u0027:\n  Fix writing text version of styleable IDs.\n"
    },
    {
      "commit": "253f76357dc9acdb329f321190eca4f0b049b4af",
      "tree": "d791e452faaeb3ae4e13029ee29a6fbf7fad1690",
      "parents": [
        "b079d1f28089ad4de05162b7df0ace90bc40a5f3",
        "fb34490f4dca7aac623fb9a80fe9a2371107a786"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Sep 26 10:44:22 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 26 10:44:22 2012 -0700"
      },
      "message": "am fb34490f: Merge \"Fix writing text version of styleable IDs.\"\n\n* commit \u0027fb34490f4dca7aac623fb9a80fe9a2371107a786\u0027:\n  Fix writing text version of styleable IDs.\n"
    },
    {
      "commit": "d16047434bca24b2811de7ea9d22de6ee0f87f79",
      "tree": "ef2b9d05669191e2b2a5f82e8e5b3063670c2dd2",
      "parents": [
        "5e8cbdc0bd6dfc51e6b54db1d5fd61347336d862"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Sep 26 10:11:54 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Sep 26 10:11:54 2012 -0700"
      },
      "message": "Fix writing text version of styleable IDs.\n\nChange-Id: I3f2614689a597de3fd46628c020cf649a808c82f\n"
    },
    {
      "commit": "a41d5db2350108c1d2eceb83b677faed6b7893a8",
      "tree": "2d22f9db5827180b3864273395a96b87aa43ab45",
      "parents": [
        "9ff22e41d05aa66bede1e72767d67dcc2f2d500e",
        "79c95c3b50ff332f9c92430fd10a15eb648a0b02"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Sep 17 12:08:36 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 17 12:08:36 2012 -0700"
      },
      "message": "am 79c95c3b: am 5de96035: am 31820a35: Merge \"Add --output-text-symbols option to aapt.\"\n\n* commit \u002779c95c3b50ff332f9c92430fd10a15eb648a0b02\u0027:\n  Add --output-text-symbols option to aapt.\n"
    },
    {
      "commit": "9ff22e41d05aa66bede1e72767d67dcc2f2d500e",
      "tree": "40a0c5875283ac28e0e93ffdb6bdcb92aae8696b",
      "parents": [
        "178af5948d71c841278081c712506f7a7fca34b9",
        "8a67598eb780560b7efe4e1d9944c7cbcf83bbb1"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Sep 17 12:08:29 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 17 12:08:29 2012 -0700"
      },
      "message": "am 8a67598e: am cc9747ed: am d7252571: Merge \"Add --error-on-failed-insert option to aapt.\"\n\n* commit \u00278a67598eb780560b7efe4e1d9944c7cbcf83bbb1\u0027:\n  Add --error-on-failed-insert option to aapt.\n"
    },
    {
      "commit": "5de9603529ee01a416b5fa31074197565fde4482",
      "tree": "f610ba56bf685b21bbc81bbf4d6ed8b2d5640ef7",
      "parents": [
        "cc9747ed45302956a3ec9dd21f7b950b837dbfdd",
        "31820a35b2cf864a8dcb71d43e6fd21d54f49a2d"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Sep 17 12:03:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 17 12:03:19 2012 -0700"
      },
      "message": "am 31820a35: Merge \"Add --output-text-symbols option to aapt.\"\n\n* commit \u002731820a35b2cf864a8dcb71d43e6fd21d54f49a2d\u0027:\n  Add --output-text-symbols option to aapt.\n"
    },
    {
      "commit": "cc9747ed45302956a3ec9dd21f7b950b837dbfdd",
      "tree": "4f5bf98606f87858b78a95bd8dd09e9e6a797716",
      "parents": [
        "f5437ee86a34751fa6d441b95282feb315e19eb6",
        "d72525718ea7ef3e1f97cf557365b143c8919a5b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Sep 17 12:03:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 17 12:03:12 2012 -0700"
      },
      "message": "am d7252571: Merge \"Add --error-on-failed-insert option to aapt.\"\n\n* commit \u0027d72525718ea7ef3e1f97cf557365b143c8919a5b\u0027:\n  Add --error-on-failed-insert option to aapt.\n"
    },
    {
      "commit": "f5de650ff1e161ea135c828e43515895343d2c0f",
      "tree": "4398a8d071f3322512e6c4d5f153fb9564865d6a",
      "parents": [
        "7714a2429b192c88e134ff67b969121bbaeb5457"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Sep 11 14:45:22 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Sep 11 18:19:00 2012 -0700"
      },
      "message": "Add --output-text-symbols option to aapt.\n\nLibrary projects in the SDK are built using --non-constant-id\nto generate a temporary R.java class.\nWhen the library is packaged with the application to generate an\napk, the R class is recreated with the proper IDs due to all the\nresources coming from the app and all the libraries.\n\nHowever for large apps with many libraries (each with their own\nR class in their package), this means a lot of unnecessary IDs:\nall R classes contains all the IDs including for resources from\nby projects they don\u0027t have access through the dependency graph.\n\nFor really large apps (X,000 resources), with lots of libraries\n(10+), this can generate tens of thousands of resources, which\ncan trigger dalvik\u0027s limit of 65K fields and methods per dex\nfiles.\n\nThis changes lets aapt generate not only the R class but a simple\ntext file containing the list of all those IDs so that it is\neasier to parse back. The SDK build system will not ask aapt\nto generate the R class of the libraries (through the\n--extra-packages option), instead it will then read this\nfile to know what IDs are needed for each library and generate\na much smaller R class for each library (using the same text\nfile output from compiling all the resources to get the final\ninteger value).\n\nChange-Id: I4db959fec372cf3ead9950e4b2b82fa1ae7eed2d\n"
    },
    {
      "commit": "7714a2429b192c88e134ff67b969121bbaeb5457",
      "tree": "13d8c0eeb0d9eee815e3444fd236924306861fe3",
      "parents": [
        "2415841c370d855d7f3a3e6a537e641c69a57097"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Sep 05 17:49:21 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Sep 11 18:17:22 2012 -0700"
      },
      "message": "Add --error-on-failed-insert option to aapt.\n\nThe new SDK build system give the ability to insert\nversionCode/Name and min/targetSdkVersion in the manifest\nbut aapt won\u0027t replace those if they already exist.\n\nThe main problem is that aapt doesn\u0027t actually fail when\nit doesn\u0027t replace them, making the output not what the\ndeveloper wanted.\n\nThis patch set adds an option to aapt to make it return\nan error if the insert failed because the attribute\nalready existed.\n\nChange-Id: I8938ec1238da407a8562c974e9598db39001ffd9\n"
    },
    {
      "commit": "e3e5349874fd1534cafe6f8c1cd28bf4f53181c3",
      "tree": "c04417c39b8415c08dc573d87bef0abd1f9fd462",
      "parents": [
        "be3267aad1faacc0ee767e746018e7b795a9b151",
        "61d09810a7b478810adc15af2495136255377e25"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 09 16:13:11 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 09 16:13:11 2012 -0700"
      },
      "message": "am 61d09810: am 3150feef: am bfe1ab82: Merge \"Fix aapt to get expat header files from the approved location.\"\n\n* commit \u002761d09810a7b478810adc15af2495136255377e25\u0027:\n  Fix aapt to get expat header files from the approved location.\n"
    },
    {
      "commit": "3150feef0b27ad34370904eb12875805f6c84e8a",
      "tree": "3ee1c94081aad597863e2b624fc3cc87efe403b6",
      "parents": [
        "3f3ce8adc7a4fcb5ec23a317c8b5063b61ac15a2",
        "bfe1ab825731d365fef169deab646d7ceeafc998"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 09 16:09:15 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 09 16:09:15 2012 -0700"
      },
      "message": "am bfe1ab82: Merge \"Fix aapt to get expat header files from the approved location.\"\n\n* commit \u0027bfe1ab825731d365fef169deab646d7ceeafc998\u0027:\n  Fix aapt to get expat header files from the approved location.\n"
    },
    {
      "commit": "ee15e1547531919effd77fa546daffaef94691a4",
      "tree": "c1d9284ef63cfb465dfab4151151a06a9c8bea40",
      "parents": [
        "bb60bc26020f3aabc50aa93ad9bf812af7f48f9c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 09 14:45:32 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Sep 09 14:45:32 2012 -0700"
      },
      "message": "Fix aapt to get expat header files from the approved location.\n\nChange-Id: Ic7c796e048cfe98ee355c18b3708fee5ea716e2e\n"
    },
    {
      "commit": "8a802dbdabdfd27692c2e38b2c3adafe95566106",
      "tree": "7b933dc6d1dcfb6cd4a7d0a349ce642641712c07",
      "parents": [
        "18e876806718e28edaa3cd9bb0262a9b400bc82b"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Sep 05 13:12:02 2012 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Sep 06 11:13:24 2012 -0700"
      },
      "message": "Use \"ldrtl\" and \"ldltr\" config qualifiers for RTL / LTR resources\n\n- we cannot use \"rtl\" / \"ltr\" qualifiers as they can conflict with ISO-639 Alpha-3\ncodespace which uses 3 letters for identifying a language code (and could use either\n\"rtl\" or \"ltr\" strings for defining a language in the future).\n\n- we are using instead \"ldrtl\" for RTL and \"ldltr\" for LTR resources. Those qualifiers\nare defined by more than 3 chars and outside of what is defined into ISO-639. They\nare also more understandable as \"ld\" prefix is for \"layoutdirection\"\n\nChange-Id: Id43e948103707e09bef63ebd54ac1779dde58e72\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": "c1c55afb474dd85a6205bc8ab94065f3ac38aa77",
      "tree": "abbf38d69839d0a2e4f3070aee28a7422a27d678",
      "parents": [
        "64ed6b2cfa6a4bb58f3f8a9b59d840cdce049c80",
        "e67f8c8c279e20fff5f426eccd062b709e6280ed"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 12:01:35 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 12:01:35 2012 -0700"
      },
      "message": "am e67f8c8c: Merge \"Normalize output from aapt d xmltree\"\n\n* commit \u0027e67f8c8c279e20fff5f426eccd062b709e6280ed\u0027:\n  Normalize output from aapt d xmltree\n"
    },
    {
      "commit": "e67f8c8c279e20fff5f426eccd062b709e6280ed",
      "tree": "e53054cf3446cc91228a1ea5ae48b0c803ca5cc6",
      "parents": [
        "d77d17c28d6f120ceb648747c7e2ef1a50215700",
        "429dad687bcb5f00587e8b91b3a614502907aaa1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 11:21:28 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 11:21:29 2012 -0700"
      },
      "message": "Merge \"Normalize output from aapt d xmltree\""
    },
    {
      "commit": "be925017201ad547a72e8d1e333dbc7eae3fc76f",
      "tree": "d07536a4132acc745f4170342898aeee1ceffd56",
      "parents": [
        "1c7a9b2ec9a75fe5975bd35482d74dc3d07e6205",
        "b71393bd34a48eeb622292e78f43b99e374a5e3a"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Jul 19 14:30:39 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 19 14:30:39 2012 -0700"
      },
      "message": "am b71393bd: Merge \"Fix aapt -G to properly support class attr in fragment.\" into jb-dev\n\n* commit \u0027b71393bd34a48eeb622292e78f43b99e374a5e3a\u0027:\n  Fix aapt -G to properly support class attr in fragment.\n"
    },
    {
      "commit": "095cd2e2d14e4fe25b66df54861fb66000a25adc",
      "tree": "b16c8e094f998b23b77a68e364e70f45629f13b5",
      "parents": [
        "12a5475205243bc2d069a87d2c7d4982b5f4d11d"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 18 18:06:09 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Jul 19 09:06:03 2012 -0700"
      },
      "message": "Fix aapt -G to properly support class attr in fragment.\n\nThe code added attributes android:name and class to a\nKeyedVector under the same key (fragment) so the 2nd\nadd (android:name) removed class with was never checked.\n\nThis replace the value type in the KeyedVector to be\nVector\u003cNamespaceAttributePair\u003e instead of just\nNamespaceAttributePair.\n\nChange-Id: I009b8a8cca878191661c2a63bb14c967d230498d\n"
    },
    {
      "commit": "429dad687bcb5f00587e8b91b3a614502907aaa1",
      "tree": "ee2b4ad0c456c6dde1cd81979565b72e9c389fa6",
      "parents": [
        "dc99555d61d50820b398096bb774ee56b2500476"
      ],
      "author": {
        "name": "Shachar Shemesh",
        "email": "lingnu@gmail.com",
        "time": "Sun Jul 08 06:37:48 2012 +0300"
      },
      "committer": {
        "name": "Shachar Shemesh",
        "email": "lingnu@gmail.com",
        "time": "Sun Jul 08 06:37:48 2012 +0300"
      },
      "message": "Normalize output from aapt d xmltree\n\nWhen using aapt dump xmltree to dump an XML which has a content element with newlines, the output contains a\nnewline. This makes it very difficult, sometimes impossible, to understand what is part of the content, and\nwhat is the meta-data.\n\nWe now pass XML content through the same normalizer used for other tags.\n\nChange-Id: I327321520fac563eb32aecaf796f2473866697fc\n"
    },
    {
      "commit": "cc6cf51b80eabd199f797f40b76f7980c343962b",
      "tree": "1db1e94e54cec4da8d771afd1d802c72c21d3c2d",
      "parents": [
        "8a0f63bb588138a9e4f1ef7830e94282efe57c6b",
        "8c71784e9e83e914135e996591aa7903edd2fd96"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jun 22 14:34:54 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 22 14:34:54 2012 -0700"
      },
      "message": "am 8c71784e: Merge \"Initialize mJunkPath to false\"\n\n* commit \u00278c71784e9e83e914135e996591aa7903edd2fd96\u0027:\n  Initialize mJunkPath to false\n"
    },
    {
      "commit": "dbcfed9e2cad3175109aca4b55bbe41da7238a4f",
      "tree": "0d00f26132e510b1bb0c8758ecd09d9c57410064",
      "parents": [
        "a9543a3dad0da58f30580bdf99b76bc2ab97a2df"
      ],
      "author": {
        "name": "Haitao Feng",
        "email": "haitao.feng@intel.com",
        "time": "Fri Jun 22 09:20:26 2012 +0800"
      },
      "committer": {
        "name": "Haitao Feng",
        "email": "haitao.feng@intel.com",
        "time": "Fri Jun 22 09:20:26 2012 +0800"
      },
      "message": "Initialize mJunkPath to false\n\nChange-Id: Ib48bb1d91736d27f055528c3ba275237ff5ada07\n"
    },
    {
      "commit": "6892f1ec9670432f1cab71813592077bea991a8b",
      "tree": "13dfe731323f7a32f0854d54da80aa8d3f54f438",
      "parents": [
        "19e046c4d2f11e6ed5d324122996080942e94569",
        "0f6471ace77387560988964ed0679f843bba6f1f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 12 12:41:36 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:41:36 2012 -0700"
      },
      "message": "am 0f6471ac: Merge \"Fix issue #6641368: can\\\u0027t launch gallery\" into jb-dev\n\n* commit \u00270f6471ace77387560988964ed0679f843bba6f1f\u0027:\n  Fix issue #6641368: can\u0027t launch gallery\n"
    },
    {
      "commit": "2bd8d0403be62df679f0f94ab4d84c9ae9a2e918",
      "tree": "64bab80cac947253c02794f0aea7d765aecb5e3b",
      "parents": [
        "a7e3a1e0e7d308e7e78a1992038a34485d04ab29"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 11 12:27:05 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 11 12:27:05 2012 -0700"
      },
      "message": "Fix issue #6641368: can\u0027t launch gallery\n\nThis is a revert of 1db36528b12395b9ed9bf8a1005a6d4ace737627,\nbut with comments added so I don\u0027t make this mistake again. :)\n\nChange-Id: I053216279e3721f08f32f561bb989736ef619f82\n"
    },
    {
      "commit": "f22eb96301aa1c4e0f7ac317daa64a617c21855c",
      "tree": "d85eda22d166b57293c05ae2e916eb63352f5f24",
      "parents": [
        "4835c17b13c08693cf9a370df86d660818f8d391",
        "c9fe6568f3e7e4d9dc6da072afc929b9a81001ed"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jun 05 18:48:00 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 18:48:00 2012 -0700"
      },
      "message": "am c9fe6568: am 9e22d9c5: Merge \"Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\"\n\n* commit \u0027c9fe6568f3e7e4d9dc6da072afc929b9a81001ed\u0027:\n  Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\n"
    },
    {
      "commit": "c9fe6568f3e7e4d9dc6da072afc929b9a81001ed",
      "tree": "7b99d88b9c2c59836870644894ba9996cbbd5f74",
      "parents": [
        "44ff9b8f9294e015031fc9293974604771e5efdd",
        "9e22d9c514457c4b163d03b9241e4e28b1698368"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jun 05 18:43:49 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 18:43:49 2012 -0700"
      },
      "message": "am 9e22d9c5: Merge \"Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\"\n\n* commit \u00279e22d9c514457c4b163d03b9241e4e28b1698368\u0027:\n  Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\n"
    },
    {
      "commit": "41bdb03ffb81d7bcbf6fa35d7b40e196635c86f3",
      "tree": "5eedea44e81362a897f143d2c43bbc60f669b370",
      "parents": [
        "36ac43ba9982a78b4a047c8970776505a3fab4da"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed May 30 18:02:55 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jun 05 14:30:39 2012 -0700"
      },
      "message": "Fix \"Too many open files\" error for aapt built with Mac OS X SDK 10.6.\n\nWith SDK 10.6 without _DARWIN_UNLIMITED_STREAMS aapt sometimes fails\nright away with the error \"Too many open files\" when calling fopen().\n\nChange-Id: Ifa7bd8a9530d706aa47f98be8186f1aefe943d76\n"
    },
    {
      "commit": "9f374b9de5a557a7977b24d41f45c3464cfff8c1",
      "tree": "7d2eba9b27fcddaf67d48fa22e1bebc2ff0b6dca",
      "parents": [
        "b25605cd7111bcab41ec10547f015bd2d6215c91",
        "44ff9b8f9294e015031fc9293974604771e5efdd"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Tue Jun 05 08:45:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 08:45:20 2012 -0700"
      },
      "message": "am 44ff9b8f: am 36ac43ba: Merge \"Tweak default ignore-assets path\"\n\n* commit \u002744ff9b8f9294e015031fc9293974604771e5efdd\u0027:\n  Tweak default ignore-assets path\n"
    },
    {
      "commit": "44ff9b8f9294e015031fc9293974604771e5efdd",
      "tree": "91eabfeb2a567799b801af23f5e59b23d735488c",
      "parents": [
        "3df4e1a2f1b4f0eb110c8983107b7c7fa21ed338",
        "36ac43ba9982a78b4a047c8970776505a3fab4da"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Tue Jun 05 08:41:16 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 08:41:16 2012 -0700"
      },
      "message": "am 36ac43ba: Merge \"Tweak default ignore-assets path\"\n\n* commit \u002736ac43ba9982a78b4a047c8970776505a3fab4da\u0027:\n  Tweak default ignore-assets path\n"
    },
    {
      "commit": "e0219c8baa9d63b3794f90ab772f1c19ecb74ec4",
      "tree": "cc5f1052ffefb73dcd46da1683d6bcfe6eda5adf",
      "parents": [
        "0748a5698776d1a9693a5449ffc983af26cc533b"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Mon Jun 04 10:38:13 2012 -0700"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Mon Jun 04 10:41:38 2012 -0700"
      },
      "message": "Tweak default ignore-assets path\n\nAdd .DS_Store to the list of ignored files that are silently\nignored (other dot-files are ignored but aapt emits a \"(skipping \u003cx\u003e)\"\nmessage.)\n\nAlso, add a \"!\" prefix to the *~ pattern for Emacs/Vim/Gedit backup\nfiles.\n\nFinally, move the !*.scc pattern up in front of the .* pattern, such\nthat it doesn\u0027t match the earlier .* pattern (which is verbose, unlike\n!*.scc).\n\nChange-Id: Id3e96490f1802486aea8c58366d43e9d413971b8\n"
    },
    {
      "commit": "3df4e1a2f1b4f0eb110c8983107b7c7fa21ed338",
      "tree": "1d687db32a08d214e7522eae3d9850c7fcb59036",
      "parents": [
        "ae545bb87c8509c31a72bbc03c0bee7cb23a5133",
        "0748a5698776d1a9693a5449ffc983af26cc533b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jun 02 09:56:45 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jun 02 09:56:45 2012 -0700"
      },
      "message": "am 0748a569: Merge \"aapt: Remove terminal pointer incrementaion\"\n\n* commit \u00270748a5698776d1a9693a5449ffc983af26cc533b\u0027:\n  aapt: Remove terminal pointer incrementaion\n"
    },
    {
      "commit": "0748a5698776d1a9693a5449ffc983af26cc533b",
      "tree": "cd409bf30a0c15e69a7417a7c22f9c53af70965b",
      "parents": [
        "54a2a6df410ad860f048ef4ff653820787f68f3a",
        "c4293c14083d833bb5d13dc19e73daed8cbbb4ea"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jun 02 09:21:36 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 02 09:21:37 2012 -0700"
      },
      "message": "Merge \"aapt: Remove terminal pointer incrementaion\""
    },
    {
      "commit": "98a0607a314a7a6023fabdafaa8e470a1e800c09",
      "tree": "820f623b5b8b83061597cc24996cab7615f54e34",
      "parents": [
        "d4cb08df751e29338f4df1a76b303aa720f2bc00"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 22 11:24:22 2012 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Thu May 24 11:07:14 2012 -0700"
      },
      "message": "Merge \"Fix length of pattern.\" DO NOT MERGE.\n\nAfter skipping * with \"token++\", the length should decrease by 1 as\nwell.\n\n(merged from 996b073e813ba1a22a13282ccdebb664f14ba898)\n\nChange-Id: Ie6232ef603bb31e25e03b926e6c1bb92ac34902d\n"
    },
    {
      "commit": "ac9f50573dad2050d261850f1accbcea383cc6f0",
      "tree": "20b3b890015bf87346a6c5ebfa019d3f734b77e0",
      "parents": [
        "88ab8c8de4d8d2e2c1f3237024ecdefd77300916",
        "996b073e813ba1a22a13282ccdebb664f14ba898"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 22 11:43:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 22 11:43:14 2012 -0700"
      },
      "message": "am 996b073e: Fix length of pattern.\n\n* commit \u0027996b073e813ba1a22a13282ccdebb664f14ba898\u0027:\n  Fix length of pattern.\n"
    },
    {
      "commit": "996b073e813ba1a22a13282ccdebb664f14ba898",
      "tree": "0f59bedc48c4da4a49b82eac6170c5d8d7e37e6f",
      "parents": [
        "0eaeb69d1c4849da8ab1df70b84e90837193df67"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 22 11:24:22 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 22 11:35:22 2012 -0700"
      },
      "message": "Fix length of pattern.\n\nAfter skipping * with \"token++\", the length should decrease by 1 as\nwell.\n\nChange-Id: I132eb7d12bb756f2f713c607e92741ca834aef81\n"
    },
    {
      "commit": "9c06ac09c3530c5f0bc0b47a3350eedb5b539c35",
      "tree": "4ce6121aa3126bd243e014b449df65c72296de1f",
      "parents": [
        "ee3bb6498adc801023798b4fc48b5dcd77e059f5",
        "6c255a3a378143af59021d29b4980b28f1ab4544"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Mon May 21 13:09:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 21 13:09:29 2012 -0700"
      },
      "message": "Merge \"Merge \"AAPT: support a new --ignore-assets flag.\"\" into jb-dev"
    },
    {
      "commit": "6c255a3a378143af59021d29b4980b28f1ab4544",
      "tree": "145d2632678e6227c664a046de8930ff2e3873be",
      "parents": [
        "43a760ba84a5357bae792a33ad4a0e946f02679c"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Mon May 07 16:16:46 2012 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Fri May 18 20:34:44 2012 -0700"
      },
      "message": "Merge \"AAPT: support a new --ignore-assets flag.\"\n\nAAPT has a fixed built-in list of files and directories\nto ignore when parsing resource files. Over the years we\nalways had developers requiring specific patterns.\n\nAdded a command-line option for it:\n  aapt di --ignore-assets \"foo*:*.blah\"\n\nIf the env var ANDROID_AAPT_IGNORE is set, it is parsed\nto find which file/directory patterns to ignore.\n\nOtherwise a default is used that matches the current behavior.\n\nSDK Bug: 5343 24067\n\n(cherry-pick from AOSP 90897ed87bce639bf6bb2ccf15fbabb59b131bab)\n\nChange-Id: Ia4caa2a8188c8c1df143f884e459b8182645995f\n"
    },
    {
      "commit": "72669b5f4663937b09d33f9d951f0b86a03fa98b",
      "tree": "3daf749f3aa07123d471ab58c86ceaace6cee55f",
      "parents": [
        "099a220cf57f00732d347cd49422c849354d2e38",
        "13a0271cb81d497edbf93f3d6ecf4b9b8da4ee69"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 18 19:41:10 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 18 19:41:10 2012 -0700"
      },
      "message": "am 13a0271c: Merge \"Add aapt support for generating proguard rules for onClick methods.\" into jb-dev\n\n* commit \u002713a0271cb81d497edbf93f3d6ecf4b9b8da4ee69\u0027:\n  Add aapt support for generating proguard rules for onClick methods.\n"
    },
    {
      "commit": "9275197d35a99c3f187d18d0eda6ead3b8a32603",
      "tree": "ba364f6cf805ce6dac0d3eb8ced5d82d71cd956a",
      "parents": [
        "fb5c3dba4ddac023cfd4cdcabdfdbcf343197c94"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 18 19:22:14 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 18 19:23:19 2012 -0700"
      },
      "message": "Add aapt support for generating proguard rules for onClick methods.\n\nAlso fix Activity menu inflater when using the dark on light\ntheme wrapper to still be able to find onClick listeners.\n\nChange-Id: Ie206db26d1df96041bc477804e476b02ad99dc9d\n"
    },
    {
      "commit": "f67f834a9cb7ee9b743e79af85cb42bd45b5aa23",
      "tree": "44605c7c36f04f1c951a07374e32d325a856721a",
      "parents": [
        "38e34874a89b6e71464bfa3e89480252000765ad",
        "8748399f6f999d21eef9226baadb20f71dfb61ea"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Fri May 18 16:33:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 18 16:33:14 2012 -0700"
      },
      "message": "am 8748399f: am 61394501: Merge \"Support a new ANDROID_AAPT_IGNORE env var.\"\n\n* commit \u00278748399f6f999d21eef9226baadb20f71dfb61ea\u0027:\n  Support a new ANDROID_AAPT_IGNORE env var.\n"
    },
    {
      "commit": "90897ed87bce639bf6bb2ccf15fbabb59b131bab",
      "tree": "53b5b28bf5a41e41a35751f12becef9dd94a0dbe",
      "parents": [
        "ad3f86a526c49ecd733564771b5c2ce7eade2a96"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Mon May 07 16:16:46 2012 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Wed May 09 21:16:26 2012 -0700"
      },
      "message": "Support a new ANDROID_AAPT_IGNORE env var.\n\nAAPT has a fixed built-in list of files and directories\nto ignore when parsing resource files. Over the years we\nalways had developers requiring specific patterns.\nIf the env var ANDROID_AAPT_IGNORE is set, it is parsed\nto find which file/directory patterns to ignore.\nOtherwise a default is used that matches the current behavior.\n\nAdded a command-line option for it:\n  aapt di --ignore-assets \"foo*:*.blah\"\n\nSDK Bug: 5343 24067\n\nChange-Id: Ia4caa2a8188c8c1df143f884e459b8182645995f\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": "b2228eb7141354089f974a4db3b5224a0ad75fd4",
      "tree": "2b360bec8e2aa790c4ecee05b0486c60f42e55e6",
      "parents": [
        "9e3bc3f61df541271c8a1dfc5564cab853951aec",
        "249e3ed5400e5c7ab2e9aa8017f612d79d2e8089"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 09:20:32 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 01 09:20:32 2012 -0700"
      },
      "message": "Merge \"Runtime resource overlay: clean-up.\""
    },
    {
      "commit": "9e3bc3f61df541271c8a1dfc5564cab853951aec",
      "tree": "d8433af997868fe41e207c58577e1fb934dcb903",
      "parents": [
        "6a8186fb88455fcc418def0650b7b9f8f3573153",
        "c761d8b0086f9e92eb1e4b3a5683ae6afb84036a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 08:49:37 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 01 08:49:38 2012 -0700"
      },
      "message": "Merge \"Build overlay packages just like regular packages.\""
    },
    {
      "commit": "002f53770a7f6850eab4d7e381e91dc94d28968f",
      "tree": "d2d83fa4b29e498003fc5cd027bc818310a10e80",
      "parents": [
        "64ac862f7bb40f2ec2d65510904cf157b1cf60a5"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Apr 25 18:53:49 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Apr 26 13:13:08 2012 -0700"
      },
      "message": "Apply --extra-packages in case --custom-pacakge is also specified.\n\nCherry-picked from master.\n\nChange-Id: I2d67b8821afdf064f4186ccd8def1b65f9a7dc88\n"
    },
    {
      "commit": "4aa14b912fa7b0e8f2f1deb3e66dab4668de1e12",
      "tree": "94c306cbcf94a0c1d46d97d863d498825429e455",
      "parents": [
        "455b7bb83ce4a12a72f5b8341eda19754d582293"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 13 19:18:41 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 11:34:15 2012 -0700"
      },
      "message": "Add new aapt dump badging output explaining implicit badging.\n\nNew uses-implied-feature and uses-implied-permission tell you\nabout any features or permissions that aapt is automatically\nadding to your app, and why it is doing so.\n\nChange-Id: I45edb055408e1259699c994f956166ce67e8db5d\n"
    },
    {
      "commit": "4527a9242127c28ad9472ec3b7677b444b3ef215",
      "tree": "b66d5ebfb607565f3ccc4f58978682483a69c7e4",
      "parents": [
        "9944ecd28e1c56c4e9f0a50ed6e8be2110ba5c31",
        "b6ec11ef372a498c4d5fd2317a015b808495a2ed"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue Apr 10 17:13:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 10 17:13:17 2012 -0700"
      },
      "message": "Merge \"Adding a line for android-debuggable to \u0027dump badging\u0027 if AndroidManifest.xml is configured as such. This is to be used by e.g. Play Store to warn the developer that they are about to publish a security hole.\""
    },
    {
      "commit": "31b0e0e86ad061cd8005e80817bcad017e2d56dd",
      "tree": "f69e9622ac7c1d06dbd78fcac3d5934f831417de",
      "parents": [
        "9828830611137bb751ab3512082a3bd31f439e38"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 05 19:33:30 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 05 19:33:30 2012 -0700"
      },
      "message": "Implement call log permission compatibility.\n\nIf a pre-JellyBean application requests read/write contacts, it\nwill implicitly be given read/write call log.\n\nChange-Id: I029db4b09fda737bb8fba4e1611355ebdbbfd34f\n"
    },
    {
      "commit": "ec4a50428d5f26a22df3edaf7e5b08f41d5cb54b",
      "tree": "cd47b15082ff35879cf6e22a86f44108f45920aa",
      "parents": [
        "58a40a3e92f8a53ac1068f0839dec4a1707fa6fb"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Apr 04 10:27:15 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Apr 04 12:05:59 2012 -0700"
      },
      "message": "Embed layout padding in nine patch images\n\n- Added a new custom PNG chunk that carries the layout padding ints.\n- Extract the padding ticks from .9.png images and store in the chunk.\n- Load the padding information at runtime into Bitmap and NinePatchDrawable.\n\n- The new chunk is ordered first so that it doesn\u0027t cause a problem in older\n  versions of the platform.\n\nBug: 6087201\n\nChange-Id: I5de46167a1d44b3ec21065b0c165e594b1dc8399\n"
    },
    {
      "commit": "b6ec11ef372a498c4d5fd2317a015b808495a2ed",
      "tree": "529b04c2ffa8665181f94555c601aaca496a094d",
      "parents": [
        "b3fa3960a03ef553e58bf1add88029a6c072c6b6"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue Apr 03 12:44:40 2012 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue Apr 03 14:42:05 2012 -0700"
      },
      "message": "Adding a line for android-debuggable to \u0027dump badging\u0027 if AndroidManifest.xml\nis configured as such. This is to be used by e.g. Play Store to warn the\ndeveloper that they are about to publish a security hole.\n\nChange-Id: Ib6f8537462cbc00ed0504435bdeee2aae0c5b69b\n"
    },
    {
      "commit": "c4293c14083d833bb5d13dc19e73daed8cbbb4ea",
      "tree": "1156b525c8c1ca2735e7fdd060374c4a9bc7961d",
      "parents": [
        "8ea93aa6adc0e46c8931d31d4f940cdde97c672f"
      ],
      "author": {
        "name": "Nobuhiro Hayashi",
        "email": "nobuhiro.hayashi@gmail.com",
        "time": "Mon Jan 30 18:42:20 2012 +0900"
      },
      "committer": {
        "name": "Nobuhiro Hayashi",
        "email": "nobuhiro.hayashi@gmail.com",
        "time": "Fri Mar 30 19:23:04 2012 +0900"
      },
      "message": "aapt: Remove terminal pointer incrementaion\n\nWhen initialization, \u0027end\u0027 pointer refers terminal\ncharacter in a string. But it is incremented in\nwhile loop. It occurs the access to non-secure memory.\n\nIssue detail\n  http://code.google.com/p/android/issues/detail?id\u003d24896\n\nChange-Id: I751d1154d797738c87a66374a66933528c045be5\n"
    },
    {
      "commit": "a982dc05d7ca919c07f50e446549ef9dceadf6bd",
      "tree": "e9b0e1564069bf39447db97b966a01c6dda66609",
      "parents": [
        "54c546223cd550d2995ec6d956a8e7963311a0a6"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 22 18:43:07 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 22 18:43:07 2012 -0700"
      },
      "message": "frameworks/base: move Zip* from libandroidfw to libutils\n\nZipUtils is needed by build/tools, move it from libandroidfw\n(frameworks/base) to libutils (frameworks/native).\n\nChange-Id: I2b4b7adcdf68eb25ee7cba5dd3b69eadf0523af3\n"
    },
    {
      "commit": "fe75d62eba3935d2d1a4a7790fc7459ded241ad3",
      "tree": "71054bce03f3a52e59fb5dc4af890f93da50a259",
      "parents": [
        "80a6b33be276eb6c808fce13debb4bb7a489cdad"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 14:08:58 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 14:08:58 2012 -0700"
      },
      "message": "Use qsort_r_compat() as a portable wrapper for qsort_r().\n\nChange-Id: Ie79f81625947f4e95122047605d994c86e872e74\n"
    },
    {
      "commit": "80a6b33be276eb6c808fce13debb4bb7a489cdad",
      "tree": "87a9f32d2f21c9381cc51f9ce1d9fa84a255d5f2",
      "parents": [
        "cc67069aa7ea6d6b3a573b5917f43246d228290d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 12:02:10 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 12:02:10 2012 -0700"
      },
      "message": "Fix build break on glibc, for real.\n\nChange-Id: I8bbec237229b05f96c708d41f3c4da17e2a90e2b\n"
    },
    {
      "commit": "46fc395386f2277a0425b2c46be08fd91f6554f4",
      "tree": "fd748e51bea1b40e081d66332034f0a8fc3b5a60",
      "parents": [
        "5db7bc6eea9c9c7c84ae21a7cc0069ceee08a6d4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 11:48:12 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 11:50:02 2012 -0700"
      },
      "message": "Fix build break on glibc hosts.\n\nChange-Id: Ida70bec6ea972d042982428353cbbc33cde25136\n"
    },
    {
      "commit": "c0f7366a15655c6973ea21029f1997f24c006cca",
      "tree": "ad9302a32cfbfa603ce5b58a6fa263c92953795a",
      "parents": [
        "c9fd9263feedac32e4f5b1f13a3246347efdc25f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 22:17:41 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Mar 17 14:12:57 2012 -0700"
      },
      "message": "aapt: Preprocess images in parallel.\n\nCurrently hardcoded to use up to 4 threads.\n\nThis change substantially reduces the amount of time spent\npreprocessing framework resources to just a few seconds.\n\nChange-Id: I02fdd283fb529a152aeb22ac87f278779fd77983\n"
    },
    {
      "commit": "c9fd9263feedac32e4f5b1f13a3246347efdc25f",
      "tree": "034a4002a842eae595f59f5d78d982e6316fb13d",
      "parents": [
        "61361f376b47d45966b1ca0d24d51622304c93c3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 19:25:20 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 22:25:15 2012 -0700"
      },
      "message": "Use quicksort to sort the string pool.\n\nThe current implementation of Vector::sort uses insertion sort\non the assumption that the data is mostly sorted.  It isn\u0027t.\n\nThis change brings the total time spent sorting packages by config\ndown to 500ms from about 93 seconds.\n\nBug: 6186278\nChange-Id: Iec8da11e09297acd6c73733d063b0fa9dacf69f7\n"
    },
    {
      "commit": "61361f376b47d45966b1ca0d24d51622304c93c3",
      "tree": "b634bf9370932e1b4c9296156b9c85777d87d01c",
      "parents": [
        "bf02b984738f6be5cc2e2d66b12aff7af99eb79e"
      ],
      "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 22:24:54 2012 -0700"
      },
      "message": "Add some comments about StringPool sort order.\n\nChange-Id: I57f24d46328a6bfef883819eaf95c03114d573bb\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"
    },
    {
      "commit": "8a9cfcc85260eadcc2c17c4a8911c6d93b642f39",
      "tree": "7534c55dc00e91b64c61c9a830f5115cb304cad5",
      "parents": [
        "543ec1c808e0064371cdf491bb8ff1e08134ed93"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 15:24:32 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 15:24:32 2012 -0700"
      },
      "message": "Make StringPool entry types trivially movable.\n\nChange-Id: If93957a840a0f1cae2e6ef291eeeb1b0c7c20958\n"
    },
    {
      "commit": "7924512aa12c6af37d90e8ccfcdf04eb78a294a3",
      "tree": "d0b539a6b6ea5d810458196dcff5f377428d3311",
      "parents": [
        "05f692e8050c3650ec123b2361143a121e2e7d4b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 12 10:51:26 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 12 15:07:31 2012 -0700"
      },
      "message": "Add new READ_EXTERNAL_STORAGE permission.\n\nAlso adds some initial compatibility code for dealing with it.\n\nChange-Id: I104bff11798349e4aaa6da9b7be787b257daa1bb\n"
    },
    {
      "commit": "a0b29f556519653c9749cebff4af43e68b4d59ce",
      "tree": "e0019fb4eab98881af74ea6cbd7f0699e8e9ddcc",
      "parents": [
        "7d8775a87eeedfcd9349f56f667b636f6643766e",
        "db6e67d8ec081f43bcf14155741e268a38915719"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Mar 08 14:52:09 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 14:52:09 2012 -0800"
      },
      "message": "Merge \"Fix an issue where a non-styled string could be made into a styled string\""
    },
    {
      "commit": "db6e67d8ec081f43bcf14155741e268a38915719",
      "tree": "143c9d8b2324d6d7d662dbbd31c5f83bcdb6dbae",
      "parents": [
        "42f23b3cfe2c4fa45c7c9ca4b60a6724aea31621"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Mar 07 21:19:16 2012 -0800"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Mar 07 21:19:16 2012 -0800"
      },
      "message": "Fix an issue where a non-styled string could be made into a styled string\n\nIf a styled version of an otherwise identical string is encountered before\na non-styled version, aapt merges the two, effectively making the\nnon-styled string have a spurious style.\n\nChange-Id: I424a61c0c83c59e0b9c8939e457402efd06a7a4f\n"
    },
    {
      "commit": "59eb5fd509c98a371b8824f6b13cf29981a4f063",
      "tree": "c40de115ed24179aa4dbabd93f8634f8167d8efc",
      "parents": [
        "5eb37241fee7e656cf9787bf00a160e94b4894fc"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Tue Mar 06 19:26:22 2012 -0800"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Mar 07 10:49:55 2012 -0800"
      },
      "message": "Fix up getAttributeFlags() function\n\nIn addition to a couple of minor clean-up items, this fixes an issue that can\nrarely cause incorrect parsing of attribute flag values, when there is a \u0027|\u0027\ncharacter in the few bytes past the end of the attribute value being parsed.\n\nChange-Id: I6050b1c2db60720c7c0ab7df9eba8cfc629b320e\n"
    },
    {
      "commit": "b3c780f16c37d2fb41a4eb211ea062b4c0b4e366",
      "tree": "d709655aa10af3b3e80d449c5381dfd167120537",
      "parents": [
        "9694910e17a18c307e61811284f88a26db2bfbae",
        "816b873df1ab98d0e79913cf589b7b1fbaf14e85"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 18:42:01 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 23 18:42:01 2012 -0800"
      },
      "message": "am 816b873d: Move the automatic namespace outside of the res namespace. do not merge.\n\n* commit \u0027816b873df1ab98d0e79913cf589b7b1fbaf14e85\u0027:\n  Move the automatic namespace outside of the res namespace. do not merge.\n"
    },
    {
      "commit": "816b873df1ab98d0e79913cf589b7b1fbaf14e85",
      "tree": "158f5cd764d00712d5d5eab582d5b16dab26b5f8",
      "parents": [
        "eed8d0b3af8e76d6146ce4ed3fbe6ef7e172c8cd"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 16:59:27 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 18:10:20 2012 -0800"
      },
      "message": "Move the automatic namespace outside of the res namespace. do not merge.\n\n(cherry picked from commit d9fe8018ffbf94f18a840005e688ad1d712f0225)\n\nChange-Id: I48ca78d5fccc75392b3f1cf9525890e5145293c4\n"
    },
    {
      "commit": "eed8d0b3af8e76d6146ce4ed3fbe6ef7e172c8cd",
      "tree": "166b028e1706754143f52d6ab3c6ed137a235f05",
      "parents": [
        "566328a2a5fcd8c40fc67d8974d6df0df48b0056"
      ],
      "author": {
        "name": "inazaruk",
        "email": "ievgenii.nazaruk@gmail.com",
        "time": "Sun May 22 15:09:06 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 18:09:31 2012 -0800"
      },
      "message": "Fix for issue 9656 - custom xml attributes in Android Libraries. do not merge.\n\nAdded support for predefined namespace http://schemas.android.com/apk/res/auto\nthat aapt tool recognizes and treats as namespace with package name\ntaken from current application\u0027s AndroidManifest.xml, //manifest/package attribute.\n\nSigned-off-by: inazaruk \u003cievgenii.nazaruk@gmail.com\u003e\n\n(cherry picked from commit e348909c1966c3d192841cc131a32be6ed90da18)\n\nChange-Id: I4bff836c42a309bac36e5d1ce1899131b3c4c194\n"
    },
    {
      "commit": "d9fe8018ffbf94f18a840005e688ad1d712f0225",
      "tree": "92ea6e2eae6f932c638869295456e07177a436fb",
      "parents": [
        "583e885bef9891f582d19b06d575fc0cd96620a0"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 16:59:27 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 16:59:27 2012 -0800"
      },
      "message": "Move the automatic namespace outside of the res namespace.\n\nChange-Id: I107ee94af0a13f008ef4a8844a9038b84f97a247\n"
    },
    {
      "commit": "111a7a107cc0d1d37c50e760996dfe9863d099d0",
      "tree": "c94ba12a2151d46e8dc18c7b5cf3cc7aacd53d10",
      "parents": [
        "61fd70a34f17ccb4c2faf3fe22143e4e8c50ca87",
        "0842a2262d03fc98e42541cb38f51a341d346ae0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Feb 23 13:04:24 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 23 13:04:24 2012 -0800"
      },
      "message": "am 0842a226: am fe99051c: am 0e25e4cd: am 63e43ba5: Merge \"Fix for issue 9656 - custom xml attributes in Android Libraries\"\n\n* commit \u00270842a2262d03fc98e42541cb38f51a341d346ae0\u0027:\n  Fix for issue 9656 - custom xml attributes in Android Libraries\n"
    },
    {
      "commit": "0e25e4cd292dbc6bce330a876dedb7154e5cd847",
      "tree": "e657bddbb6aec57fda038a2c41751ab6253f8c99",
      "parents": [
        "b92aee4e8c3d93235c9a57afa81711383538f54f",
        "63e43ba56a95708c229eec539a544967f1bbb7d7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Feb 23 12:57:03 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 23 12:57:03 2012 -0800"
      },
      "message": "am 63e43ba5: Merge \"Fix for issue 9656 - custom xml attributes in Android Libraries\"\n\n* commit \u002763e43ba56a95708c229eec539a544967f1bbb7d7\u0027:\n  Fix for issue 9656 - custom xml attributes in Android Libraries\n"
    },
    {
      "commit": "63e43ba56a95708c229eec539a544967f1bbb7d7",
      "tree": "a43e67d0ff08c1117313101381965ad634f2dcd0",
      "parents": [
        "69e9c30c2641add74c9a3b02d0959c0ded9e66f7",
        "e348909c1966c3d192841cc131a32be6ed90da18"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Feb 23 12:38:12 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 23 12:38:14 2012 -0800"
      },
      "message": "Merge \"Fix for issue 9656 - custom xml attributes in Android Libraries\""
    },
    {
      "commit": "cbc69718cb8c637426bc1a642a13a1880d843a45",
      "tree": "7131e704d79f81e0d6eee5022fa59c33cb6cca7d",
      "parents": [
        "30167542cb23726a0d28c2eeb280f16f3101e97f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 21 14:34:47 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 21 14:34:47 2012 -0800"
      },
      "message": "another attempt at fixing the linux build\n\nChange-Id: Iac20439fd6eea4682859112e72f051294bc87ef6\n"
    },
    {
      "commit": "83c64e6b624a876436d2ef5d2f173b10407e27b4",
      "tree": "c4effc3260ab399e8fdae23baf06b076cd87a604",
      "parents": [
        "94d0024557f415b8463f085c9784a3e1d02b58c6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 20 16:58:20 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 20 22:38:43 2012 -0800"
      },
      "message": "frameworks/base refactoring\n\ncreate the new libandroidfw from parts of libui and libutils\n\nChange-Id: I1584995616fff5d527a2aba63921b682a6194d58\n"
    },
    {
      "commit": "b13b9bdad2baf6ad1ec2e56b6b7598fa20f55fc4",
      "tree": "2b90dc39a35d8081ea47b038893624b69a01202d",
      "parents": [
        "6db0608dff408130b35e6f21abe746a635648b18"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 18:27:36 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 19:01:26 2012 -0800"
      },
      "message": "frameworks/base refactoring.\n\nstep 2: move libutils headers to their new home: androidfw\n\nChange-Id: I14624ba23db92a81f2cb929f104386e1fab293ef\n"
    },
    {
      "commit": "249e3ed5400e5c7ab2e9aa8017f612d79d2e8089",
      "tree": "117adb62a967a24a5739f88d95add6ac29f1fc98",
      "parents": [
        "c761d8b0086f9e92eb1e4b3a5683ae6afb84036a"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonyericsson.com",
        "time": "Wed Feb 08 10:22:47 2012 +0100"
      },
      "committer": {
        "name": "Zoran Jovanovic",
        "email": "zoran.jovanovic@sonyericsson.com",
        "time": "Thu Feb 16 16:43:07 2012 +0100"
      },
      "message": "Runtime resource overlay: clean-up.\n\nThis is a combination of three minor clean-up tasks:\n\n- Generate correct idmap even if name lookup fails:\n\n  Any resources following a resource with a spec but no actual values\n  would receive an incorrect ID in the idmap due to an accumulating offset\n  error. To combat this, a dummy value is inserted in the idmap whenever\n  a resource with a spec but no values is encountered.\n\n- Optimize pruning of padding zeroes in idmaps:\n\n  Earlier, trailing zeroes were iteratively popped from the end of each\n  type block of an idmap. This commit instead tracks where to make the\n  cut, and does so with a single function call.\n\n- aapt: warn about resources which lack values:\n\n  The resource framework assumes every resource to have a value for\n  at least one valid configuration. However, if multiple resource\n  directories are used (several -S options to aapt), the list of\n  configurations is limited by dpi (-c option to aapt) and a resource\n  is only available in discarded dpi configurations, aapt will create\n  a resource entry where each configuration lack an actual value. This\n  commit lets aapt emit a warning whenever this has happened.\n\nChange-Id: Ic7451b7f4adfef5bfa6b0d7e64e057f317a2cdaa\n"
    },
    {
      "commit": "1644c6d7f4931d0b4fe7ea77c63b016af01a46d3",
      "tree": "794f3b2ccf8ce784b043b74e03fe970b811bc455",
      "parents": [
        "e7171effdf9ef0700782520187c0a292b0a74759"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 06 15:33:21 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 07 12:57:50 2012 -0800"
      },
      "message": "Only generate private symbols that are needed.\n\nChange-Id: Icc4c86638db8429a387bf87c934cc712f807e213\n"
    },
    {
      "commit": "c761d8b0086f9e92eb1e4b3a5683ae6afb84036a",
      "tree": "dfbb0ead537b70a58fc991c236a109cbca0ea685",
      "parents": [
        "a081c7b8bc5a3ea19fc7562b333fac525b17bc5f"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonyericsson.com",
        "time": "Tue Feb 07 19:12:45 2012 +0100"
      },
      "committer": {
        "name": "Zoran Jovanovic",
        "email": "zoran.jovanovic@sonyericsson.com",
        "time": "Tue Feb 07 19:14:28 2012 +0100"
      },
      "message": "Build overlay packages just like regular packages.\n\nPreviously, building overlay packages required passing aapt its -o flag.\nThis commit decouples the idmap generation code from the effects of the\n-o flag.\n\nSince this commit renders the -o flag obsolete, support for the flag was\nremoved from aapt as well.\n\nChange-Id: Ied2e0ab8cb800e49623f0a2044b06cd4935473d5\n"
    },
    {
      "commit": "b54f371cc4cfd32acf0fec35885a1da64accec9e",
      "tree": "9f8fe2f3ff43064b9bf2f71cd3e0a92fa0560267",
      "parents": [
        "be09298eb708f6acb6af7028fbca28afdf230008",
        "f8aea99385df8373b6edd6d5dd1d15b7b36b525b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 06 11:41:56 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 06 11:41:56 2012 -0800"
      },
      "message": "am f8aea993: Make aapt ignore tools-related data.\n\n* commit \u0027f8aea99385df8373b6edd6d5dd1d15b7b36b525b\u0027:\n  Make aapt ignore tools-related data.\n"
    },
    {
      "commit": "f8aea99385df8373b6edd6d5dd1d15b7b36b525b",
      "tree": "0aaaca523a54eff95fd89e4c1a711da9109e5c75",
      "parents": [
        "633de7bab9397c4f7591c5514d903305254451b2"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 02 17:18:18 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 06 11:25:28 2012 -0800"
      },
      "message": "Make aapt ignore tools-related data.\n\nThis patchset introduces a new standard namespace http://schemas.android.com/tools\nwhich will be used for tools specific XML attributes.\nAny attributes using this namespace will not be compiled into the binary XML file.\n\nThe namespace node is also not written at all, and its string is not collected\nto ensure that there is no impact on the devices.\n\n(cherry picked from commit a5d5e9d906583ebeb590ca200ca9840302a5cd1a)\n\nChange-Id: I62937b8bc34c07ac544930aa8eadd7797e0179d5\n"
    },
    {
      "commit": "a5d5e9d906583ebeb590ca200ca9840302a5cd1a",
      "tree": "7f45b9b0e6ba4ffc63fd8782148aafa2592b1225",
      "parents": [
        "c69acaef0b31af922931461c11f075e436642fef"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 02 17:18:18 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 02 17:53:43 2012 -0800"
      },
      "message": "Make aapt ignore tools-related data.\n\nThis patchset introduces a new standard namespace http://schemas.android.com/tools\nwhich will be used for tools specific XML attributes.\nAny attributes using this namespace will not be compiled into the binary XML file.\n\nThe namespace node is also not written at all, and its string is not collected\nto ensure that there is no impact on the devices.\n\nChange-Id: I3e75d44cda54e1fa7b5cdc56b3eb27db80fe7761\n"
    },
    {
      "commit": "6c997a9e880e08c354ffd809bd62df9e25e9c4d4",
      "tree": "593504e8a7d67bf57e0799daff1e8eb9e4797857",
      "parents": [
        "2247e3f0dc00762b44ef6adcbb2a91c8bbc1be58"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 31 11:27:43 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 31 15:41:30 2012 -0800"
      },
      "message": "aapt now sorts the strings in the resource string pool.\n\nIn our current environment with very many translations, this can\nsave a lot of RAM -- for example over 200K in Gmail just by sorting\nthe strings in the Gmail .apk (not the framework).\n\nAlso add a new aapt command to print the contents of the resource\ntable string pool.\n\nChange-Id: I1da037b3e2c377b890833ff57ab158965314ac48\n"
    },
    {
      "commit": "d96e3dfa02b203b1fc826e80d6f9aa074ba9c250",
      "tree": "a91a318c43620b6523bd2e83be01632f223b153c",
      "parents": [
        "43ea4e10dc402d20f506cdb4b4f27e49b4dc0443"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 25 15:12:23 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 25 15:14:50 2012 -0800"
      },
      "message": "Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\n\nChange-Id: I519d6cdc527a402d93b98df17a64fc1da52ad598\n"
    },
    {
      "commit": "c6aacce37191e1cc79cfeba13b39899f59c68c3b",
      "tree": "df4401aaa38914e03d5eadc82507e7c6fdcc573e",
      "parents": [
        "a51f0e707f1f3142358aa919ea60ad2842803139"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:45:03 2012 -0800"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)\n\nChange-Id: I1de629b4632a4b3187ca1a28d6416daccd35f924\n"
    },
    {
      "commit": "a51f0e707f1f3142358aa919ea60ad2842803139",
      "tree": "3a4bea403affd07f7611fe13da8cbf64a61ee3e3",
      "parents": [
        "933e85615059b85a87747da57288384541cc56da"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 23:22:43 2012 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:59 2012 -0800"
      },
      "message": "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)\n\nChange-Id: I8fbdfa7a7581f481968dbb65aa40f7042936d7cb\n"
    },
    {
      "commit": "933e85615059b85a87747da57288384541cc56da",
      "tree": "5475260306fb9ddb48b2c7fcfe939ed59752e900",
      "parents": [
        "1afd5bab4e0eaba8b5bc2ab5c7b556cd602cf2e7"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:56 2012 -0800"
      },
      "message": "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)\n\nChange-Id: I26f76452ac49e2890b14d133c065493d8df0fb4a\n"
    },
    {
      "commit": "1afd5bab4e0eaba8b5bc2ab5c7b556cd602cf2e7",
      "tree": "7558b2b5d1cb5e2c9c60bd5d52cab21994caa263",
      "parents": [
        "06ade6ae1bd015e8b8ad0685847911213c93cc5b"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Dec 20 16:23:08 2011 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:50 2012 -0800"
      },
      "message": "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)\n\nChange-Id: I44f267700356967dc51e8f85ebf457dc85cfb229\n"
    },
    {
      "commit": "06ade6ae1bd015e8b8ad0685847911213c93cc5b",
      "tree": "0fb687dcbdf125a30cdb645605b57bb847d0c7b5",
      "parents": [
        "c318bbb05e02a0080e129623ec8029d31be0d60e"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:31 2012 -0800"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)\n\nChange-Id: I5321ebd12e9c6248a108529e82c4e1af2a4405e3\n"
    },
    {
      "commit": "3762c311729fe9f3af085c14c5c1fb471d994c03",
      "tree": "7d4caccad80ac7327c7bff96dafc857d5f4631ad",
      "parents": [
        "7a939077bd14521c7d351af98df7ed75a8ec9c15"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "74366c06ff6cad7038c17c9041d25979975ce55e",
      "tree": "32e91c249f80f68c4b3b6a48d7e94179129751d3",
      "parents": [
        "bbfec33d946aa66a2f1414d4f1ec69a5f2b80134",
        "e74763e26f760e8de23a4edfbe599a166ef6bb53"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Fri Jan 06 14:39:11 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 06 14:39:11 2012 -0800"
      },
      "message": "Merge \"Minor tweak to console output.\""
    },
    {
      "commit": "e74763e26f760e8de23a4edfbe599a166ef6bb53",
      "tree": "64db7f395da05ee85a1f13f379b3e40366a94062",
      "parents": [
        "18c6afa0c57074e08b8856dde306d3302834b1a9"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Fri Jan 06 10:47:10 2012 -0800"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Fri Jan 06 14:10:45 2012 -0800"
      },
      "message": "Minor tweak to console output.\n\nChange-Id: I494910eda1d02f6bcff945b9a13c83767f2248b6\n"
    },
    {
      "commit": "8564c8da817a845353d213acd8636b76f567b234",
      "tree": "71acbd8ace822c769aef917629bf5a079f63274d",
      "parents": [
        "c42e6a0bed2c88fd03466c5104d62d7f98e68768"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 23:22:43 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 10:07:54 2012 +0000"
      },
      "message": "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/157065\n\nBug: 5449033\nChange-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69\n"
    }
  ],
  "next": "6215d3ff4b5dfa52a5d8b9a42e343051f31066a5"
}
