)]}'
{
  "log": [
    {
      "commit": "242c20ef390b1844f13c203ae30386949ba3d592",
      "tree": "e9ebc9801b0b599b1fef0009224e5f969abc02c0",
      "parents": [
        "35ed6c34c7274333911b4add55c29aa8e5538cf7"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon Apr 08 06:25:21 2019 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Apr 09 21:01:12 2019 +0000"
      },
      "message": "stats_log_api_gen: Minor printf format fix\n\nWe use \"%zu\" for a size_t argumet.\n\nTest: TreeHugger\nBug: 126134616\nChange-Id: I02916829dfb71a63f78eda0d45129b4dc0732a82\nMerged-In: I02916829dfb71a63f78eda0d45129b4dc0732a82\n(cherry picked from commit f87e93835a9cbebec2a46124f0f0b7e967de0d52)\n"
    },
    {
      "commit": "636f9ae0c2d5e26878dc2a4f21bea2a8ef2420e5",
      "tree": "93b1f35fe3ac6c0e2e9483f04cd3093327564177",
      "parents": [
        "beeb456338bc828421335d21d9976e24ea5f2198",
        "ced9a5c1081d36edd2e5936fdbe849bfed06136f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 08 21:06:32 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 21:06:32 2019 +0000"
      },
      "message": "Merge \"Allow merging of resources with the same overlayable\" into qt-dev"
    },
    {
      "commit": "2910d5aa16fbde8e6cc26975e8ef070e9e5c4d36",
      "tree": "1e5f8ec7f8504e01648168fa56f2fc4c7012a2af",
      "parents": [
        "67a43354b375693a56ff207e3b57b4249202ff55"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Sat Mar 23 17:26:32 2019 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Sat Apr 06 01:26:12 2019 +0000"
      },
      "message": "Java code for mainline modules to log to statsd.\n\nAdds support for generating app code to allow java mainline modules to\ncall the StatsLog.writeRaw public API. Supports primitives, enums,\nattribution chains, MODE_BYTES. Does not support key value pairs,\nworksource methods (because worksource uses hidden apis in the\nworksource object).\n\nTest: manually tested atom logging from DocumentsUI\nTest: existing autogenerated code is not modified\nTest: cts will follow\nBug: 126134616\n\nChange-Id: Ia321cf2d9952e3875ed0c7a28db1f4113711513f\n"
    },
    {
      "commit": "ced9a5c1081d36edd2e5936fdbe849bfed06136f",
      "tree": "962e7341978b617c851a5eb88c80d7e62e2bfc57",
      "parents": [
        "dd07ae579c291a2b6ffe09bd576fd908eb9e5ddd"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Apr 05 10:44:16 2019 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Apr 05 10:44:16 2019 -0700"
      },
      "message": "Allow merging of resources with the same overlayable\n\nIf a resource is redefined with the same overlayable name, actor, and\npolicies, do not error.\n\nBug: 128843658\nTest: m -j Launcher3 \u0026\u0026 aapt2_tests\nChange-Id: I2c79f7d9fa7ff16b38ec41cec7e9804d39b372d5\n"
    },
    {
      "commit": "335b565eb646b6568709059b5c9817eb634c0cc9",
      "tree": "4648860e7637c61bb1d6c1fb0c0da9b3e885526f",
      "parents": [
        "dd07ae579c291a2b6ffe09bd576fd908eb9e5ddd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Apr 04 12:46:47 2019 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Apr 04 13:25:55 2019 -0700"
      },
      "message": "Support profileable application action\n\nFixes: 129358330\nTest: make -j16 aapt2_run_host_unit_tests \u0026\u0026 cat out/target/product/walleye/obj/PACKAGING/aapt2_run_host_unit_tests_intermediates/result.xml | grep \"failure message\"\nChange-Id: Id9ec59447a99a5f6e0bfe47c0b8ce3553bf751c7\n"
    },
    {
      "commit": "9b5b3eaa84c4af2d54b4c84eb542c131a9b72014",
      "tree": "613c21ce29db8cd22d18aeaebd7d9a6e223c0ea5",
      "parents": [
        "0c682d04bdeb249508822671c0b1609942dcb6fe",
        "4f0fdf2d436a237a6a3b13efb30f84a9e221ba03"
      ],
      "author": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Tue Apr 02 06:54:25 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 02 06:54:25 2019 -0700"
      },
      "message": "Merge \"Automatically greylist code in 3P packages\" am: 1f80714c2d am: 8b1745650b\nam: 4f0fdf2d43\n\nChange-Id: Iaa456ba488b37b87b1b65e312074a60c9b43a9a2\n"
    },
    {
      "commit": "73ad61f652c10ec7e1fc4efc78bd45bbc6685917",
      "tree": "05602004d0f74bb563c4c8af42ddeaab79fdc368",
      "parents": [
        "1fc0bd6aaa096a270ffeaf145eeaeb6ef725089d",
        "5e904c3d01c6249307b4f85270b575de54d77c3b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 00:13:19 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 00:13:19 2019 +0000"
      },
      "message": "Merge \"AAPT2: Delete dead code\""
    },
    {
      "commit": "551a76e26e55f72dbe5c3eccfb7a5de2c59ee659",
      "tree": "b30d293edc7eade40abbfd7ee28545b586de5ca3",
      "parents": [
        "089c54316b75c4d7f061337067dd46de1e3fd1d2",
        "d1a6521cc35fc882c9b4c5b31babd7748b445698"
      ],
      "author": {
        "name": "Mihai Niță",
        "email": "mnita@google.com",
        "time": "Mon Apr 01 18:04:15 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 18:04:15 2019 +0000"
      },
      "message": "Merge \"Fix aapt2 pseudo-translating donottranslate* files\""
    },
    {
      "commit": "a6e09b427392b4448545a92363d2e6e1967d335c",
      "tree": "f60c7751e63e6a0e1dfcde34cda7d96a2c7b0fd0",
      "parents": [
        "f3736d67f85fd9a48451e165c70e16b1c3fa6856"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Fri Mar 29 15:27:55 2019 +0000"
      },
      "committer": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Mon Apr 01 15:32:36 2019 +0100"
      },
      "message": "Automatically greylist code in 3P packages\n\ngenerate_hidden_api_lists now receives a file containing package names\nwhich need to be greylisted (although it could be made to work with any\napi list required).\nAlso took the opportunity to clean up the tests to reflect the more\nstrict code.\n\nBug: 129387816\nTest: m appcompat\nTest: frameworks/base/tools/hiddenapi/generate_hiddenapi_lists_test.py\nChange-Id: I619f8581d166aa48eda572bc0053d8739d6420eb\n"
    },
    {
      "commit": "d1a6521cc35fc882c9b4c5b31babd7748b445698",
      "tree": "b1fa72782f535e72df99b2f99174fa0ba4d3a36e",
      "parents": [
        "e4329dc3ef4c8bc67effb61722019693e92d8518"
      ],
      "author": {
        "name": "Mihai Nita",
        "email": "mnita@google.com",
        "time": "Tue Mar 26 13:47:45 2019 -0700"
      },
      "committer": {
        "name": "Mihai Nita",
        "email": "mnita@google.com",
        "time": "Fri Mar 29 17:15:18 2019 -0700"
      },
      "message": "Fix aapt2 pseudo-translating donottranslate* files\n\nBug: 126423638\n\nTest: After building android doing this in the \u0027out\u0027 folder:\nTest:\nTest: ./soong/host/linux-x86/bin/aapt d --values resources \\\nTest:     ./target/product/sailfish/system/product/priv-app/SystemUIGoogle/SystemUIGoogle.apk \\\nTest:     | less\nTest:\nTest: search for `system_ui_aod_date_pattern` in the output, found this:\nTest:           (string8) \"[éééḾḾḾð one two]\"\nTest:           (string8) \"\u003cU+200F\u003e\u003cU+202E\u003eeeeMMMd\u003cU+202C\u003e\u003cU+200F\u003e\"\nTest: (the en-XA and ar-XB pseudo-translated versions of the string)\nTest:\nTest: After the fix and rebuild the dump only finds the original English string (\"eeeMMMd\")\nTest: Also flashed the image, switched to en-XA, and left the phone around for more than 24 hours.\nChange-Id: I2fb7c5b5ee7d3d3200410593346682ed16559056\n"
    },
    {
      "commit": "b8e80e0dc081a780ee187f6f93566034f566487f",
      "tree": "95a54a24e244d39c052f48729f7fc9bdc17ee5f1",
      "parents": [
        "61665726f1607e8dbd7caad9f938730e7509f091",
        "28c88801e72087649e033dc9bf73938701f78a37"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 29 17:28:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 29 17:28:26 2019 +0000"
      },
      "message": "Merge \"Fix aapt2 badging return codes\""
    },
    {
      "commit": "28c88801e72087649e033dc9bf73938701f78a37",
      "tree": "a356c9964fc90fb84f4c61bc9c3994b0d01a01a8",
      "parents": [
        "f163c2111a72694f676f632762521376a6e80919"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Mar 28 11:28:54 2019 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Mar 28 11:28:54 2019 -0700"
      },
      "message": "Fix aapt2 badging return codes\n\naapt2 was returning the inverse return code when duumping badging.\n\nBug: 129476626\nTest: aapt2 dump badging [APK] \u0026\u0026 echo $?\nChange-Id: Icd236e5fad3284c8bc4a0e2d7e9fb7cfb3262b6c\n"
    },
    {
      "commit": "37c66e5e5082161cf23e280af7a5388de7c5ea8a",
      "tree": "9691a505a489951ebb9b5fb6ffd5108f9d040709",
      "parents": [
        "ee7be58a020754159c0d12d946ca98cd09be0b71",
        "fe7bbf410cf1e753fb0f66777c2f2b43bb3ddbf8"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Mar 27 16:27:34 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 16:27:34 2019 +0000"
      },
      "message": "Merge \"incidentd sections for userdebug and eng are compiled out\""
    },
    {
      "commit": "d68ac8003c69cc8323335f14b72699a86369d677",
      "tree": "8c5cf5c1ebd18be2dd4953ee54212e60b9e9eec8",
      "parents": [
        "9cd1d069d627fdadf1c2c6c395f819c0a50e397b",
        "49d7dd7aaa5eefe150e042685573a05f425d0c39"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Mar 27 16:21:15 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 16:21:15 2019 +0000"
      },
      "message": "Merge \"Report the last atom tag, uid in the case of log loss.\""
    },
    {
      "commit": "fe7bbf410cf1e753fb0f66777c2f2b43bb3ddbf8",
      "tree": "be98f187726b6413039e8f91716fb962bb7361f8",
      "parents": [
        "ceece4851870405fb75dc915f2293a985bd3a294"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sun Mar 24 20:57:16 2019 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Mar 27 00:23:20 2019 -0700"
      },
      "message": "incidentd sections for userdebug and eng are compiled out\n\nPreviously, the decision to include or not include them was\ndone at runtime. This changes them to be behind a compile\ntime flag. It\u0027s just safer, because the code just isn\u0027t there\ninstead of being dependent on a system property.\n\nTest: bit GtsIncidentManagerTestCases:*\nBug: 123543706\nChange-Id: If4e611914a7b0acd399ae27e55af8f718aee3ec8\n"
    },
    {
      "commit": "1c33a647055210e250606c145b2fe97d5bd4cdba",
      "tree": "4b751d5ddd9a45bc11d4a3d1739f5bb7b27deee2",
      "parents": [
        "7f7639a942cb54c900b45e31df31bf948db0a5e2",
        "99598ee6ee52a6b2f1bc101187df17a46fe81ad2"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Mar 27 04:06:06 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 04:06:06 2019 +0000"
      },
      "message": "Merge \"incidentd can now handle multiple callers asking it for incident reports\""
    },
    {
      "commit": "f1e402ecaff5bdbf22d3423402bba10c23435434",
      "tree": "a6a7a9f911c90fadc46f39031d74522dfa3afd18",
      "parents": [
        "b38180edc1d53084592997e7b8ec6e553b5dec50",
        "5e98771093fc3311e2f205f6a0168694e718eb01"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 27 03:31:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 03:31:25 2019 +0000"
      },
      "message": "Merge \"Modify fontchain_linter.py for Unicode 12.0 .\""
    },
    {
      "commit": "5e98771093fc3311e2f205f6a0168694e718eb01",
      "tree": "173aa11c1e7f5e5e7377703c281eafc748becc76",
      "parents": [
        "ff002f54d4d197c479b9013ff0c1d52be153a141"
      ],
      "author": {
        "name": "Qingqing Deng",
        "email": "qqd@google.com",
        "time": "Mon Mar 25 16:53:34 2019 -0700"
      },
      "committer": {
        "name": "Qingqing Deng",
        "email": "qqd@google.com",
        "time": "Tue Mar 26 16:23:02 2019 -0700"
      },
      "message": "Modify fontchain_linter.py for Unicode 12.0 .\n\nBug:127811703\nTest: m fontchain_lint\n\nChange-Id: I36e5804388b70d98a507a719741cae6bc73b727f\n"
    },
    {
      "commit": "49d7dd7aaa5eefe150e042685573a05f425d0c39",
      "tree": "3a1dd4bd74e7afa4fdaa1c9810d7dae24959ff24",
      "parents": [
        "44dbdbc34833a541977af8af6e89b8171dded957"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Mar 26 14:02:11 2019 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Mar 26 15:50:47 2019 -0700"
      },
      "message": "Report the last atom tag, uid in the case of log loss.\n\nTest: manually tested and existing statsd_test\nChange-Id: I8cea9e09c4c069ec234fc0d989d550886605449b\n"
    },
    {
      "commit": "99598ee6ee52a6b2f1bc101187df17a46fe81ad2",
      "tree": "75e9eb540ee305b1c54aec3b175f704667b2624e",
      "parents": [
        "21638cb830c218d6e1c723cb14b39b6705d58d2c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Feb 11 15:55:13 2019 +0000"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Mar 26 11:20:48 2019 -0700"
      },
      "message": "incidentd can now handle multiple callers asking it for incident reports\n\nTest: bit incident_test:* GtsIncidentManagerTestCases:*\nBug: 123543706\nChange-Id: I9f671dd5d8b2ad139f952a23e575c2be16120459\n"
    },
    {
      "commit": "b4e3d691d16414192484ef9f0290f0bfce06ba8c",
      "tree": "f2552400db070adf6820386a996e816c1fc557cc",
      "parents": [
        "aecff3d7c4cb910e6ab95849d2d5def121b0469f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Mar 26 09:59:32 2019 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Mar 26 09:59:52 2019 -0600"
      },
      "message": "Also need to filter second pass.\n\nBug: 116802409\nTest: manual\nChange-Id: I874cea7987684a8f7dca5c4d03d226568f355d8d\n"
    },
    {
      "commit": "871cf3ec0ec2c65ed672ef2f66a971331183f33e",
      "tree": "00b68d96899e9b397e984113d685750fae93a40a",
      "parents": [
        "22b8fb6906a6444af275b6e3ababd80dcffa6051"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Mar 25 14:30:34 2019 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Mar 25 14:31:06 2019 -0700"
      },
      "message": "Fix bit crash\n\nChange-Id: Ie9314b3d52b9262ac6f964ab833bb36eefb4278f\n"
    },
    {
      "commit": "95d2c302d5311da3bf94ecda65a4b907927bf227",
      "tree": "5def11b5d615d614f29a366fc63fa732fdb1b4c3",
      "parents": [
        "cc2be1ecfb2d83fc2d6fb5e67c6b0f4d4cd1c937",
        "62b68341e8c9cb7a57da99413f5d3d52373e85e0"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 25 15:49:14 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 25 15:49:14 2019 +0000"
      },
      "message": "Merge \"Compile all files in res/xml as xml\""
    },
    {
      "commit": "1f9256fa7395582242eeb9e0f68c1133e2879426",
      "tree": "01353627d593d8084fc45984f4f24f9e4a263ecc",
      "parents": [
        "8ed3fb9b8e998b226b3efdc82b76904781080221",
        "7acae74e9e20e8e26a3337f77bb41f149e0aa694"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sun Mar 24 01:14:23 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Mar 24 01:14:23 2019 +0000"
      },
      "message": "Merge \"Add bit --refresh which updates module-info.json\""
    },
    {
      "commit": "7acae74e9e20e8e26a3337f77bb41f149e0aa694",
      "tree": "4aced88fbb84192481fcd98f873a60bf15303add",
      "parents": [
        "5ddff3f33506d7a00e3653e24216341c23da4ca5"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Mar 23 16:12:32 2019 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Mar 23 16:13:29 2019 -0700"
      },
      "message": "Add bit --refresh which updates module-info.json\n\nChange-Id: Iacd760442fa45d1e23ce249d51c45f2313d6467c\n"
    },
    {
      "commit": "d67b569eecb915182144e00a4414191bf2ac1c67",
      "tree": "330c75f8871d76d8e4b6041005ce25354786ed23",
      "parents": [
        "e5f5a10478d16d51ca6a05e97b58ac3c8a5c7356",
        "810eeb3eed455812f2240040858a4d4882df7a4e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 23 05:03:04 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 23 05:03:04 2019 +0000"
      },
      "message": "Merge \"Mainline logging to statsd: native static libs\""
    },
    {
      "commit": "e5f5a10478d16d51ca6a05e97b58ac3c8a5c7356",
      "tree": "9f058463bda135a541d6c6a828f286240abd0c51",
      "parents": [
        "778423d951fdd94afda6b07782d8b82dd4324d47",
        "be0482b421a44521ea3e9300f3a2ef972c663100"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Sat Mar 23 05:00:52 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 23 05:00:52 2019 +0000"
      },
      "message": "Merge \"Public StatsLog API for generic mainline logging.\""
    },
    {
      "commit": "7177077bb5d4e2206df9d90e4bea2b480c8cd0e4",
      "tree": "763f42c83baa8e9c3bcfa8446dc0d6a4ef4966b1",
      "parents": [
        "1dd202060c8ceb441650412dec3238c9711d7baf",
        "b948bcd44de5afc72a498a8c367a7a15fd4c580b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 21 12:31:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 21 12:31:30 2019 +0000"
      },
      "message": "Merge \"Remove unused @InspectableNodeName\""
    },
    {
      "commit": "a8edeaa4ec00d97dcb49a71085ba4e8c43b93bac",
      "tree": "94a31e0988973a5beca2616d707d42a26ca83330",
      "parents": [
        "6b49665d797c9b9e41458e53d324ab534200d61e",
        "0fc50310f30c053358d756e7857f3a1e0057b334"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 20 17:59:14 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 20 17:59:14 2019 -0700"
      },
      "message": "Merge \"Dist aapt2 protos\" am: b602193169 am: 0783f2d300\nam: 0fc50310f3\n\nChange-Id: Ifd9668f3931ec4d276b79a6e5ece576860271de7\n"
    },
    {
      "commit": "be0482b421a44521ea3e9300f3a2ef972c663100",
      "tree": "995594a09bd0f97e9bcdef0bc1531c5e386418a2",
      "parents": [
        "3d3b861a5c86e0c9f8f4c01aafb5814b5489105c"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Mar 19 22:01:57 2019 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Wed Mar 20 17:44:53 2019 -0700"
      },
      "message": "Public StatsLog API for generic mainline logging.\n\nSets up a public api for logging atoms to statsd. The API excepts a\nbuffer which is already encoded in the proper format for the socket, as\nwell as the number of bytes of the buffer to write. It performs a JNI\ncall to perform the socket write. Autogenerated app code will be built\nfor each mainline module that needs to use this API to log.\n\nTest: builds\nTest: existing logs flow properly\nBug: 126134616\nChange-Id: I8a9a91e638d730e3ff69cb9345692e49e0db3c96\n"
    },
    {
      "commit": "b948bcd44de5afc72a498a8c367a7a15fd4c580b",
      "tree": "e95cdb29c951c69d32d07bff51626150f0d2ccdd",
      "parents": [
        "cf49db1265539c41931306a2d797e2f72d8e9611"
      ],
      "author": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Wed Mar 20 15:18:25 2019 -0400"
      },
      "committer": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Wed Mar 20 15:24:28 2019 -0400"
      },
      "message": "Remove unused @InspectableNodeName\n\nChange-Id: Ib5a2688e7b25c4c8ba43dc4aeb80e17a12427f9c\nFix: 128997046\nTest: atest --host view-inspector-annotation-processor-test\n"
    },
    {
      "commit": "ade947448eb8c7b4e89aba3336b5616429ffe22f",
      "tree": "3c623e5eed1d347c5d26c870dff06560255db3e3",
      "parents": [
        "61cd3214fb006c52a3b3d7323fa985815e991e56",
        "2369f5407af808d98a8532f23bdf3568ed89813e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 20 18:33:06 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 20 18:33:06 2019 +0000"
      },
      "message": "Merge \"AAPT2: Delete unused method parameter\""
    },
    {
      "commit": "9812bc26afc28f1f42f48b6139539c1ac12164f9",
      "tree": "fb11a18a4656ab4a968e87dd241ec8929f99dba3",
      "parents": [
        "b7006711a7bf87df2a7374c589e1c10bc624fe5e",
        "362da826af1118de469f984c0f5803402c0ff65d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 19 18:48:53 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 19 18:48:53 2019 +0000"
      },
      "message": "Merge \"AAPT2: Add missing description for dump command\""
    },
    {
      "commit": "2369f5407af808d98a8532f23bdf3568ed89813e",
      "tree": "a7cb218675f98cf4e05c081c1e7739d9dd007aea",
      "parents": [
        "72f3872b362151c212a8532b9a70cf17902494e8"
      ],
      "author": {
        "name": "Fabien Sanglard",
        "email": "sanglardf@google.com",
        "time": "Tue Mar 19 08:32:46 2019 -0700"
      },
      "committer": {
        "name": "Fabien Sanglard",
        "email": "sanglardf@google.com",
        "time": "Tue Mar 19 08:32:46 2019 -0700"
      },
      "message": "AAPT2: Delete unused method parameter\n\nBug: None\nTest: None\nChange-Id: Ib5d78df9c8e341d9d6559f90f33b1fbd5f711e99\n"
    },
    {
      "commit": "0b28a9244071e163719a2e9fdf20fbe9a5458a73",
      "tree": "e1ad935535370069e61e87fff18091cf51c68914",
      "parents": [
        "b50cea987bff059c96d5072912e3b82b25c2fbf0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Mar 18 22:18:27 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Mar 18 22:19:46 2019 -0700"
      },
      "message": "Dist aapt2 protos\n\nCreate aapt2-protos.zip containing the aapt2 proto interface and\ndist it for SDK builds.\n\nBug: 128878015\nTest: m PRODUCT-sdk_phone_armv7-win_sdk sdk_repo dist\nChange-Id: I13c774c8a2262464dcc4731c999497f6d0dc9095\n"
    },
    {
      "commit": "73abdd3c59cb4afb962f9d52466f517830cdb027",
      "tree": "9441543d03c7f0a9433388b7557d9789b6a4a28d",
      "parents": [
        "ecfad0220bb514ea23e77288b7569422929444e2"
      ],
      "author": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Fri Mar 15 17:32:56 2019 -0400"
      },
      "committer": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Mon Mar 18 16:05:55 2019 -0400"
      },
      "message": "Rename @EnumEntry and @FlagEntry\n\nTest: atest CtsViewInspectorAnnotationProcessorTestCases\nBug: 127531820\nExempt-From-Owner-Approval: Annotation-only change\nChange-Id: Id293e2b2ac9cf7bf2aaeb28645471ea227bb587b\n"
    },
    {
      "commit": "0fb1f1e011f0e152a32c7edb5751c2651be7f813",
      "tree": "19812c63927fa8e8e7e2eeac594c509e1aa82dcf",
      "parents": [
        "932d7b509abe28af431d8b7cfddc1090f8c558ea",
        "83bac9f33a064baef9f1755942b623c7764a9950"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 16 03:03:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 16 03:03:26 2019 +0000"
      },
      "message": "Merge \"Use IntFunction for inspector flag and enum mapping\""
    },
    {
      "commit": "810eeb3eed455812f2240040858a4d4882df7a4e",
      "tree": "8318c290ea7710c7b5bef236a2430a7aa7d891bf",
      "parents": [
        "a3e9de112196e86bbafd36d70983fa7981f39295"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Mar 07 19:08:52 2019 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Mar 15 18:54:02 2019 -0700"
      },
      "message": "Mainline logging to statsd: native static libs\n\nCreates an annotation to specify if an atom needs to be logged from a\nspecific mainline module. Creates options in stats-log-api-gen so that\nif the same module name is passed in, cpp/h files will be generated with\nonly those atoms that are specified. These files can be used to create a\nstatic library per mainline module to log to statsd.\n\nTest: builds\nTest: atest stats-log-api-gen-test\nTest: does not affect existing shared libstatslog\nTest: manually created a static lib for netd and used it to log to\nstatsd. Used testdrive to validate the data was properly flowing.\nBug: 126134616\nChange-Id: I78064f81fb4971eede8e97dacce5424e3eefd8bb\n"
    },
    {
      "commit": "83bac9f33a064baef9f1755942b623c7764a9950",
      "tree": "739f17a465ce724c0261286bf4bd713846c6bf57",
      "parents": [
        "0a6dc7537157949ec6b09a18fdab5d32f1c1692c"
      ],
      "author": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Wed Mar 13 18:15:44 2019 -0400"
      },
      "committer": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Fri Mar 15 15:47:53 2019 -0400"
      },
      "message": "Use IntFunction for inspector flag and enum mapping\n\n+ Remove IntEnumMapping class, (use a bound lambda of\n  SparseArray#get(int) instead).\n+ Remove IntFlagMapping.Builder, and make IntFlagMapping mutable. The\n  immuability guarantees are provided by using a lambda of\n  IntFlagMapping#get(int).\n+ Change PropertyMapper#mapIntEnum(String, int, IntFunction\u003cString\u003e)\n  and #mapIntFlag(String, int, IntFunction\u003cSet\u003cString\u003e\u003e) to take\n  IntFunctions instead of semantic types.\n+ Changes to the annotation processor to support code generation for the\n  lambdas and additional internal cleanups.\n\nBug: 124448834\nTest: atest --host view-inspector-annotation-processor-test\nChange-Id: I3e7ccac63d50caa6ff49be1e78732831886e7f6e\n"
    },
    {
      "commit": "362da826af1118de469f984c0f5803402c0ff65d",
      "tree": "a8e8c068069d3715a88679e93b73e59c1d5d9067",
      "parents": [
        "9c5458edb7d667245ce99e9df76be71ab0b3f8ee"
      ],
      "author": {
        "name": "Fabien Sanglard",
        "email": "sanglardf@google.com",
        "time": "Thu Mar 14 11:39:39 2019 -0700"
      },
      "committer": {
        "name": "Fabien Sanglard",
        "email": "sanglardf@google.com",
        "time": "Thu Mar 14 11:39:39 2019 -0700"
      },
      "message": "AAPT2: Add missing description for dump command\n\nTest: None\nBug: None\nChange-Id: Id9d6a38ad292dc2647bdb4ad9f7a0015120fa776\n"
    },
    {
      "commit": "5e904c3d01c6249307b4f85270b575de54d77c3b",
      "tree": "01118bbdb9571f3466ae83d133564e7210cbb25e",
      "parents": [
        "72f3872b362151c212a8532b9a70cf17902494e8"
      ],
      "author": {
        "name": "Fabien Sanglard",
        "email": "sanglardf@google.com",
        "time": "Wed Mar 13 15:09:46 2019 -0700"
      },
      "committer": {
        "name": "Fabien Sanglard",
        "email": "sanglardf@google.com",
        "time": "Wed Mar 13 15:09:46 2019 -0700"
      },
      "message": "AAPT2: Delete dead code\n\nTest: None\nBug: None\nChange-Id: Ie8e32e47883ce5e4014e9e902c22aed68af450c4\n"
    },
    {
      "commit": "22652e90484c8dc7eb50b5fdaa05f73684799819",
      "tree": "829500d266b630fd6d91cb1d017116774a20a594",
      "parents": [
        "519acc37cd80f6fd018413cab39b269c041a1486",
        "0f3267590980bccd39f2d954320aa97cf1901c0b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 11 23:45:02 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 11 23:45:02 2019 +0000"
      },
      "message": "Merge \"Do not convert whitespace chars above max char to regular space\""
    },
    {
      "commit": "0a6dc7537157949ec6b09a18fdab5d32f1c1692c",
      "tree": "edf2648583cdcf0df6a802717a22e95adfcd0db7",
      "parents": [
        "e756f460d028794a265494e0619db02e6905676a",
        "fdb5af22aa43056de570526799ddf28101037d55"
      ],
      "author": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Mon Mar 11 22:12:53 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 11 22:12:53 2019 +0000"
      },
      "message": "Merge \"InspectionCompanions as nested classes\""
    },
    {
      "commit": "62b68341e8c9cb7a57da99413f5d3d52373e85e0",
      "tree": "82db377034a3f76cc74a37abb1b56a357b233520",
      "parents": [
        "41469c3b522f28c4590398ad6e35193b2142dda7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 11 13:28:02 2019 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 11 13:28:02 2019 -0700"
      },
      "message": "Compile all files in res/xml as xml\n\nAAPT(1) compiled all files in res/xml as xml. Continue to do the same to\nprevent regressions.\n\nBug: 122321161\nTest: manual\nChange-Id: I99c80da6d304c13ce911cd5258fd561f3c9e91b4\n"
    },
    {
      "commit": "0f3267590980bccd39f2d954320aa97cf1901c0b",
      "tree": "2c265050794cdf04c8d3c7aa0d7c0b259a47958e",
      "parents": [
        "41469c3b522f28c4590398ad6e35193b2142dda7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 11 11:00:25 2019 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 11 11:00:25 2019 -0700"
      },
      "message": "Do not convert whitespace chars above max char to regular space\n\nUsing isspace and iswspace on characters above the maximum char value is\nundefined. This change makes aapt2 use isspace like aapt and only trims\nwhitespace characters at or below the maximum char value like aapt2.\n\nBug: 121017795\nTest: aapt2_tests\nChange-Id: I015e4b77f0ff53e409e880fcf9ae104ba3444d1a\n"
    },
    {
      "commit": "f73c5a0b45616300c77b9d6514476b8024acedc3",
      "tree": "ee6901185f8a64add2e6dfcba417edae7b56527f",
      "parents": [
        "81cbed117c60a20d4eb5b144f1952aee1c5faf3f",
        "b270bc89cfb8275cd9d4b3b418cf58ecd8aa7acb"
      ],
      "author": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Sat Mar 09 06:17:39 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 09 06:17:39 2019 -0800"
      },
      "message": "Merge \"Add extra hidden api related tags\" am: cfd72b9386 am: d63ef04944\nam: b270bc89cf\n\nChange-Id: I1c949ca80ca5312780906522f5a0af9a5319cfc0\n"
    },
    {
      "commit": "fdb5af22aa43056de570526799ddf28101037d55",
      "tree": "487531bfc81d0e98da77087d1d24fe008d7df24e",
      "parents": [
        "a091cc2d8b3ac4caae4f5400174927753d59477e"
      ],
      "author": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Fri Mar 08 17:23:38 2019 -0500"
      },
      "committer": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Fri Mar 08 18:27:51 2019 -0500"
      },
      "message": "InspectionCompanions as nested classes\n\n+ Generate inspection companions as MyClass$InspectionCompanion instead\n  of MyClass$$InspectionCompanion. This allows the discovery of custom\n  inspection companions written as nested classes.\n+ Rename GeneratedInspectionCompanionProvider to\n  StaticInspectionCompanionProvider to more clearly articulate how it\n  function in the new world.\n+ StaticInspectionCompanionProvider now explicitly checks if a class it\n  discovered implements InspectionCompanion, and returns null instead of\n  throwing a ClassCastException.\n+ The annotation processor checks for the existence of a nested class\n  named InspectionCompanion, and fails the build if a class has both a\n  custom InspectionCompanion and @InspectableProperty annotations.\n\nTest: atest --host view-inspector-annotation-processor-test\nBug: 126913705\nChange-Id: Ic0d2100ec22420e36f9db44e56c66fe9146eeb0c\n"
    },
    {
      "commit": "cfd72b9386632e0704feda6d281be7182677fb08",
      "tree": "12ec5f50d4962c34f73d66f7cc83c1d72d123fa6",
      "parents": [
        "a6f3476476104eed5c59d086da730092b3fe200e",
        "80a5660238dbc5952a67169cf11a49e074ad966f"
      ],
      "author": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Fri Mar 08 16:22:11 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 08 16:22:11 2019 +0000"
      },
      "message": "Merge \"Add extra hidden api related tags\""
    },
    {
      "commit": "b496d6150c8d2c5bea199dc35c4b21e3f699e6f2",
      "tree": "5c39c8e05a12edb91b37139d9c8455cb199f5508",
      "parents": [
        "e2060f2cd3ebf70e57d41d87fac94583de2098c8",
        "2d34e76daceaac41a8c578d7fa02aca864019dbb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 07 16:40:03 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 07 16:40:03 2019 +0000"
      },
      "message": "Merge \"Add --trace_folder to aapt2\""
    },
    {
      "commit": "835d528dba426d3f3f49416be9631593d41e906c",
      "tree": "6e73f96442d3724a51a44867c06e8981988bdd36",
      "parents": [
        "340107f508070815a60f9a7168c76e35d71505f8",
        "6c83e0c5c9985a99e2960a9b80eb443e175243c2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 07 13:56:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 07 13:56:21 2019 +0000"
      },
      "message": "Merge \"Make sure Proguard keeps zygote preload class.\""
    },
    {
      "commit": "80a5660238dbc5952a67169cf11a49e074ad966f",
      "tree": "ad2df22d1e95c23dde5c09df7e6276622f8b6e66",
      "parents": [
        "3275a6b2450745486cacf2fc7ed8d4075556e606"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Fri Mar 01 18:49:15 2019 +0000"
      },
      "committer": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Thu Mar 07 10:40:52 2019 +0000"
      },
      "message": "Add extra hidden api related tags\n\n@SystemApi and @TestApi entries in the whitelist can now be\ndifferentiated from the rest of the apis. @TestApi methods\nare implicitly greylisted.\n\nTest: m test-art-host-gtest-hiddenapi_test\nChange-Id: Id739f04550842f7b3160685e1635ba20efb223cc\n"
    },
    {
      "commit": "b32c31d1a9b48523952c019803591f0a425b9411",
      "tree": "9096e9945a26ea1a204adac00ab3d9ca10dd8236",
      "parents": [
        "fe04c90baf8d1ca7c0ae6522a727a7ffbeb5c5e0",
        "1d358ff5bb59f56ab19aa31d6afcf82c46b7c7bc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 07 01:42:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 07 01:42:21 2019 +0000"
      },
      "message": "Merge \"Fix aapt2 whitespace diffs from aapt(1)\""
    },
    {
      "commit": "1d358ff5bb59f56ab19aa31d6afcf82c46b7c7bc",
      "tree": "5d06705d5d234da3899fc21c71a024e6f2592b5b",
      "parents": [
        "f163c2111a72694f676f632762521376a6e80919"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Mar 06 15:06:49 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Mar 06 15:06:49 2019 -0800"
      },
      "message": "Fix aapt2 whitespace diffs from aapt(1)\n\nCDATA blocks were being processed differently in aapt2 so this change\nfixes aapt2 to not treat cdata blocks differently and still trime\nwhitespace.\n\nAlso, aapt did not process escapes when compiling xml files. This\nchange removes over-processing of xml text nodes.\n\nAll test strings are what aapt(1) would output.\n\nTest: aapt2_tests\nBug: 124470332\nChange-Id: I90ee0c1e5e9208f8a5c60cee93e3ba02712c9b2c\n"
    },
    {
      "commit": "6c83e0c5c9985a99e2960a9b80eb443e175243c2",
      "tree": "829ee9e3fb9f089b1362e6db53f795294f455e62",
      "parents": [
        "101ac58981754e5e1b35ea5cf88f41fd14768891"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Mar 06 15:06:17 2019 +0100"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Mar 06 15:06:17 2019 +0100"
      },
      "message": "Make sure Proguard keeps zygote preload class.\n\nBug: 127262679\nTest: atest ProguardRulesTest\nChange-Id: Ib082404e08d98b25fcecbf680afb4af37fe2786b\n"
    },
    {
      "commit": "084e47170359daf49374b0163f04fe2c6f0c1e93",
      "tree": "f061cd14d78c5cfddede625afc0b245275a3d0d6",
      "parents": [
        "5eb6183d52f70b956b87d61898287f7f0231f9b4",
        "748ed1ad44c37847d34d3af5305094583593a121"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Mar 06 05:16:17 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 06 05:16:17 2019 -0800"
      },
      "message": "Merge \"apilint: Lint unhidden @IntDef and @LongDef\" am: 4435924104 am: cec0f35fcc\nam: 748ed1ad44\n\nChange-Id: Iccbb4042411822a0c489a8f7622747a8dd23df4e\n"
    },
    {
      "commit": "3478239c56d24d206ff7a5e5bbb0add4df5fadf2",
      "tree": "03c8bd8dca9cc2a9a4069e9675be5dc75aa6e801",
      "parents": [
        "26968d81f8291f1dd4a0f8a7e962c60d62b9ef61"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Mar 06 13:38:10 2019 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Mar 06 13:40:03 2019 +0100"
      },
      "message": "apilint: Lint unhidden @IntDef and @LongDef\n\n@IntDefs and @LongDefs cannot be stored in a .class file, because the constant\nnames are lost. Instead, they are packaged out-of-band.\n\nTherefore, they should never be in the API.\n\nTest: python tools/apilint/apilint.py api/current.txt\nChange-Id: If22e0cf7db0bb90dae6174bf546f2ec8be4e5458\n"
    },
    {
      "commit": "380edb9e1e8b437edd8bfd2c2aa919d67d851c8b",
      "tree": "7be492cdbe0aa0978266da17e97176c0e4994ca4",
      "parents": [
        "710cd3fa9e31413d36626372dcc43d95771e5fa5",
        "e8914812c92bb79e4b566b2828f7201fd31b4ed4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 06 00:57:38 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 06 00:57:38 2019 +0000"
      },
      "message": "Merge \"Resource ID support for view inspector\""
    },
    {
      "commit": "710cd3fa9e31413d36626372dcc43d95771e5fa5",
      "tree": "83710c770fa18d5ab9198705e87e9c00edc9aded",
      "parents": [
        "e72da268fd8cca146860690abcef02272ffb8b35",
        "56630bdc7732f3a3d20f15e782e22e99e26a4903"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Mar 05 16:57:03 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 05 16:57:03 2019 -0800"
      },
      "message": "Merge \"Apilint: No longer flag interface callbacks\" am: 26968d81f8 am: 834803b3e2\nam: 56630bdc77\n\nChange-Id: Ide1805b754700cebac02b8cb03576bb3c130db3e\n"
    },
    {
      "commit": "e72da268fd8cca146860690abcef02272ffb8b35",
      "tree": "fb3e4e59a946d5e68363c31978f9907fabdc2759",
      "parents": [
        "7d9c3bf7de35b31db776bc8f6814d5608a0841e8",
        "5eae9a4096bb4d9825aad9894ef161accabbc150"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Mar 05 16:49:36 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 05 16:49:36 2019 -0800"
      },
      "message": "Merge \"apilint: decorator-based verifier registration\" am: 6e16eb107d am: b3662ec299\nam: 5eae9a4096\n\nChange-Id: I174c6e70882aeb941512d208b43f3555512986af\n"
    },
    {
      "commit": "7d9c3bf7de35b31db776bc8f6814d5608a0841e8",
      "tree": "fb6dd0cf8471eeb43d9c1ec5521ff9741236bb69",
      "parents": [
        "f3f935d0d64c3ad1d865e94a2ccc8f45a1431243",
        "4895861d0f99016e0706034ad74830f5ca40b92d"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Mar 05 16:42:06 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 05 16:42:06 2019 -0800"
      },
      "message": "Merge \"Apilint: lint for URL/URI\" am: 1d50b63cee am: 3236806e68\nam: 4895861d0f\n\nChange-Id: Ia5b3f78217cdcaa992572ea092451f1c46abc26d\n"
    },
    {
      "commit": "2d34e76daceaac41a8c578d7fa02aca864019dbb",
      "tree": "bd46b9065635728d88f2a6f40236c442ecad5f12",
      "parents": [
        "63ebfcba5d62de4db9cfeb627ac98a4bc65ef425"
      ],
      "author": {
        "name": "Fabien Sanglard",
        "email": "sanglardf@google.com",
        "time": "Thu Feb 21 15:13:29 2019 -0800"
      },
      "committer": {
        "name": "Fabien Sanglard",
        "email": "sanglardf@google.com",
        "time": "Tue Mar 05 15:09:27 2019 -0800"
      },
      "message": "Add --trace_folder to aapt2\n\nAdd a tracing API and instrument key functions in order to profile\naapt2 bottleneck. The API allows to generate systrace fragment files.\n\nImpact on performance is neglibible with each Trace requiring less\nthan 1us and the final Flush operation at the end of a command\nrequiring around 40us.\n\nBug: None\nTest: None\nChange-Id: I51b564d3694e9384679f43b878b32295527dddf6\n"
    },
    {
      "commit": "e8914812c92bb79e4b566b2828f7201fd31b4ed4",
      "tree": "ed353205d4c4640e80890b1c19bd280cd923bec9",
      "parents": [
        "36c9bf1699eb4f9710df11e0b04df3739272c40e"
      ],
      "author": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Tue Mar 05 17:12:00 2019 -0500"
      },
      "committer": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Tue Mar 05 17:16:14 2019 -0500"
      },
      "message": "Resource ID support for view inspector\n\nThis allows for inspectors to do special handling on values known to be\nresource IDs, such as converting them to a string format.\n\n+ Add PropertyMapper#mapResourceId(String, int) and\n  PropertyReader#readResourceId(int, int)\n+ Add RESOURCE_ID to @InspectableProperty.ValueType\n+ Add code generation support in the annotation processor, and value\n  type inference for accessors annotated with a resource ID annotation\n  like @AnyRes.\n\nBug: 127348933\nTest: atest --host view-inspector-annotation-processor-test\nChange-Id: I132aea319dcddf51c553057c036ce5609e3c381a\n"
    },
    {
      "commit": "26968d81f8291f1dd4a0f8a7e962c60d62b9ef61",
      "tree": "bbd974a31383bbc371c72d0b3fa75e7c228fde4f",
      "parents": [
        "6e16eb107dad783aa03037daa8434cf8bebb6e4f",
        "cdb8167051afffa77348dfee991679480d4d31a8"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Mar 05 18:15:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 05 18:15:44 2019 +0000"
      },
      "message": "Merge \"Apilint: No longer flag interface callbacks\""
    },
    {
      "commit": "cdb8167051afffa77348dfee991679480d4d31a8",
      "tree": "8ef191cf9b411378c4188a0016bb41c8fa48945e",
      "parents": [
        "56ff78438513dd6c308468d1c5ac7ad29556dbbf"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Feb 28 12:49:19 2019 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Mar 05 18:13:42 2019 +0000"
      },
      "message": "Apilint: No longer flag interface callbacks\n\nWith default interfaces, this is no longer necessary.\n\nTest: python apilint_test.py\nChange-Id: Ifa9ba24511a82797089934009d9096c3a589e7f6\n"
    },
    {
      "commit": "93bafc4495398e578b4d0d681b70ce0e0857b08b",
      "tree": "fce5158b2959d64c55c449fc58aace94b13442eb",
      "parents": [
        "56ff78438513dd6c308468d1c5ac7ad29556dbbf"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Mar 05 18:31:37 2019 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Mar 05 18:31:37 2019 +0100"
      },
      "message": "apilint: decorator-based verifier registration\n\nRegisters verifiers via a decorator to avoid error-prone registration\nelsewhere.\n\nTest: Run apilint before and after the change, verify identical output\nChange-Id: I77ae47a2f3f1a486bb78d3167f8439ade6fc28ab\n"
    },
    {
      "commit": "6721a67e4def0f64d5f414d506905e2ffa097aa1",
      "tree": "e0ae7691f1c282bda25cf2628321dc9d697f4b76",
      "parents": [
        "c4b4aaab2790c3d013715d7b66ac822e20f7c7cf",
        "c2966e8512565d12b750b14f7215baaae7d5014e"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Mar 05 09:16:35 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 05 09:16:35 2019 -0800"
      },
      "message": "Merge changes Icc2810f5,Ib0ad635e am: 1435ace8da am: 79f115fddd\nam: c2966e8512\n\nChange-Id: I5a781f7b86d91208aaf7bdfe70c7674597de775d\n"
    },
    {
      "commit": "56ff78438513dd6c308468d1c5ac7ad29556dbbf",
      "tree": "cca4b10c3a74b89f58e9ebb9f2275de4e8d9f286",
      "parents": [
        "1435ace8dab1d37cc56e23b17dee4cec0bd085fe"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Feb 28 12:45:00 2019 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Mar 05 17:57:56 2019 +0100"
      },
      "message": "Apilint: lint for URL/URI\n\nTest: python apilint_test.py\nChange-Id: Iebe3b48df7ed69e0b5f5ff372b72f68ca9f8efec\n"
    },
    {
      "commit": "1435ace8dab1d37cc56e23b17dee4cec0bd085fe",
      "tree": "96ce1a1d4841d54ecb25242f172cb12ae40d5389",
      "parents": [
        "ca1c6419c377b6ad0cafb8a201b8596ba704d557",
        "02e18ddf13307f276e6fb0a419728ac1141ff849"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Mar 05 16:43:24 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 05 16:43:24 2019 +0000"
      },
      "message": "Merge changes Icc2810f5,Ib0ad635e\n\n* changes:\n  Apilint: report all implemented interfaces and fix false positives Test: python apilint_test.py\n  Apilint: properly parse packages with numbers\n"
    },
    {
      "commit": "b5766bd50a6186d6d6980ccf23c303ef6dd66040",
      "tree": "368473746d80e18027a51c7e3d57cbfceeeab4be",
      "parents": [
        "fffdfbe162243285929291d55358e129a2a6d7f0",
        "89d6bce3af3e20677b6b4a47b9c4283ff3c5f88e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 04 18:49:35 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 04 18:49:35 2019 +0000"
      },
      "message": "Merge \"Support for @InspectableProperty on public fields\""
    },
    {
      "commit": "89d6bce3af3e20677b6b4a47b9c4283ff3c5f88e",
      "tree": "00a256db69469b2b0f134bf64d631eb59db09bf9",
      "parents": [
        "b10113347d1c008a3ccbb02b86722a6c02ab0e18"
      ],
      "author": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Fri Mar 01 19:24:50 2019 -0500"
      },
      "committer": {
        "name": "Ashley Rose",
        "email": "ashleyrose@google.com",
        "time": "Fri Mar 01 19:31:01 2019 -0500"
      },
      "message": "Support for @InspectableProperty on public fields\n\n+ Add a field target to @InspectableProperty\n+ Refactor PlatformInspectableProcessor to process annotated fields and\n  generate InspectionCompanions that read fields.\n+ Require that all inspectable getters and fields be public.\n+ Make some hidden getters added to View for inspection public.\n\nTest: atest --host view-inspector-annotation-processor-tests\nBug: 126913705\nChange-Id: I0c012f42794885f17a397a2e3dd541b3aa4c2634\n"
    },
    {
      "commit": "ae3b4c44fbcb2830b156918ab996ec2222d21502",
      "tree": "9edab2b2306e0a6e863f30ded43893425202305e",
      "parents": [
        "5a27fecd382b09572264700df9e1471abf7400f8",
        "d75f1793e655d24c37a3d7c069094859215c5e2c"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Mar 01 07:08:14 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 01 07:08:14 2019 -0800"
      },
      "message": "Merge \"Switch android.test and junit classes to use UnsupportedAppUsage\" am: 7bb0bcd305 am: b5ccf0e21c\nam: d75f1793e6\n\nChange-Id: I7a7c34980507393ec855c9e161ca0a922ed57fe4\n"
    },
    {
      "commit": "997fa461978f87fc2d9c444213b24ef56c29e7e4",
      "tree": "e7b1b7cf97bd3bf9af9b14d3f022def90fb24d34",
      "parents": [
        "3e15c9f9ba6b36fbbd919805a898700ed16d8e47"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Feb 15 12:58:26 2019 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Mar 01 10:39:16 2019 +0000"
      },
      "message": "Switch android.test and junit classes to use UnsupportedAppUsage\n\nThe UnsupportedAppUsage annotations could not be added directly to the\njava files in src/ as they have to be built against the current api\nwhich does not include the annotation. Instead this uses the same\ntechnique as used for libcore/ojluni files and adds the annotations to\nstub files (in hiddenapi/src) which are built as part of the\nandroid.test.base-hiddenapi target. That target is added to a special\nwhitelist in build/soong/java/config/config.go which causes the\nhiddenapi information to be extracted from the target.\n\nAlso, updates the preupload check to prevent anymore entries being\nadded to the config/hiddenapi-greylist.txt for android.test or junit\nclasses.\n\nBug: 73711752\nTest: m cts-hiddenapi_flags-csv and check that it contained the\n        correct entries even though they had been removed from\n\tconfig/hiddenapi-greylist.txt\nChange-Id: Ifaf15d2751f54cb03f8402b866a0ee4da7acc4d2\n"
    },
    {
      "commit": "b637c6ae6ddb3c255e631088342111957af28f71",
      "tree": "ab7634d3f9aaa8ce935fe51573f94147256d604b",
      "parents": [
        "f6833c92be6b87e837762328fc608eec240c4541",
        "6c97f4908c99f26c7d59ac92bf74e7913a5333c8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 28 18:11:00 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 28 18:11:00 2019 +0000"
      },
      "message": "Merge \"Make bit able to run gtest native tests.\""
    },
    {
      "commit": "a9424139e2e11c21cec1a770a783c3a20c6453ee",
      "tree": "2a3e4db92f4e71569d61d68a91ee8b1e88b132a5",
      "parents": [
        "95a502d63300749557ab038f7c8961a9be2337ff",
        "10b2fbf85b469a3140ee7364dfbfeeb5d0f97476"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Feb 28 07:57:38 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 28 07:57:38 2019 -0800"
      },
      "message": "Merge \"Apilint: Lint missing nullability annotations\" am: d6a886a500 am: 1ca78f6ee4\nam: 10b2fbf85b\n\nChange-Id: If0a9397d444b1709e3cd51741d02cff5bcfb826d\n"
    },
    {
      "commit": "6c97f4908c99f26c7d59ac92bf74e7913a5333c8",
      "tree": "ac9ad961c3f2e75304e9d552b919d83a1b64f888",
      "parents": [
        "b953577b2784bebfc47ca8ad31fa55f2ea9808d1"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Feb 27 20:42:37 2019 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Feb 28 09:20:27 2019 -0500"
      },
      "message": "Make bit able to run gtest native tests.\n\nThe output parsing isn\u0027t ideal, so these are a bit more spammy\nthan I\u0027d like, but at least they build, install and run without\nthe manual glop.\n\nTest: bit incidentd_test\nChange-Id: I3c34a4ebbf661f612b4b0f8b4e05cade8669b5a6\n"
    },
    {
      "commit": "02e18ddf13307f276e6fb0a419728ac1141ff849",
      "tree": "206e9a7cbf8ce7012ccc34be64cda0304c33a84e",
      "parents": [
        "d9871b14df27308d2ca159bf7f4f516ec54e2d98"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Feb 28 12:41:48 2019 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Feb 28 12:46:23 2019 +0100"
      },
      "message": "Apilint: report all implemented interfaces and fix false positives\nTest: python apilint_test.py\n"
    },
    {
      "commit": "d9871b14df27308d2ca159bf7f4f516ec54e2d98",
      "tree": "6ef068f7303dbd20a28784e66e43d135ad8ce787",
      "parents": [
        "80545ef56d378ad4875dd82c8cfbf40f46aec4a6"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Feb 28 12:42:22 2019 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Feb 28 12:46:23 2019 +0100"
      },
      "message": "Apilint: properly parse packages with numbers\n\nTest: python apilint_tests.py\nChange-Id: Ib0ad635e3994bbcbfecefddbd4899c3551ab65cf\n"
    },
    {
      "commit": "80545ef56d378ad4875dd82c8cfbf40f46aec4a6",
      "tree": "d179775c4955c5aad10175054d96e9018b57c21e",
      "parents": [
        "2886d307bdd507e35e4005636a466ea08fe699bd"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Feb 27 16:45:00 2019 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Feb 28 12:46:04 2019 +0100"
      },
      "message": "Apilint: Lint missing nullability annotations\n\nAlso adds support for limited range blame parsing.\n\nBug: 124882145\nTest: python apilint_test.py\nChange-Id: Idbc7f67eeff27902c37ec482278f5888781c6e78\n"
    },
    {
      "commit": "606210ec8b7f60d332da7b43450cdba2b8765b83",
      "tree": "e9f4f3cd847e0aee10f56976cd6e2176fb8df508",
      "parents": [
        "82fd15cbaae90b1779f79ac4ff4b6d300a73e421",
        "77864f7dac511626a197bf2592470aaed5ef3d35"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Feb 28 02:28:53 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 28 02:28:53 2019 -0800"
      },
      "message": "Merge \"Apilint: Enforce final builders\" am: 2886d307bd am: bb74d55781\nam: 77864f7dac\n\nChange-Id: I9e3684b3a4548350e006b27f5d13f8fafb766075\n"
    },
    {
      "commit": "deb0ff2bf4b7a3ffc7440fffc22772dbeca991ea",
      "tree": "d599c34b6b7a75cd0791d0bfde1d31726513f633",
      "parents": [
        "eee18bd546665b726d73769ee3ed5a2368c8c1f1"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Feb 27 23:58:13 2019 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Feb 28 09:54:08 2019 +0000"
      },
      "message": "Apilint: Enforce final builders\n\nTest: run apilint\nBug: 124883027\nChange-Id: I7f2866e46bc40be60487846b2af9f8fd7edb7623\n"
    },
    {
      "commit": "b610eccf3c83dd39e82db937974bf17298c2799e",
      "tree": "1e141e515c0e02b8a0e946685bce62686b700e3f",
      "parents": [
        "d43e8ded1c362552587597dbdab933640bad6ac5",
        "f9050da20fb9cc4ad81b20b6d36257b9dabd0e60"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Feb 27 08:32:43 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 27 08:32:43 2019 -0800"
      },
      "message": "Merge \"apilint: Correctly parse packages with annotations\" am: 57b5479a6b am: 436fe4c8f0\nam: f9050da20f\n\nChange-Id: Ib3eaf5ca57cc03dbcbb70bdac73a96b77c22fd32\n"
    },
    {
      "commit": "57b5479a6b788dc20c45af92dd049b68b0cf06d2",
      "tree": "1e5e2c99c57ee3e90fe810929cdc1702cc8e5225",
      "parents": [
        "1b9adbfdd1f18cb16e82f9a6f158d3ac242fffa1",
        "b1faa0bf5b5bef39886a2ac2b10ca78eea24a006"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Feb 27 15:50:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 15:50:21 2019 +0000"
      },
      "message": "Merge \"apilint: Correctly parse packages with annotations\""
    },
    {
      "commit": "1b05ef9cc16424af6f3657cf4538c4fb3e40f89a",
      "tree": "ad99caa1a6cfa75fb311008af9349620bc606298",
      "parents": [
        "4d7b766376cc5cab42bf312afbf2ed2136392936",
        "f22ed8dc0ec107cb0e80eb25c7de4094c7f5301e"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Feb 26 21:48:08 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 26 21:48:08 2019 +0000"
      },
      "message": "Merge \"Sort inputs to compile and link\""
    },
    {
      "commit": "f22ed8dc0ec107cb0e80eb25c7de4094c7f5301e",
      "tree": "cfbd2d0f979450690cedae268be10116e160107c",
      "parents": [
        "32981ff4d406cd44c5e57814088028fecb9bf72f"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Feb 20 08:05:31 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Feb 26 17:40:30 2019 +0000"
      },
      "message": "Sort inputs to compile and link\n\nThis change sorts the input files of compile and link and also traverses\ndirectories in sorted order in FileCollection::Create. This change\nattempts to fix non-determinism issues with aapt2.\n\nBug: 122518436\nTest: builds\nChange-Id: I615b8d7f1117e3850366760f16672f0cf5b02070\n"
    },
    {
      "commit": "b1faa0bf5b5bef39886a2ac2b10ca78eea24a006",
      "tree": "0ccf0c22ffb6a8a4e70ab211aa51f800b4a63e80",
      "parents": [
        "87c1081c4222e490364422a1f21dbec9a35c6791"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Feb 26 11:54:40 2019 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Feb 26 11:54:40 2019 +0100"
      },
      "message": "apilint: Correctly parse packages with annotations\n\nTest: python apilint_test.py\nChange-Id: Ifce9fe3836b2bb46b0d0a255b912fd8bf0195621\n"
    },
    {
      "commit": "c0a6d77625452dae1b6a3d769d8a33d5c2bdf135",
      "tree": "28e3bd25bde6a449d3bce2bc4fbebb51437a9469",
      "parents": [
        "6d4ce1e5bbacd3748ebb7eedd5bdc9faf9196184",
        "a55dc2ed6bf2b4e6ad0ab2d1ae501bf7ec4c1e15"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 25 21:06:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 25 21:06:17 2019 +0000"
      },
      "message": "Merge \"Fix long paths on Windows\""
    },
    {
      "commit": "457b1601e1ff5dff435df98633881e67b17e5c24",
      "tree": "362f6f075516dece1f32c65570e3bd9351e5bc7c",
      "parents": [
        "dca779140d506bec4e81d4cedf61e9bf3d8b8a6f"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Feb 20 16:26:12 2019 -0600"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Feb 20 16:26:12 2019 -0600"
      },
      "message": "Update VirtualKeyMap usage\n\nSince the VirtualKeyMap has been refactored, updated the\nvalidation tool to use the new signature.\n\nBug: 113575658\nTest: atest libinput_tests inputflinger_tests\n\nChange-Id: Ifb0eb5b2913020f1e1402dcb6a36c9038c345807\n"
    },
    {
      "commit": "a55dc2ed6bf2b4e6ad0ab2d1ae501bf7ec4c1e15",
      "tree": "ae357da8ff44ed100c7444ce8b89b4c32ef9dd53",
      "parents": [
        "de19d80f378fb1930e396ef8b5b27764b6a8b2d3"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Jan 24 10:58:23 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Feb 20 09:46:00 2019 -0800"
      },
      "message": "Fix long paths on Windows\n\nutil::mkdirs iteratively creates each directory of a specified path. For\nwindows, Calling mkdir on only the drive letter or on the extended path\nprefix (\\?\\\\) will result in an error. Start after the long path prefix\nand the drive letter.\n\nThis also changes AAPT2 to use AssetMaanager2 to retrieve symbols from\nthe symbol table. AssetManager2\u0027s zip library uses _wopen to open\nwindows files.\n\nBug:123251200\nTest: aapt2_tests.exe\nChange-Id: I26169d83b22d441485de3c49d63a6c4ed710e292\n"
    },
    {
      "commit": "a1dea5f915221085b7bb41406095cfa71a4aec83",
      "tree": "5bbe9c9904ba7f40934ae7ef953b56a4e180a9dc",
      "parents": [
        "391f42b70da0dee4e375ed366e876adbcccf53f1",
        "0faba5fdfab0f2af85aaed468e7d0933680e276e"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Wed Feb 20 12:55:58 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 20 12:55:58 2019 +0000"
      },
      "message": "Merge \"AAPT2: allow regexes for extensions to not compress\""
    },
    {
      "commit": "0faba5fdfab0f2af85aaed468e7d0933680e276e",
      "tree": "8d611f52fde4eacec6613351c3d9994bc4b3236f",
      "parents": [
        "854a76c8709072c34c341a832a2e38389b3b43ae"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Fri Jun 01 12:06:31 2018 +0100"
      },
      "committer": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Wed Feb 20 10:36:43 2019 +0000"
      },
      "message": "AAPT2: allow regexes for extensions to not compress\n\nChange-Id: I09d2ad1d1466643ca7628c6480224e16b9002ee5\nFixes: 67575899\nTest: added + manual\n"
    },
    {
      "commit": "2f2e353f796796de743dc590aa63ceda3f09be2c",
      "tree": "83f754d762ccfd70d1c8b9705b8d7e5aac78a3e2",
      "parents": [
        "49df0095295fe90cb91919b713c81b3e91a127e7",
        "8e0d9d8473d658db419c79c50e91bab943609ba1"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Tue Feb 19 10:57:08 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 19 10:57:08 2019 -0800"
      },
      "message": "Merge \"Convert Android.mk file to Android.bp\" am: a81d64e940 am: efa1d26538\nam: 8e0d9d8473\n\nChange-Id: Ic6d75ff8e072f9f3eb6ca472bea0122ac220075a\n"
    },
    {
      "commit": "975c6e2d26b0eecf669dc6f0b5cfb50e430f41f1",
      "tree": "75e6b0fc6b75978d104b159fe4ecfb2ed46936a0",
      "parents": [
        "311af9ea4bd8b599acf179bac973619fad4eb618",
        "2f9077dfbbcdb72276a6cbbf9e9cdbf89ccbf16f"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Feb 19 18:09:56 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 19 18:09:56 2019 +0000"
      },
      "message": "Merge \"Fix seg faul when parsing invalid \u003cplurals\u003e\""
    },
    {
      "commit": "03f311cb75b4d4dcce48c3ec3c12dd76ec76dc8b",
      "tree": "31ab7a95adfe1fe4b250850460b1c6d60da22e6d",
      "parents": [
        "42596b17627cd498163a588612e114c903299110",
        "90b7a08aaf189824ec89c99063ae73c0de69fcdf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 16 00:46:04 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 16 00:46:04 2019 +0000"
      },
      "message": "Merge \"Revert \"Fix loaded apk string pool order\"\""
    },
    {
      "commit": "2f9077dfbbcdb72276a6cbbf9e9cdbf89ccbf16f",
      "tree": "78420926cdc4bbaa9160930323f1c11777b9f3f5",
      "parents": [
        "01d1fd33b7e9a677435f3cae280c93e064012fd9"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Feb 15 16:02:09 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Feb 15 16:04:37 2019 -0800"
      },
      "message": "Fix seg faul when parsing invalid \u003cplurals\u003e\n\nIf the inner element of a \u003cplurals\u003e tag fails to parse, aapt2 will seg\nfault. Don\u0027t do that.\n\nBug: 123423125\nTest: manual\nChange-Id: Iff39fa84073da62d85279683ac3d03b7309bc5e3\n"
    },
    {
      "commit": "6d9fc1c8de5333181705e4a38624c746f2c9f643",
      "tree": "fb5f7fe166988b36faa8abac6392bbacb1f3f4be",
      "parents": [
        "f7ecba9f152e5135a3f6f35a9c6e36e0aee4a159",
        "a00d969c9cc5fe5ed40b26e9d10bbc96a6b6aec9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 15 23:26:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 23:26:25 2019 +0000"
      },
      "message": "Merge \"Prevent AAPT2 from versioning \u003cset\u003e tags\""
    },
    {
      "commit": "ed6c556145bafe07e4603245f613618a5cc3817d",
      "tree": "0ce0361cb301fbbdbb844aae904195a1f5bcc621",
      "parents": [
        "7a9c11c08c4277262f7ee60fb683592688d4c347",
        "b5b162bfe68e3c004ad606a83af07a02cd15cd82"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 15 22:57:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 22:57:17 2019 +0000"
      },
      "message": "Merge \"Do not derive source from binary APK\""
    },
    {
      "commit": "90b7a08aaf189824ec89c99063ae73c0de69fcdf",
      "tree": "f9bb4c92a8df6d34a827348335bf0edf52e4a38f",
      "parents": [
        "29405ed8c501f50247e7e4012b6da80bf51eb3b1"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Feb 15 17:39:58 2019 +0000"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Feb 15 14:37:45 2019 -0800"
      },
      "message": "Revert \"Fix loaded apk string pool order\"\n\nThis reverts commit 4e9a922ede24f7f7bfe793321f7328623ee2a061.\n\nReason for revert: \u003cb/122518436\u003e\n\nChange-Id: I3650b2c6c9bdfa69a3034f9ca49e95a9698c3cdd\n"
    },
    {
      "commit": "a0994a80d10a61ba6a5136e36da23955ce90bd6a",
      "tree": "259db297bb5c98a415136d331bff689563e0d6bb",
      "parents": [
        "5de80df81e205aea56dea0eda94aa2e63a51e177"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Mon Feb 11 15:29:47 2019 -0800"
      },
      "committer": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Fri Feb 15 10:52:57 2019 -0800"
      },
      "message": "Convert Android.mk file to Android.bp\n\nSee build/soong/README.md for more information.\n\nBug: 122332340\nTest: treehugger\nChange-Id: I89cb31814f1442c91c31e5b867501d768679230e\n"
    },
    {
      "commit": "b2d7f5343d341c86887d20c61e10fdf8975150de",
      "tree": "8510de4a0261af65514bb61ba3d8f4328385d518",
      "parents": [
        "c20de15455a9551cf290722c502dd3f7d8fb27cb"
      ],
      "author": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Mon Feb 04 16:32:43 2019 -0800"
      },
      "committer": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Thu Feb 14 10:07:13 2019 -0800"
      },
      "message": "Signature policy for overlayable items\n\nAdd encoding/decoding of new policy for overlays. Signature enforces\nthat an overlay package is signed with the same key as the actor of\nthe target resource, so that an overlay can be installed by the user\nas a normal app but restricted to those built by the author of the\nactor (which can be the same as the target).\n\nThis also enforces that a valid policy is specified.\n\nThis doesn\u0027t implement the actors nor the signature check.\n\nBug: 119402606\n\nTest: ResourceParserTest ParseOverlayablePolicy\nTest: ProtoSerializerTest SerializeAndDeserializeOverlayable\nTest: aapt2_tests\n\nChange-Id: I8495ad790c2ebd51759bc6eba81149680c209475\n"
    },
    {
      "commit": "15c8c26efb647a9d01bb6ca4abb67f6add8a0b1e",
      "tree": "38c2d7e421c66c5b3d258859dbd12f3c92cefe21",
      "parents": [
        "2f9ebd59822a83f7d1126f827e6a9b3ff6cb9896",
        "6bee42559146676454b77bd4bd755a5cfeb75aed"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 13 20:05:10 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 20:05:10 2019 +0000"
      },
      "message": "Merge \"aapt2: Add signature policy to Resources.proto\""
    }
  ],
  "next": "6bee42559146676454b77bd4bd755a5cfeb75aed"
}
