)]}'
{
  "log": [
    {
      "commit": "a8ac749b40e896a279092ccd72ff05fea0a3ab1f",
      "tree": "466e71abfc741d3a845b9b35ef59251b88e5cf0f",
      "parents": [
        "0b015de77e40f9dc55d7add73089e4251fb43f82",
        "bdb8a3b492f79e7dc780122d659ead4b379cac48"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jul 26 14:51:15 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 26 14:51:15 2018 -0700"
      },
      "message": "Merge \"Remove class2greylist from frameworks/base.\" am: 32979f03fe am: 1397d297f0 am: 8636f97bf0\nam: bdb8a3b492\n\nChange-Id: Id5df20e7353e7d199e92f7ea2eb4d3db8db1d383\n"
    },
    {
      "commit": "8636f97bf01585e37dddfa55d3f80a30fcba85eb",
      "tree": "9f1442b5b8581f8f3dd96c39ca5d731a635c10f8",
      "parents": [
        "8ffca7e22af54060dc0dd31069880dd8aeda1fc7",
        "1397d297f0329cc6f51aa76f0caac6199fb4848b"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jul 26 13:11:01 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 26 13:11:01 2018 -0700"
      },
      "message": "Merge \"Remove class2greylist from frameworks/base.\" am: 32979f03fe\nam: 1397d297f0\n\nChange-Id: I50b72dab019a91d6d5a79d2b28079ef9e40b965d\n"
    },
    {
      "commit": "1397d297f0329cc6f51aa76f0caac6199fb4848b",
      "tree": "ff0f55ac948726dad6e820335644251f94e90e58",
      "parents": [
        "d9a8e834dd231333954d857952d918098012c6a0",
        "32979f03fe7afd8b928399399504f0aa523d09ef"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jul 26 11:55:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 26 11:55:02 2018 -0700"
      },
      "message": "Merge \"Remove class2greylist from frameworks/base.\"\nam: 32979f03fe\n\nChange-Id: I72f8797be98fe75806535da7b9f277ae68db8d57\n"
    },
    {
      "commit": "f364aedecb6a182d4673dd61f157459cc4d3c1fa",
      "tree": "3049cf661c9957e1d7b6d01e1850db1b9830fca9",
      "parents": [
        "716c04b29a0bd117aab33d8b81621a3fff0af7a7"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jul 26 14:57:08 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jul 26 15:57:05 2018 +0100"
      },
      "message": "Remove class2greylist from frameworks/base.\n\nIt\u0027s moving to a new home under art/tools, since it is needed by\nbranches which don\u0027t include frameworks/base.\n\nBug: 110868826\nTest: Build master-art branch\nChange-Id: Ice8324db52ae1e7e2ac6734e45874a66de935c9a\n"
    },
    {
      "commit": "2b2b6a16984ee0ff2cd48becfab6e94ec81a2610",
      "tree": "b13315d82d21451cb6805622f89fed743c53bab9",
      "parents": [
        "4f5e805907cf44d5f409d2d8e191e2b8f1727795",
        "cae7c2e95338b33eb7ce3d2497c11d4fab26f6a0"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Jul 25 05:26:41 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 25 05:26:41 2018 -0700"
      },
      "message": "Merge \"Update annotation name in class2greylist.\" am: 6c32f5d18e am: 7393f85a6e am: d8058375f0\nam: cae7c2e953\n\nChange-Id: Iecc746cb8ec5144fc613af2a761c78c604486e3c\n"
    },
    {
      "commit": "d8058375f02f567c7456d6516894797b24752eba",
      "tree": "1ed2793eb52792019022f9ae6d74648cbd48bb64",
      "parents": [
        "d2339214ebe0a735bf9d4582190ed66578965bd2",
        "7393f85a6ef52d0f1bfa62652f499f633800276a"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Jul 25 05:09:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 25 05:09:10 2018 -0700"
      },
      "message": "Merge \"Update annotation name in class2greylist.\" am: 6c32f5d18e\nam: 7393f85a6e\n\nChange-Id: I0fd8a3ee7d3b1deca76c989328a76c06274b736b\n"
    },
    {
      "commit": "7393f85a6ef52d0f1bfa62652f499f633800276a",
      "tree": "946b589b57e3f6a0893d8000a6661470b017639b",
      "parents": [
        "93c22129e281846672b6d06694cc3ee08c337528",
        "6c32f5d18e1af7d4e2cd231577636d5dd9277719"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Jul 25 04:54:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 25 04:54:37 2018 -0700"
      },
      "message": "Merge \"Update annotation name in class2greylist.\"\nam: 6c32f5d18e\n\nChange-Id: I1a1f79a7a95814e37d337f1bb6bd10aa545cfaf9\n"
    },
    {
      "commit": "738a23fbebc9a0fbdfcfecfbc2f9ee25ad39e9ca",
      "tree": "ec5244abd94a8e97ba49b3f70424b82071ff8c2b",
      "parents": [
        "9a783699cc0efd4d980ec1e35e7df56448ef32f4"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Jul 25 09:45:04 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Jul 25 09:45:04 2018 +0100"
      },
      "message": "Update annotation name in class2greylist.\n\nAnnotation was added with name @UnsupportedAppUsage after Android API\ncouncil discussion.\n\nBug: 110868826\nTest: m class2greylist\nChange-Id: I63ad61e97c5e8fdebfcead9e4ee5b060a60f97c7\n"
    },
    {
      "commit": "148cd8c0bced9bcd72beb2e93a086fde9dcfef9e",
      "tree": "13f6707bf6dedc2a00b9549fa10a704bc300c051",
      "parents": [
        "78cc39573f4f4ecc617c2fee0e98a9ba5cb33fc4",
        "58e2fbf16970d9e0c1e93f60b881765e87bfc7a6"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Tue Jul 24 11:33:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 24 11:33:46 2018 +0000"
      },
      "message": "Merge \"Revert \"AAPT2: Automatic Static Library Namespacing.\"\""
    },
    {
      "commit": "dc0144d0d74c91039701443e9b78f74d2045dd75",
      "tree": "455782a983fd46db9b6ebc2c987e47bac9fa71a2",
      "parents": [
        "290712717f14a15b55d73d2fabe638228de6784d",
        "abfbf7f841fa96cce9bfc626fc2a3d33f7e12c45"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Jul 23 20:53:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 23 20:53:48 2018 +0000"
      },
      "message": "Merge \"Merge pi-dev-plus-aosp-without-vendor into stage-dr1-aosp-master\" into stage-dr1-aosp-master"
    },
    {
      "commit": "ec9ecd41f28dde3ae3b9808cdcde296b9226193a",
      "tree": "09fa6ff42ad402ae2cfe87129a79fa1661d26cf8",
      "parents": [
        "a71bee878e1308724a0f4d32d845bf60883e4ba7",
        "7ca4fcec4ad1da3137b3e0e0a42174c053be27ff"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Jul 23 12:07:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 23 12:07:13 2018 -0700"
      },
      "message": "Merge \"Add new \"class2greylist\" tool.\" am: 7f0aa734a3 am: 812291cc46 am: 6119634dba\nam: 7ca4fcec4a\n\nChange-Id: I357b05418c4a699ed2100bb45c88043d7c3f1d74\n"
    },
    {
      "commit": "7ca4fcec4ad1da3137b3e0e0a42174c053be27ff",
      "tree": "e0e459b3492986f43313fcc40b999e7ef3861a59",
      "parents": [
        "515450272d48e765684e338a2f73f50bb00f8d17",
        "6119634dba5b4a67fafe5db67104a88b5732c7d0"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Jul 23 10:24:14 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 23 10:24:14 2018 -0700"
      },
      "message": "Merge \"Add new \"class2greylist\" tool.\" am: 7f0aa734a3 am: 812291cc46\nam: 6119634dba\n\nChange-Id: Ib7df082dcf104549f0a2b0dbb830a912b1313a17\n"
    },
    {
      "commit": "812291cc4694ae635bb7ab536e71b4c973166bca",
      "tree": "28bce3febee03ca28620f07ad995fe4d3f987008",
      "parents": [
        "c142f686c5e221f7946062fb2b0cea9360260e4f",
        "7f0aa734a3f4b3d1f7842b8546543668275f8ddb"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Jul 23 10:08:47 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 23 10:08:47 2018 -0700"
      },
      "message": "Merge \"Add new \"class2greylist\" tool.\"\nam: 7f0aa734a3\n\nChange-Id: I7d53d60ea3537530a9e21e2de2f53eb764f7d0b5\n"
    },
    {
      "commit": "58e2fbf16970d9e0c1e93f60b881765e87bfc7a6",
      "tree": "4ac5c6568a8dd55a61d12346121ebd1dddeed5f7",
      "parents": [
        "2e8c7670b12ce7075bcc34c1502d268a71f99a0d"
      ],
      "author": {
        "name": "Chris Warrington",
        "email": "cmw@google.com",
        "time": "Mon Jul 23 14:12:20 2018 +0000"
      },
      "committer": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Mon Jul 23 17:23:25 2018 +0100"
      },
      "message": "Revert \"AAPT2: Automatic Static Library Namespacing.\"\n\nThis reverts commit 481f027ddc3e0ff0e1838a9375c1286e8ad70d70.\n\nReason for revert: Not needed any more\n\nBug: 111543815\nTest: existing unit and integration tests\nChange-Id: I87b039192682636d81c2d33512495cb005c9504d\n"
    },
    {
      "commit": "6395690ec99bd13214c0530cac54d33b1f8e601b",
      "tree": "9bcf78c13963e56233f72e52f20221c9ff59a7ce",
      "parents": [
        "bb352287c9f3631633274d2d70fc54b9b3eee851"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Jul 09 15:07:56 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Jul 23 14:39:19 2018 +0100"
      },
      "message": "Add new \"class2greylist\" tool.\n\nThis extracts signatures of methods that have the @UsedByApps annotation\nfor generating the greylist. It will be integrated into the build to\nreplace many members on greylist.txt.\n\nTest: $ atest class2greylisttest\nBug: 110868826\nChange-Id: Ifaf5859b60076c051de6be5a912ef70734330ce7\n"
    },
    {
      "commit": "cc8dc1d688f3f9fc3be061e6cffc6f5e9d261faf",
      "tree": "c9653faf346451bd79cc33976ab6e9e5e157c6c3",
      "parents": [
        "b3fb26272cb762755c89d417588e92da51561769",
        "228bf4f32036e7d9af3c80fd4b4c997688fc1e6f"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Fri Jul 20 17:31:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 20 17:31:54 2018 -0700"
      },
      "message": "Merge \"Remove requirement for kiss emoji should have gender\" into pi-dev\nam: 228bf4f320\n\nChange-Id: I9168be274a5ced20d8ddbf1ef6475dfec82262ef\n"
    },
    {
      "commit": "24a464a9be413dfef1476fd1919e2008609de93a",
      "tree": "a4b6f646ae8088ccdb39023dd0b3058b307d3dac",
      "parents": [
        "2fea10559beacb6f47f0e6c7ad343153f86de8f0",
        "cc65b8dba6cc18faf7a47584ef3a3557ed8ce77b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 20 17:14:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 17:14:35 2018 +0000"
      },
      "message": "Merge \"Only keep necessary constructor for custom view nodes\""
    },
    {
      "commit": "41dcc4eac50c2c8ba51b5cd6677b1eac2ef1ce63",
      "tree": "b04b3c9c06d4e8803f8d6f4ea5db132108bcdd07",
      "parents": [
        "9c512f1c216e328de1da04a734d4eeba0db30db4",
        "98100c382890b1b935a17265bc6cb1be3bf69640"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 20 16:36:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 16:36:24 2018 +0000"
      },
      "message": "Merge \"Only keep methods with correct signature for more types\""
    },
    {
      "commit": "848585e1a41c52fb723d17fe5e9eb98956c614d6",
      "tree": "f053b51de3834bc85f89e0b189a0191cbf837ff1",
      "parents": [
        "bc458577c9e7f6a65aeccbe2c1a7a4d224ff399b",
        "23cc5d5dbecf34c205af40761ca762f3258f341f"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jul 20 15:18:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 15:18:05 2018 +0000"
      },
      "message": "Merge \"AAPT2: Fix R.java for styleable in different package\""
    },
    {
      "commit": "cc65b8dba6cc18faf7a47584ef3a3557ed8ce77b",
      "tree": "93ee29d598e1114a9a6c2cf0bf09f0df9f666eaf",
      "parents": [
        "98100c382890b1b935a17265bc6cb1be3bf69640"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Mon Jun 11 17:05:35 2018 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Jul 20 10:44:11 2018 -0400"
      },
      "message": "Only keep necessary constructor for custom view nodes\n\nThis expands the Context+AttributeSet constructor specificity from only work on \u003cview class\u003d\u003e nodes to \u003cmy.Type\u003e nodes.\n\nBug: 37123156\nTest: make aapt2_tests\nChange-Id: I8fb950731383f86bee225333bda27baf5a7a34c5\n"
    },
    {
      "commit": "98100c382890b1b935a17265bc6cb1be3bf69640",
      "tree": "39fc1c157fb7f2be242dfb1918e271ba90752783",
      "parents": [
        "55f098118c3b4be381d48a94817b923e58b72b21"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Mon Jun 11 15:46:03 2018 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Jul 20 10:44:11 2018 -0400"
      },
      "message": "Only keep methods with correct signature for more types\n\n- For transition and pathMotion attributes the method must have Context and AttributeSet parameters.\n- For actionViewClass and actionProviderClass attributes the constructor must have a single Context parameter.\n- For Fragment\u0027s class or name attributes the constructor must have zero parameters.\n\nBug: 37123156\nTest: make aapt2_tests\nChange-Id: I34017abd182867ba95172835051d114cb2f3b3ac\n"
    },
    {
      "commit": "b727f7ebf00e729f4ca2c8766d2277ffd81b0f47",
      "tree": "129cac0d3800ce3ab565b3ae1690df403c382809",
      "parents": [
        "6f10a213ecb684614267f6217387c847990e6d95",
        "e4bd16028442e36b13fe6fc119393eae5840508d"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Jul 20 02:52:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 02:52:24 2018 +0000"
      },
      "message": "Merge \"Add rule emissions for appComponentFactory\""
    },
    {
      "commit": "6f10a213ecb684614267f6217387c847990e6d95",
      "tree": "08b551db2d8aac315caf02ef1eb0752a7f97cd79",
      "parents": [
        "390de2378dda342d7c4593ccc3a195a9217c8f36",
        "cfbc767b61f5a0afab2bf1b993151d57a743ce31"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Jul 20 02:51:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 02:51:53 2018 +0000"
      },
      "message": "Merge \"Add Application name to manifest test case\""
    },
    {
      "commit": "0c37f926e6a83d4d24b2a8fe562a858b4c565eac",
      "tree": "fe101ed6427b85fac1c80420ac99e8930fc99d38",
      "parents": [
        "3d3c6531e1933c48daa31bce894aab6cd2aedd31"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Thu Jul 12 12:02:18 2018 -0700"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Thu Jul 19 17:12:02 2018 +0000"
      },
      "message": "Remove requirement for kiss emoji should have gender\n\nTest: m fontchain_lint\nTest: m\nTest: Visual test on device after full build \n\nBug: 110037531\nChange-Id: Iac26c7c7c0e1a8a500a93f19d99831113529b201\n(cherry picked from commit 77a1b149109d99ff2c73d1b8ba9a943e6961af48)\n"
    },
    {
      "commit": "345f3c0cc34c9a71d0df26ddf1c0b36c3296466c",
      "tree": "e9fc0a7c8cf2d0f496a165f8b00be6e65f6a433f",
      "parents": [
        "25788e890a1cbe1898d2f38777c55b4550b3ad32",
        "77a1b149109d99ff2c73d1b8ba9a943e6961af48"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Thu Jul 19 05:26:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 19 05:26:47 2018 +0000"
      },
      "message": "Merge \"Remove requirement for kiss emoji should have gender\""
    },
    {
      "commit": "e4bd16028442e36b13fe6fc119393eae5840508d",
      "tree": "342a6e793238f7ea45e302192668169f71f03d29",
      "parents": [
        "cfbc767b61f5a0afab2bf1b993151d57a743ce31"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Tue Jun 12 09:39:14 2018 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Wed Jul 18 12:09:17 2018 -0400"
      },
      "message": "Add rule emissions for appComponentFactory\n\nThis attribute was added in API 28 and is reflectively instantiated from a zero-argument constructor.\n\nTest: make aapt2_tests\nChange-Id: Ie9de0764165c6fe6c6fcda6cc38b0cc633f03bbd\n"
    },
    {
      "commit": "cfbc767b61f5a0afab2bf1b993151d57a743ce31",
      "tree": "e1b81dd846551342644e40ec7de7785192a81f55",
      "parents": [
        "3e2d62bd86e91f3dc62a8c323b84c4b90bf1d79e"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Tue Jun 12 09:26:13 2018 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Wed Jul 18 12:09:17 2018 -0400"
      },
      "message": "Add Application name to manifest test case\n\nTest: make aapt2_tests\nChange-Id: I4df26375bdf480b7d09e9cf816b7a9feaa141115\n"
    },
    {
      "commit": "bd2611916990b0d18a36483060365207fdd94c13",
      "tree": "b5d41c7ae9361c9dc95e02f0551771e934462dcf",
      "parents": [
        "4237b16cac5f479a323216934063f33ea28bec39"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jul 17 13:29:40 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jul 17 13:59:04 2018 -0600"
      },
      "message": "Handle new current.txt format.\n\nWe\u0027re starting to see \"@interface\" show up, so handle them like any\nother interface.  We\u0027re also seeing more details argument lists\nwith names and annotations; ignore them for now, since all our\nexisting lint checks work on the \"real\" data type.\n\nVerified that it handles new support library current.txt files\nwithout causing any regressions against existing framework\ncurrent.txt files.\n\nTest: manual inspection\nBug: 111555356\nChange-Id: Id11c3561edd317e4ba1a9b43993fd96d8243e00d\n"
    },
    {
      "commit": "5fa2bb14ec6e2a824559909f25e6ea82a2842f5a",
      "tree": "0544bf2e6da16b978251407e581a0ad7502c4cb5",
      "parents": [
        "89c9a12826b5d0c52edb97c17ee55c317425d5b8"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Jul 12 11:24:51 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jul 13 23:41:46 2018 +0000"
      },
      "message": "AAPT2: Fix long version code bugs\n\nRefactoring areas in AAPT2 that use android:versionCode to also use\nabdroid:versionCodeMajor. Does not add versionCodeMajor command line flag yet.\n\nBug: 109883459\nTest: aapt2_tests\nChange-Id: I573fbea37491cf8c5742f9e385c66ee64c4e5166\n"
    },
    {
      "commit": "833a1a6c4a7b57431ae620fc83f4c17f6fbf6a06",
      "tree": "acac93a67f807052f0b77700195377f904ed20fa",
      "parents": [
        "53208af20d501b892b9cc9971033a9f2e2d7cf35"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jul 10 13:51:36 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jul 13 14:26:06 2018 -0700"
      },
      "message": "AAPT2: Refactor flags into commands\n\nRefactors the flag based command invocation into classes that make using\nsubcommands easier.\n\nTest: manual tests of printing\nChange-Id: Ic8df6af0be30db552e32150afebecbfeec7e1075\n"
    },
    {
      "commit": "23cc5d5dbecf34c205af40761ca762f3258f341f",
      "tree": "e137bef17cabb6139826fc2fc790217bac035755",
      "parents": [
        "53208af20d501b892b9cc9971033a9f2e2d7cf35"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Jul 12 17:16:40 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jul 13 11:19:56 2018 -0700"
      },
      "message": "AAPT2: Fix R.java for styleable in different package\n\nWhen generating the R.java file, attributes of styleables do not always\nhave package names on them. This caused a problem where when an apk\nthat was previously linked and that also contained a declare-styleable\nis linked again to an AndroidManifest.xml with a different package name,\nstyleable attributes\u0027 resource symbols could not be looked up correctly.\n\nThis change does not rename the resources but makes sure that the java\ngenerator finds the attribute symbols correctly.\n\nBug: 110877419\nTest: Created a test in aapt2_tests and verified correct behavior of\nrepro example from bug\n\nChange-Id: Ib99d84cbe44dadca86603bc610ad3f4e09e3fb11\n"
    },
    {
      "commit": "77a1b149109d99ff2c73d1b8ba9a943e6961af48",
      "tree": "f5bbeee4d5c181d263f5073d19b48dfad9258c96",
      "parents": [
        "ce77407144346c6fad679a4297910eea07d0d601"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Thu Jul 12 12:02:18 2018 -0700"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Thu Jul 12 12:02:18 2018 -0700"
      },
      "message": "Remove requirement for kiss emoji should have gender\n\nTest: m fontchain_lint\nTest: m\nTest: Visual test on device after full build \n\nBug: 110037531\nChange-Id: Iac26c7c7c0e1a8a500a93f19d99831113529b201\n"
    },
    {
      "commit": "d86ea58bddea7d5608e3539fc77e3d805c0af1d1",
      "tree": "59aee68a419d4d4a4559ed50a3589abeaee3a258",
      "parents": [
        "af5753836912a1c76ac35071b8343a6d00782d9e"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jun 27 11:57:18 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Jul 02 14:14:33 2018 -0700"
      },
      "message": "AAPT2: Encode 4-byte strings in Modified UTF-8\n\nCodepoints that are encoded to 4 bytes in UTF-8 are not allowed in\nModified UTF-8. They instead should be encoded as surrogate pairs in the\nsame way that CESU-8 allows for surrogate pairs. This will also cause 4\nbyte UTF-8 codes to be represented in 6 bytes.\n\nBug: 37140916\nTest: aapt2_tests\nChange-Id: I155dc24f166139d1d36a16bac088dcfcd59eb321\n"
    },
    {
      "commit": "87230dceac24c06e1b8e9a3d928e7ec947530732",
      "tree": "ea37bec49c619e5282441f48aef16cc59b1cc4a9",
      "parents": [
        "9fc85c97ef959d29c96ed72dcb01d41bdc3e1c9e",
        "908c02f5c15d21406b282c7946cee2c87685b640"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 26 21:15:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 26 21:15:05 2018 +0000"
      },
      "message": "Merge \"Add kernel version to incident report\""
    },
    {
      "commit": "d6ace01c5a58d896435d87ff2ef3a632cad0550a",
      "tree": "436182ae8035a4c9010e55c8931b3051c7367e91",
      "parents": [
        "79e27cd27d0d0403da1d0ba22d7cb7e65d0ec8af",
        "cb76d734fef789bf7246c3c687f3a2d394fe284a"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Jun 25 16:10:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 25 16:10:59 2018 +0000"
      },
      "message": "Merge \"AAPT2: Fix unrecognized CDATA\""
    },
    {
      "commit": "908c02f5c15d21406b282c7946cee2c87685b640",
      "tree": "da31bb3326c5526995ea7141d24a9320ab449191",
      "parents": [
        "6b1c5e923f5fb8ce0cf74bcb7e7e035e0da9b5b5"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Jun 22 16:51:40 2018 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Jun 22 16:51:40 2018 -0700"
      },
      "message": "Add kernel version to incident report\n\nBug: 110230810\nTest: atest incidentd_test\nChange-Id: I502b34f23d61a7346d79ff0dc378add8461d2d27\n"
    },
    {
      "commit": "cb76d734fef789bf7246c3c687f3a2d394fe284a",
      "tree": "08fbe6e3ae9d727ea9a9030aa1752b9826ce0c55",
      "parents": [
        "e42868974bda97f00dfd63559074bb02c1fc6531"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jun 05 10:15:04 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jun 22 14:06:02 2018 -0700"
      },
      "message": "AAPT2: Fix unrecognized CDATA\n\nThis change adds support for resources that have CDATA blocks within\ntheir values. The blocks should allow any character to occur without\nbeing escaped. It also should not effect the current state of quote\nprocessing.\n\nBug: 80326349\nTest: Created tests in aapt2_tests\nChange-Id: Ie1a00e50cffc877e2eb5f788f8d7a1bda839c0cf\n"
    },
    {
      "commit": "fdc40f52d89769709c264a0c8f081ffc0ca8c87b",
      "tree": "740cc4ae1ba80333c0cfe74905777317b5aa6f1f",
      "parents": [
        "381f62878d238f59b9b3bc39204c8141d80c337e",
        "fae24f5aa239e81ca5cf911698fbb8e71d9a986e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jun 18 13:38:11 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 18 13:38:11 2018 -0700"
      },
      "message": "Merge \"Fix ManifestMerger issues\" into stage-aosp-master am: 669c4d7ae7\nam: fae24f5aa2\n\nChange-Id: I66e9b74a7db9ae9a0c4040e37a3f2807b24aa391\n"
    },
    {
      "commit": "ff311dd893f66b873ee00d5ca176ff3ab2e0fa53",
      "tree": "0322cdeb7df37ac1e0c28454bbe7495818840562",
      "parents": [
        "abdaa314f885b5a889e48676b7b2b0460a5332f7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 14 15:23:21 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 15 23:03:46 2018 +0000"
      },
      "message": "Fix ManifestMerger issues\n\nSet LOCAL_MIN_SDK_VERSION in aapt2 integration test libraries so that\nthe build system doesn\u0027t raise the minSdkVersion value specified in\nthe manifest, which causes ManifestMerger to error when trying to\nmerge it into a package that specifies a lower minSdkVersion.\n\nBug: 78447299\nTest: m java\nChange-Id: If5d4f97bb2d8a503bd3c20f2ea8aea2519c51e85\n"
    },
    {
      "commit": "859df82843ba06a12cc2686abd0b665a46304483",
      "tree": "7c810ea27b5dc7aca6990f24f2848d0796f90587",
      "parents": [
        "da990db67ba6a3932ed6928bc633ae20212812ad",
        "e04ef777c156b2a496021847bb52c3042f154e18"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 14 17:37:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 14 17:37:29 2018 +0000"
      },
      "message": "Merge \"Treating all FileSection files as device specific.\""
    },
    {
      "commit": "e04ef777c156b2a496021847bb52c3042f154e18",
      "tree": "9cf2e686621fa89705ca495f21ef69c673e5fb0c",
      "parents": [
        "5304145fbf9bc141396773534757e543f06939cc"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Wed Jun 13 12:24:38 2018 -0700"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Wed Jun 13 12:46:12 2018 -0700"
      },
      "message": "Treating all FileSection files as device specific.\n\nArc++ devices don\u0027t have the /d/wakeup_sources file. There\u0027s a chance\nother device won\u0027t have it either, and there may be other files that we\nthought were standard but are actually not, so it\u0027s safer to just assume\nthat not every file will be available on every device and not treat a\nmissing file as an error.\n\nBug: 110109543\nTest: atest incidentd_test\nChange-Id: Ief09427f08d18aee611d057ddafdb9a3466744db\n"
    },
    {
      "commit": "1b327db1affc2e20198a0ab3b2847fe3d03435fc",
      "tree": "e7b7e44ce09a5948532dc99c072ef2f241aba5f5",
      "parents": [
        "62b8bc041f6f6a7c75e90b647e55f25ce31582d3",
        "633d796623f84046ebf9baeccd1ba5bcefc16313"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jun 12 20:51:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 20:51:33 2018 +0000"
      },
      "message": "Merge \"AAPT2: Fix raw string parsing\""
    },
    {
      "commit": "633d796623f84046ebf9baeccd1ba5bcefc16313",
      "tree": "731c899533c6a240825cffc2776ffc6791c42abc",
      "parents": [
        "e42868974bda97f00dfd63559074bb02c1fc6531"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Jun 11 15:29:21 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Jun 11 15:57:23 2018 -0700"
      },
      "message": "AAPT2: Fix raw string parsing\n\nTrim whitespace of raw strings when parsing xml values. This change\ntrims the whitespace of style items. For example:\n\n\u003citem name\u003d\"viewInflaterClass\"\u003ecom.helloworld.Inflater\n\u003c/item\u003e\n\nThis will be trimmed to not include a trailing whitespace.\n\nBug: 109666819\nTest: aapt2_tests\nChange-Id: I0c1fbb3abdc7e609316c92e59ccaf0573b07e5a7\n"
    },
    {
      "commit": "3001f0311ddf4a6cc8b328ae697314feb1fd00f7",
      "tree": "0dd7ae595263f5e063f46842012053df56fdea47",
      "parents": [
        "420785e6d0bdecd6849aa9e609e39fb1906a5bc0"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Mon Jun 11 12:24:11 2018 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Mon Jun 11 17:21:28 2018 -0400"
      },
      "message": "Only keep methods with correct signature for view/menu click\n\nFor View\u0027s onClick attribute the method must have a single argument of type android.view.View. For a MenuItem\u0027s onClick attribute the method must have a single argument of type android.view.MenuItem. Since these rules match all types and any return type, matching by signature is the only available specificity that can be added.\n\nBug: 37123156\nTest: make aapt2_tests\nChange-Id: I4b82f5ef9e62a8ecffaab424e269df627825709e\n"
    },
    {
      "commit": "420785e6d0bdecd6849aa9e609e39fb1906a5bc0",
      "tree": "1ba11e43fe3b1a810c37a52b808d19ed8915a1d9",
      "parents": [
        "ab660a7fde368f30d88af7e4c864b5489dcd44f3"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Mon Jun 11 15:40:48 2018 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Mon Jun 11 15:57:59 2018 -0400"
      },
      "message": "Improve tests for ProGuard rules, add transition tests\n\nTest: make aapt2_tests\nChange-Id: If3300a9f82ad90189b74aab03c0d7f649e74e3f3\n"
    },
    {
      "commit": "ab660a7fde368f30d88af7e4c864b5489dcd44f3",
      "tree": "93863c209d635eca6bb60e97487094e474669e7e",
      "parents": [
        "aa035cf77bad6db95221680654f0cf32c95fd3b9"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Jun 08 17:56:55 2018 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Mon Jun 11 11:33:17 2018 -0400"
      },
      "message": "Only keep default constructor of manifest items\n\nReflection-based instantiation of manifest-declared types is only done on the default (aka no-argument) constructor. While these types are unlikely to have alternate constructors (unlike the others listed in the bug), there\u0027s no reason to generate overly keep-y rules for them.\n\nBug: 37123156\nTest: make aapt2_tests\nChange-Id: Ic83a2671a54ea5dd558bfcacf033a60e9568ab8c\n"
    },
    {
      "commit": "a11cbf368b03fbf245cb19c09f41d432288fe10c",
      "tree": "2d1f16c63537538482f827612e333afa98be5470",
      "parents": [
        "1a8ca4a1a42c3e97daba2ff882fc81a87f47141e",
        "39c8fe12e49b4a6033385c54ba1fef862326b79b"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Jun 07 15:50:46 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 07 15:50:46 2018 -0700"
      },
      "message": "Merge \"Disable statsd and make StatsLog no-op if ro.statsd.enable\u003dfalse\" into pi-dev am: 38b92986df\nam: 39c8fe12e4\n\nChange-Id: Ie27a0d43da9fa0eb0c751cafa3f04220a5f8f18a\n"
    },
    {
      "commit": "39c8fe12e49b4a6033385c54ba1fef862326b79b",
      "tree": "6c0ed38943137f096b61d6f93ca7f95e35fa805c",
      "parents": [
        "8c2440635573940eb6371e18cf4abb69b733f28c",
        "38b92986dfc42fe8a81365e5c51498d2959865f9"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Jun 07 14:53:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 07 14:53:43 2018 -0700"
      },
      "message": "Merge \"Disable statsd and make StatsLog no-op if ro.statsd.enable\u003dfalse\" into pi-dev\nam: 38b92986df\n\nChange-Id: Ia90bed14900a2c944165aefe00661d3979c08aed\n"
    },
    {
      "commit": "38b92986dfc42fe8a81365e5c51498d2959865f9",
      "tree": "ed061c354d61ae55019c2aad21d17c9d8b8e2da4",
      "parents": [
        "e752b75dadbae20ab28d6e75e342707288e09fd3",
        "cf3829a69685b6e976c0e747467859190342a0eb"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Jun 07 21:10:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 07 21:10:16 2018 +0000"
      },
      "message": "Merge \"Disable statsd and make StatsLog no-op if ro.statsd.enable\u003dfalse\" into pi-dev"
    },
    {
      "commit": "3b027f9d4121be2241ca482b17b45ba15c618574",
      "tree": "7bf544974c1d44077176ea032d563b27b90af0d1",
      "parents": [
        "e042fdd61c5dc72ac806c4720fe7cab8930edfbf",
        "daa7cf3a365c24e3a81d0df178c188b12e6d3a91"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 07 17:05:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 07 17:05:32 2018 +0000"
      },
      "message": "Merge \"Extend lint script to emit API statistics.\""
    },
    {
      "commit": "cf3829a69685b6e976c0e747467859190342a0eb",
      "tree": "4a2a391e01e03c694caf74b7098f365016d38631",
      "parents": [
        "5a36c134b736cc587fcd05b6d5cf94f3bbb62377"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Jun 05 14:20:35 2018 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Jun 06 17:25:08 2018 -0700"
      },
      "message": "Disable statsd and make StatsLog no-op if ro.statsd.enable\u003dfalse\n\nBug: 79324611\nTest: manually tested on marlin_svelte\nChange-Id: Ic7fbf86d7c295cb6b2f20e7f9a957d1ed74c42c0\n"
    },
    {
      "commit": "daa7cf3a365c24e3a81d0df178c188b12e6d3a91",
      "tree": "06f1b1b63ee73b6d4551ab8414196b5905047c5f",
      "parents": [
        "7bb9fcbc4586610a8b20e1c4d11987cc48850e8c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 20 11:26:16 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 06 16:12:39 2018 -0600"
      },
      "message": "Extend lint script to emit API statistics.\n\nBug: 77588754\nTest: manual\nChange-Id: I240dba5fae1a8635a4265a1af903517f00dec54c\n"
    },
    {
      "commit": "da2432bbeec4852762e6d1e5b6acc48f5a0e9b80",
      "tree": "1ce8c2239f2d0e603ff0fb302b17e05ee30f4cc9",
      "parents": [
        "7bb9fcbc4586610a8b20e1c4d11987cc48850e8c",
        "47c792435ecf87f4ff293207ee0054e2968db979"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 06 16:50:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 06 16:50:30 2018 +0000"
      },
      "message": "Merge \"More string lint checks.\""
    },
    {
      "commit": "47c792435ecf87f4ff293207ee0054e2968db979",
      "tree": "faee775326ec4fdf4ec8feb7ae3484f9b76085d8",
      "parents": [
        "7f6641b890e73d972548ca13b4871dadfed980c0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 05 15:55:45 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 06 09:51:01 2018 -0600"
      },
      "message": "More string lint checks.\n\nExpand strings into samples that are representative of what\u0027ll be\nshown in UI, and warn if they\u0027re longer than defined CHAR LIMIT.\n\nGuide all-caps strings towards android:textAllCaps if actions.\n\nWarn when strings mention \"phone\" without defining product-specific\nvariants.\n\nBug: 76097999\nTest: manual\nChange-Id: I08046ecf531b2d616cb357639e804b73d6a12bea\n"
    },
    {
      "commit": "5b732ef47567bdf0ee2c02fce12cb17ea2623671",
      "tree": "d74464a4fa3c5f3a53b6111f9a7a6f2c40dd2cc5",
      "parents": [
        "5af0a45b338c4144687867b258125b7fe3fe54e7",
        "02bf04ac0126149da105159cfa41aaf2bfc0cf5f"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jun 05 20:23:59 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 05 20:23:59 2018 -0700"
      },
      "message": "Merge \"Fix a \u0027memory leak\u0027\" am: 38e7338d92 am: bc49cb8460\nam: 02bf04ac01\n\nChange-Id: I9113510f9fb0b46bf481a08009bd0c8a4080bc65\n"
    },
    {
      "commit": "02bf04ac0126149da105159cfa41aaf2bfc0cf5f",
      "tree": "8018397a38a659cf09a4308cdb0465ef54c7769f",
      "parents": [
        "3b09f97552593ca1f4404164a4c89ff23bede82c",
        "bc49cb846073b0ac87ec423af8bfbb93de52a302"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jun 05 19:56:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 05 19:56:22 2018 -0700"
      },
      "message": "Merge \"Fix a \u0027memory leak\u0027\" am: 38e7338d92\nam: bc49cb8460\n\nChange-Id: I3ecf0ecdf20bb61bda76fff547f920040ded47d6\n"
    },
    {
      "commit": "38e7338d92f22a02be6e782e1332091c6c02e25a",
      "tree": "7bc7683dbe090f78d0b4676d7c609a8a16ba63a4",
      "parents": [
        "e72aecb6559af378da6fa0c18c60898156aa03bc",
        "9fb8177ca5afef7e6becf897f04a42de8dd7db5b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 05 23:29:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 05 23:29:10 2018 +0000"
      },
      "message": "Merge \"Fix a \u0027memory leak\u0027\""
    },
    {
      "commit": "0bd972083a43365ef753e5e09b9f1e6735864139",
      "tree": "3f04a3881afb4fbd1019db1b509aef9c3c99314d",
      "parents": [
        "e5736b6730b07620e2a503a861b8d72d53a59786"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Jun 05 12:42:37 2018 -0700"
      },
      "committer": {
        "name": "Adam Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Jun 05 19:46:23 2018 +0000"
      },
      "message": "Wean statsd off batterystats: workchain (cp)\n\nModified cherry pick from master:\n(cherry picked from commit d888df2ba99e117b50a5553e18426ad370294a20)\ncovering ag/4210168 and ag/4230692.\n\nThe tool that generates StatsLogInternal.java now includes the following\ntype of code, to accomodate WorkSources automatically.\n\n    public static void write(int code, WorkSource ws, int arg2) {\n        for (int i \u003d 0; i \u003c ws.size(); ++i) {\n            write_non_chained(code, ws.get(i), ws.getName(i), arg2);\n        }\n        ArrayList\u003cWorkSource.WorkChain\u003e workChains \u003d ws.getWorkChains();\n        if (workChains !\u003d null) {\n            for (WorkSource.WorkChain wc : workChains) {\n                write(code, wc.getUids(), wc.getTags(), arg2);\n            }\n        }\n    }\n\nThis will reduce a lot of code repitition for the StatsLog.write calls\nin BatteryStats. Consequently, doing so will make it easier to remove\nthese StatsLog.write calls out of BatteryStats.\n\nBug: 80308558\nBug: 80314737\nTest: manual verification\nTest: com.android.internal.os.BatteryStatsTests\nChange-Id: Ied537a6195121f16ef49b6bccf58c8c31964909c\nMerged-In: Ibd28297345f4ab926dec01a89de0f1bfff9f8871\n"
    },
    {
      "commit": "ced516b80511cdc9463d2eef5b63a6d2308e6037",
      "tree": "c3982a1a8061bc112d9c1ea2919b3250be71169a",
      "parents": [
        "f14c3cb03644dcaf49c372d91893ad6269be495d"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu May 31 16:46:45 2018 -0700"
      },
      "committer": {
        "name": "Adam Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Jun 05 19:39:57 2018 +0000"
      },
      "message": "StatsLog.write javadoc comment improvements\n\nWhen attribution is present, log lines should use the\nStatsLog.write(WorkSource) variation, so the javadoc comments are\nupdated accordingly.\n\nBug: 80308558\nBug: 80314737\nTest: manual verification of output\u0027s comments\nChange-Id: I1d1a7972a68ce98b1dbfd62a829a73edfb605684\n"
    },
    {
      "commit": "d888df2ba99e117b50a5553e18426ad370294a20",
      "tree": "8c4bd079fb0cef2a16a87dbce84ccda7bc99f360",
      "parents": [
        "62786b4431c07cc7de4f1cd30610afcb99a35178"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue May 29 11:46:47 2018 -0700"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Jun 01 11:12:41 2018 -0700"
      },
      "message": "Wean statsd off batterystats: workchain, longPW\n\nThe tool that generates StatsLogInternal.java now includes the following\ntype of code, to accomodate WorkSources automatically.\n\n    public static void write(int code, WorkSource ws, int arg2) {\n        for (int i \u003d 0; i \u003c ws.size(); ++i) {\n            write_non_chained(code, ws.get(i), ws.getName(i), arg2);\n        }\n        ArrayList\u003cWorkSource.WorkChain\u003e workChains \u003d ws.getWorkChains();\n        if (workChains !\u003d null) {\n            for (WorkSource.WorkChain wc : workChains) {\n                write(code, wc.getUids(), wc.getTags(), arg2);\n            }\n        }\n    }\n\nThis will reduce a lot of code repitition for the StatsLog.write calls\nin BatteryStats. Consequently, doing so will make it easier to remove\nthese StatsLog.write calls out of BatteryStats. We start in this cl with\nLongPartialWakelock (as proof of principle).\n\nBug: 80308558\nBug: 80314737\nTest: manual verification\nTest: com.android.internal.os.BatteryStatsTests\nChange-Id: Ibd28297345f4ab926dec01a89de0f1bfff9f8871\n"
    },
    {
      "commit": "40c95320fd1c5ccbabadfcee0c3cb9454155e3d3",
      "tree": "1c2fbefc647dbd9463db233fe218cd5f2986ed2f",
      "parents": [
        "dd309ea63aa589294bbd02e16c7816618b69a2aa",
        "9a2f6e60c6a8aba61dadc66c20f13d00327dca46"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu May 31 21:32:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 31 21:32:39 2018 +0000"
      },
      "message": "Merge \"AAPT2: Add Proguard rules for nav fragments\""
    },
    {
      "commit": "da02feaca2db055df1f52493edc9fe3ddf2aa88b",
      "tree": "c026c098de0792f3da4c3d979b11506fd55003b6",
      "parents": [
        "1d09efefebab4915e78dd06ba977c7ded4a46ab7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 25 22:46:35 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 30 23:25:21 2018 +0000"
      },
      "message": "Add support for --replace-version to aapt2\n\nImplement --replace-version to match aapt1.\n\nBug: 79755007\nTest: aapt2_tests\nChange-Id: Iee2bd9a3981c7d4681509f18b735c6e9e6c1a336\nMerged-In: Iee2bd9a3981c7d4681509f18b735c6e9e6c1a336\n(cherry picked from commit dcd58c420771af75c625242985bd96ba828aca56)\n"
    },
    {
      "commit": "f7ae76d8451f1f9a4099c5fa5d3197b0f4763c75",
      "tree": "56f44cdb2c6ca7d11402da4d709d7f7560ca81ac",
      "parents": [
        "2f4bf5423d742ca6df4488d9df61f794ea2e82f1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 25 22:46:35 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 30 15:40:06 2018 -0700"
      },
      "message": "Add support for --replace-version to aapt2\n\nImplement --replace-version to match aapt1.\n\nBug: 79755007\nTest: aapt2_tests\nChange-Id: Iee2bd9a3981c7d4681509f18b735c6e9e6c1a336\nMerged-In: Iee2bd9a3981c7d4681509f18b735c6e9e6c1a336\n(cherry picked from commit dcd58c420771af75c625242985bd96ba828aca56)\n"
    },
    {
      "commit": "dcd58c420771af75c625242985bd96ba828aca56",
      "tree": "5eec0fc5731241d012c4d74d989100625175dabc",
      "parents": [
        "e59e48e9c1a14d1a22cf7bf32ae18d28f96cf3c2"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 25 22:46:35 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 30 14:48:52 2018 -0700"
      },
      "message": "Add support for --replace-version to aapt2\n\nImplement --replace-version to match aapt1.\n\nBug: 79755007\nTest: aapt2_tests\nChange-Id: Iee2bd9a3981c7d4681509f18b735c6e9e6c1a336\n"
    },
    {
      "commit": "9a2f6e60c6a8aba61dadc66c20f13d00327dca46",
      "tree": "eaff99a6c0e3e4db0e9a2f6da0af767038314b8d",
      "parents": [
        "5cfe061ed5644de4addbf43775963c5c5306ef20"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed May 23 14:23:18 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu May 24 09:58:27 2018 -0700"
      },
      "message": "AAPT2: Add Proguard rules for nav fragments\n\nAdds generation of proguard rules for fragments in res/navigation. All\nandroid:name attributes have keep rules generated for the classes they\nreference.\n\nBug: 69929974\nTest: aapt2_tests\nChange-Id: I05a87484ab357ea5629b73caad8488182f474e1f\n"
    },
    {
      "commit": "a593605dfaef91c36c4ba2b5671f0b9bc538f5ec",
      "tree": "68575f1cc39d1ff37a9ac9b49d3c85e9d731f05e",
      "parents": [
        "5cfe061ed5644de4addbf43775963c5c5306ef20"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed May 23 13:31:28 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu May 24 09:46:33 2018 -0700"
      },
      "message": "AAPT2: Accept density config as default\n\nWhen a resource does not have a default config value defined, and the\nresource only has config values defined for language translations, that\nresource should be removed; however, if the resource also contains a\ndensity specific config value, the resource should not be removed.\n\nThis is because a density specific value should have the same content as\nwhat the default value would have, just higher or lower quality.\n\nBug: 76413048\nTest: aapt2_tests\nChange-Id: I52fe37a7aa3aefb694d3af6c8adfd6269fa26f54\n"
    },
    {
      "commit": "533c09b01b175b8b59e8f83c64a61d98ca808e75",
      "tree": "3d8a57967bed4ea1c6e1002a15716ab9c3d88c0d",
      "parents": [
        "b2b20f26db06c9d9f84b9801f27cb17ab7444e2f"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Tue Dec 19 16:22:42 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 21 19:51:50 2018 +0000"
      },
      "message": "AAPT2: treat manifest validation errors as warnings when asked\n\nBug: 65670329\nTest: updated\nChange-Id: Ic554cc20134fce66aa9ddf8d16ddffe0131c50e9\nMerged-In: Ic554cc20134fce66aa9ddf8d16ddffe0131c50e9\n(cherry picked from commit ad9e1324ff2c459d0ee6ee571d4a3e458c02cc81)\n"
    },
    {
      "commit": "b2b20f26db06c9d9f84b9801f27cb17ab7444e2f",
      "tree": "a1d7d93f8d7b598bc606615002e85ed122b11fec",
      "parents": [
        "ef506c73bb841d363060d2f0b52d56f3a28eea0e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 02 12:07:08 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 21 19:51:42 2018 +0000"
      },
      "message": "AAPT2: Better error messages for ManifestFixer\n\nAAPT2 will now print the XML hierarchy where it found an unexpected\nelement.\n\nTest: make aapt2_tests\nChange-Id: Iac7918b2f344fab874f0a3e7aa9c6936ecde8913\nMerged-In: Iac7918b2f344fab874f0a3e7aa9c6936ecde8913\n(cherry picked from commit ed37f4842ad838792b16bf19768ed9b2519b0194)\n"
    },
    {
      "commit": "ef506c73bb841d363060d2f0b52d56f3a28eea0e",
      "tree": "2204f7835543ecc7723a025ffb4ec5434c626a75",
      "parents": [
        "1e0a5d397dfce71c8541fd08d0215263fc9947a3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 06 10:44:46 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 21 19:48:36 2018 +0000"
      },
      "message": "AAPT2: Differentiate between Android and Java package names\n\nAndroid package names are more strict (ASCII only) than Java package names.\nAlso fixed an issue where trailing underscores were disallowed in Android\npackage names.\n\n(cherry picked from commit 96ea08f1e737e0d19e274e9a29f71c387d81b09a)\n\nAlso includes part of I357fb84941bfbb3892a8c46feb47f55b865b6649 to remove\nusage of FindNonAlphaNumericAndNotInSet.\n\nBug: 79481102\nTest: make aapt2_tests\nChange-Id: I1052e9e82b6617db6065ce448d9bf7972bb68d59\nMerged-In: I1052e9e82b6617db6065ce448d9bf7972bb68d59\n"
    },
    {
      "commit": "89794158a1a5bca01abd834387d6e4e95e70f806",
      "tree": "32efdabbbe0eea9c24bb077ada404d98906b0adf",
      "parents": [
        "646dfc77039404a52e51d44df78fc819cfb263dd"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Mar 02 12:10:25 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 17 22:13:11 2018 -0700"
      },
      "message": "Change ownership of AAPT2 and libandroidfw\n\ntoddke@ is now the new owner of these projects.\n\nExempt-From-Owner-Approval: setting new owners\nTest: none\nChange-Id: Ie92b020e0ba063f48ce8a76ebaef768fe0d554f1\nMerged-In: Ie92b020e0ba063f48ce8a76ebaef768fe0d554f1\n(cherry picked from commit a95e841846c3add37cab0ca228e1e1a4eb0a1455)\n"
    },
    {
      "commit": "29f208b483eae02da778632c0002dcb8d640555b",
      "tree": "0fedda2edbf750b775faf8cf49d2ca3c1ba8e563",
      "parents": [
        "39d40e84e2213da312f71a5bc8af07ace2b73292",
        "df8ed7a44617cefd34f568a10b66280fbddf9f10"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed May 16 15:58:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 16 15:58:13 2018 -0700"
      },
      "message": "Merge \"Update font chain linter to match latest font file\" into pi-dev am: 31c4a48267\nam: df8ed7a446\n\nChange-Id: Idb7374c2e71b2124ed50a8d6b3d6c3f4e363bb9d\n"
    },
    {
      "commit": "df8ed7a44617cefd34f568a10b66280fbddf9f10",
      "tree": "316399ba9ef37189c35fbc2f6a2454ebe1777e7d",
      "parents": [
        "bbc587cf323c927d5dac4c795a15ccb0a812a624",
        "31c4a48267f7e679b84c786df7520ab5e5de33a0"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed May 16 15:38:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 16 15:38:26 2018 -0700"
      },
      "message": "Merge \"Update font chain linter to match latest font file\" into pi-dev\nam: 31c4a48267\n\nChange-Id: Ia5f7799fcb43b59adfc672a9d7af0f6a8c583f09\n"
    },
    {
      "commit": "31c4a48267f7e679b84c786df7520ab5e5de33a0",
      "tree": "58d373ec91983a23e56b131a5b23811fb87d7b4b",
      "parents": [
        "08900edb09dd48fa7977e273ab895dfcaf8eef45",
        "c18086310b3b36f869455c7a63332b3c1fa728b7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 16 22:11:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 16 22:11:17 2018 +0000"
      },
      "message": "Merge \"Update font chain linter to match latest font file\" into pi-dev"
    },
    {
      "commit": "9fb8177ca5afef7e6becf897f04a42de8dd7db5b",
      "tree": "ec9f319545c4f24d39b427e0be00643180cb6631",
      "parents": [
        "b0ae3e5bfc4dce380c5d07f890402fe9f0a122d7"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue May 15 18:03:00 2018 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue May 15 18:03:00 2018 -0700"
      },
      "message": "Fix a \u0027memory leak\u0027\n\nRealistically, this memory will be reclaimed by the OS when we return\nhere. Regardless, we do a similar cleanup above if an exec() function\nfails, and having the free here makes our tooling slightly happier.\n\nComplained about by the static analyzer\n\nBug: None\nTest: Ran the analyzer. It no longer complains about this leak.\nChange-Id: Ia7107c585cc38fef8bd7c59d85ff896b04e93658\n"
    },
    {
      "commit": "287e14bb2097126020b0a0778db643991fd607b1",
      "tree": "e77da2b7ff93a8e107a5076245f3a7a1c42ee307",
      "parents": [
        "a01ad7dc24c7c137a9ad8eb1091599ae07d92246",
        "6ef148ce5c6626f5223fef196217d5be9050c712"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Tue May 15 12:23:53 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 12:23:53 2018 -0700"
      },
      "message": "Merge \"The argument type is bool, the current bug passes a \"true\" or \"false\" string.\" into pi-dev am: 0a3815958a\nam: 6ef148ce5c\n\nChange-Id: Ie5ca5fe0df06c14b8c72108ef53313b41b4acac4\n"
    },
    {
      "commit": "6ef148ce5c6626f5223fef196217d5be9050c712",
      "tree": "3c9f40853aa656209872f7af98f969eb14a669de",
      "parents": [
        "a2232e280348d6e7c0fe9a7a381f593ff5f4a72e",
        "0a3815958a791426f27fd511db790b52073f0d29"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Tue May 15 11:27:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 11:27:13 2018 -0700"
      },
      "message": "Merge \"The argument type is bool, the current bug passes a \"true\" or \"false\" string.\" into pi-dev\nam: 0a3815958a\n\nChange-Id: Iadf8a52e65ba7930f419eacbaac9816992715506\n"
    },
    {
      "commit": "c18086310b3b36f869455c7a63332b3c1fa728b7",
      "tree": "5b1bece8bafbd26bd475e5d39e64dc64158e0a74",
      "parents": [
        "82db2614e450f92e373d0018a5b23d80c13511c2"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon May 14 13:39:40 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue May 15 16:09:48 2018 +0000"
      },
      "message": "Update font chain linter to match latest font file\n\n- FAMILY emoji now has own gender neutral emoji\n- Some flags are newly supported\n- Some regions may have the same flags.\n\nBug: 77148691\nTest: m fontchain_lint\nChange-Id: If1a69974230f025d35503eb49bea105923593e87\n"
    },
    {
      "commit": "480a956521e6b9dede8f159014fceb5a5a6e196d",
      "tree": "28122b569c6ea5c81d98e2c56af4a089c5c20796",
      "parents": [
        "ba96b97aab8bb28d6d649733a5b72539e8b37b51"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon May 14 18:04:29 2018 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon May 14 18:04:29 2018 -0700"
      },
      "message": "The argument type is bool, the current bug passes a \"true\" or \"false\"\nstring.\n\nBug: 79710844\nTest: atest incidentd_test\nChange-Id: I66fc086e4a194e68638311ccdc305a495ecf8da4\n"
    },
    {
      "commit": "8b83f5c4019c65ba219edba6cdda266544d96993",
      "tree": "64d314e4b58dd3288d1462598be9bc944b11e2c7",
      "parents": [
        "6c38a99630a6f753dd934bf6e3b091b41cbb5965",
        "ea5cf9f31c64e93d6589216e10504abd4f7a1c30"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon May 14 11:32:16 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 14 11:32:16 2018 -0700"
      },
      "message": "Merge \"For Win32, don\u0027t cast ssize_t while printing\" am: aaf8d7aa2e am: 466ada94fe\nam: ea5cf9f31c\n\nChange-Id: I77ee34cf56d68614b2f6e315c7f4797494f89c55\n"
    },
    {
      "commit": "ea5cf9f31c64e93d6589216e10504abd4f7a1c30",
      "tree": "28b40a8ad60ef0a7ea81d88852eb543d4651c418",
      "parents": [
        "24482c9f05c4d4bd0e1460c1732a02fbdc7f7d69",
        "466ada94fe8848da5637d2134a460291b5e00a22"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon May 14 11:22:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 14 11:22:57 2018 -0700"
      },
      "message": "Merge \"For Win32, don\u0027t cast ssize_t while printing\" am: aaf8d7aa2e\nam: 466ada94fe\n\nChange-Id: I39b73406a41ecc5396c39648f8e05e8a88e7aaee\n"
    },
    {
      "commit": "dc36bb6dea837608c29c177a7ea8cf46b6a0cd53",
      "tree": "b2665fb535d0583511349cdf5d00052a705dd2ab",
      "parents": [
        "ef43ea3238e55ddca0658059a05c7a53db50d621"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri May 11 15:52:49 2018 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri May 11 23:22:10 2018 +0000"
      },
      "message": "For Win32, don\u0027t cast ssize_t while printing\n\nBug: http://b/69933068\n\nThis is a partial revert of\nhttps://android-review.googlesource.com/c/platform/frameworks/base/+/109433\nso we can use Clang for windows cross compilation.\n\nClang does not allow a cast to \u0027signed size_t\u0027 and both Clang and\ncurrent MinGW accept a ssize_t to the \u0027%zd\u0027 format specifier.\n\nTest: m native-host, m native-host-cross with both MinGW and Clang\nChange-Id: I5366622b91be1433f6c533c55a9ae429b57c7a27\n"
    },
    {
      "commit": "3a20be789f8055356973e61d19e69cf9982429fe",
      "tree": "4a5ab891e6616636dede6ab93e27d8e269077882",
      "parents": [
        "b9a57f05a09a061917b86100571902de07f8409d",
        "78e0e6aa2ee266b41b04482ac85124db5a4c4358"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri May 11 08:41:00 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 11 08:41:00 2018 -0700"
      },
      "message": "Merge \"AAPT2: Insert platformBuild information\" into pi-dev am: 91d2f87d0e\nam: 78e0e6aa2e\n\nChange-Id: I6fb1af5b521c5a887ee494c745b83592e48228de\n"
    },
    {
      "commit": "78e0e6aa2ee266b41b04482ac85124db5a4c4358",
      "tree": "6ef13f97041e48143b50bc36bf98a048c916c3ca",
      "parents": [
        "bad3bf6c22998dd0abfc36827bf3996e064612dd",
        "91d2f87d0eef6e5445b1152f24ec708764e703d4"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri May 11 08:30:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 11 08:30:35 2018 -0700"
      },
      "message": "Merge \"AAPT2: Insert platformBuild information\" into pi-dev\nam: 91d2f87d0e\n\nChange-Id: Ifa673f17cb3ee1ecb146aaafab7c3c71b47f7154\n"
    },
    {
      "commit": "91d2f87d0eef6e5445b1152f24ec708764e703d4",
      "tree": "6df66a3e890519a9109e1c1306ed284fa6161de5",
      "parents": [
        "f36144f575098d2ff1be8343827fb92d10b9db9b",
        "7cb82a86beda55a178d76dc8dd90d0b01a4b9c91"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri May 11 15:18:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 11 15:18:56 2018 +0000"
      },
      "message": "Merge \"AAPT2: Insert platformBuild information\" into pi-dev"
    },
    {
      "commit": "7cb82a86beda55a178d76dc8dd90d0b01a4b9c91",
      "tree": "32d4b8fc40aea3087d36ef451761c015652e2a71",
      "parents": [
        "1822926cfbf55cc68a85cdfd588802f4a106cdb5"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu May 10 15:35:31 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu May 10 15:37:37 2018 -0700"
      },
      "message": "AAPT2: Insert platformBuild information\n\nInserts platformBuildVersionName and platformBuildVersionName when the\nattributes are not currrently present. The attributes are set to\nthe values of versionName and versionCode.\n\nBug: 77541121\nTest: Build apk using aapt and appt2 and dumped using xmltree to confirm\nthe presence of the attributes\nChange-Id: I5330381905c878fb877214b42f83d7e2e48cd062\n"
    },
    {
      "commit": "cd04ac517e142e82d9ecfd6ea90b4563617d517d",
      "tree": "4e6b274d545a336747d2c319db63696f09c361d0",
      "parents": [
        "ef2a0c3c0d690055adf354f7f27417665804941a",
        "f01c08de248681ec6a0359c292e2a488136d7fbd"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 09 12:28:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 09 12:28:19 2018 -0700"
      },
      "message": "Merge \"Move libstatssocket to system/ so that lmkd can build on PDK.\" into pi-dev am: 8ca46fc4ac\nam: f01c08de24\n\nChange-Id: I8876c0b819165fb5a9404229c7c7f03b510d7ebd\n"
    },
    {
      "commit": "f01c08de248681ec6a0359c292e2a488136d7fbd",
      "tree": "3d7adc89f17764d4804d0bcdaeafeabcc7b72bb3",
      "parents": [
        "e46d7975b80442307500e4e1b91fde28a169d405",
        "8ca46fc4aceeec572d75b37303fc95cca72a64f9"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 09 11:46:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 09 11:46:43 2018 -0700"
      },
      "message": "Merge \"Move libstatssocket to system/ so that lmkd can build on PDK.\" into pi-dev\nam: 8ca46fc4ac\n\nChange-Id: I70b7f3187da66eb720d1bc0c5ac83658ea4a6280\n"
    },
    {
      "commit": "8ca46fc4aceeec572d75b37303fc95cca72a64f9",
      "tree": "cfa900e643a1444ceff0baa67b80b25d052ba1c2",
      "parents": [
        "c3d079845579e64ec5b69ee1e1a2bf7699c10046",
        "c9c242e5cfad53f2b0235416a3103adf159983de"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 09 18:08:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 18:08:46 2018 +0000"
      },
      "message": "Merge \"Move libstatssocket to system/ so that lmkd can build on PDK.\" into pi-dev"
    },
    {
      "commit": "ccb89f926375a377643075b376d157608ecfb468",
      "tree": "0aea75ee040940fd635f390cc9ad6a1dbeda06b4",
      "parents": [
        "769039598b54e8c5757a2591269591b1bc5426c0",
        "291b944d89e15ee6236e0f2dcc97126bbfeb639c"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Tue May 08 08:11:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 08:11:22 2018 -0700"
      },
      "message": "Merge \"Adding batterystats history to proto dump.\" into pi-dev\nam: 291b944d89\n\nChange-Id: Ie1766ac31bc048eeba13d540c446372ef56c2da6\n"
    },
    {
      "commit": "2200a1b83bf94456711b61b518b0daa38b0e18ae",
      "tree": "9552a7789218e724afa7d6867a025d31cc11657c",
      "parents": [
        "40f67c52bb0553e81a1537369abe2878641a6aaa"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sat May 05 12:07:38 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 10:29:50 2018 +0100"
      },
      "message": "Add presubmit hook for hidden API lists.\n\nCheck that they\u0027re sorted as expected and contain no duplicates.\nThe sort order now uses:\n$ LC_COLLATE\u003dC sort -f\n\nSo that non-alphanumeric characters are not ignored, giving a more\nintuitive sort order. the \u0027-f\u0027 means ignore case.\n\nAlso sort the existing lists accordingly.\n\nTest: repo upload\nBug: 64382372\nMerged-In: I52b884da33a9a46455df6747a215683d9d3c3218\nChange-Id: Icc124fd8ceb3f001a9c11bbf40e0a111910c6b39\n(cherry picked from commit e5dc64d4281dd9f38c2b585202e26ae4278fcfc5)\n"
    },
    {
      "commit": "3d16091dd2c8df5ecd68bb8a18c14db8a6b044de",
      "tree": "3ca2fc1ca92c98cfea2c61a57dbc5f25acd351f2",
      "parents": [
        "e2a0702821c7f4ed9b90d450da9b0364205d12b6"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Mon May 07 11:26:27 2018 -0700"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Mon May 07 17:57:42 2018 -0700"
      },
      "message": "Adding batterystats history to proto dump.\n\nIt will only print out a dump for userdebug or eng builds.\n\nThis is the same change as the pi-dev one (http://ag/3909863), but due\nto changes in master, that change has a merge conflict, so I have to\ncreate a separate CL for master.\n\nBug: 77727638\nTest: it builds\nChange-Id: Ib74d4c664f23a61e6fc33f700ba6a3c6fad32c74\n"
    },
    {
      "commit": "71a9531806d9d37f5482c4d242f95416c04715bf",
      "tree": "8eff29e64b4d22ac886f1a48d8645f3bd8820dcd",
      "parents": [
        "564942d0655e841fcb7c7dd7032f04b8fb45a111"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Mon Apr 16 16:54:24 2018 -0700"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Mon May 07 17:53:57 2018 -0700"
      },
      "message": "Adding batterystats history to proto dump.\n\nIt will only print out a dump for userdebug or eng builds.\n\nBug: 77727638\nTest: flash device and check output of incident proto and\n\u0027dumpsys batterystats -c --history\u0027\n\nMerged-In: Ib74d4c664f23a61e6fc33f700ba6a3c6fad32c74\nChange-Id: Ia0c993d1281cc350d93f9c13f5540b349a4bfb84\n"
    },
    {
      "commit": "c9c242e5cfad53f2b0235416a3103adf159983de",
      "tree": "07c44c6a2479bf7bd98835ad0f3629bd351b6f3a",
      "parents": [
        "fd3b398e91ed7b18aca27a0835c7599d0e4e66d3"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon May 07 17:00:46 2018 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon May 07 17:00:46 2018 -0700"
      },
      "message": "Move libstatssocket to system/ so that lmkd can build on PDK.\n\nBug: 79349329\nTest: builds locally\nChange-Id: I9e767639f39fcd317ba0d8daf353d9af3bb73359\n"
    },
    {
      "commit": "441d76894f96eebb36dd3c7f900406c3107889a2",
      "tree": "99580b04f9fe168edcfcc143665b8e4139749377",
      "parents": [
        "9e29859d2ea19ab9a995375b176dbb2a213ae03e",
        "4ea3ecbc14d50b596d772263ada0391ab4b0e58b"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri May 04 13:51:23 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 04 13:51:23 2018 -0700"
      },
      "message": "Merge \"Support stats log in lmkd.\" into pi-dev am: dcd71294a4\nam: 4ea3ecbc14\n\nChange-Id: I0df060654430e40089ca43c4b350ab5b96b1a6c2\n"
    },
    {
      "commit": "4ea3ecbc14d50b596d772263ada0391ab4b0e58b",
      "tree": "42d8a115d83c508297e676d2b01b15cbe715aaba",
      "parents": [
        "3f1c2382c962cfa053dc3ebdc35160797f215ef6",
        "dcd71294a40262f38b11e26c470a4f470925b7fd"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri May 04 13:35:07 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 04 13:35:07 2018 -0700"
      },
      "message": "Merge \"Support stats log in lmkd.\" into pi-dev\nam: dcd71294a4\n\nChange-Id: I2607f3f94cc74e5bddccc664acbd8f139af85151\n"
    },
    {
      "commit": "88e881017c473e77e6b462a27fdd47357573a035",
      "tree": "137ae18cceaf78dfc0a143ead97902771b280f14",
      "parents": [
        "dbeff868c3caa4aa4abe0a6ddb4e2a5afc18cf61"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed May 02 09:23:05 2018 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu May 03 15:42:17 2018 -0700"
      },
      "message": "Support stats log in lmkd.\n\nThis CL changes the relevant cpp files to c files. And added functionalities to reset the log\ncontext for reuse.\n\nBackground:\n+ lmkd doesn\u0027t use the generated statslog code because:\n   1. lmkd doesn\u0027t want to create a 4K log context for each log. lmkd is single threaded and can\n      reuse the same log context.\n   2. lmkd is written in c, and the existing statslog.h/.cpp are not compatible\n\nBug: 78603347\nTest: manually tested with alloc-stress\nChange-Id: Ife6f5c69248ecf5af730269e67f229ba4c72f37f\n"
    },
    {
      "commit": "461b3001f6b731932b3625a9efe2d58e85361adf",
      "tree": "ca8969775f7b72aa8f8d7d0f24253c67f6fbc7fb",
      "parents": [
        "3278aa86fcbf1cc868c1a629b65bfd3d0edc3dd2",
        "cc6e856522e57f17d3ebf382289cf967275fa670"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed May 02 17:49:08 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 17:49:08 2018 -0700"
      },
      "message": "Merge \"AAPT2: Fix quoted text in res/xml assets\" into pi-dev am: 150bafd217\nam: cc6e856522\n\nChange-Id: Ie22b644b07da19fcc51e59529f5e38ee2f1f9137\n"
    },
    {
      "commit": "68a16c42773f7b3969de4003f0a4b680d6fc62de",
      "tree": "eb950e4d0735f7eb125a0b8ec5bfbf68b0bda6e3",
      "parents": [
        "3a419327ea1fddd00fc182dfdf9cb8beb349100b",
        "e09cde0cd986223fd152e7629411254015de016f"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed May 02 15:10:58 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 15:10:58 2018 -0700"
      },
      "message": "Merge \"Add a section flag to bypass failure if a specific path can\u0027t be found.\" into pi-dev\nam: e09cde0cd9\n\nChange-Id: I01c5a7a2c1ead02f5af0514cf9bf9b83f1682316\n"
    },
    {
      "commit": "e09cde0cd986223fd152e7629411254015de016f",
      "tree": "c9eeb0d387ce27b883307cfec296b592bfa561f7",
      "parents": [
        "85c7a9a11382994a1d48995b04104139b74f8d4d",
        "7fe3dee3ae1cc47b50c4001cbac56c4fefbcc57b"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed May 02 21:36:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 21:36:23 2018 +0000"
      },
      "message": "Merge \"Add a section flag to bypass failure if a specific path can\u0027t be found.\" into pi-dev"
    },
    {
      "commit": "60f06b7770199fadddb3a5c5853c1f5232860c6a",
      "tree": "b8e4193959ad52ed3015ad37fca97c76e359f4f3",
      "parents": [
        "8a88fc3db62fb9c486ab4c81d55b1ad73ca2fac1",
        "932c44d3297c94646ac7b0a24dc923f18c9e2fe9"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed May 02 13:55:05 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 13:55:05 2018 -0700"
      },
      "message": "Merge \"AAPT2: Fixed id parsing error\" into pi-dev am: f4c089dd90\nam: 932c44d329\n\nChange-Id: I661784fcabac19d4d9bae137904b9282d9765d79\n"
    }
  ],
  "next": "cc6e856522e57f17d3ebf382289cf967275fa670"
}
