)]}'
{
  "log": [
    {
      "commit": "73a05114b051c6dcf5e5126ac94eaf8cac0ab289",
      "tree": "cf384116b1fba67c0ba0479529f193ff7a2fa7ef",
      "parents": [
        "4df65bf1eb454814954421403da9f8b5fcb82180"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Dec 08 12:53:17 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Dec 08 15:54:12 2014 -0800"
      },
      "message": "AAPT: Dump status of required flag for uses-feature\n\nOutside of a feature-group, the legacy uses-feature tag\nhas a boolean required flag that should be emitted in\ndump badging.\n\nBug:17790999\nChange-Id: I43023af00e9c9ed4bc35795c3a983fc719bf9b7a\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": "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": "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": "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": "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": "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": "ad751224401564dcc8338df3d5c4c5de7722be8f",
      "tree": "823f29de0c71927f2f957a57736ee77205035042",
      "parents": [
        "90aefa2030b346d8e819157d83edf97733d8592b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 18 14:06:38 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 18 23:42:21 2014 +0000"
      },
      "message": "Include build number in aapt version\n\nTeams are constantly confused over which version of aapt\nthey are running. Include the build number from the\nAndroid build system in the binary. Can be retrieved by executing\n\u0027aapt version\u0027.\n\nChange-Id: I9165c7d01f977344e143c2cb4dd963310ab28b72\n"
    },
    {
      "commit": "9a9a17eb07e748542dc8eff15daef1eccfa5717d",
      "tree": "ef3c0d881936b39270de8fa423b70be478354c59",
      "parents": [
        "71809ee7f63229d0ea4f6169922ddfbfee330fd2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 18 22:39:38 2014 +0000"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 18 22:39:38 2014 +0000"
      },
      "message": "Revert \"Include build number in aapt version\"\n\nThis reverts commit a7ce555ee82ed91345a54ee171dc9a415b65e134.\n\nChange-Id: I1018747766963e75bec11ddb01ba6d138f133959\n"
    },
    {
      "commit": "71809ee7f63229d0ea4f6169922ddfbfee330fd2",
      "tree": "3575043a0027073f9e639eca996e5f4987dab895",
      "parents": [
        "2aaed141fa22b235ecbd009b11c426abfa5b847c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 18 14:06:38 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 18 21:08:15 2014 +0000"
      },
      "message": "Include build number in aapt version\n\nTeams are constantly confused over which version of aapt\nthey are running. Include the build number from the\nAndroid build system in the binary. Can be retrieved by executing\n\u0027aapt version\u0027.\n\nChange-Id: Ie4692fb160c7cbe720a8e76b73e435170214fe0e\n"
    },
    {
      "commit": "e47fd129057b19862e94b89f9ba413b5ceaca498",
      "tree": "cc4e27b791f08340760046ab3b7f189ff980740d",
      "parents": [
        "e364aecf17124e0ae443bf9fe0e1b7c588a0d25a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 15 22:25:36 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 15 22:25:36 2014 -0700"
      },
      "message": "AAPT: Output only 64-bit arch when multiArch is true\n\nWhen android:multiArch\u003d\"true\" in the \u003capplication\u003e tag,\naapt dump badging should only output the 64-bit architecture\nunder the \u0027native-code\u0027 entry.\n\nOther architectures will be emitted under the \u0027alt-native-code\u0027\nentry.\n\nBug:17061929\nChange-Id: I8310b2388b06a2ed571e5e121e4989403082ba68\n"
    },
    {
      "commit": "91306bccf16715f0867a10f3537122179527f7c3",
      "tree": "ef5549f0bc7fe80ec06ff86c956e8c898fac645c",
      "parents": [
        "3e3b251f46f6ec46a41d42eb7c36a6268096c70d",
        "d3edfde51bd069a63e820282421d1a534fcf00ce"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 15 23:06:22 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 15 18:56:10 2014 +0000"
      },
      "message": "Merge \"Add FeatureGroup to PackageInfo\" into lmp-dev"
    },
    {
      "commit": "d3edfde51bd069a63e820282421d1a534fcf00ce",
      "tree": "9974d53c7ff2edc8577fd45066844de166fae7ed",
      "parents": [
        "4482e4bb8d1f5fe586b641bc3d6298dc7b8fee80"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 08 17:32:44 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 15 15:53:35 2014 -0700"
      },
      "message": "Add FeatureGroup to PackageInfo\n\nFeatureGroups replace top-level FeatureInfo objects.\nFeatureGroups inherit top-level FeatureInfos but override\nthem if the feature names are the same.\n\nBug:16822121\n\nChange-Id: I80b2cb778a0fbcb4521efce986fba641e0914290\n"
    },
    {
      "commit": "2cb761e3ddb9d68ab430013e9cd15ecaab9fbc62",
      "tree": "2bd700b1bc3ae8d3855103c1a82c229d5d79e131",
      "parents": [
        "4482e4bb8d1f5fe586b641bc3d6298dc7b8fee80"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 15 13:59:02 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 15 14:01:43 2014 -0700"
      },
      "message": "Fix assumption about DynamicRefTable in aapt\n\nPackages without any resources should not expect to have\na DynamicRefTable.\n\nBug:16895517\nBug:17056720\nChange-Id: Id006f6bdbf08f30505f6ba5982bc9d1b09db0f0a\n"
    },
    {
      "commit": "25d35a9d68fed6304352d0bfc2e0d581ed47f8b5",
      "tree": "d6e2d8af132bef8bad1376ce322e59a23676a13e",
      "parents": [
        "33fe1ed56d7d7b781046d28d7e1aebe42894623e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 11 09:41:56 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Aug 12 22:17:25 2014 +0000"
      },
      "message": "AAPT: Dump an APK\u0027s split name attribute\n\nBug:16919497\n\nChange-Id: I109e21bff9e4a64a10f48dce7f2d41102b32ee1d"
    },
    {
      "commit": "c2dea8daea2ae0001d56689d96ce1066012b7b40",
      "tree": "ecefd26857935a1f3afcc50125257b35975c24f2",
      "parents": [
        "5c09e8ad5ee8e67976066366527ee58792551953"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 04 16:40:41 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 04 16:40:41 2014 -0700"
      },
      "message": "Modify base Configuration used for aapt dump badging\n\nSome apps don\u0027t provide defaults when providing icons\nfor different screen sizes, so use a configuration\nthat has a screen size set to NORMAL.\n\nChange-Id: If4b9eebd37e5d2e2991301d09ff5c39dd41c1565\n"
    },
    {
      "commit": "63e646eed5a8d7f5d04544ac8628f65b0173cf3a",
      "tree": "06461d85d0b53e9ed5e50724f64e7e670ac44c24",
      "parents": [
        "805f6ebf17e2791624bb1a30834b4c1cc65583bf"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 30 11:40:39 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 30 21:53:48 2014 +0000"
      },
      "message": "Add shared library support to aapt dump\n\nAAPT dump should be able to handle dynamic references\nthat often come with shared library resources.\n\nBug:16678251\nChange-Id: I6c8cd943145aab20ca9db9694c8c433b3c64279b\n"
    },
    {
      "commit": "d7a94da476e9b783acf0673ed938cc3fc2cc6ba5",
      "tree": "5ccb769c5fa39a847a39523a98ad8ffbb8882013",
      "parents": [
        "eb527ef7a651def56ab29c0595e75df76ea63e3b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jul 25 14:38:54 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jul 25 22:45:33 2014 +0000"
      },
      "message": "Have AEP GL feature depend on GLES 3.1 in badging\n\nAAPT dump badging should output the uses-gl-es tag with\na version of 3.1 when android.hardware.opengles.aep is\ndeclared as a feature.\n\nChange-Id: I8affc6dad574c8303c6ba9810ad8e6e205ea9506\n"
    },
    {
      "commit": "2c72b6822debb08fe997926eedc110f62d287d34",
      "tree": "467e1c3b5b131a3d2991f9d6597fc2d3371a94ab",
      "parents": [
        "921ec8056a3010d0a21400f97312cf3f7d97ffaa"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jun 24 09:56:01 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 23 14:11:46 2014 -0700"
      },
      "message": "Add \u003cfeature-group\u003e tag and change aapt badging\n\nA \u003cfeature-group\u003e represents a set of features required\nfor an app to be compatible with a device. Multiple\n\u003cfeature-group\u003e elements represent a logical \u0027or\u0027\nof required features.\n\nFeatures defined in the old way with \u003cuses-feature\u003e tags\nunder the \u003cmanifest\u003e tag are automatically added to each\nfeature-group defined.\n\nDefining a \u003cfeature-group\u003e means that any default\nfeatures are not included (such as android.hardware.touchscreen)\nand declared permissions do not imply any features.\n\nChange-Id: I45626f0fdc546e47bcf2aead7ef05ebcca12b023\n"
    },
    {
      "commit": "eb8d1be6acad180eabde84f19196b9ecaba81353",
      "tree": "dee4cf747c488f78a1b772fb9a67f978aa2860ce",
      "parents": [
        "81af3aef9a0d015311f6c97e318c81092c74eb47"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Jun 25 17:46:15 2014 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Fri Jun 27 18:33:42 2014 -0400"
      },
      "message": "Add a BIND_DREAM_SERVICE signature-level permission.\n\nStarting in api 21, will be required to bind to a\ndeclared dream or doze service.\n\nAlso added to aapt dump badging output.\n\nBug:15862654\nChange-Id: Ifa0a594eeecf21e6146176c7810a847e1d08fe3b\n"
    },
    {
      "commit": "9d5b08ea8c1eef6658418b33090a6a8142d75208",
      "tree": "43a41490f0924d4fb099680872ed397b82573d83",
      "parents": [
        "64b8991fc1724c55a77984b2ac6e1227a3c95820"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 25 11:01:43 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jun 24 22:07:47 2014 +0000"
      },
      "message": "Dump more info about behaviors an APK offers\n\nBehaviors include things like print services,\ncustom launchers, camera apps, etc.\n\nBug:13748429\n\nChange-Id: I9fb83bac95b1be61fc630c1e74daf0f4a8b9b27f\n"
    },
    {
      "commit": "25e9d55e964c180ec6e57ba1d977d6c2e1115f5a",
      "tree": "bc25629c89459c5b2775f723174a9c5da69a0eb2",
      "parents": [
        "605a07be7bdda0fd0f8aa4ff18e1769e298663e0"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon May 19 15:01:43 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon May 19 15:01:43 2014 -0700"
      },
      "message": "Don\u0027t dump data from a bad ResTable\n\nAAPT dumps data from a bad ResTable, which\ncauses crashes. Prevent this by checking if\nthere were errors when creating the ResTable.\n\nBug:14902008\nChange-Id: I5e04ebf967c60b78c511dd175785a13bca52f09a\n"
    },
    {
      "commit": "9e1e95f6e3af79f0d659afa2476e462fdac2f5e2",
      "tree": "df921db7a3f6dde664cc595aaf2dd3fb2d29f2f7",
      "parents": [
        "fa3b85cf51417c2ab87807d1c95cd990f3b4b25a",
        "b71adb6571aa740f4fa794602133f708e1b96545"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu May 15 21:17:32 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 15 21:17:33 2014 +0000"
      },
      "message": "Merge \"AAPT dump badging should allow refs in meta-data\""
    },
    {
      "commit": "b71adb6571aa740f4fa794602133f708e1b96545",
      "tree": "90b1c6b2aa3dfcab7207e9e31851932cc9d750dd",
      "parents": [
        "da86f784b686ba00d9f797b8ee565629669080b9"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu May 15 14:14:41 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu May 15 14:14:41 2014 -0700"
      },
      "message": "AAPT dump badging should allow refs in meta-data\n\nThe framework allows references in the \u003cmeta-data\u003e\nelement in an AndroidManifest.xml, so badging should\ndo the same.\n\nBug:14088271\nChange-Id: Ia8157655e21adaf11b7ace90a98a9cca3c8a476c\n"
    },
    {
      "commit": "4c1227e448c938eb2deb431336abb9e67d6e1099",
      "tree": "73e6766a40dde3e76a1b6857ba049d81390a365c",
      "parents": [
        "d4bac5eab65f97f56c118c4398e13e5ca395d029",
        "9cb2c68fafce55d43aacb2202deb882b986fa237"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu May 15 20:07:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 15 20:07:29 2014 +0000"
      },
      "message": "Merge \"Fix crash in AAPT dump badging with bad StringPool\""
    },
    {
      "commit": "9cb2c68fafce55d43aacb2202deb882b986fa237",
      "tree": "e74f3fff3da11b418bcd59933a85a879e7bc276b",
      "parents": [
        "da86f784b686ba00d9f797b8ee565629669080b9"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu May 15 12:37:54 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu May 15 13:06:40 2014 -0700"
      },
      "message": "Fix crash in AAPT dump badging with bad StringPool\n\nWith a malformed StringPool, AAPT dump badging would\ncrash trying to retrieve the name of an XML tag.\n\nBug:14658555\nChange-Id: I6aa6c53c60b20725a461da2d3a39685c174b4d35\n"
    },
    {
      "commit": "3921e87e6e67a063caa1987937d7944b24aef489",
      "tree": "270ce25d67ef36d099483df96d65179fcba1d23b",
      "parents": [
        "da86f784b686ba00d9f797b8ee565629669080b9"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue May 13 10:56:25 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue May 13 10:57:53 2014 -0700"
      },
      "message": "Quick fix to ensure mipmap doesn\u0027t get stripped by AAPT\n\nThis is a quick fix. A refactoring is already underway to properly\nsolve this problem.\n\nBug:14857725\nChange-Id: Ic0c475aa0b180803a687904ad9f71eb87e137a25\n"
    },
    {
      "commit": "fab50875b98e8274ac8ee44b38ba42521bbbf1f9",
      "tree": "984277e1fadd3d5156bb6b05b21a1c23252b3a1b",
      "parents": [
        "57df4fd69e96c901ac0a027aa913f3f9086fbbf6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 16 14:40:42 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sun May 11 18:30:12 2014 -0700"
      },
      "message": "Add support for building split APKs\n\nBuild multiple APKs, each containing a disjoint subset\nof configurations. These can then be loaded into the device\nAssetManager and should operate as if they were never split.\n\nUse the idea of building multiple sets of files, where each\nset represents an APK. An ApkBuilder can place files\nin a set based on its configuration, but you can actually\nadd directly to a set, in the case of the resources.arsc and\ngenerated AndroidManifest.xml for splits.\n\nChange-Id: Ic65d3f0ac1bbd290185695b9971d425c85ab1de3\n"
    },
    {
      "commit": "4b0ee78bfa0df6e278c7327822fd9a0eff52b584",
      "tree": "536b4b814feb42123a516c3eda279470f70bbcd3",
      "parents": [
        "5b5def547201b213bc2325400371c37d1612732e",
        "56ca82191231f3aba1132e3db06e7e09a10ec6dc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 18 16:07:41 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 18 16:07:41 2014 -0700"
      },
      "message": "resolved conflicts for merge of 56ca8219 to master\n\nChange-Id: I62f5804a5c4404eedce09188cda2e3b1bb990b36\n"
    },
    {
      "commit": "56ca82191231f3aba1132e3db06e7e09a10ec6dc",
      "tree": "bc1fb58074d536961b71686fec951fb28595fdd6",
      "parents": [
        "235fd3c9effc63643db356a593e7f77f220a5f4c",
        "ec42199a71c8309a431c22ee152806736c862c4b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 18 15:56:46 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 18 15:56:46 2014 -0700"
      },
      "message": "resolved conflicts for merge of ec42199a to klp-modular-dev-plus-aosp\n\nChange-Id: I9ecd5d51be4d073ab93dbb0bd60097735e76bf94\n"
    },
    {
      "commit": "a2ef5c0d4fb863c0382e77ae00f986a019b11cbe",
      "tree": "d6c10bedf5d762e0fc0bd10b38f381ccefefa248",
      "parents": [
        "ecdf9b199ac9659c37c34c0b23084199acea80bf"
      ],
      "author": {
        "name": "Anton Krumin",
        "email": "antkrumin@google.com",
        "time": "Wed Mar 12 14:46:44 2014 -0700"
      },
      "committer": {
        "name": "Anton Krumin",
        "email": "antkrumin@google.com",
        "time": "Wed Apr 09 16:59:48 2014 -0700"
      },
      "message": "Pseudolocalizer improvements.\n\nFixes accented pseudolocalization and adds RTL pseudolocale.\n\nThis change contains following modifications in the pseudolocalization logic:\n1) zz_ZZ pseudolocale was removed;\n2) en_XA pseudolocale was added for pseudo-accented;\n3) ar_XB pseudolocale was added for pseudo-rtl;\n4) Pseudo RTL localization functionality was implemented;\n5) Text expansion functionality was implemented;\n6) Text bracketing was implemented;\n7) Couple of issues of previous implementation were fixed.\n\nChange-Id: I9f7f27bed717e39e82717d15c398decffc8bec3c\nSigned-off-by: Anton Krumin \u003cantkrumin@google.com\u003e\n"
    },
    {
      "commit": "9eaaaf0fe3917f4fec85d3e45da37914654847ec",
      "tree": "f50f14293047667ad2cf4b39194a0dbfa06ad52d",
      "parents": [
        "03230982691744839fa2795d6124f27d982fe9d5",
        "a81ee86b5881191d4c6685f9c261d612495a96c3"
      ],
      "author": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Fri Mar 07 23:04:03 2014 -0800"
      },
      "committer": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Fri Mar 07 23:04:03 2014 -0800"
      },
      "message": "resolved conflicts for merge of a81ee86b to master\n\nChange-Id: I7be3a64261d2405eda55b43c02b47657f393c095\n"
    },
    {
      "commit": "032305fbcf1f1923030723d60621d8bbfa138511",
      "tree": "998220b89b573a4746c873824560c2883b8dc3c2",
      "parents": [
        "f5f4d9306011ea1b10d25c959334f3e62df4447e",
        "b559b37150d24411f0b5ef102ced8d5acf858a0e"
      ],
      "author": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Sat Mar 08 01:55:00 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Mar 08 01:55:00 2014 +0000"
      },
      "message": "am b559b371: Merge \"Dump leanback info in aapt dump badging.\" into klp-modular-dev\n\n* commit \u0027b559b37150d24411f0b5ef102ced8d5acf858a0e\u0027:\n  Dump leanback info in aapt dump badging.\n"
    },
    {
      "commit": "0a5a5d6996e54a927af750e122a1275d64f77ee5",
      "tree": "2530e6edb6200ff28ee87f58fbb28e2a0b15dc37",
      "parents": [
        "d1862dac05e4302761c8d741a3286fe5eb6f1174"
      ],
      "author": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Fri Mar 07 15:12:50 2014 -0800"
      },
      "committer": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Fri Mar 07 16:47:42 2014 -0800"
      },
      "message": "Dump leanback info in aapt dump badging.\n\nLeanback launcher activities are reported, including the banner.\n\nChange-Id: Ifa496736ad3ba4239ec95e166768af895ff4dc53\n"
    },
    {
      "commit": "8c1fc83445f8dce7e6d0789feeed8bf98d33bf01",
      "tree": "b9eae6651529003e33abaea6a3f18fd17266fb42",
      "parents": [
        "982931c72b6cd00c5eea28efc4b086f47f7aca17",
        "28879bbfe89dc4bf2067a7183975ecffb82f68e6"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 17 11:06:38 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 17 11:06:38 2014 +0000"
      },
      "message": "am 28879bbf: am be57fca4: Merge \"Extended locales in AAPT / AssetManager.\"\n\n* commit \u002728879bbfe89dc4bf2067a7183975ecffb82f68e6\u0027:\n  Extended locales in AAPT / AssetManager.\n"
    },
    {
      "commit": "788fa41482b9d398591b7db8b0b01839029611ad",
      "tree": "ab94d4040351d79cca717a8b7e21fc6be5d0fcb5",
      "parents": [
        "48620f1d1b03e1cb4e0dce4999e0a4c2daf3a1b2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 21 15:32:36 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Feb 14 14:08:57 2014 +0000"
      },
      "message": "Extended locales in AAPT / AssetManager.\n\nSupport 3 letter language codes, script codes \u0026\nvariants. The bulk of the changes are related to\nthe implementation of command line filtering of\nlocales etc. The previous code assumed that the\nvalue of each \"axis\" (locale, density, size etc.)\ncould be represented by a 4 byte type. This is\nno longer the case.\n\nThis change introduces a new class, AaptLocaleValue\nwhich holds a (normalized) locale parsed from a\ndirectory name or a filter string. This class takes\nresponsibility for parsing locales as well as\nwriting them to ResTable_config structures, which is\ntheir representation in the resource table.\n\nThis includes minor changes at the java / JNI level\nfor AssetManager. We now call locale.toLanguageTag()\nto give the native layer a well formed BCP-47 tag.\nI\u0027ve removed some duplicated parsing code in\nAssetManager.cpp and replaced them with functions on\nResTable_config. The native getLocales function has\nbeen changed to return well formed BCP-47 locales as\nwell, so that the corresponding java function can use\nLocale.forLanguageTag to construct a Locale object\nout of it.\n\nFinally, this change introduces default and copy\nconstructors for ResTable_config to prevent having\nto memset() the associated memory to 0 on every\nstack allocation.\n\n(cherry-picked from commit 91447d88f2bdf9c2bf8d1a53570efef6172fba74)\n\nChange-Id: I1b43086860661012f949fb8e5deb7df44519b854\n"
    },
    {
      "commit": "91447d88f2bdf9c2bf8d1a53570efef6172fba74",
      "tree": "dc46e96130696c26e8fd3883227314ef5c0b7ad1",
      "parents": [
        "378c6775a62d9c461cde51f06c1b14bb014c78fd"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 21 15:32:36 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 10 15:50:16 2014 +0000"
      },
      "message": "Extended locales in AAPT / AssetManager.\n\nSupport 3 letter language codes, script codes \u0026\nvariants. The bulk of the changes are related to\nthe implementation of command line filtering of\nlocales etc. The previous code assumed that the\nvalue of each \"axis\" (locale, density, size etc.)\ncould be represented by a 4 byte type. This is\nno longer the case.\n\nThis change introduces a new class, AaptLocaleValue\nwhich holds a (normalized) locale parsed from a\ndirectory name or a filter string. This class takes\nresponsibility for parsing locales as well as\nwriting them to ResTable_config structures, which is\ntheir representation in the resource table.\n\nThis includes minor changes at the java / JNI level\nfor AssetManager. We now call locale.toLanguageTag()\nto give the native layer a well formed BCP-47 tag.\nI\u0027ve removed some duplicated parsing code in\nAssetManager.cpp and replaced them with functions on\nResTable_config. The native getLocales function has\nbeen changed to return well formed BCP-47 locales as\nwell, so that the corresponding java function can use\nLocale.forLanguageTag to construct a Locale object\nout of it.\n\nFinally, this change introduces default and copy\nconstructors for ResTable_config to prevent having\nto memset() the associated memory to 0 on every\nstack allocation.\n\nChange-Id: I899a56a9a182ee6be52b9389d1ae59266f5482e9\n"
    },
    {
      "commit": "94c40a4cf90933216e6d656213dfdfa19c68a9c3",
      "tree": "283c3dc05005a538807d59f6896feb051eba991c",
      "parents": [
        "2a1fdefe16046860fcaf524af4fc380d850d28bb",
        "1b5b60d696dd6840406ab9d3f38522ba18273c60"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 04 11:00:03 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 04 11:00:03 2014 -0800"
      },
      "message": "resolved conflicts for merge of 1b5b60d6 to master\n\nChange-Id: I2b713a55fcdf02c01afa99f175bf14248f210460\n"
    },
    {
      "commit": "203356a34a82bfc759be02dfa1caa4529dce0732",
      "tree": "b7fbcede2c4901a2099de6a6a0cae86e8fced51d",
      "parents": [
        "6dea46b2e567f614244100f542dce04e44c26bee",
        "09384303dea4f3f01d5682918d7bab9bf83a02b1"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 04 18:31:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 04 18:31:23 2014 +0000"
      },
      "message": "Merge \"Add support for multiple asset dirs (-A)\" into klp-modular-dev"
    },
    {
      "commit": "f85e41f29a0e9313c2d4725f9d9648591ea49f3b",
      "tree": "1756c780ff79f24e887b798c67389380af2a7e0c",
      "parents": [
        "ca0b0c18e7eef130e40679b0e77bbcd9a8c901cc"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jan 24 14:14:30 2014 +0000"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:11 2014 -0800"
      },
      "message": "AssetManager cookies are now int32_t, not void*.\n\nChange-Id: Id383e31922ca81c52dad52d422c5c1ab1a1365ce\n"
    },
    {
      "commit": "58f1f3617cb6d96e3f3cf3d5c99004a362f0a61e",
      "tree": "165a93a28f4ab134f8308efe8db9efbf851ef798",
      "parents": [
        "d8df6b570f10cec486b2af708e9a393f3012317d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 12 12:59:08 2013 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:09 2014 -0800"
      },
      "message": "Dump maxSdk of uses-permission during badging\n\nIf the manifest specifies a maxSdkVersion for which to\nstop granting a certain permission, output that value\nwhen dumping badging.\n\nbug:11630700\nChange-Id: I922a3186340383828e1af3ce0815efb407d9d535\n"
    },
    {
      "commit": "2675f769673f69b0661ddee346292f25cb30a296",
      "tree": "80eaf246c34f8013e01bf9bf2f4b16ff43a17c65",
      "parents": [
        "6fbaf6cfd8c85984c75ca2ef8c1dc8bde844bb07"
      ],
      "author": {
        "name": "Maurice Chu",
        "email": "mochu@google.com",
        "time": "Tue Oct 22 17:33:11 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:08 2014 -0800"
      },
      "message": "Escape strings that are output by aapt dump badging\n\nAlso, changed getComponentName() to output a String8 object\ninstead of a const char * because the const char * is an internal\nbuffer of a String8 object which gets immediately destroyed\nafter returning from getComponentName().\n\nBug: 11329761\nChange-Id: Ic459dec0ad3b20162c36de0ee492bcc022863b12\n"
    },
    {
      "commit": "76327314d2238e105f8b94909f9c0cf85caca318",
      "tree": "3edf9a46e092a811a2589134721cb52590f4d94e",
      "parents": [
        "f314dc01210d117959ae2a303d0311cd071ee927"
      ],
      "author": {
        "name": "Maurice Chu",
        "email": "mochu@google.com",
        "time": "Wed Oct 16 18:28:46 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:07 2014 -0800"
      },
      "message": "Fix aapt when outputting meta-data tag values\n\nThis fixes outputting string as well as not crashing when the\n\u003cmeta-data\u003e element has an \"android:resource\" attribute instead\nof an \"android:value\" attribute.\n\nBug: 11255844\nChange-Id: Iadb62b5dcb18ea3db8dbd2ba3241f489606d535d\n"
    },
    {
      "commit": "94fc9124f51f0a101cc11e4563f9c647980fe2aa",
      "tree": "4ffd9a362c864d96ccb14d16a20aff533aad32e9",
      "parents": [
        "a5018c900f126ee8424c82497f32983873db741b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Sep 30 17:16:09 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:06 2014 -0800"
      },
      "message": "resolved conflicts for merge of 0c923b7c to master\n\nChange-Id: I4f314b48c7714706329509d931d2c53079f5e248\n"
    },
    {
      "commit": "a5018c900f126ee8424c82497f32983873db741b",
      "tree": "07c3977c96e3a2bd6d4bf0b0188c03975f6ebfc2",
      "parents": [
        "e98d2cb65c0915d5278c593d14ff4bdc778557f7"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Sep 30 16:23:15 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:06 2014 -0800"
      },
      "message": "resolved conflicts for merge of 5223a5ff to master\n\nChange-Id: I6523e4b7df88f21fbe0ecd3ab8f493e5a9867305\n"
    },
    {
      "commit": "ec4fdec76f2916b91a69d979f400cd69a3812631",
      "tree": "177e2afd5529a2df4f2c0e2ed4584b83dbd00839",
      "parents": [
        "859e19f97d481bf07c768087d8eb3031fac77aad"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Sep 06 16:50:52 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:05 2014 -0800"
      },
      "message": "Add support for supports-input element to aapt\n\nChange-Id: Ie8c8c44f126383c351f2ebb9ae7c3694fb0a9b16\n"
    },
    {
      "commit": "282e181b58cf72b6ca770dc7ca5f91f135444502",
      "tree": "e313e7ab30ff4679562efa37bde29cfcb9e375d3",
      "parents": [
        "7023df08f14ec5dee76ac54c03e870f84e297636"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jan 23 18:17:42 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 27 10:31:04 2014 -0800"
      },
      "message": "Revert \"Move frameworks/base/tools/ to frameworks/tools/\"\n\nThis reverts commit 9f6a119c8aa276432ece4fe2118bd8a3c9b1067e.\n"
    },
    {
      "commit": "745d4efc8369d255341d810790132660e33d3b61",
      "tree": "f28ae30721d932409fd8189ac6ef5c0289d106c2",
      "parents": [
        "9fc157a4767f54d1cff53dc9489638b67aec2da3"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Jan 27 11:17:22 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Jan 27 11:20:24 2014 +0000"
      },
      "message": "AssetManager cookies should be int32_t and not void*.\n\nCookies are really indices into vectors and arrays, so\nthey don\u0027t need to be void*. We choose int32_t instead\nof size_t to allow their width to be well specified.\n\n(cherry picked from commit ebfdd0f467e39c3af8d92cade78263935340acb7)\n(cherry picked from commit a7fa2e592e2e579e5acdb903dba83fc074ebc215)\n(cherry picked from commit a9d5701b034ed2d9771b3f0943e1add00741d7cd)\n\nChange-Id: I2aed3db568b6fdc487bf99e2c5dd123206736fda\n"
    },
    {
      "commit": "09384303dea4f3f01d5682918d7bab9bf83a02b1",
      "tree": "8b1c7e3e736cd8e2fdc0964ea5c71d08536452eb",
      "parents": [
        "6873e17d4b565aa1d4ea2a8f1ac261f517dcc2ff"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 22 16:07:42 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jan 23 12:43:42 2014 -0800"
      },
      "message": "Add support for multiple asset dirs (-A)\n\nBug: 12608034\nChange-Id: I02c5a1a73b83498d799570428cca3dd914f8ac11\n"
    },
    {
      "commit": "d831e80a2fa80d18867e70927e4e8cd797ead56f",
      "tree": "6525428a18801c2062e611034b8e2194b3fece59",
      "parents": [
        "b1249b822cef4e187814b83ae788f71842b88c28"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 27 11:14:57 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 27 11:22:46 2013 -0700"
      },
      "message": "Add badging of Payment apps\n\nHCE apps that declare themselves as payment apps will receive\nthat badge when running aapt dump badging.\n\nbug:10899864\nChange-Id: I7c095214412465ad7a925285d6167e12de16b600\n"
    },
    {
      "commit": "b1249b822cef4e187814b83ae788f71842b88c28",
      "tree": "21c5da418388527c8030fb4f44ab42f905b0f7c8",
      "parents": [
        "a9f97a0a58066a29391629da85ed25a8e876dd40"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Sep 25 17:03:50 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 27 11:10:37 2013 -0700"
      },
      "message": "Add support for dumping new badging\n\nAPKs with AccessibilityServices, PrintServices, and or DeviceAdmin\nwill have those services dumped when running \u0027aapt dump badging\u0027.\n\nbug:10899864\nChange-Id: I9c1f1f36c397b128dca802510368573a54977459\n"
    },
    {
      "commit": "eaeb19048672337714c1724de7992be8cb3f2124",
      "tree": "aca87c34e7933b08afe7a980a99a9b85bda10074",
      "parents": [
        "56960fbd39706278dbcb9d6ee95e16fa6eff6c6e"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Sep 05 18:15:57 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Sep 05 18:15:57 2013 -0700"
      },
      "message": "Added support for supports-input manifest element\n\nChange-Id: Ifa7c87908081585c1940b5a47fdf5138a287d9ea\n"
    },
    {
      "commit": "9f6a119c8aa276432ece4fe2118bd8a3c9b1067e",
      "tree": "1391656f9ad624aa99d4c7d2880d38121801a424",
      "parents": [
        "647b6f5ed276bf93d95e5801e5e8af2802ef5fbb"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Aug 28 09:44:17 2013 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Aug 28 09:44:17 2013 -0700"
      },
      "message": "Move frameworks/base/tools/ to frameworks/tools/\n\nChange-Id: I3ffafdab27cc4aca256c3a5806b630795b75d5c8\n"
    },
    {
      "commit": "681c4f45bf373f84c5b80a4c8dda871ae6fcfcbd",
      "tree": "d7cac236073068d589c339ca820127533873b846",
      "parents": [
        "c2d286090ffa05036b7c0171c661b53efcb27d67"
      ],
      "author": {
        "name": "Maurice Chu",
        "email": "mochu@google.com",
        "time": "Wed Aug 21 18:06:50 2013 -0700"
      },
      "committer": {
        "name": "Maurice Chu",
        "email": "mochu@google.com",
        "time": "Wed Aug 21 18:06:50 2013 -0700"
      },
      "message": "Modify \u0027aapt dump badging\u0027 to output \u003cmeta-data\u003e tags\n\nThis enables output of \u003cmeta-data\u003e tags within the \u003capplication\u003e\nelement of the AndroidManifest.xml if the --include-meta-data\ncommand line option is invoked.  For example, by\n\n  aapt dump --include-meta-data badging Foo.apk\n\nBug: 10257318\nChange-Id: I88da1a14ab21146b64ac947e0eeb1107816acd4d\n"
    },
    {
      "commit": "1bcc3d691fd1cb68abced62caf3024e2bb228561",
      "tree": "d0a53d0ed98af85ef76ad74ae2e837f76c9b9be7",
      "parents": [
        "55cfcd75691581ffc4f88034711a2442db619a53"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Apr 03 09:00:02 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Apr 03 16:32:40 2013 -0700"
      },
      "message": "aapt: add support for optional uses-permission\n\nApplications can request a permission with android:required\u003d\"false\".\nFor example:\n\n\u003cuses-permission android:name\u003d\"android.permission.READ_PHONE_STATE\" android:required\u003d\"false\" /\u003e\n\nMake aapt understand such permissions.\n\nBug: 8522021\nChange-Id: I7d3af64e7c3eca608316d5bea19c4ea639dd2b7a\n"
    },
    {
      "commit": "ec559ff78caa16cffcc7b9d688fe911e8945e17d",
      "tree": "1312b153ba9ee001ceb8ed0e09c95fa85ada9bce",
      "parents": [
        "f4b36ad1617920691def64c00179666e2e42d5fa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 25 15:42:07 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 25 15:42:07 2013 -0800"
      },
      "message": "Fix typo.\n\nChange-Id: I71c8458e02dc9b9a4c59e51ded37b57a930038f9\n"
    },
    {
      "commit": "b7de2194d54eb81b1db4b50c171ddd0339831155",
      "tree": "03a09c0ff25281d52f69c773bfc44399b68b1716",
      "parents": [
        "e45113a1564c6e701fcc076813bee276d501c576",
        "c71c678e9b6a4278337b69f2c60c0fbe9988bf93"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 16:41:29 2013 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 16:41:29 2013 -0800"
      },
      "message": "resolved conflicts for merge of c71c678e to master\n\nChange-Id: I9e1a6a1151af00f0a13e2010776276b240e0ac3a\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": "b1f6ad82dd8d1702617a757a88430604b3131fac",
      "tree": "becaaa8c87cba0c0bd564fdef39c93f8107a11c1",
      "parents": [
        "2d1eb74a8e5deed8b567426ce448a9e37b11cfee"
      ],
      "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 10:30:25 2013 -0800"
      },
      "message": "Add single crunch command to aapt.\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\nChange-Id: I635ee3e871d035b9db2fb593802d914e48241abf\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": "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": "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": "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": "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": "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": "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": "063a44e541335819b673fb1c20a338bbcaf3a3f5",
      "tree": "40cfd3630f98f27573f4d0b77012a401a3399d1e",
      "parents": [
        "9cf8c86c624b1e76c4adef8fa60f4d5db7abe4da"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 08 08:46:03 2011 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 08 08:46:34 2011 -0800"
      },
      "message": "Add aapt support for implicitly-granted permissions\n\nBug: 2363582\nBug: 2877343\nChange-Id: Iff7b496fb845e45fe1be2317089a96f7d63ed223\n"
    },
    {
      "commit": "e6b680364dd992907a8d2037685a2e500d188dfb",
      "tree": "3d931a3139f058da9ae934e5cf50cd6dc50f7e64",
      "parents": [
        "d814d4fa0c76a0384f7e32816e1ca36f237911c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 13 16:26:02 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Oct 16 11:52:17 2011 -0700"
      },
      "message": "New aapt feature to do smarter filtering of configurations.\n\nThis adds a --preferred-configurations flag that specifies the\nspecific configurations you would like to have.\n\nIt is smarter than \"-c\" because it will avoid stripping a\nconfiguration if that would result in there being no value\nfor the resource.\n\nIt is dumber than \"-c\" because it can\u0027t process as many kinds\nof resources.  It is really only intended for bitmaps and use\nwith density configs.\n\nThis required re-arranging AaptAssets to group files together\nby config again, like they used to be.  I think this hasn\u0027t\nbroken anything.  Hopefully.\n\nChange-Id: I4e9d12ff6e6dbd1abb8fd4cb1814c6674b19d0e5\n"
    },
    {
      "commit": "56088a55ca6c9277f09040a7883117cb127e1e56",
      "tree": "b8aae80cfdb46fcbc6c81b952a8b9f6e4e6af477",
      "parents": [
        "b9c13d091efde4865ed5cfaf1c5a17b0bb17a38e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 29 13:49:45 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 29 13:49:48 2011 -0700"
      },
      "message": "Add package-verifier to aapt dump badging\n\nPrint out the package-verifier information when printing out badging.\n\nChange-Id: I9c79c163261d5d4f1094bda76d90b3ff6e1ce540\n"
    },
    {
      "commit": "d98e1be20e1cca5c36c7e0344500d4a5574568aa",
      "tree": "9fb8a00956a58e1eb452f7b91e109fa4461f8027",
      "parents": [
        "294539df2c05eb62c417e25b2e1c8a71474b09e6",
        "f4750724cf8db972a052cb388dc9a39fc7aa6dd6"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Aug 18 14:48:49 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 18 14:48:49 2011 -0700"
      },
      "message": "am f4750724: am 9d829f98: am 21e6e2de: Merge \"Change generated dependency file names\"\n\n* commit \u0027f4750724cf8db972a052cb388dc9a39fc7aa6dd6\u0027:\n  Change generated dependency file names\n"
    },
    {
      "commit": "b711f3f7ee0544685ef26a1a4b4755d5a6233dba",
      "tree": "a597541ade9616440906a10db603d377d2211506",
      "parents": [
        "d144748d4767b2ccfb13857e23f78bc944e9531d"
      ],
      "author": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Mon Aug 15 18:33:44 2011 -0700"
      },
      "committer": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Tue Aug 16 08:14:51 2011 -0700"
      },
      "message": "Change generated dependency file names\n\nThis changes the name of the generated dependency files to R.java.d\nand \u003cApkName\u003e.ap_.d respectively.\n\nChange-Id: I17e18770fc0d0a5d31c7b37b40ac1949f45ef13a\n"
    },
    {
      "commit": "84be06e4ce0778fbf0c1ac72f94795ef8433439b",
      "tree": "ea9b35882420896cfba281f17293bce74e564089",
      "parents": [
        "a125c937de06b1cc43368743592f47513eb88b76",
        "ea9e6d24a458c06df6237fddd22b6165b2f92cb5"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 17:45:11 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 17:45:11 2011 -0700"
      },
      "message": "resolved conflicts for merge of ea9e6d24 to honeycomb-plus-aosp\n\nChange-Id: I8e047147a4d2c899b6654c03a5f32b04d929e602\n"
    },
    {
      "commit": "a125c937de06b1cc43368743592f47513eb88b76",
      "tree": "514f08565d17813860d4cc240162806f3fda9816",
      "parents": [
        "57aebc6109f2059ba335a02bf95928a494cff4ba",
        "2c311be720341e3249887e592bbc1881008b02bd"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 16:31:25 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 16:31:25 2011 -0700"
      },
      "message": "resolved conflicts for merge of 2c311be7 to honeycomb-plus-aosp\n\nChange-Id: I806c7b4ae95f66df621587e52497dd8739a115fe\n"
    },
    {
      "commit": "8a39da80b33691b0c82458c3b7727e13ff71277e",
      "tree": "b6fa94370ecb2dba85d5fdb45c83729cef8708e1",
      "parents": [
        "1e24ccbdd56a45c8bb5f2eba94af5aecd2d02554"
      ],
      "author": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Mon Jun 06 17:00:35 2011 -0700"
      },
      "committer": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Wed Jul 20 15:20:26 2011 -0700"
      },
      "message": "Added Caching for PreProcessed PNGs\n\nAdded a cache management system for pre-processed PNG files\nalong with unit tests. The cache system will be used if\nthe --no-crunch flag is passed to AAPT during the package\nphase. The cache can be updated by a call to \u0027aapt crunch\u0027\n(see usage statement). Also put in benchmarking code.\n\nChange-Id: I58271fb2ee2f5f9075fd74d4ff6f15e7afabd05c\n"
    },
    {
      "commit": "9139868b6c5cb29b3665984225dceb0193fec31d",
      "tree": "01c3dfab0f56bfcf38d32f2c2054915a6864d10d",
      "parents": [
        "bf31250ba0858a2e72a3906a1f0216846683bc2e",
        "ba6c98db8f21016f81ecac35bb0ea3c433044bb7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 10:18:28 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 19 10:18:28 2011 -0700"
      },
      "message": "am ba6c98db: am 82943ecf: am d40c93f6: Merge \"Add dependency generation to Aapt for R.java\"\n\n* commit \u0027ba6c98db8f21016f81ecac35bb0ea3c433044bb7\u0027:\n  Add dependency generation to Aapt for R.java\n"
    },
    {
      "commit": "bf31250ba0858a2e72a3906a1f0216846683bc2e",
      "tree": "7bcccb6aa598b8c4ffcec17e534f5a84f7a2b2f6",
      "parents": [
        "6e8c7dd2128b2a46f5d56ed46d4d530af6ad38f5",
        "d5431ed5505a42e5e33c8bf7cc2ff72792979be9"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 10:18:25 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 19 10:18:25 2011 -0700"
      },
      "message": "am d5431ed5: am 2e659ae5: am 42755155: Merge \"Copy once-created R.java into library projects\"\n\n* commit \u0027d5431ed5505a42e5e33c8bf7cc2ff72792979be9\u0027:\n  Copy once-created R.java into library projects\n"
    },
    {
      "commit": "03589cc65355220e0a4a0c816189a9fa25cc81fc",
      "tree": "ebe98e64c530708e8709025e8ad051c714eab9a3",
      "parents": [
        "9bf34ca6f85309c65b0ebdf614cb8266401b49ba"
      ],
      "author": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Mon Jun 27 16:26:02 2011 -0700"
      },
      "committer": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Mon Jul 18 16:37:55 2011 -0700"
      },
      "message": "Add generation of dependency file for .ap_ package\n\nMake Aapt generate a dependency file in the same directory as the\noutput ap_ file if the --generate-dependencies flag is set.\nThis dependency file can then be read by the ant exec loop task\nto see whether to repackage resources.\n\nChange-Id: I763679414daf76369700aa599c26dcf78d4de099\n"
    },
    {
      "commit": "9bf34ca6f85309c65b0ebdf614cb8266401b49ba",
      "tree": "50708801cb3c58aa23a32bc1a1ad39315e3aeff5",
      "parents": [
        "ce89f1531ed8b96b8b790b3f8b18dd4cf483f7f0"
      ],
      "author": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Tue Jun 14 13:57:09 2011 -0700"
      },
      "committer": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Mon Jun 27 16:44:57 2011 -0700"
      },
      "message": "Add dependency generation to Aapt for R.java\n\nMake Aapt generate a dependency file in the location specified\nby RClassDir for R.java if the --generate-dependencies flag is set.\nThis dependency file is then read by the ant exec loop task\nto see whether to recreate R.java.\n\nChange-Id: I7152dac86b6ea0e448ef65e3a95694afe233c789\n"
    },
    {
      "commit": "ce89f1531ed8b96b8b790b3f8b18dd4cf483f7f0",
      "tree": "203ed8910afd70ee30fcece6c3c547383cf20b66",
      "parents": [
        "4fea5373d350f5d855408ffaa41206b8fa743c55"
      ],
      "author": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Wed Jun 08 19:31:40 2011 -0700"
      },
      "committer": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Mon Jun 27 16:29:38 2011 -0700"
      },
      "message": "Copy once-created R.java into library projects\n\nThis change adds functionality in Aapt to allow specification of\nlibrary projects to copy the generated R.java file into rather\nthan regenerating the file for each library project.\n\nChange-Id: I05939d1dc875bd875be9298ca47cb639235070c6\n"
    },
    {
      "commit": "f77ae6e65a7ab47e7ab0ee1536d708b6e56fe45b",
      "tree": "05debb40d686a7085287f9e8eeacb7ab89794813",
      "parents": [
        "8e18668d14adf601cbe5973030c310ec23d88461"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 16 11:11:23 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 16 11:13:20 2011 -0700"
      },
      "message": "New orientation handling.  Only impacts SDK (aapt dump badging).\n\nThis is a new way of determining whether an application requires\nspecific orientations, done by looking at any requirements in its\nactivity tags.  Note that this won\u0027t catch all possible issues,\nbecause applications can still force an orientation through Java\nAPIs, but the vast majority of applications that actually require\na specific orientation should be doing it this way because it the\neasiest way and the only way to cleanly launch into the app from\na different orientation without doing some serious activity tricks.\n\nChange-Id: I11d32104f6bc3d2a72aeeff1ca150b8f1c9f5588\n"
    },
    {
      "commit": "e289bff0ec2b1af4ba773e0c8d49d5fd46eb9921",
      "tree": "4103ae9dc1838be1f61c0562fadbff9039949b50",
      "parents": [
        "fd63814abe8e81d5e1e0eb75b5a5a18034e9b4c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 13 19:33:22 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 11:23:52 2011 -0700"
      },
      "message": "Add new landscape and portrait orientation features.\n\nUpdates aapt to know about these.  Also updates aapt badging to:\n\n- No longer crash due to the change to how we match unspecified\nconfiguration resources.\n- Report the new \"smallest screen\" supported screen configs.\n- Infer old screen size buckets based on new smallest width attrs.\n- Report all of the different labels and icons in an app.\n\nChange-Id: I7376042b817391bd070f549cebbc7f03be4635c8\n"
    },
    {
      "commit": "00db2213bf82c04610137a36e9190003f712952c",
      "tree": "77f5373f1c3c4523b5988e80d0589ac264f7e5be",
      "parents": [
        "2bc248b698b17fd333beae828039a8bff7604a9f",
        "0ccc8b7345eac0b507c221be47e55926cbda8957"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue Dec 14 11:31:29 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 14 11:31:29 2010 -0800"
      },
      "message": "am 0ccc8b73: am 5441a9ff: Merge \"GL texture filtering changed from AND to OR, so rename tag name to match. (\u003cuses-foo\u003e \u003d\u003d AND, \u003csupports-foo\u003e \u003d\u003d OR, e.g. uses-feature vs. supports-screen).\" into gingerbread\n\n* commit \u00270ccc8b7345eac0b507c221be47e55926cbda8957\u0027:\n  GL texture filtering changed from AND to OR, so rename tag name to match. (\u003cuses-foo\u003e \u003d\u003d AND, \u003csupports-foo\u003e \u003d\u003d OR, e.g. uses-feature vs. supports-screen).\n"
    },
    {
      "commit": "096b67f65510a5076f1f845f9e19dda2b30ea6bb",
      "tree": "55433fd8a7525c5360b3b4e0cfcd8b1ef4a442f2",
      "parents": [
        "e3f6336bcffc250da90ec864bccfa73ad1d016b9"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon Dec 13 16:25:54 2010 -0800"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon Dec 13 16:25:54 2010 -0800"
      },
      "message": "GL texture filtering changed from AND to OR, so rename tag name to match.\n(\u003cuses-foo\u003e \u003d\u003d AND, \u003csupports-foo\u003e \u003d\u003d OR, e.g. uses-feature vs.\nsupports-screen).\n\nChange-Id: I0f20aed7f95169d9adfc7fe128191eb6e49d116f\n"
    },
    {
      "commit": "41a4833bf2603d4194e470f783531581dd532545",
      "tree": "1cc53ac16a0c261991dce82092d571cf80caf163",
      "parents": [
        "3513c3f17f6fdbb92d1bf3be68df97708bacbc82",
        "4da6efc8a3ecfcf46a8988ad1d277ae00ed1f58c"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Sat Nov 06 16:24:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 06 16:24:28 2010 -0700"
      },
      "message": "am 4da6efc8: am 46151652: Merge \"fix xlarge support in aapt for gingerbread\" into gingerbread\n\n* commit \u00274da6efc8a3ecfcf46a8988ad1d277ae00ed1f58c\u0027:\n  fix xlarge support in aapt for gingerbread\n"
    },
    {
      "commit": "d58fb97ddf052b3ceac921ac7e936af990392b2c",
      "tree": "69314556c53d6c55ddc9078854f9db0aa270142e",
      "parents": [
        "265acc5085ad03c4c043dd33faed808b55732134"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Nov 04 18:32:00 2010 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Nov 04 18:33:05 2010 -0700"
      },
      "message": "fix xlarge support in aapt for gingerbread\n\nChange-Id: I4d8872fb839a6eadc538055215d4455af328846c\n"
    },
    {
      "commit": "a0b46c9c441f017a2008ca8ee2c864987465996b",
      "tree": "5f2bd72c1e65c7005e3f495f9d1a485bc8079914",
      "parents": [
        "e6634981f12e1d218eaf61c6488af3d8c9f0d202"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 15:32:06 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 22 16:18:43 2010 -0700"
      },
      "message": "Implement issue #3116702: New manifest tags for supported screen sizes\n\nMerged from GB.\n\nChange-Id: I94730b54bcacd083f77708e84c35f4932a7b9d2e\n"
    },
    {
      "commit": "a6d9c7c04c4b17d85ac70f4494777555655f3be1",
      "tree": "216d077a636fa8be9369de734e14350886c0e7ac",
      "parents": [
        "7dc08fb070ff7455e794fc81645ccb4349cd152f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 15:32:06 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 15:32:06 2010 -0700"
      },
      "message": "Implement issue #3116702: New manifest tags for supported screen sizes  DO NOT MERGE\n\nChange-Id: Iabf64d86c89d387ffbfbc39f950d308a73fe17eb\n"
    },
    {
      "commit": "1785627fb36a93a1cbc69a048de6ed6412f83de9",
      "tree": "edb283e9a5c5e0fe2e5905826cfca80907bd72fa",
      "parents": [
        "09b35d2fe51c59b6495df3492e12ecd5009e4cf0",
        "b58af2b8b3871436942d0e2c878c906bffaa2fb0"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Fri Oct 15 08:33:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 08:33:00 2010 -0700"
      },
      "message": "am b58af2b8: am 5c62ab0a: Merge \"Adding a new \u003cuses-gl-texture/\u003e tag, to be used to enable apps to specify filtering based on support for OpenGL ES texture and texture compression formats.\" into gingerbread\n\nMerge commit \u0027b58af2b8b3871436942d0e2c878c906bffaa2fb0\u0027\n\n* commit \u0027b58af2b8b3871436942d0e2c878c906bffaa2fb0\u0027:\n  Adding a new \u003cuses-gl-texture/\u003e tag, to be used to enable apps to specify\n"
    },
    {
      "commit": "6f51fc14d0c3df8f9153ae5df992cc2731f099c8",
      "tree": "ea1dc04c2e55af8a93c1bc3c7d08ce00182dca15",
      "parents": [
        "527d8bbd79c1ff2b6e24d19fe9e7a1ecdb72891a"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Wed Oct 13 14:33:43 2010 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Wed Oct 13 14:33:43 2010 -0700"
      },
      "message": "Adding a new \u003cuses-gl-texture/\u003e tag, to be used to enable apps to specify\nfiltering based on support for OpenGL ES texture and texture compression\nformats.\n\nChange-Id: I993209a673579b296007ae2ba830d0275770dd11\n"
    },
    {
      "commit": "f156e752b50ec3bfe013c6a7af6b1c16b0dfa611",
      "tree": "2f50ebd88056b77b519b8f36b55a2c36265d0569",
      "parents": [
        "0a01f076d221ccdaf360cac83e42e92b97ee3900",
        "31103928ed5b9091bcd7de74c8a49675d10c87e7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 02 17:59:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 02 17:59:51 2010 -0700"
      },
      "message": "am 31103928: am 192b56d4: Merge \"Implement #2964234: Add support for \u003cuses-package\u003e element to aapt\" into gingerbread\n\nMerge commit \u002731103928ed5b9091bcd7de74c8a49675d10c87e7\u0027\n\n* commit \u002731103928ed5b9091bcd7de74c8a49675d10c87e7\u0027:\n  Implement #2964234: Add support for \u003cuses-package\u003e element to aapt\n"
    },
    {
      "commit": "43b6803095e41e6a1cf844a77813c6cdbdc84ec3",
      "tree": "19936d54d151179603e2a7cb7e3675fbdbe160a5",
      "parents": [
        "d180232e92b78067beb7f84d7f3d1d21865f0594"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 02 17:14:41 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 02 17:14:41 2010 -0700"
      },
      "message": "Implement #2964234: Add support for \u003cuses-package\u003e element to aapt\n\nChange-Id: Ifb381f387cab7e5a99006691e330d0e3d9d0f250\n"
    },
    {
      "commit": "dc059804666c35abf51d09481f2fe5516339fcc6",
      "tree": "1095fd626bc4a78ef14c80f0204c780ff053f13f",
      "parents": [
        "d8cb3cadb5f9755361781b7614ce589a66590962",
        "eb0e0f465155bc9ec2c79741890fb65bd403e33a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 25 17:25:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 25 17:25:15 2010 -0700"
      },
      "message": "am eb0e0f46: am 2e7427f3: Merge \"Add LFH offset to verbose list of APK\" into gingerbread\n\nMerge commit \u0027eb0e0f465155bc9ec2c79741890fb65bd403e33a\u0027\n\n* commit \u0027eb0e0f465155bc9ec2c79741890fb65bd403e33a\u0027:\n  Add LFH offset to verbose list of APK\n"
    },
    {
      "commit": "fb2a9467ad77336edbf2a1a272dbe6ec30ef8a1b",
      "tree": "584fffa345cccc738048b2d7930c0b4c89a48773",
      "parents": [
        "6b6ae996b2e84af030397cff3a7f0087de93e01c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 25 07:36:31 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 25 07:38:33 2010 -0700"
      },
      "message": "Add LFH offset to verbose list of APK\n\nThe Local File Header (LFH) offset is printed in debugging cases when\nthe platform is inspecting APKs. This adds the LFH offset field to the\nlist of contents of an APK, so that it can be checked easily against the\nCentral Directory (CD).\n\nChange-Id: I08f9a13256bfe6563c1a963c4f0289789b2e7857\n"
    },
    {
      "commit": "cc5239b78b7d418d78d00bf9ee92192ccd851cda",
      "tree": "8ddd004b70fc4a9fe109354f7b684db4464d9677",
      "parents": [
        "e0e6a0fc8e7962b7a6f68281fbb038c546dcdf7a",
        "8b569c8d49924d849793513a5418ef0350320962"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 24 09:02:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 24 09:02:43 2010 -0700"
      },
      "message": "am 8b569c8d: am 42f90ca5: Merge \"Fix aapt dump badging to support xlarge screens.\" into gingerbread\n\nMerge commit \u00278b569c8d49924d849793513a5418ef0350320962\u0027\n\n* commit \u00278b569c8d49924d849793513a5418ef0350320962\u0027:\n  Fix aapt dump badging to support xlarge screens.\n"
    }
  ],
  "next": "f43489d7d5e1c0c5c9a7e54c22845fcb99765f81"
}
