)]}'
{
  "log": [
    {
      "commit": "b6b77c6fb46f5f4b53880f1419339eae5df49484",
      "tree": "b32d27f50743ae699db159fbfb47303c7cc8c949",
      "parents": [
        "7ccf46bed5dbd4ab585f61b98bf69ace00bd4c18"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Fri Oct 12 19:33:24 2018 -0700"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Sat Oct 13 10:40:09 2018 -0700"
      },
      "message": "Make state atom field annotation name consistent between google3 and android.\n\nTest: statsd test\nFix: b/117681672\n\nChange-Id: I3b0145516c594cc23565df67acc1cfa9f79d306e\n"
    },
    {
      "commit": "d4bf08501a4383f80131c87ea54e160186379def",
      "tree": "b7e2a7b9e02a8569108871a8f98f96d5ea1d0d17",
      "parents": [
        "c5f8fa9d8142170679fc9584a23916cd8681de83",
        "05aebf46b45b2abb48e883bc495907be223a5e0c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Oct 12 16:42:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 12 16:42:34 2018 +0000"
      },
      "message": "Merge \"Preserve compression of xml files in convert\""
    },
    {
      "commit": "05aebf46b45b2abb48e883bc495907be223a5e0c",
      "tree": "6aa8cc9892f07832b763cc50d913b0e09eda6f26",
      "parents": [
        "167aa777b038a9833127a975c747d90f35aa5069"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Oct 09 15:08:41 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Oct 11 17:14:29 2018 -0700"
      },
      "message": "Preserve compression of xml files in convert\n\nRespect the compression the original compression of xml files when using\naapt2 convert. Uncompressed files should remain uncompressed, and\ncompressed files should remain compressed.\n\nBug: 117289326\nTest: manual\nChange-Id: I81b431b4a4abd81f5694ea7dc3b3c6ec8c13ca32\n"
    },
    {
      "commit": "13e6a1dc3e25040a16d0fef47e909f08179bb9ce",
      "tree": "6167744ee5676ba69d8501d3eda52b192399c46a",
      "parents": [
        "c997fc62e06f1fb2eadbceb6e7dfaa71fb2cf080"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Sep 25 16:11:40 2018 -0700"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Oct 09 13:55:31 2018 -0700"
      },
      "message": "Add style parents dump command.\n\nThis command prints out the parent graph of a given style\n\nTest: out/host/linux-x86/bin/aapt2 dump styleparents \\\n    --style Widget.MaterialComponents.TextInputLayout.FilledBox \\\n    out/target/product/generic_x86/system/priv-app/SystemUIGoogle/SystemUIGoogle.apk\nChange-Id: Ib2ace7e90bee6f1c4b6a184edc591b1a3993db75\n"
    },
    {
      "commit": "1e7b9347d7cbaf94760ebd9b5af1e5df2e5173ea",
      "tree": "8d1e093d75034b31e7b072f7f6ad1246b1e0c5ae",
      "parents": [
        "e0017d64ee950fccc6c34da4f266f099671e2768",
        "214846df59118ebe6b75706ea3505a8bb3b2f93c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 09 19:15:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 09 19:15:47 2018 +0000"
      },
      "message": "Merge \"Created resuable DumpApkCommand and added \"badger\"\""
    },
    {
      "commit": "8cf68fcac11fb0e3af1a924349108e4b28f4798b",
      "tree": "e9e4e66735e01d9abd5ac51734000377a4c9c44c",
      "parents": [
        "96af49eb0179d672eae72aa517946475697ee463",
        "ca7411c0e9b2d4b165b8dfe0b0f5d08e936986a7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Oct 09 10:51:55 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 10:51:55 2018 -0700"
      },
      "message": "Merge \"Add rtmitchell to AAPT2 OWNERS\" am: 0d3f4e61c9 am: f1aadaf8c5\nam: ca7411c0e9\n\nChange-Id: Ie50f8397291a83194c556e7647fe071788ebcdd9\n"
    },
    {
      "commit": "214846df59118ebe6b75706ea3505a8bb3b2f93c",
      "tree": "993d34675e462c8e535b8b8ee543c7b22328e4fe",
      "parents": [
        "99ecc121bca092afb2ace650f879f437c9d3ff9b"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 19 16:57:01 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Oct 09 10:51:25 2018 -0700"
      },
      "message": "Created resuable DumpApkCommand and added \"badger\"\n\nThis change refactors the dump commands to inherit from a base\nDumpApkCommand and adds a command that prints out an ASCII\nimage of a badger if the user wrote \"badger\" instead of\n\"badging\". The command is hidden from the help menu.\n\nBug: 73535002\nTest: manual\nChange-Id: I9bdd8a7bbf6a4282c4933e5c478f6d1d8e32d99e\n"
    },
    {
      "commit": "96af49eb0179d672eae72aa517946475697ee463",
      "tree": "f2ba664fd73602db5fd526b8d6d3ca6f6be7abde",
      "parents": [
        "ee3fa7ed269406db5bc509b3b6ee0ad4972bafd9",
        "d8d290107a18a00631e2ef254ea1b6521202b871"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 09 17:32:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 09 17:32:29 2018 +0000"
      },
      "message": "Merge \"AAPT2: optionally keep resources without default value\""
    },
    {
      "commit": "f1aadaf8c5c1216049310f56c9f361ba107475da",
      "tree": "98fedb714fbe74f8f00864de0a02423b5717a22c",
      "parents": [
        "884820a2a8373f96211de4f7c5d148738ea4579e",
        "0d3f4e61c99057c7e40c9159ba08286c34cf797c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Oct 09 10:31:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 10:31:54 2018 -0700"
      },
      "message": "Merge \"Add rtmitchell to AAPT2 OWNERS\"\nam: 0d3f4e61c9\n\nChange-Id: I5285ed50123ed2fd219c6b9daa5e460c0cbdaa36\n"
    },
    {
      "commit": "d8d290107a18a00631e2ef254ea1b6521202b871",
      "tree": "aac2780bfc007881466bdda6575ee1470f8d5712",
      "parents": [
        "ec5c04f4ab781938123e5f68569048cf65fddc14"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Mon Jun 11 14:13:37 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Oct 09 07:01:17 2018 -0700"
      },
      "message": "AAPT2: optionally keep resources without default value\n\nTeach \"aapt2 link\" about a new flag --no-resource-removal. When given,\naapt2 will not filter out resources that lack default values. This is\nuseful mostly when building overlay packages that define resources for\nnon-default configurations, such as only for values-sv.\n\nTest: manual: build package with resource only in values-vs, verify apk with aapt2 dump\nChange-Id: Idc513bcb3f43bbff7f073163562c3dfccdb9bc9b\n"
    },
    {
      "commit": "6d659e8cebf8037d8ba98ffc6e30fe18e83b0575",
      "tree": "44bb82e5930c571c2175f9235c36babe40b72d57",
      "parents": [
        "a60c94aab934ae67aee981b771c9da2a46baef9f",
        "24c9aa65411207067f509c5e88ad31b303d26fcd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 08 15:41:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 08 15:41:13 2018 +0000"
      },
      "message": "Merge \"libandroidfw: move ConfigDescription from aapt2 to libandroidfw\""
    },
    {
      "commit": "24c9aa65411207067f509c5e88ad31b303d26fcd",
      "tree": "9a7405282c003f0c360c95bd051681733d765919",
      "parents": [
        "ec5c04f4ab781938123e5f68569048cf65fddc14"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Wed Jun 20 08:46:41 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Oct 08 06:50:22 2018 -0700"
      },
      "message": "libandroidfw: move ConfigDescription from aapt2 to libandroidfw\n\nThis is to allow idmap2 to access ConfigDescription.\n\nTest: libandroidfw_tests\nTest: aapt2_tests\nChange-Id: I54210bbbd8dad5903cb7100807df977efa394ad5\n"
    },
    {
      "commit": "b61b0e57313268132af94e9d8a5e3ee59d430ce3",
      "tree": "133d37b086bcbbe9c6786a7941d9a1a2c29372c8",
      "parents": [
        "683af643fab49515608c62673ea24c12ec0ba278",
        "813d7503c828f9d5f88e04fe7f47932ad4abc506"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 05 00:45:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 05 00:45:06 2018 +0000"
      },
      "message": "Merge \"Implement issue #112113117: Ad library dependency declaration in manifest\""
    },
    {
      "commit": "813d7503c828f9d5f88e04fe7f47932ad4abc506",
      "tree": "857d462cea8445911e9ce18ebde010ae7bdf92ba",
      "parents": [
        "1d3ebe257c0475c88ff1702e5680cfd7b847ecfd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 02 16:59:46 2018 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 04 15:27:15 2018 -0700"
      },
      "message": "Implement issue #112113117: Ad library dependency declaration in manifest\n\nYou can now do a new form of \u003cuses-package\u003e that allows you to\nspecify a type of package along with required cert digests (like\nuses-static-library).\n\nThis defines the new attribute needed for this and XML tag, and\nupdates aapt2 to actually allow uses-library in the manifest and\noutput this data with \"dump badging\".\n\nWhile doing this I realized that \"dump badging\" was not printing\nthe data for uses-static-library or uses-library, so do those too.\n\nBug: 112113117\nTest: manual\nChange-Id: I5d02010aad9cb44675504a317df9cced421be8a1\n"
    },
    {
      "commit": "2250c93f14d576bbba657e4f05765bd8a21a6b20",
      "tree": "848d34e6d0300e10fdcaf1a0edec2df7c85dc4c7",
      "parents": [
        "c79b4690dcdb52a4409b6f0b6dbc4666836ff434"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Oct 04 11:07:40 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Oct 04 13:15:23 2018 -0700"
      },
      "message": "Fix badging meta-data value\n\nInteger meta data values were not printing correctly and instead were\nprinting as empty strings. Attempt to retrieve the integer value of the\nattribute if the value is not a string.\n\nBug: 117260085\nTest: manual\nChange-Id: I1cef672e03d07728819ca584b484dc372984c823\n"
    },
    {
      "commit": "6d0dbbbab3616f4b61a0e243cd150211406b9b5d",
      "tree": "d58d96e902ce93c95940042b8ce0bd407baa1108",
      "parents": [
        "4ddd969fb9d2dc75088b5acca13c3921a1e94bf6"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Oct 04 11:54:29 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Oct 04 11:54:29 2018 -0700"
      },
      "message": "Add rtmitchell to AAPT2 OWNERS\n\nPer talks with Svet, it is time I became a co-owner of AAPT2 with\ntoddke. I look forward to continuing to support and improve AAPT2.\n\nChange-Id: I3a0f1c8a708abc41045b95dc958dbeb96a5160ff\n"
    },
    {
      "commit": "5c5f0cdd0404a856638df69d6ef115192e57692c",
      "tree": "a0224dd31400a94f37b2de01be71cf82d800dd6d",
      "parents": [
        "8b7e1a88038ff5894bd523cb4caadfd12f58fe58",
        "0ce89734d111ce3a9529254ccc9b8ef33fdeba73"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Oct 03 20:56:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 03 20:56:06 2018 +0000"
      },
      "message": "Merge \"Fix failing Windows tests\""
    },
    {
      "commit": "8b7e1a88038ff5894bd523cb4caadfd12f58fe58",
      "tree": "43f794a5296b376f534a1636a2bd4d3d15f71ab7",
      "parents": [
        "07547c6c5804d644db35f91bb3eb974e9bdc6c04",
        "7e5236dc563595f1dca7ed3e6cb87b6ce995c402"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Oct 03 20:54:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 03 20:54:14 2018 +0000"
      },
      "message": "Merge \"Restore Proguard behavior and add minimal flag\""
    },
    {
      "commit": "0ce89734d111ce3a9529254ccc9b8ef33fdeba73",
      "tree": "94536a693f37675e6f662746c951c9227c4069c8",
      "parents": [
        "88f0f6c9b1d2dfecd4f0bdb663f01a098a59fa83"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Oct 03 09:20:57 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Oct 03 11:35:37 2018 -0700"
      },
      "message": "Fix failing Windows tests\n\nSome tests were not written to run on Windows correctly. Compile also\nhas a bug that caused using the --zip flag to fail on Windows.\niswspace does count the non breaking space as Whiespace on Windows but\nnot on Unix based systems\n\nBug: 117156986\nChange-Id: I999375162bdfdf86fb25992ee88e2962ab90b577\nTest: aapt2_tests and wine aapt2_tests.exe\n"
    },
    {
      "commit": "56e559862dbddeaf90e67f5bcc4520997809cbd7",
      "tree": "c22117cb734d14929a125d1f347121b18bc2482d",
      "parents": [
        "f768ba4f7a471260f576b061406b834ff8b410b5",
        "f6fe9b6dabced73d5bc61a86dbf60cb060bc2d04"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Oct 02 17:23:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 02 17:23:32 2018 +0000"
      },
      "message": "Merge \"Use empty data if file in zip has length 0\""
    },
    {
      "commit": "3b761c6b3b133c20fd1aa6235dd029435ec2f9cc",
      "tree": "72ffd699167b828968852f172273196ba12eef8f",
      "parents": [
        "77a0e97fb44a10333b8a036fa6a69024e870f186",
        "07a7250da3a0c08148bbf7efb915eac27e473305"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 18:59:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 01 18:59:22 2018 -0700"
      },
      "message": "Merge \"Add noexcept to move constructors and assignment operators.\" am: 9166e89374 am: 15dcc77fee\nam: 07a7250da3\n\nChange-Id: I74a6b6e53ba4f22b79b855e146aa260b2eaddb27\n"
    },
    {
      "commit": "15dcc77feeb6c7adbea42b0edc8d1ef12aff0201",
      "tree": "489593294ad28b3bde436c08ca81c44d28ca27df",
      "parents": [
        "dcdd224bc0baf7e9452841c49688bb270de52650",
        "9166e8937443f891cb20d8821d17ce5af33793ea"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 18:09:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 01 18:09:38 2018 -0700"
      },
      "message": "Merge \"Add noexcept to move constructors and assignment operators.\"\nam: 9166e89374\n\nChange-Id: I079060ef610c2d90c57140f001225c163a3dd21a\n"
    },
    {
      "commit": "c691c0528e708a47641b98f9cd1227bb92873a69",
      "tree": "1548695348ef61ab4338469c40e673f40ab4db6c",
      "parents": [
        "7891b6a95570615d09a2304e723066c62b920398",
        "7472303ff4b129ceafc3590f766659f2ec56d855"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon Oct 01 18:00:49 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 01 18:00:49 2018 -0700"
      },
      "message": "Merge \"Do not use StringPiece in ExtractJavaIdentifier\" am: 20ecc6397b am: 206ccf1f61\nam: 7472303ff4\n\nChange-Id: Idd910ad9fb743093f8e43ddcdf5770722b4393e6\n"
    },
    {
      "commit": "9166e8937443f891cb20d8821d17ce5af33793ea",
      "tree": "d6c7492f0f0ac55de5241ab720e276cbd6120187",
      "parents": [
        "956791cee8dd0a7a0ab91f42abfbac404a50ec97",
        "fc81626ba6851f52c72c9858edf3f6818d66cf82"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 02 00:37:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 02 00:37:46 2018 +0000"
      },
      "message": "Merge \"Add noexcept to move constructors and assignment operators.\""
    },
    {
      "commit": "206ccf1f61832018db21fe7d46e7f64b673b7367",
      "tree": "aac620802db6be3e41a9dc4381cbaf9bb3c63d7c",
      "parents": [
        "05fb3806f336596066db2d1fa03774f20183f068",
        "20ecc6397b33b39700e2de4dae14be5398bbc007"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon Oct 01 17:25:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 01 17:25:02 2018 -0700"
      },
      "message": "Merge \"Do not use StringPiece in ExtractJavaIdentifier\"\nam: 20ecc6397b\n\nChange-Id: I3c70a4b9db43d9590f52cdb6972cf9fba3501787\n"
    },
    {
      "commit": "20ecc6397b33b39700e2de4dae14be5398bbc007",
      "tree": "abdd972f8bc78c2378864f6b28b5ece4006685b4",
      "parents": [
        "417b7b14bb0f3f3e5e0ad2e46848230e944a7ae9",
        "9ba5cb4796a66b387af1f9350134f742f490aa7f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 01 23:37:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 01 23:37:31 2018 +0000"
      },
      "message": "Merge \"Do not use StringPiece in ExtractJavaIdentifier\""
    },
    {
      "commit": "fc81626ba6851f52c72c9858edf3f6818d66cf82",
      "tree": "30551addf9eeb23a99149d1ca04c644285dacaea",
      "parents": [
        "6c35ea901c364f14198009b00b9e838842516911"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Sep 25 12:01:21 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 20:23:02 2018 +0000"
      },
      "message": "Add noexcept to move constructors and assignment operators.\n\nBug: 116614593\nTest: build with WITH_TIDY\u003d1\nChange-Id: Ic3993d88eb3066aef402d74c4d543c56a1dfd5c3\n"
    },
    {
      "commit": "3328d1ce55322f344505173860ebf0525784fb62",
      "tree": "74c3c3b4044ee71a2fb863eb1d9e609aebcc9e2c",
      "parents": [
        "914857349e66eb3ce4361c412797319ea0a24386"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Sep 26 22:11:31 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Sep 28 15:59:15 2018 -0700"
      },
      "message": "Introduce OEM customization XML parser\n\nAs the initial version of the OEM customization XML, support\nnew-named-family customization. This allows OEMs to add new named\nfamily.\n\nBug: 111544833\nTest: atest FrameworksCoreTests:android.graphics\nChange-Id: If58711fc038898175fcad0ae095865312bd738e2\n"
    },
    {
      "commit": "58131839f0d4b1202a71de9123fa783c9a529d5c",
      "tree": "d2ad36ee71483a867062be72a27f515cebf6a110",
      "parents": [
        "9a56463f0e425b7d5b646ecd7d53bcb20dab5fc5",
        "daac37f229f84ed844adcf1ffd3432b235524d9b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Sep 28 16:50:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 16:50:29 2018 +0000"
      },
      "message": "Merge \"Moar lint rulez!\""
    },
    {
      "commit": "9a56463f0e425b7d5b646ecd7d53bcb20dab5fc5",
      "tree": "39b6744387c761e0648d53de24a233172b1c1302",
      "parents": [
        "6bf1126cc48a2ecd3fcec895cb6e1e11d5377bb5",
        "4078dd4e153c6252aba614422f5d110a1a1e9aa2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 28 16:46:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 16:46:23 2018 +0000"
      },
      "message": "Merge \"Support int32_t (Java Integer) in KeyValuePair atom\""
    },
    {
      "commit": "4078dd4e153c6252aba614422f5d110a1a1e9aa2",
      "tree": "31ed9c5b98c9b4232c7040d74d7cc370a71c8497",
      "parents": [
        "a7dc405fcbeb9c3d1e30e94ad6a03eb300a9085f"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Thu Sep 27 17:41:08 2018 -0700"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Thu Sep 27 17:51:40 2018 -0700"
      },
      "message": "Support int32_t (Java Integer) in KeyValuePair atom\n\nBug: 116826451\nTest: statsd_test + manual verification through logcat\nChange-Id: I0157c22033907fea46e26ee4262c723fa8c0b518\n"
    },
    {
      "commit": "daac37f229f84ed844adcf1ffd3432b235524d9b",
      "tree": "0a501e64545d41d787818cf20f222d8cd6de90ef",
      "parents": [
        "1780672b198a24839bf26882f8b2eb3128fd6542"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 27 16:29:25 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 27 16:29:52 2018 -0600"
      },
      "message": "Moar lint rulez!\n\nBug: 37534642, 116675691, 116798271, 72059458, 111790177\nTest: manual\nChange-Id: Ib079ae580a827f225be08f90dbdddeee7d341c48\n"
    },
    {
      "commit": "63c6be63a4683b094659639bb48309821ce47a46",
      "tree": "1ad6eece833d4bb88b8e02b107514d997f6dcce0",
      "parents": [
        "d43d0b0de11f876eb00c410ecd8abf2105091db4",
        "5d63c53071be5152b1e4771a7db17752b20f2c6f"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 26 15:46:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 26 15:46:37 2018 -0700"
      },
      "message": "Merge \"Change FileStream test buffer from char* void*\" am: b839befd7b am: 47be78e523\nam: 5d63c53071\n\nChange-Id: I79fed846a0d7bd20be13a5d3845bfe1a171f5b62\n"
    },
    {
      "commit": "47be78e5235e344019f4ef449c051bc08fca5790",
      "tree": "fc098d3ef692f0a02056e627148fd4f08d886ad1",
      "parents": [
        "95981b04889d466c94fdbf28b66f958dd5d86893",
        "b839befd7bd375b39d39723e42d912265031fbdf"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 26 15:14:41 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 26 15:14:41 2018 -0700"
      },
      "message": "Merge \"Change FileStream test buffer from char* void*\"\nam: b839befd7b\n\nChange-Id: Iffc125b995827c455fb4f2c3b2dca15de3321a86\n"
    },
    {
      "commit": "b839befd7bd375b39d39723e42d912265031fbdf",
      "tree": "fc3af5b86e14db8d717ef9b411027a6718e9e737",
      "parents": [
        "c4833e862e333c363d5a87f73141fc3ad06f6236",
        "8f37734cf48c2ff15e8654cfa26fa4baa195d348"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 26 21:58:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 26 21:58:44 2018 +0000"
      },
      "message": "Merge \"Change FileStream test buffer from char* void*\""
    },
    {
      "commit": "8f37734cf48c2ff15e8654cfa26fa4baa195d348",
      "tree": "93714e00f737a56b3ff190ed54757e26e828da6b",
      "parents": [
        "31830456cdb94cbe2a50debf5eaee5cd54dd7d3c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 26 10:26:53 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 26 14:54:45 2018 -0700"
      },
      "message": "Change FileStream test buffer from char* void*\n\nIt seems like GoogleTest prints string parameters before checking them.\nThis can be a problem in FileStream tests since these buffers are not\nnull terminated.  ASan reports heap-buffer-overflow.\n\nTest: m SANITIZE_HOST\u003daddress\nout/soong/.intermediates/frameworks/base/tools/aapt2/aapt2_tests/linux_glibc_x86_64_asan/aapt2_tests \\\n      LD_LIBRARY_PATH\u003dout/soong/.intermediates/external/libcxx/libc++/linux_glibc_x86_64_shared\nout/soong/.intermediates/frameworks/base/tools/aapt2/aapt2_tests/linux_glibc_x86_64_asan/aapt2_tests\n\nChange-Id: I9a1956d815729de23c7038fb0d498240eb917070\n"
    },
    {
      "commit": "7e5236dc563595f1dca7ed3e6cb87b6ce995c402",
      "tree": "a4a5a3779d4607a46d861ac290afa0fecdca40e9",
      "parents": [
        "d5180a5ec2ca69d48c468be8b2bb35ded12c50f2"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Sep 25 15:20:59 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Sep 25 15:20:59 2018 -0700"
      },
      "message": "Restore Proguard behavior and add minimal flag\n\nWe previously changed AAPT2 to correctly only generate keep rules for\nthe constructors required to inflate the different views. This cause\nprojects that did not have keep rules for the other constructors that\nwere accessed through reflection to have runtime crashes. This change\nadds a flag to the link stage (--proguard-minimal-keep-rules) that\nallows AAPT2 to only keep the constructors required for layout\ninflation. If the flag is not present, then AAPT2 will generate less\nspecific keep rules than keep all constructors.\n\nBug: 116201243\nTest: aapt2_tests\nChange-Id: I8bb5cdf8446518ab153ea988e1243ca9494258c7\n"
    },
    {
      "commit": "9ba5cb4796a66b387af1f9350134f742f490aa7f",
      "tree": "9526df3430e982770a42719f2dc6cc198353950b",
      "parents": [
        "4a2dd10d834529311bf0daa4d5fa7c81f903bf61"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon Sep 24 15:20:15 2018 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Tue Sep 25 13:21:35 2018 -0700"
      },
      "message": "Do not use StringPiece in ExtractJavaIdentifier\n\nBug: http://b/91353691\n\nAfter assigning the result of TransformToFieldName to \u0027result\u0027, the\nunderlying storage is destroyed after the \u0027if\u0027 statement of the function\ncall.  \u0027result\u0027 ends up with garbage if the identifier has a \u0027-\u0027.\n\nManifestClassGeneratorTest.NormalizePermissionNames is broken for this\nreason in 32-bit Windows when using libc++ and 32-bit Linux.  ASAN also\nreports this failure for both 32-bit and 64-bit linux.\n\nTest: Run test on the cases mentioned above and ensure all of them pass.\nChange-Id: I69163c423c1171b7ac7838f2abe06bdf8058df4c\n"
    },
    {
      "commit": "f6fe9b6dabced73d5bc61a86dbf60cb060bc2d04",
      "tree": "453eb802aa09764f91708c0b4d72edc37b61c1f7",
      "parents": [
        "d5180a5ec2ca69d48c468be8b2bb35ded12c50f2"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Sep 24 12:13:31 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Sep 24 13:41:35 2018 -0700"
      },
      "message": "Use empty data if file in zip has length 0\n\nMmap fails when the length of a file in a zip is 0, so use an\naapt::io::EmptyData when the file length is 0.\n\nBug: 113094267\nTest: manual\nChange-Id: I2c1071293bf9b0fe33e8c279c8d78ff906fba5d6\n"
    },
    {
      "commit": "d4cf67e2966fd5c577211f37e10a3f69eaf530cf",
      "tree": "66f72f453eb00aa8108cabd37a5a8a053c38f389",
      "parents": [
        "cc704723bdd4e26d476898bfa3f09b1f3ee0bc0f",
        "ad8cf079f55503f5c688249226ae03af28c9a8ab"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 24 12:12:24 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 24 12:12:24 2018 -0700"
      },
      "message": "Merge \"Fix clang-tidy performance warnings in frameworks/base.\" am: 4a2dd10d83 am: 18242e5c08\nam: ad8cf079f5\n\nChange-Id: Ifc615a1e50872a24e59d2d10122c6f90589099f5\n"
    },
    {
      "commit": "18242e5c089fbdbe396d902ccac4479fcbbaab83",
      "tree": "ccb7f6fa51f11a3ab3bd6e309c6fd80710b7b430",
      "parents": [
        "b2e9c6652e6236fee3b2b358a846707147ff12c3",
        "4a2dd10d834529311bf0daa4d5fa7c81f903bf61"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 24 11:50:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 24 11:50:54 2018 -0700"
      },
      "message": "Merge \"Fix clang-tidy performance warnings in frameworks/base.\"\nam: 4a2dd10d83\n\nChange-Id: Ic7266f1c23ab5218f47bf65bb2bde6f79a07a910\n"
    },
    {
      "commit": "6b3fac2945ffe078a30cbab684d6556ff643a1ab",
      "tree": "91098b40f54ec50139b45257fc5092e12ec697f4",
      "parents": [
        "f7190b65ab20a153191638c8ab2527994a56872a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 17 15:12:02 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 24 16:29:26 2018 +0000"
      },
      "message": "Fix clang-tidy performance warnings in frameworks/base.\n\n* Use more efficient overloaded string methods.\n\nBug: 30411878\nTest: build with WITH_TIDY\u003d1\nChange-Id: Ia387e61770e1e7211280ed028ef0eef6e632a1d2\n"
    },
    {
      "commit": "6f0b03d32a4f2cacbe1b06b9f730a3aff636d32c",
      "tree": "b09d565fa7fac58a856f561a1b4d4b7e77210ed1",
      "parents": [
        "8956b443792308919d39a30fe4164a5abee9c549",
        "df8babf2d360baa5bb1f1855c12f4c12a427314d"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Sep 24 04:57:48 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 24 04:57:48 2018 -0700"
      },
      "message": "Merge \"Add serialization methods to whitelist not light greylist\" am: f7190b65ab am: b2e9c6652e\nam: df8babf2d3\n\nChange-Id: I70367f6037761477dee69f0a4a89b22efe4bf7ba\n"
    },
    {
      "commit": "b2e9c6652e6236fee3b2b358a846707147ff12c3",
      "tree": "0d89cc317deb8c51b675e6b47f9089d90ed7980a",
      "parents": [
        "77841856d2cb517f7f4e4320eca369bd1f78f120",
        "f7190b65ab20a153191638c8ab2527994a56872a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Sep 24 04:23:27 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 24 04:23:27 2018 -0700"
      },
      "message": "Merge \"Add serialization methods to whitelist not light greylist\"\nam: f7190b65ab\n\nChange-Id: Idecb27314ecbdea74354afb4f320eda124bfc72d\n"
    },
    {
      "commit": "e9622a3d3ae3ff6f61aa294aa16a0e232e97f09a",
      "tree": "0f2e960156f7b1b4345ed5044d1b158481e29edc",
      "parents": [
        "194170e7f7493c828235f325140dd860d31d077d"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Sep 20 11:03:40 2018 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Sep 21 11:05:06 2018 +0100"
      },
      "message": "Add serialization methods to whitelist not light greylist\n\nChecked the contents of the hiddenapi lists before and after the change\nand the methods were definitely moved from light greylist to the\nwhitelist.\n\nFlashed the device and checked the log and did not see anything out of\nthe ordinary.\n\nTest: frameworks/base/tools/hiddenapi/generate_hiddenapi_lists_test.py\nChange-Id: I9b4b2426251e99495f65ae02a3c2c32ce6966625\n"
    },
    {
      "commit": "23ad8d73ac7bdc614073263abab207823a31c161",
      "tree": "16d182f974e65ec280dfc1cf1bb012e47913fb87",
      "parents": [
        "536c961460ec45fd091aeaea55ea02845f5dc31c",
        "c94b7551c512ab39f95386d34ea14739403abded"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Sep 20 21:01:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 21:01:15 2018 +0000"
      },
      "message": "Merge \"Add basic details on aapt2 development.\""
    },
    {
      "commit": "c95add6ddc8902e6b5b30afccae1b16aa0f06a18",
      "tree": "01d423dda9ac256a5176a506c6201b5636f89d94",
      "parents": [
        "c8c4fea61f4295309895a11949d2cc538386bc39",
        "e0eba7a3bb951906476d16731a214f65b50f27f1"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 19 18:33:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 19 18:33:46 2018 +0000"
      },
      "message": "Merge \"AAPT2: Increase maximum proto size\""
    },
    {
      "commit": "500d3f1aeea4e5f77003ee40c0d5b183c296285c",
      "tree": "04f12ff6599d46ed11790a6a012914d765e9e3c6",
      "parents": [
        "3427156b2c6ef97771fc9692c782247f0566c56e",
        "fc225b21c1f6bdfbb3723669b9e8378fb49e11b2"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 19 00:10:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 19 00:10:11 2018 +0000"
      },
      "message": "Merge \"AAPT2: Added badging and permission\""
    },
    {
      "commit": "fc225b21c1f6bdfbb3723669b9e8378fb49e11b2",
      "tree": "aa24e1e30f21be4cfce5a9c213470b3002442cf7",
      "parents": [
        "a1a74cb44d1f6dd0962d0e7ef1bc0b4474fbb50c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Aug 21 14:52:51 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Sep 18 13:17:01 2018 -0700"
      },
      "message": "AAPT2: Added badging and permission\n\nAdded the remaining dump commands to aapt2.\naapt2 dump badging [apk]\naapt2 dump permissions [apk]\n\nBug: 73351292\nTest: Diffing aapt and aapt2 output across apps from the Android tree\nChange-Id: Idee820db410ad8d777d0d250c2657e7b83112a00\n"
    },
    {
      "commit": "c94b7551c512ab39f95386d34ea14739403abded",
      "tree": "dd66d62609ec2d29bff4e514e41d7d702c9246db",
      "parents": [
        "08b171d0ff84eeac5dc60cc319d43ede0f700fb3"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Sep 14 15:30:51 2018 -0700"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Sep 18 10:36:13 2018 -0700"
      },
      "message": "Add basic details on aapt2 development.\n\nWriting down notes for getting started on aapt2.\n\nTest: None\nChange-Id: I15c2518bf0ba5c455b83277d24ed683bfb9e446c\n"
    },
    {
      "commit": "837cefb8c4dc44502822576191330f0a07f28e5f",
      "tree": "6f8b76abf2c8d550bcc1f0874085b540651b9088",
      "parents": [
        "6acca823b1bac6c3d08153a2ca6e2392c02a41ec",
        "9fbdf89dda658c3b21924f6e28df7401d868394a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 18 00:17:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 18 00:17:57 2018 +0000"
      },
      "message": "Merge \"Don\u0027t allow splitting on an empty configuration\""
    },
    {
      "commit": "9fbdf89dda658c3b21924f6e28df7401d868394a",
      "tree": "22d31299968eef57cca5cd2adf205b1a04527960",
      "parents": [
        "5ed02df4df31373d7ff7c7deb9686f9508c031df"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Aug 28 16:31:15 2018 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Sep 17 14:16:21 2018 -0700"
      },
      "message": "Don\u0027t allow splitting on an empty configuration\n\nWhen aapt breaks out splits, it may remove the SDK constraint [if\nit\u0027s lower than the min sdk]. If that is the only constraint, we\nwould create a resource split with no constraints. Don\u0027t allow\nthat situation. There must always be _some_ constraint.\n\nBug: 113115970\nTest: atest CtsAppSecurityHostTestCases:SplitTests\nTest: aapt2_tests\nChange-Id: I424c875677c3be2a3ff5ddd39100b998bd650a4b\n"
    },
    {
      "commit": "7e84efb275af4e61fe667f0348b0c9cde0314ccd",
      "tree": "d83571dd66826419488b68f9ec9236e05b572c01",
      "parents": [
        "2105ec5fe8bccbb708d67c0cd9f882f49f22994b",
        "c73d03a53a7cea1cc575625115fb82de9ac1ac77"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Sep 14 22:36:41 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 14 22:36:41 2018 -0700"
      },
      "message": "Merge \"Don\u0027t fail if there are no comments.\" am: daabcae955 am: 57a4bae7c3\nam: c73d03a53a\n\nChange-Id: Icff55d494db44e022df7f415fe19cdb685d830d1\n"
    },
    {
      "commit": "57a4bae7c3c79449fcb271375c8e3474a329f716",
      "tree": "5b6a7a7ed50df10cf22506add4b954651eb53e89",
      "parents": [
        "65e63ce0de5107ed95060b26e9fb02a5b637249c",
        "daabcae9557b085d7b9d3b1945753718b734f332"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Sep 14 21:55:58 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 14 21:55:58 2018 -0700"
      },
      "message": "Merge \"Don\u0027t fail if there are no comments.\"\nam: daabcae955\n\nChange-Id: I7d8139a98913ae17491f73314bd426287374c270\n"
    },
    {
      "commit": "f4b2999910974d0926cc842ae17a3b6062722d46",
      "tree": "4a15c426b75b03b6c5aded1230ca716f3124c609",
      "parents": [
        "79a85ae200d8d30bfa41a607b4acdf3b34d72814",
        "4353d61b8b90a01fc20264612aa8e5bb72cf1cdd"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Sep 14 22:36:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 14 22:36:28 2018 +0000"
      },
      "message": "Merge \"AAPT2: Convert from Modified UTF-8 ResStringPool\""
    },
    {
      "commit": "ee26376f23bd878f2881cf9ffdb0b07f12fa698e",
      "tree": "97ca78b1e2bb70a41ec960a6437f33de767dd8f0",
      "parents": [
        "34e3e68375cf3a451b17054c7cd1435f4d70b1cf",
        "e23aeb802409cb337ad66454049c9e3b6af0db9a"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Fri Sep 14 18:56:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 14 18:56:05 2018 +0000"
      },
      "message": "Merge \"Update lint rules for graphics/text package layering\""
    },
    {
      "commit": "4353d61b8b90a01fc20264612aa8e5bb72cf1cdd",
      "tree": "750f3cdb336170c34d0d92da7a580a7117204f31",
      "parents": [
        "342df6ddd178d55aa94e01ff94e5be00457f3440"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Sep 10 17:09:12 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Sep 14 09:23:44 2018 -0700"
      },
      "message": "AAPT2: Convert from Modified UTF-8 ResStringPool\n\nSince ResStringPools are encoded using Modified UTF-8, retrieving\nstrings from the string pool convert the strings to UTF-8 before\nreturning.\n\nBug: 114734350\nTest: m aapt2_tests\nChange-Id: Ib459018186f4c5b40f3f3786425a335ecfb9ed02\n"
    },
    {
      "commit": "6be0fdde4adc0c41fb9bc3376e7d1938a5d4de25",
      "tree": "acbc46e75c3bb287df6800b765990c6440f5b769",
      "parents": [
        "53f6d1b060c10121062c4054514c3e3a0c2444bd"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Sep 14 15:19:10 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Sep 14 15:29:35 2018 +0100"
      },
      "message": "Don\u0027t fail if there are no comments.\n\nGrep exits with non-zero if it find no matches. But it doesn\u0027t matter in\nthis case, so just carry on.\n\nTest: frameworks/base/tools/hiddenapi/sort_api.sh \\\nTest:    frameworks/base/config/hiddenapi-light-greylist.txt\nChange-Id: I7c219ee617f7dfa3cff5232ab979cc4ba38ebbfd\n"
    },
    {
      "commit": "9e7af7577634a0211c0744aa86b19bcea2579802",
      "tree": "a870675f97b6db3bc6b79f30d1ea37c220d5543e",
      "parents": [
        "d75020c65f8c041c0de8a5238550211964befefe",
        "28afe682cd84c894c4da880ace41db77268400c4"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Sep 13 23:50:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 13 23:50:24 2018 +0000"
      },
      "message": "Merge \"AAPT2: Add the rest of supported manifest elements\""
    },
    {
      "commit": "e23aeb802409cb337ad66454049c9e3b6af0db9a",
      "tree": "36c3d605891df1f8eda7fdf45c25f6554afaa0e9",
      "parents": [
        "7a80e141849b7d105f56207c9d39463f23351865"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Thu Sep 13 16:06:59 2018 -0700"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Thu Sep 13 16:06:59 2018 -0700"
      },
      "message": "Update lint rules for graphics/text package layering\n\nTest: N/A\nBug: 77347886\nChange-Id: I907d99b4a1dee0c69b914e55a033d3d9c4eebe56\n"
    },
    {
      "commit": "917caf75bee94df78ad32e16a13d67f17c4ca664",
      "tree": "cc23602a07162e1e6d71320420a195ebc854347e",
      "parents": [
        "921f354c6c0b9ee0eedc4e4a1c055a814576385d",
        "7984854750224e53e66b175ea5e399b7d307463a"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Sep 13 21:28:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 13 21:28:40 2018 +0000"
      },
      "message": "Merge \"AAPT2: Fail on invalid id names in compiled xml\""
    },
    {
      "commit": "26b14f573930bff1bba21cc263a9d1a0923f2281",
      "tree": "0d91f0870f861bdaca8fca28eb745c8b9a968414",
      "parents": [
        "5c9fe31a8cd7f3271f62be84d3ca1fdad57730f1",
        "db0cad4c3589b18deba4bedf764bfd5e781a2a2e"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Sep 13 20:14:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 13 20:14:57 2018 +0000"
      },
      "message": "Merge \"AAPT2: Fix windows multiple directory creation\""
    },
    {
      "commit": "db0cad4c3589b18deba4bedf764bfd5e781a2a2e",
      "tree": "bdc8f1c29bf2b098d7c00c5917e69ec8baba4c35",
      "parents": [
        "a1a74cb44d1f6dd0962d0e7ef1bc0b4474fbb50c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Sun Sep 09 23:06:59 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Sep 13 15:27:58 2018 +0000"
      },
      "message": "AAPT2: Fix windows multiple directory creation\n\nWhen attempting to create directories on different drives, AAPT2 would\nfail because it would attempt to call _wmkdir on the drive\n(eg. _wmkdir(\"D:\\\")). Split on directories after the drive letter\ninstead.\n\nBug: 68936311\nTest: manual testing using Android Studio\nChange-Id: Iad47f466af6f82d4ac402e9bf52853edaa9a5e0b\n"
    },
    {
      "commit": "7984854750224e53e66b175ea5e399b7d307463a",
      "tree": "4e57e9834ddce57e7eb2ba2a8dc68424bc2b7c5e",
      "parents": [
        "342df6ddd178d55aa94e01ff94e5be00457f3440"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Sep 11 10:41:09 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Sep 13 15:23:56 2018 +0000"
      },
      "message": "AAPT2: Fail on invalid id names in compiled xml\n\nAAPT2 was not erroring on invalid resource ids created in layouts with\ncreation syntax. This change causes this to error suring compile.\n\nBug: 71394154\nTest: aapt2_tests\nChange-Id: Idf16fb4bd011ed2d65e8c48f7cba0429ead5a055\n"
    },
    {
      "commit": "e0eba7a3bb951906476d16731a214f65b50f27f1",
      "tree": "b2b522f081230f8e685baea7f32fe18721b24a92",
      "parents": [
        "342df6ddd178d55aa94e01ff94e5be00457f3440"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 12 08:54:07 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 12 08:54:07 2018 -0700"
      },
      "message": "AAPT2: Increase maximum proto size\n\nDeserializing a proto form a string throws an error when 64MB have been\nread from the stream. This change removes the maximum size but shows a\nwarning when a proto is larger than 64MB.\n\nBug: 114020398\nTest: manual test with resources.pb greater than 64MB\nChange-Id: Iee397b6709d79a9338133a6136fe6e8f70a4964c\n"
    },
    {
      "commit": "53cfa2cc8cd328d8fa879a9f61eccb4a4b77c5b7",
      "tree": "8e442acb85625647d0c6566a5a542ce39c210009",
      "parents": [
        "6a75b1698f0cf5c0f36e3db09bbafb5d9f9e1df4",
        "6af9cdf137c4fd907c0a612b47996c906416d8db"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 12 09:41:26 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 12 09:41:26 2018 -0600"
      },
      "message": "resolve merge conflicts of 6af9cdf137c4fd907c0a612b47996c906416d8db to master\n\nBug: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ide3c0e977b7d7c32ee9515e184ac7ac998f6b05c\n"
    },
    {
      "commit": "ac2b7439d9857807df81642a71981c1f87fbb777",
      "tree": "1fca11de89dac3857f465dae8a2a9a57452c2b9d",
      "parents": [
        "96b6adc014120b704139ae5e3eeec23f3abca3e6",
        "98cd65e17f02c649bef6d7bc34fdbbf47a1cf139"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 16:15:49 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 11 16:15:49 2018 -0700"
      },
      "message": "Merge changes from topic \"ownerz\"\nam: 98cd65e17f\n\nChange-Id: I42a137e73ab409a03f26abb0394be229c9d43e12\n"
    },
    {
      "commit": "14f5e6c5bd1afed1807123ec6207dd67a4c1d27f",
      "tree": "8f24215248dbeb72bf391a6ff901976e9caf31d7",
      "parents": [
        "a1d17b4d9990b31c7002dd4ca3f3a03eb99b767e",
        "159e4f8f461097a2dfffb545f46734dd7d9610f3"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Tue Sep 11 22:00:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 11 22:00:53 2018 +0000"
      },
      "message": "Merge \"allow use of atom definition outside of atoms.proto in pulled atoms\""
    },
    {
      "commit": "5b471996ebebce503487ca08c86ee7eb62e6dd3d",
      "tree": "dadd7f10e7220be3bace09dae9d3707bf37dd003",
      "parents": [
        "0a9c731969fe590f82a5a4e34f9f1470d57d20b2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 10:36:57 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 12:14:48 2018 -0600"
      },
      "message": "Tweaks to AOSP upload hook logic.\n\nLists all matching files, and slightly more robust path handling.\n\nBug: 113136846\nTest: manual\nChange-Id: Ic1971a3df97b8b137993b5856b47d0d706a996cd\n"
    },
    {
      "commit": "d855bd60e7d5b5f18fca95f48f66e297638c7c46",
      "tree": "b975f5732702f7250967d292bb566164b96f2865",
      "parents": [
        "0e4c2079b8f705c109f3fb0a65edc3543cc8e6b0",
        "e39835cd8f2199818d3b1043fe4ea3e5fe905363"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 11 10:39:24 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 11 10:39:24 2018 -0700"
      },
      "message": "Merge \"Revert \"Check in P dark greylist, use it for hidden API list generation\"\" am: e87700fc97 am: 5c6894a85b\nam: e39835cd8f\n\nChange-Id: I4fda8b3d7519f8ab242c04e1f9547285f1acacf4\n"
    },
    {
      "commit": "0a9c731969fe590f82a5a4e34f9f1470d57d20b2",
      "tree": "235dfb994eef432c2753e85cfab3558fa2e96268",
      "parents": [
        "98627fa455f34da2791d2d65e30d38e87bee3022"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 23 22:01:53 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 11:09:05 2018 -0600"
      },
      "message": "Upload hook that guides people towards AOSP.\n\nThe canonical location of certain parts of the source tree live in\nAOSP, and should not be changed internally to avoid merge conflicts.\n\nThis initially starts with \"OWNERS\" files, but the hook can easily\nbe repeated to match any files based on file path regexes.\n\nBug: 113136846\nTest: manual\nChange-Id: I113e63b6133f20389d84ec0d6d8b81cdbdf35d38\nMerged-In: I113e63b6133f20389d84ec0d6d8b81cdbdf35d38\n"
    },
    {
      "commit": "5c6894a85b254cf8c484173054da7e70bac8a5d8",
      "tree": "3e25e589cf922f40931d8f2ebab7744d41765d78",
      "parents": [
        "14e10c3b10563e68030bba002f5ee948d3b0dc91",
        "e87700fc97e2988cd2ab870f33d362dc93f0d1b3"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 11 09:46:18 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 11 09:46:18 2018 -0700"
      },
      "message": "Merge \"Revert \"Check in P dark greylist, use it for hidden API list generation\"\"\nam: e87700fc97\n\nChange-Id: Ic4c73f2f482ab9260479e44e69a26bb55e510cca\n"
    },
    {
      "commit": "4a55eebf26a5366de302578f76947e7c05305a22",
      "tree": "2f1811bb36030f2252a422b3bca1b3a7f6762f0a",
      "parents": [
        "60ff003a9d988ba7459906b131fa5718b80dc093"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 11 11:09:01 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 11 11:43:07 2018 +0100"
      },
      "message": "Revert \"Check in P dark greylist, use it for hidden API list generation\"\n\nThis reverts commit 3cc74c71ef907a76547424aea6597f7b2907e9fb.\nWe saw app crashes due stricter classification of non-SDK APIs.\n\nBug: 115284625\nBug: 113881436\nTest: phone boots\n\nChange-Id: I689d0fbf66fabeffa5032e13f2f1f314c50b6cc5\n"
    },
    {
      "commit": "159e4f8f461097a2dfffb545f46734dd7d9610f3",
      "tree": "b03a696f749bbbb3799c0ecbd630adebf711362b",
      "parents": [
        "1941814f8e9b44d91f996b137e8683fbf80bc70a"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Aug 29 11:49:11 2018 -0700"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Sep 10 18:26:33 2018 -0700"
      },
      "message": "allow use of atom definition outside of atoms.proto in pulled atoms\n\nThere will be followup cls to add support of new types that can be\nnested and repeated.\n+ skip StatsLog.write signature generation for pulled atoms.\n\nBug: 113872139\nTest: manual test\nChange-Id: I69d0ee0b2fe8e286e48eac20ec2c8b280c477bf0\n"
    },
    {
      "commit": "8a903bdb33bd15b6ce8ccccfd66496db93a7a23a",
      "tree": "0ccbbf1051d69ef112372fc4496b721fa3e5ebb7",
      "parents": [
        "31aa239b871bb493f67b50d308ad53e5a4f99dcc",
        "e124e42582b45961ff86aa428b69d6c7691d5887"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 08 03:24:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 08 03:24:26 2018 +0000"
      },
      "message": "Merge \"Interface of writing key value pair atom to socket and parsing from statsd.\""
    },
    {
      "commit": "28afe682cd84c894c4da880ace41db77268400c4",
      "tree": "9954502d61ed2b24eb5d127ca0aa812d4eb75103",
      "parents": [
        "a1a74cb44d1f6dd0962d0e7ef1bc0b4474fbb50c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Sep 07 14:33:14 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Sep 07 15:19:53 2018 -0700"
      },
      "message": "AAPT2: Add the rest of supported manifest elements\n\nAdds elemnts that are parsed in PackageParser to the manifest parsing of\nAAPT2.\n\n\u003cpackage\u003e found in \u003cmanifest\u003e\n\u003cpreferred\u003e found in \u003cmanifest\u003e\u003capplication\u003e\u003cactivity\u003e\n\nBug: 79755007\nTest: manual building of broken targets listed in the bug\nChange-Id: Ic7d17e62d04aa46757d2ed7482ec0aff93ce9ee5\n"
    },
    {
      "commit": "e124e42582b45961ff86aa428b69d6c7691d5887",
      "tree": "434186130e7203a9a9c2b80cf007085842aab2f2",
      "parents": [
        "4b719a7cad9467292977651f8287c02a250588ed"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Aug 16 10:30:28 2018 -0700"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Fri Sep 07 11:09:37 2018 -0700"
      },
      "message": "Interface of writing key value pair atom to socket and parsing from statsd.\n\nTest: statsd unit test\nBUG: b/114231161\n\nChange-Id: I3543900934b5e8e0677bf1e7cc454d61064a2475\n"
    },
    {
      "commit": "d3e4a4aead29f3b4be6a3d8336d85ff34fa1cbf6",
      "tree": "7fa8184e7ece1fbe34e6bd5e13188a5c87ee09f4",
      "parents": [
        "412c43f92ae6354e80ab71c3e21aa5e5ac563ee1",
        "fa5ad5cb9b81dc2e884fe73021b6d72f64ef9b6b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Sep 07 03:43:20 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 07 03:43:20 2018 -0700"
      },
      "message": "Merge changes from topic \"hiddenapi-dark-grey\" am: 3d93d8f323 am: 5c776dea7e\nam: fa5ad5cb9b\n\nChange-Id: I22668080195cc78f3ee2576f6094eeb524781c96\n"
    },
    {
      "commit": "a5249f9b0d1d06990bd2606208c8f062f3c9635c",
      "tree": "01cbf650ff277d17ace0d283e4ec35a0750c777c",
      "parents": [
        "3ebdb24c908d12df99f0331cfcfe8575e30c3ceb",
        "a77f53d1e37cc63ab7910c6672ba17adb7279c53"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Sep 07 03:32:05 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 07 03:32:05 2018 -0700"
      },
      "message": "Check in P dark greylist, use it for hidden API list generation am: 3cc74c71ef am: 38d2793a7d\nam: a77f53d1e3\n\nChange-Id: I42afed836a9e325cdf10585eb62aaf9cab35c5d2\n"
    },
    {
      "commit": "5c776dea7ebc68e31b16019093a191ef015ada97",
      "tree": "719c12072da84306cea79ba218862bac2dd6bb15",
      "parents": [
        "eb0b6de5105abac54e2df5c9bbb49bd4bff61609",
        "3d93d8f3238f26c9331c34ea01f2baceecfdb718"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Sep 07 03:00:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 07 03:00:37 2018 -0700"
      },
      "message": "Merge changes from topic \"hiddenapi-dark-grey\"\nam: 3d93d8f323\n\nChange-Id: I7ee3cfd512553bcf5ff3297a7df0db6786d3436a\n"
    },
    {
      "commit": "38d2793a7d802388655b6db3ce9c017a446d8b29",
      "tree": "9dca53dbe9d11a6b01430526005eb3416b439c97",
      "parents": [
        "e3621c5e2e22d7eb86efbae60ce2128175c8a58d",
        "3cc74c71ef907a76547424aea6597f7b2907e9fb"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Sep 07 02:48:00 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 07 02:48:00 2018 -0700"
      },
      "message": "Check in P dark greylist, use it for hidden API list generation\nam: 3cc74c71ef\n\nChange-Id: I266a8661800078c7fd3f1717b94c81f3a7e9545a\n"
    },
    {
      "commit": "3d93d8f3238f26c9331c34ea01f2baceecfdb718",
      "tree": "fac5a236e0cd0c376dfc9285417e6bf9d7b53e66",
      "parents": [
        "4be1419838d8e356f28d05c186b4ba4609dea8a3",
        "ae88d4e21e072a5a4a15777ce2575b90a4689333"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Sep 07 09:31:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 07 09:31:56 2018 +0000"
      },
      "message": "Merge changes from topic \"hiddenapi-dark-grey\"\n\n* changes:\n  Ignore comment lines in hidden api lists\n  Mark hidden API lists .KATI_RESTAT\n  Check in P dark greylist, use it for hidden API list generation\n"
    },
    {
      "commit": "8dcc5f9914f732328f5ea27c99475173adcec26f",
      "tree": "4f4103abfd609389c00ce9c9baa3399a3e3da630",
      "parents": [
        "ee31cb32cfaea975998136d30f1e701d077ae950",
        "084d8365b2aecad36d799cb95a87ca20be6da970"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Sep 06 13:22:40 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 06 13:22:40 2018 -0700"
      },
      "message": "Merge \"Fix compilation when targeting OpenJDK 9.\" am: 0d2f465ed7 am: e03a757d87\nam: 084d8365b2\n\nChange-Id: I628c836ce87bde417f7cba64cf4bb20e206bc835\n"
    },
    {
      "commit": "e03a757d87e951a93fbb4427a7b1f406fdcd991c",
      "tree": "2daefe8e12d4f20824852ab7e965aa295ba800d7",
      "parents": [
        "5225d85626cb00b2deadb52c81db576461bc480c",
        "0d2f465ed798530ac0a4746153f771bee8b10f52"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Sep 06 12:31:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 06 12:31:56 2018 -0700"
      },
      "message": "Merge \"Fix compilation when targeting OpenJDK 9.\"\nam: 0d2f465ed7\n\nChange-Id: I066771334a0d7c4d79c4035ccce95c08d7a23892\n"
    },
    {
      "commit": "8fb36157292db01854fbfa40815e0a37db6332e1",
      "tree": "6eb0b744d57417d5d8daeac6115ad7568f809812",
      "parents": [
        "08d7a208e8c8b6e23d7949d5ce9bc06cb5bea538"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Sep 06 17:30:28 2018 +0100"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Sep 06 17:33:57 2018 +0100"
      },
      "message": "Fix compilation when targeting OpenJDK 9.\n\nCL [1] added a new compilation target that uses internal API\nthat is now in the jdk.compiler module and is not exported\n(it is subject to removal without notice in future versions of\nOpenJDK). The fact that these packages are not exported suggests\nthat a replacement API is already available, but I don\u0027t know the\ndetails.\n\nFor now, this CL uses javac command-line flags to export these\npackages, which fixes compilation. Since the commit message from\nCL [1] implies that the entire tool can be removed once bug 77284273\nis fixed, a longer-term solution should not be required.\n\n[1] https://android-review.googlesource.com/c/platform/frameworks/base/+/745655\n    commit bad89e5e5b171a71e42d7c738ec97a39747e4318\n\nTest: The following breaks before but not after this CL:\n  EXPERIMENTAL_USE_OPENJDK9\u003dtrue make unsupportedappusage-annotation-processor\nBug: 113853502\n\nChange-Id: I24b77af9262891428a01e2eccc18fa3a5c3b3bc9\n"
    },
    {
      "commit": "ae88d4e21e072a5a4a15777ce2575b90a4689333",
      "tree": "cf0d7dbec4ac0d9c4e7f3406016e997559a31c66",
      "parents": [
        "081a589ad997e30062bfb9c6cd18f77d9cae0245"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 06 14:46:55 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 06 15:10:28 2018 +0100"
      },
      "message": "Ignore comment lines in hidden api lists\n\nIt is sometimes useful to add comments at the top of a source file. This\npatch changes hidden API list generation to ignore lines beginning with\na hash.\n\nNote that due to the sorting constraints on hidden API lists, comments\ncan be only at the top of the files.\n\nTest: m appcompat\nChange-Id: I1bc6fd44d1b1f10a5adc45093d7f7ed5a0c5a54f\n"
    },
    {
      "commit": "3cc74c71ef907a76547424aea6597f7b2907e9fb",
      "tree": "3b698fdf89b4a5abeed7a2b08aa2f6455fc20bd1",
      "parents": [
        "08d7a208e8c8b6e23d7949d5ce9bc06cb5bea538"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 06 11:02:06 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 06 11:10:51 2018 +0100"
      },
      "message": "Check in P dark greylist, use it for hidden API list generation\n\nWe want to preserve the same semantics as P wrt dark greylist. This will\neventually become the \"blacklist for target SDK \u003e\u003d P\".\n\nBug: 113881436\nTest: phone boots\nChange-Id: I3bb72102e1d054eb0f2cae089ab633a0bc2bb276\n"
    },
    {
      "commit": "8019cb88987655340f442fa4ba870be2b3f075ad",
      "tree": "813569985a3aea2fd4f58000c94732c9fed6f2c8",
      "parents": [
        "c803806efbf554ca55e4e1a7063d1d5dafc12516",
        "8027876f9f6d97aad280cd0f0da7739c46a314b6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 05 17:35:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 05 17:35:38 2018 +0000"
      },
      "message": "Merge \"Refactor String8 to std::string calls\""
    },
    {
      "commit": "88924e0e24c70cbb6aaa4e8362c16ebccd6a98eb",
      "tree": "15bb674ae398e0c3a1d438f886031bbc83bcec08",
      "parents": [
        "cf1c58cd473d927f4c12dbecd33cd99d02dd1e25",
        "d20588332d546ff9b7f145a45b00ebf05c37d9fe"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Sep 05 10:01:21 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 05 10:01:21 2018 -0700"
      },
      "message": "Merge \"Processor for @UnsupportedAppUsage annotations.\" am: e5440456ca am: 22ea0b7a52\nam: d20588332d\n\nChange-Id: I097550eeaf0307e3518aaf2d8e3f30338f9fa9dc\n"
    },
    {
      "commit": "22ea0b7a52205c046eb7244d4fca4328f130ac7f",
      "tree": "674240c55b622a1274e63cf3f9698df60dccaa6a",
      "parents": [
        "0d4d187ddc83213f65e2eb00d04f21addc7c84b4",
        "e5440456ca3af4028586db679a89edfc2ae4fd4a"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Sep 05 09:33:33 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 05 09:33:33 2018 -0700"
      },
      "message": "Merge \"Processor for @UnsupportedAppUsage annotations.\"\nam: e5440456ca\n\nChange-Id: I5e4d53b92c20bf3c34248c6cf4798ab4ba34af7c\n"
    },
    {
      "commit": "bad89e5e5b171a71e42d7c738ec97a39747e4318",
      "tree": "713d2fe9e6a0a149ac86044261094a4f9d487992",
      "parents": [
        "8ac363088ce16df9d50953c1aed636616513b7d8"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jun 28 14:12:10 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Sep 05 15:01:21 2018 +0100"
      },
      "message": "Processor for @UnsupportedAppUsage annotations.\n\nThe processor outputs unsupportedappusage_index.csv, containing source\nposition info for every@UnsupportedAppUsage annotation processed. It is a\nmapping of dex signature to the source postion of the annotation on that\nsignature. It is used as input for scripts which update the annotations.\n\nWe include a META-INF file which causes the compiler to automatically\npick up the annotation processor. Otherwise we would need to explicitly\nspecify the processor with a -processor flag to javac.\n\nWe create a new build target for just the @UnsupportedAppUsage annotation\nand the @IntDef annotation (which it depends on) so that the processor can\nalso depend on that directly.\n\nThe processor only runs on a new build target framework-annotation-proc\nso that it is not invoked as part of a regular build. This is done so\nthat we don\u0027t slow down peoples builds: Soong does not support annotation\nprocessors when javac sharding is in use. This workaround can be removed\nonce b/77284273 is fixed.\n\nTest: m framework-annotation-proc\nBug: 113853502\n\nChange-Id: Ie9cd5a90ddf7a51f6035e849703fc39ad9127557\n"
    },
    {
      "commit": "bd263a40cac6728b11b4cbee83fa221540041ee4",
      "tree": "8c837452e6eca901579ce51da96ce43f438807f6",
      "parents": [
        "cca7d943cfaad5e47060d9dcfbc6f2390c854b24",
        "dea2fe3f9f8c499f12967ef0bbcec9afdbbb9ae4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 31 00:01:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 00:01:40 2018 +0000"
      },
      "message": "Merge \"AAPT2: Fix dump apk format\""
    },
    {
      "commit": "dea2fe3f9f8c499f12967ef0bbcec9afdbbb9ae4",
      "tree": "aabcc4f87ed01d9864e3ee67ec931f7687a6e5b3",
      "parents": [
        "342df6ddd178d55aa94e01ff94e5be00457f3440"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Aug 30 13:48:54 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Aug 30 13:48:54 2018 -0700"
      },
      "message": "AAPT2: Fix dump apk format\n\nDumping resources printed the incorrect apk type.\n\nBug: 113062289\nTest: manual\nChange-Id: I8b250a470afa26697f80b1dfa8ba677ed654a958\n"
    },
    {
      "commit": "c72888de5dec8327da3d1a8d328f2c92a629d91e",
      "tree": "c73927e53ca3d33797cc522baf47cd2b3498349d",
      "parents": [
        "2256328250973bcad7f93b68d685f422d5c6f340",
        "8107e81a7884a100571adf426b2afde27fd3a635"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Aug 30 11:41:53 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 30 11:41:53 2018 -0700"
      },
      "message": "Merge \"Rewrite hidden API list generation in Python\" am: a264c2c83e am: 8f7b234417\nam: 8107e81a78\n\nChange-Id: Ib37713052218289bbfe424855ab96e5cab9a27ad\n"
    },
    {
      "commit": "8f7b234417706a3329427b739e926ffb001faf22",
      "tree": "9ebcdf8757d9f5a5fd4abd263997ae25a5309d67",
      "parents": [
        "2e5fdd0051f4e0136dada304d51a68d7f029ac43",
        "a264c2c83e5a2adbc66d96aa92c8f015a44614f6"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Aug 30 11:18:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 30 11:18:29 2018 -0700"
      },
      "message": "Merge \"Rewrite hidden API list generation in Python\"\nam: a264c2c83e\n\nChange-Id: Ib785891e303ef7c4a78175debae3e92b3a82410f\n"
    },
    {
      "commit": "8503b9045b71cb3d89af5a389257ba8e8a8fa611",
      "tree": "b9ddc88e36247631f22d958ad05b9ae97bc4525c",
      "parents": [
        "6717a6f930cd1fc72ee71de7d01b0077f9e055e2"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Aug 30 13:35:03 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Aug 30 16:19:26 2018 +0100"
      },
      "message": "Rewrite hidden API list generation in Python\n\nGenerating hidden API lists has grown in complexity and the original\nMakefile rule has become a bottleneck for build times. Rewrite the\nlogic in Python.\n\nBug: 113278235\nBug: 73736106\nTest: frameworks/base/tools/hiddenapi/generate_hiddenapi_lists_test.py\nChange-Id: I63f03133d70260d06c55f482b844a4980dc6f734\n"
    },
    {
      "commit": "2d30bf731d95944741530cf510bdd3558f75ff7a",
      "tree": "d9625dd712bd64791567afcd60986c1f030952ed",
      "parents": [
        "48990ce0084650d8595943492d7e3059d2c2f0e1",
        "946e6eedc2e00ef5124f67feac01a453bc8e74e6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Aug 29 20:02:39 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 29 20:02:39 2018 -0700"
      },
      "message": "Merge \"Convert aapt to Soong\" am: 7bd321ca25 am: 9f5e3e822c\nam: 946e6eedc2\n\nChange-Id: Iffb3b89148643365a356512d806a4e9e123e359b\n"
    },
    {
      "commit": "9f5e3e822c346b5bb31012fa1661ef7f9ffc3665",
      "tree": "5653706a4f37a850d2aabc2afc87f2bc182a069e",
      "parents": [
        "85b40cb793a38951624f2d0ab0f6e7d2fb7845b9",
        "7bd321ca25c768c9135cfa2e13832902ffd03788"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Aug 29 19:32:51 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 29 19:32:51 2018 -0700"
      },
      "message": "Merge \"Convert aapt to Soong\"\nam: 7bd321ca25\n\nChange-Id: Ia55efab04b2117049d34335ff4141f5eeb1ef25a\n"
    },
    {
      "commit": "5d12935f35a04abb39cd02883c8c46d4e0345928",
      "tree": "6963d25051fb87a05d88d30ce0de254da8131ae5",
      "parents": [
        "13d6540956bc0aff2e08b785d90ad3c91d81663d"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Aug 29 17:22:14 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Aug 29 17:24:18 2018 -0700"
      },
      "message": "Convert aapt to Soong\n\nSee build/soong/README.md for more information.\n\nTest: cd frameworks/base/tools/aapt; mma\nTest: aapt version\nChange-Id: Ice97e9b32c53cfed30d68acd5717d8c66712df4c\n"
    },
    {
      "commit": "8d4ee973fa631c13ad458a3b906d8c1319fe0913",
      "tree": "52bdaa2fda135ea05a60237c281981012bcbc0c7",
      "parents": [
        "342df6ddd178d55aa94e01ff94e5be00457f3440"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Aug 27 11:24:04 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Aug 27 22:35:34 2018 +0000"
      },
      "message": "AAPT2: Fix resource table load time regression\n\nA previous change (deee395) caused duplicate entries to be created for\nentries eith entry ids greater than 0x0ff. This is because the wrong\ndata type was used (uint8_t instead of uint16_t). This made loading in\nresources slower as well since more entries had to be iterated over.\n\nBug: 36051266\nTest: Dumping all resources in 700 apks found in the android tree took 1\nminute instead of 5 minutes. Created a test in aapt2_tests.\n\nChange-Id: I1c3d830da517a56ac3496221dbe605c72e0c6014\n"
    }
  ],
  "next": "35c5782bb91f4aa2ad696a36305afcd3d8304a77"
}
