)]}'
{
  "log": [
    {
      "commit": "09a8db108075537e53633fa19856cdb91afbcdf9",
      "tree": "5298e03c3d2916db55654760c450b148aa1cb45c",
      "parents": [
        "49e575511510a2be4d2660b5bb8138bc72f106af",
        "4f42f212b55b87f2004f5c9b3258acaf60ee1922"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 18 21:33:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 18 21:33:10 2018 +0000"
      },
      "message": "Merge \"Add Memory category to atrace.\""
    },
    {
      "commit": "49e575511510a2be4d2660b5bb8138bc72f106af",
      "tree": "e62814d0132c7c5afcfb47cc581a98ff9d7c1838",
      "parents": [
        "14af42c93029754274bb4e28a28d9d11b823b1b2",
        "f1dd98e5803e4f9ee239bbcc8131d972cbae86af"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Oct 18 18:33:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 18 18:33:32 2018 +0000"
      },
      "message": "Merge \"Fix implicit fallthrough warnings.\""
    },
    {
      "commit": "e278b2291e1fea75551ae197aed4393ffa78a162",
      "tree": "f09f5ab1a74ff0b73246871bcd6604385ee6c76a",
      "parents": [
        "c779697852d5042bb9958f86fa36e6f40169ef3a"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Oct 18 09:37:08 2018 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Oct 18 09:40:37 2018 +0100"
      },
      "message": "Remove logcompressor from dumpstate deps\n\nNo longer required as of I5380ed1367c4dc39a1531a9b3c61a3965fe56981.\n\nBug: 117875299\nBug: 117638909\nTest: make dumpstate\nChange-Id: I58aad882306ca9f9bf235cc68e2dc1a56693a5c2\n"
    },
    {
      "commit": "4f42f212b55b87f2004f5c9b3258acaf60ee1922",
      "tree": "8bea5e1bca02fd0f68e06a8243728cff8e573040",
      "parents": [
        "c7e86caf44cf8eab04c891346b5c4ff194fe230d"
      ],
      "author": {
        "name": "Carmen Jackson",
        "email": "carmenjackson@google.com",
        "time": "Tue Oct 16 18:25:52 2018 -0700"
      },
      "committer": {
        "name": "Carmen Jackson",
        "email": "carmenjackson@google.com",
        "time": "Wed Oct 17 14:26:05 2018 -0700"
      },
      "message": "Add Memory category to atrace.\n\nWe\u0027ve added a couple of new tracepoints for memory, and this change adds\nthem to atrace via a \u0027memory\u0027 category to make them easy to access.\n\nBug: 117892691\nTest: manual\n\nChange-Id: I6ae20b5c0c8163f02de4a92ecad72f76e2849042\n"
    },
    {
      "commit": "f1dd98e5803e4f9ee239bbcc8131d972cbae86af",
      "tree": "3bf5d34150a254ca828b81bdb75af9766e6a22c3",
      "parents": [
        "c7e86caf44cf8eab04c891346b5c4ff194fe230d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 16 14:17:11 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 16 14:17:11 2018 -0700"
      },
      "message": "Fix implicit fallthrough warnings.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: I8d06855cc0891a3546ebee8add8e3672ffdc0ded\n"
    },
    {
      "commit": "cccbb5f588be607e76a85472bda5db7aa5f16c74",
      "tree": "dddab5e7cdfdefa0a1ff78dba935b190f80b97e1",
      "parents": [
        "ea96f70b7698694119e18826bfb2aa7b40f92dc6"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Thu Sep 27 09:23:36 2018 +0100"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Fri Oct 12 15:22:01 2018 +0100"
      },
      "message": "Add a function to Dumpstate service to trigger a bugreport\n\nAdd startBugreport() to Dumpstate interface. This is part of\nproper binderization of Dumpstate.\n\nThe function is not implemented yet.\n\nBUG: 111441001\nTest: m -j dumpstate\nTest: adb shell /data/nativetest64/dumpstate_test/dumpstate_test\nChange-Id: I484215067e5653d2e2f4e34bd9a9b569d426f411\n"
    },
    {
      "commit": "3ad80d20cff4e77968994151c5fc47ca4e7f2db3",
      "tree": "07389503e5468ce44c1f86efd77a900b2feca2a9",
      "parents": [
        "cd1ce760e8109eb91ce9d3e91fdaabb866262045"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 03 11:27:09 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Oct 03 11:29:16 2018 -0700"
      },
      "message": "Otapreopt: Remove patchoat step\n\nCorresponds to ART commit a497a39fe8830fe7b1c1c23b413753fe4e12923b.\n\nBug: 77856493\nTest: installd_otapreopt_test\nTest: manual\nChange-Id: I0c1b37f78570f306a8bbc50a9a9c54126bb3865e\n"
    },
    {
      "commit": "cd1ce760e8109eb91ce9d3e91fdaabb866262045",
      "tree": "d0439eff72350a5b4d87b2c25cae01728806222b",
      "parents": [
        "a45f6e6c2f2597c250c20dbda6d74d582772d5a5",
        "c6e6ea79e1d6b3c430b3eab00da3c44e39db69e8"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Wed Oct 03 15:35:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 03 15:35:56 2018 +0000"
      },
      "message": "Merge \"Bugreport: Fix SystemUI service from being dumped twice 2/2\""
    },
    {
      "commit": "c6e6ea79e1d6b3c430b3eab00da3c44e39db69e8",
      "tree": "298c7dc2ce19d6227fdf13c2e1a7a91521e7fd72",
      "parents": [
        "4cd25fc2a5b80ef0f6e6ccff3f390b7495a0e9af"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Mon Jul 02 14:20:06 2018 -0700"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Tue Oct 02 10:05:58 2018 +0100"
      },
      "message": "Bugreport: Fix SystemUI service from being dumped twice 2/2\n\nBug: 110490179\nFix: 110490179\n\nTest: Manual test dumpsys activity\n  adb shell dumpsys activity service all-platform-non-critical\n  adb shell dumpsys activity service all-platform\n  adb shell dumpsys activity service\n  Take bugreport and check contents\n\nTest: mmm -j56 frameworks/native/cmds/dumpstate \u0026\u0026  \\\n  mmm -j56 frameworks/native/cmds/dumpsys \u0026\u0026  adb sync data  \u0026\u0026  \\\n  adb shell /data/nativetest64/dumpstate_test/dumpstate_test \u0026\u0026 \\\n  adb shell /data/nativetest64/dumpsys_test/dumpsys_test \u0026\u0026 \\\n  adb shell /data/nativetest64/dumpstate_smoke_test/dumpstate_smoke_test \u0026\u0026 \\\n  printf \"\\n\\n#### ALL TESTS PASSED ####\\n\"\n\nChange-Id: I3736823f72ccb42e0b2603575e827a1647d02ef1\nMerged-In: I3736823f72ccb42e0b2603575e827a1647d02ef1\n(cherry picked from commit e3694e314e14a696c056ab627c8a3b9066a4e87d)\n"
    },
    {
      "commit": "1f4bf704979ec355ec65a3115dc6b7529bbb3fcd",
      "tree": "7a38f8d7fccbd2303f6a16d160f547d3aee37269",
      "parents": [
        "42b4b94ebf180e866e1b640e2187eb4b51a74347",
        "4be45d19f6b329d495d79f34ead1af5ec060e9b3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 01 18:40:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 01 18:40:35 2018 +0000"
      },
      "message": "Merge \"Split dumpstate\u0027s execution into shorter functions\""
    },
    {
      "commit": "42b4b94ebf180e866e1b640e2187eb4b51a74347",
      "tree": "fe1f6af9abd1acf20b758989e3b69b5c95c59982",
      "parents": [
        "289cf1ce14a142f49141031acf00484621d690a0",
        "725ae2bcfadd7360ef7e4ee9a682a128f4445828"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Oct 01 16:24:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 01 16:24:02 2018 +0000"
      },
      "message": "Merge \"Break away from longer file extensions.\""
    },
    {
      "commit": "289cf1ce14a142f49141031acf00484621d690a0",
      "tree": "9e7f6f18dec3bd1b3be10138c4bc9021824c3610",
      "parents": [
        "4cd25fc2a5b80ef0f6e6ccff3f390b7495a0e9af",
        "769babbb7b07bbaf382cbb94ea4ae99e920fdef2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 01 14:55:42 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 01 14:55:42 2018 +0000"
      },
      "message": "Merge \"Add batterystats -c data to telephony bugreports\""
    },
    {
      "commit": "4be45d19f6b329d495d79f34ead1af5ec060e9b3",
      "tree": "dc87edbf510ac57aba394ae2bb1db633e8c1e676",
      "parents": [
        "4cd25fc2a5b80ef0f6e6ccff3f390b7495a0e9af"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Wed Sep 26 15:04:23 2018 +0100"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Mon Oct 01 15:15:43 2018 +0100"
      },
      "message": "Split dumpstate\u0027s execution into shorter functions\n\nThis is so the code is more modular before we can make a proper binder\nservice.\n\nAlso made the reference to options a constant.\n\nBUG: 111441001\nTest: mmm -j frameworks/native/cmds/dumpstate/ \u0026\u0026 \\\n  adb push ${OUT}/data/nativetest64/dumpstate_test* \\\n  /data/nativetest64 \u0026\u0026 \\\n  adb shell /data/nativetest64/dumpstate_test/dumpstate_test\nTest: adb shell /data/nativetest64/dumpstate_smoke_test/dumpstate_smoke_test\nTest: adb bugreport\n\nChange-Id: Ic55c35c11d197e1214d3a3b336803b33579ae5fe\n"
    },
    {
      "commit": "c37c7ae01652af7c7609ba8a0d6b124528101cce",
      "tree": "58798805202d770dd69cfd62b92122f3da9aba22",
      "parents": [
        "bc9c86a690dcf676aa04e26e439dc91ca491a16b",
        "b1db390e2516e7b9fd388ae9f5a576ffcaf537c5"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Sep 28 16:33:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 28 16:33:18 2018 +0000"
      },
      "message": "Merge changes from topic \"lshal_stuck\"\n\n* changes:\n  lshal: Allow read to timeout in debug()\n  Revert \"lshal: close fd before joining thread\"\n"
    },
    {
      "commit": "725ae2bcfadd7360ef7e4ee9a682a128f4445828",
      "tree": "768279e6a11f44f5a4796f2fc66d97ea60a73f3f",
      "parents": [
        "bc9c86a690dcf676aa04e26e439dc91ca491a16b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Sep 28 10:07:14 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Sep 28 10:07:54 2018 -0600"
      },
      "message": "Break away from longer file extensions.\n\nMissing \"break\" statements were causing us to match invalid file\nextensions like \"fpe.\"\n\nBug: 116751711\nTest: /data/nativetest64/installd_utils_test/installd_utils_test\nChange-Id: I250e9f16df998d50f5aaefb0d3a0f68fd5f73835\n"
    },
    {
      "commit": "16a63a4e32abda910657430df629b3812b30f91e",
      "tree": "392ab22272d1f519b3993a18609f0128cc46b0bc",
      "parents": [
        "b5058cc1a2fab7f1b8e1cb3df951518d73c15a67"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Fri Sep 21 15:47:45 2018 -0700"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Sep 27 16:37:35 2018 -0700"
      },
      "message": "Call atrace HAL in atrace\n\nBug: 111098596\nTest: atrace/systrace\n\n(cherry picked from commit e3866134d8a02620d276b7d58086a06b35db7a98)\n\nChange-Id: I310546c3ea258cf0fdc2fac00c566e2c8c8af507\n"
    },
    {
      "commit": "b1db390e2516e7b9fd388ae9f5a576ffcaf537c5",
      "tree": "f2d4c28af3cd517cf37c1a8e270b12bb62a6ef3f",
      "parents": [
        "a5ae7868e74c70b7586b4cfe2f1e4311dbec3c05"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Sep 26 15:49:28 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Sep 27 11:09:17 2018 -0700"
      },
      "message": "lshal: Allow read to timeout in debug()\n\nStart timing when debug() has returned. When the specific\ntimeout has reached (currently 1s) and the relay thread\nhas not finish, tell the relay thread to stop.\n\nTest: while true; do date; lshal debug android.hardware.health.storage@1.0::IStorage/default; done\nTest: lshal_test\n\nBug: 111997867\nChange-Id: Ib9235d3bd2fc3a54eb316da8d8b59d987988b134\n"
    },
    {
      "commit": "b5058cc1a2fab7f1b8e1cb3df951518d73c15a67",
      "tree": "a5b2ddf7efa954858839de7ed6b089bd505a4eb9",
      "parents": [
        "82c9209b7a409b1c74af6b63a323fc34bd425081",
        "ecf80f31772ba8ab6006b08c0c5d79b2619f10b5"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Thu Sep 27 12:51:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 27 12:51:21 2018 +0000"
      },
      "message": "Merge \"Remove dumping raft logs\""
    },
    {
      "commit": "82c9209b7a409b1c74af6b63a323fc34bd425081",
      "tree": "407fc10d7e3f0d490ef191bd23d2f307c15be61e",
      "parents": [
        "22c321c715f4ceedc8cb2e26a9f9041718f45795",
        "263cf383a4be425f0a5035d7d44ebce2a6173c9c"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Thu Sep 27 12:50:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 27 12:50:30 2018 +0000"
      },
      "message": "Merge \"Replace NULL with nullptr\""
    },
    {
      "commit": "22c321c715f4ceedc8cb2e26a9f9041718f45795",
      "tree": "72082d89991e6163c6269f062ca212410d0149cb",
      "parents": [
        "43a22f7e9711d5176a0147b81bc6d3a48958a381",
        "3f8c717b5653e4bd914af0a75fe0d35982918ea9"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Thu Sep 27 08:50:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 27 08:50:01 2018 +0000"
      },
      "message": "Merge \"Refactor options parsing in dumpstate\""
    },
    {
      "commit": "ecf80f31772ba8ab6006b08c0c5d79b2619f10b5",
      "tree": "94356207343e82776e00db8bf67615a178a82b80",
      "parents": [
        "f3cf54a2f57154035eed4c8506e34ab9b9f75064"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Fri Sep 14 16:57:00 2018 +0100"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Thu Sep 27 08:47:33 2018 +0000"
      },
      "message": "Remove dumping raft logs\n\nRaft has been replaced by logpersistd per b/28633932.\nRemove code to handle raft logs.\n\nBUG: 28633932\nTest: adb shell /data/nativetest64/dumpstate_test/dumpstate_test\nTest: adb bugreport ~/br.zip\nMerged-In: I5380ed1367c4dc39a1531a9b3c61a3965fe56981\nChange-Id: I5380ed1367c4dc39a1531a9b3c61a3965fe56981\n(cherry picked from commit e9a0703322ec261adb50592a05bf0ea9a953cf05)\n"
    },
    {
      "commit": "769babbb7b07bbaf382cbb94ea4ae99e920fdef2",
      "tree": "a3fd7f0f5daa5cd88cc9a7dc9e5de56b04193c56",
      "parents": [
        "f3cf54a2f57154035eed4c8506e34ab9b9f75064"
      ],
      "author": {
        "name": "Kelly Rossmoyer",
        "email": "krossmo@google.com",
        "time": "Tue Aug 21 18:06:38 2018 -0700"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Thu Sep 27 09:28:41 2018 +0100"
      },
      "message": "Add batterystats -c data to telephony bugreports\n\nTelephony bugreports currently capture \u0027dumpsys batterystats\u0027 output,\nbut only in its human-friendly format.  While humans may enjoy that\nformat, Historian does not, and fails to properly load telephony\nbugreports (including those triggered by LowPowerMonitor) as a result.\nThis makes it essentially impossible to use Historian when triaging/\nanalyzing telephony-style bugreports.\n\nTo enable Historian processing of telephony bugreports, this change adds\nthe \u0027checkin\u0027 format (\"dumpsys batterystats -c\") data along with the\nexisting entries.\n\nABT (Android Bug Tool) still doesn\u0027t properly list dumpsys sections in\nits UI even with this change, but I think nothing short of a full,\ncomprehensive dumpsys run will make ABT happy.  And that\u0027s okay, because\nall of the text content can still be navigated manually.\n\nBug: 111763716\nTest: Triggered telephony bugreports within and without the change on a\ndevice, manually verified that the checkin format data was\npresent with the code change in place, and loaded the bugreport into\nHistorian successfully.\n\nMerged-In: Iba434bfd219c627cd3c058e549a627947d9ce501\nChange-Id: Iba434bfd219c627cd3c058e549a627947d9ce501\n(cherry picked from commit bbd6fdb674a9aa04fe2e3f1dd01a8be437d8e92b)\n"
    },
    {
      "commit": "43a22f7e9711d5176a0147b81bc6d3a48958a381",
      "tree": "99e5f8724a1fd298c825d816ee754b294765c583",
      "parents": [
        "15d05290f60a80d0cb10d3c934028747421602c5",
        "db3c898510a2fb00183d6c9e59ffc2ee955daf59"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 27 00:47:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 27 00:47:27 2018 +0000"
      },
      "message": "Merge \"Added OWNERS to moar bugreport-related projects...\""
    },
    {
      "commit": "a5ae7868e74c70b7586b4cfe2f1e4311dbec3c05",
      "tree": "19cbe643631dc8dc13d9cb18d11192790ba39173",
      "parents": [
        "85eaa63b1d122790d364ae02cdc8a8c2f1e73cf3"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Sep 26 16:07:12 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Sep 26 16:09:46 2018 -0700"
      },
      "message": "Revert \"lshal: close fd before joining thread\"\n\nThis reverts commit b9d19c87abce709ba11da4f0307cc6922b9aa52d.\n\nReason of revert: will sometimes cause `lshal debug` to produce\nno output at all.\n\nBug: 111997867\nTest: while true; do date; lshal debug android.hardware.health.storage@1.0::IStorage/default; done\n\nChange-Id: I31062b479ea8a9f1c5b94a1ad0969bc5e2e92cd3\n"
    },
    {
      "commit": "db3c898510a2fb00183d6c9e59ffc2ee955daf59",
      "tree": "2d5840db23e8db778c4d694b4df5aa1d3f12c1e4",
      "parents": [
        "2532b7d57cbb7a8164ca08b413aee49d19e78ae8"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Sep 26 13:51:53 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Sep 26 14:00:25 2018 -0700"
      },
      "message": "Added OWNERS to moar bugreport-related projects...\n\n..and hooks to make sure they\u0027re developed on AOSP\n\nBug: none\nTest: none\n\nChange-Id: I6d541bc7b5815b187710cbf8838fc6307cf25e7c\n"
    },
    {
      "commit": "15d05290f60a80d0cb10d3c934028747421602c5",
      "tree": "b1087085cc07590999d8615aa234735b180cfcef",
      "parents": [
        "48ac1c65a1b2f3bef128fd30d0e473c0d21c6eb5",
        "2532b7d57cbb7a8164ca08b413aee49d19e78ae8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 26 19:54:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 26 19:54:33 2018 +0000"
      },
      "message": "Merge \"Added OWNERS to bugreport-related projects\""
    },
    {
      "commit": "2532b7d57cbb7a8164ca08b413aee49d19e78ae8",
      "tree": "f5e142fd8917dab2cce6d3992716b1fdca5acb4c",
      "parents": [
        "34da9eec9879a881d683713be4e59682fd768095"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Sep 26 10:17:33 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Sep 26 10:17:57 2018 -0700"
      },
      "message": "Added OWNERS to bugreport-related projects\n\nBug: none\nTest: none\n\nChange-Id: Iac9eb4b092c07228263646a5ced7fac73e5bf85e\n"
    },
    {
      "commit": "3f8c717b5653e4bd914af0a75fe0d35982918ea9",
      "tree": "049364bec44702f73c90d01608426250a87ab451",
      "parents": [
        "f3cf54a2f57154035eed4c8506e34ab9b9f75064"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Tue Sep 25 12:01:54 2018 +0100"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Wed Sep 26 11:50:57 2018 +0100"
      },
      "message": "Refactor options parsing in dumpstate\n\nDumpstate binder service is currently used only in the interactive\nmode. It needs to be a proper binder service to support the new\nbugreporting API. To do that the code needs to be more modular\nand reusable.\n\nBUG: 111441001\nTest: mmm -j frameworks/native/cmds/dumpstate/ \u0026\u0026 \\\n  adb push ${OUT}/data/nativetest64/dumpstate_test* \\\n  /data/nativetest64 \u0026\u0026 \\\n  adb shell /data/nativetest64/dumpstate_test/dumpstate_test\nTest: adb shell /data/nativetest64/dumpstate_smoke_test/dumpstate_smoke_test\nTest: adb bugreport\n\nChange-Id: Iebee8bfb533dc1d7c152d82fca1bbf9cc105bf34\n"
    },
    {
      "commit": "263cf383a4be425f0a5035d7d44ebce2a6173c9c",
      "tree": "dc5c9fa1530eda8bae697190a2caaf52a73805a3",
      "parents": [
        "f3cf54a2f57154035eed4c8506e34ab9b9f75064"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Wed Sep 26 11:22:02 2018 +0100"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Wed Sep 26 11:27:17 2018 +0100"
      },
      "message": "Replace NULL with nullptr\n\nFixes -Wzero-as-null-pointer-constant warning.\n\nWas originally part of c67f9a4cf0d7894f7b49f70806ac323630ba178e\nbut was dropped when merging to aosp.\n\nTest: m\nBug: 68236239\nChange-Id: Iaba035716673d38f31ab6beb0cef431747349f72\n"
    },
    {
      "commit": "2478cf2bf612febcadf61735af71dc71736e797c",
      "tree": "47e1ca630f623a02d007aa076d269dfb1643c1fe",
      "parents": [
        "ce9fe7fb24c1ea9864aec93252ca65bb791799b9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 18 09:37:21 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 18 12:53:12 2018 -0700"
      },
      "message": "Otapreopt: Introduce protocol version 10\n\nIn version 10, we no longer assume \u0027\u0026\u0027 for shared libraries of system\npackages, instead expecting the package manager state to be precise\nand correct.\n\nAdd translation code to parameter parsing. For prior versions, reject\ncommands that have \u0027\u0026\u0027 for shared libraries.\n\nBug: 115993344\nTest: mmma frameworks/native/cmds/installd\nTest: atest installd_otapreopt_test\nChange-Id: I191f82839047e31303303b610583cc0d64c78177\n"
    },
    {
      "commit": "ce9fe7fb24c1ea9864aec93252ca65bb791799b9",
      "tree": "76131f40019de72662892e943fcfa37ecefebea3",
      "parents": [
        "4549f39cdbe7b301693d9789fe189f1709d55107"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 18 10:25:58 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 18 10:29:29 2018 -0700"
      },
      "message": "Otapreopt: Move binary to Soong\n\nAdd a helper library using ART defaults to expose the image relocation\nconstants. Then move the otapreopt module to Android.bp.\n\nBug: 115993344\nTest: mmma frameworks/native/cmds/installd\nChange-Id: Ia5e114783150273c7806c1f1292ee7d3eff53e7c\n"
    },
    {
      "commit": "5cacd7ca048282ce3374803529be21fb7c42d5db",
      "tree": "344abcb8fa81ef4b98cae0cb8ee83125e51a7787",
      "parents": [
        "1bf41031e78f7445223a2dd19f593e7eb44f77e6",
        "41b69be72cc7455db6adb385400943198c181157"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Sep 12 20:34:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 12 20:34:51 2018 +0000"
      },
      "message": "Merge \"vndservicemanager: use selinux_vendor_log_callback\""
    },
    {
      "commit": "f9857adb1eedebe95e20b0d428f150715ff0bb3c",
      "tree": "778f8138b30c21d01d784baebd50fed6aead5f10",
      "parents": [
        "99e7f66c8af9f920fd02973899b5853612a380e0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 12:22:54 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 12:37:40 2018 -0600"
      },
      "message": "installd should be fully developed in AOSP.\n\nAlso get some OWNERS in place.\n\nBug: 113136846\nTest: manual\nChange-Id: Idf93999ca56cefe11f7940a11ea6031296049763\n"
    },
    {
      "commit": "41b69be72cc7455db6adb385400943198c181157",
      "tree": "3458f6e5e6e6887c978f162ddc267e551e6970fc",
      "parents": [
        "fbb87ef3369916a24bc9c51dad5deeb2eb4eade2"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Sep 06 16:52:07 2018 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Sep 06 17:07:33 2018 -0700"
      },
      "message": "vndservicemanager: use selinux_vendor_log_callback\n\nThis function only uses vendor APIs even on non-VNDK devices. This\nis to support the usecase of vndservicemanager on a legacy device\nwhich has the VNDK disabled.\n\nBug: 113083310\nTest: boot up device and see usage of /system/etc/event-log-tags\n    denials go away.\n\nChange-Id: I0fd86cce303bf169f6d5b1b873221302e5b260b1\n"
    },
    {
      "commit": "1752a113b6ee2500f8381d9e680fc8900c5003d2",
      "tree": "ed8d368727d4554231494bad58a289c4c3a5970a",
      "parents": [
        "2a1310d030fd46c1a9ba7722b15d46cef3d888a2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 03 18:15:16 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 03 18:15:47 2018 +0100"
      },
      "message": "Remove PIC option from oat files.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I8201c5f6a3238f39d2c857a44abcb228dcbbbb7a\n"
    },
    {
      "commit": "2a1310d030fd46c1a9ba7722b15d46cef3d888a2",
      "tree": "3ae5a49565967ccfb0594414bbe1a9b620344910",
      "parents": [
        "a6aa0e7959f170f6a2e85d895ddf6330905f8e77",
        "276a3b6a8e17c500f9f6ab9b61e13452b496649f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 31 21:01:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 31 21:01:34 2018 +0000"
      },
      "message": "Merge \"Bugreport: Adding eBPF maps content to bugreport\""
    },
    {
      "commit": "189d9066741569362737c0dfad3108a0f9ede0d1",
      "tree": "a0a8b96dc746a597cde7ddd0c9fbf577897bcf8e",
      "parents": [
        "2ef09a75b756b78a51f7c729a036688dcfed2244"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 29 15:22:19 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 29 20:08:00 2018 -0700"
      },
      "message": "Installd: Add presubmit TEST_MAPPING\n\nAdd the existing tests as presubmits.\n\nTest: pushd frameworks/native/cmds/installd ; atest ; popd\nChange-Id: Iee2d74a3ed0e0ff2f744a0cfdeae06fa998c46b9\n"
    },
    {
      "commit": "2ef09a75b756b78a51f7c729a036688dcfed2244",
      "tree": "569704488cc9292663d9112c295d89fe12c08bfa",
      "parents": [
        "c3260262aecaf27f7b9e11c3b97a78263e9cb30a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 29 14:50:41 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 29 14:50:41 2018 -0700"
      },
      "message": "Installd: Refactor installd_dexopt_test a bit\n\nSet up to print to stderr. Check more error conditions. Print more\nverbose failures.\n\nTest: mmma frameworks/native/cmds/installd/tests\nTest: atest installd_dexopt_test\nChange-Id: Ib2298818356342be8809cd52a3b0f5131c9024eb\n"
    },
    {
      "commit": "276a3b6a8e17c500f9f6ab9b61e13452b496649f",
      "tree": "f1e47bf846ee25122d265207330633b7ec5a67d0",
      "parents": [
        "5239def81b6de3acc00da690d8ace2965df2cf18"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue Aug 07 11:44:49 2018 -0700"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Thu Aug 23 13:01:01 2018 -0700"
      },
      "message": "Bugreport: Adding eBPF maps content to bugreport\n\nThe eBPF maps created by netd trafficController are used to store the\ndetail network traffic stats since device boot. It was not included in\nthe netd default dumping content since the detail content of the maps\nwould flood the basic information dumped and may not be useful in\ngeneral cases. But for bug report we and detail dumpstate operation we\nshould include them to help track down networking related issues.\n\nBug: 112226716\nTest: dumpstate show map content, bug report have the section showing\ncontent of each eBPF maps.\n\nChange-Id: Id90fdbf67a43e5e2d8c76e65d00976a48b511a33\n"
    },
    {
      "commit": "8697168f9b88d1a4b1661fec2318b06ed665cded",
      "tree": "87c2d926c565160d199dc553093e3214b92aacdd",
      "parents": [
        "b7d3be2e53ea637949999166683a45e596d9e54a"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Aug 07 17:02:53 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Aug 08 10:11:08 2018 -0700"
      },
      "message": "lshal: SerializeFlag \u003d\u003e SerializeFlags\n\nBug: 110711640\nTest: lshal --init-vintf\nChange-Id: If7770be64bff108e22d4fedfce0df991edb2b629\n"
    },
    {
      "commit": "e13b6b62e6c22df0ffbb643ac3e1222c2cd9099f",
      "tree": "1af92a82f2229c9af52e884f95d713bcd7ea13ed",
      "parents": [
        "9ead54bed65d486fe435793cbe98ed8b4786f7be",
        "16b9f38d2245028256954490458971efe65af329"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Aug 02 16:29:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 02 16:29:17 2018 -0700"
      },
      "message": "Merge \"lshal: close fd before joining thread\"\nam: 16b9f38d22\n\nChange-Id: I7ab9f8e64e01dd5b1f2edba2e5db8404d8073b4c\n"
    },
    {
      "commit": "9ead54bed65d486fe435793cbe98ed8b4786f7be",
      "tree": "ef89a483eb9255d8fae304789dd0fbd4f0726088",
      "parents": [
        "15f50dbea58f00b74dde1cf4ae5c266a36b45419",
        "ad0f33eaf156e70d4990c83b08bf6630b7026de1"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Aug 02 16:17:51 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 02 16:17:51 2018 -0700"
      },
      "message": "Merge \"[cmds] Modernize codebase by replacing NULL with nullptr\"\nam: ad0f33eaf1\n\nChange-Id: I7d55285b2e0ee1b949df253c5703be874fa21f63\n"
    },
    {
      "commit": "16b9f38d2245028256954490458971efe65af329",
      "tree": "668f94f78ec9cbcdbd80bdcc60abc783ae19a536",
      "parents": [
        "ad0f33eaf156e70d4990c83b08bf6630b7026de1",
        "b9d19c87abce709ba11da4f0307cc6922b9aa52d"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Aug 02 23:16:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 02 23:16:35 2018 +0000"
      },
      "message": "Merge \"lshal: close fd before joining thread\""
    },
    {
      "commit": "b9d19c87abce709ba11da4f0307cc6922b9aa52d",
      "tree": "5f341a23550649b06b3b37532774a171d0f24998",
      "parents": [
        "519485d161e1cdcb11a1898b065710a5d9239cb5"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Aug 02 14:09:55 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Aug 02 14:22:12 2018 -0700"
      },
      "message": "lshal: close fd before joining thread\n\nIn ~PipeRelay, since the data is no longer needed,\njust close the fd before joining the thread.\n\nIn previous code, \u0027lshal debug\u0027 can hang:\n- lshal read() waiting for data in RelayThread\n- lshal send fd to service in main thread\n- service close the fd\n- service returns in debug() call\n- lshal calls ~PipeRelay\n- lshal read() is still blocking because it does not\n  receive the signal\n\nBut, since the service has already end the debug()\ncall, the fds can be closed to bail out from blocking read().\n\nTest: \u0027while true; do lshal debug ...; done\u0027 does not hang\nFixes: 111997867\nChange-Id: I90db486b0a6598bd9998ed904dc0c757dfa57e0e\n"
    },
    {
      "commit": "19d5c00350893a2c9408d8d5a93d1d705b278562",
      "tree": "26818a9962e8ab05f532a77e3ab6f284572baa51",
      "parents": [
        "519485d161e1cdcb11a1898b065710a5d9239cb5"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Jul 20 13:39:55 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Aug 02 14:14:35 2018 -0700"
      },
      "message": "[cmds] Modernize codebase by replacing NULL with nullptr\n\nFixes -Wzero-as-null-pointer-constant warning.\n\nTest: m\nBug: 68236239\nChange-Id: I1635395d653ace5a11c75795f4a7d2bf2d9e0b1b\nMerged-In: I73a0a82e3e32001f8ffb0880250c7023dd8290d3\n"
    },
    {
      "commit": "73bf7a040ffc500ae9339bd9e71ab8b06f4839c4",
      "tree": "fd74a4407d03864101994826766a8b0524e870ba",
      "parents": [
        "cfc7917440205f6ead1dab0bc3ca71d0af5da89b",
        "499ee254079e9dec50ae209cd9d56c190296b03d"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Jul 27 14:11:39 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 27 14:11:39 2018 -0700"
      },
      "message": "Merge \"atrace: Add mali_systrace ftrace events to \u0027gfx\u0027\"\nam: 499ee25407\n\nChange-Id: I45677fe8574ee267e9177773592aadde973a3965\n"
    },
    {
      "commit": "5731aaa5a4f6f81b7259893effeede7a65f0feba",
      "tree": "90a87dd780d49af9100b8c9c86afcbdd30c0023e",
      "parents": [
        "0e67630e991a2f419156adce8e6fee2bde70cc32"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Jul 27 12:01:08 2018 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Jul 27 12:01:08 2018 -0700"
      },
      "message": "atrace: Add mali_systrace ftrace events to \u0027gfx\u0027\n\nThe Mali driver in Exynos kernels can emit events when jobs are\nsubmitted to the hardware and when they finish. Enable these events\nunder the \u0027gfx\u0027 tag.\n\nTest: systrace.py gfx\n      (using modified systrace not yet merged upstream)\n"
    },
    {
      "commit": "133bd69a13d56773c0d89f228caf04ac23cca356",
      "tree": "6901f9137bb8cb55974170aef62b7f4c4b62fc07",
      "parents": [
        "26cb4f8dacc560b714836eb67c45f885a6ebdddd",
        "d8bffa3ad9e93aa04bf712405766b54c42def2fe"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 12 15:53:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 12 15:53:54 2018 -0700"
      },
      "message": "Merge \"clang and C++14 are the defaults now.\"\nam: d8bffa3ad9\n\nChange-Id: I70c23fb1e51c5dc585b2e969e8c11bea61c4073a\n"
    },
    {
      "commit": "d8bffa3ad9e93aa04bf712405766b54c42def2fe",
      "tree": "b18b66e21e348894ef10b75f5bca4af6f88aed34",
      "parents": [
        "933c5f2365105762a96b2f2fa9f36ee9c324b05e",
        "5cd5ce4446a768c5a626820e4c0bc0ec57b3b2a9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 12 21:00:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 12 21:00:37 2018 +0000"
      },
      "message": "Merge \"clang and C++14 are the defaults now.\""
    },
    {
      "commit": "5cd5ce4446a768c5a626820e4c0bc0ec57b3b2a9",
      "tree": "44e65937d093b492b59b45e604cfef779419556f",
      "parents": [
        "8b8ce408fb1d6183dbe1aa1ffa560a7fce17ba18"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 11 15:40:36 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 11 15:40:36 2018 -0700"
      },
      "message": "clang and C++14 are the defaults now.\n\nBug: http://b/32019064\nTest: builds\nChange-Id: I9fd66d6f01db98adc6825c497f3c7af0d7a3366a\n"
    },
    {
      "commit": "6cf4478863ba5ce68380b8fb6f4fdbe9e1ea8d8b",
      "tree": "0ff883e00607f60598dd443cbca49a0ffa88035f",
      "parents": [
        "70564d5736a108939d4ec97a349e291970bf3bef",
        "f4d63fe4028a01199331b1b25ce3df556a8f56de"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Wed Jul 11 10:47:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 11 10:47:50 2018 -0700"
      },
      "message": "Merge \"Be compatible with new google test\"\nam: f4d63fe402\n\nChange-Id: Id063c973159364738a7fb6f17a6c8838c4756b9d\n"
    },
    {
      "commit": "21f3655ee03d376b4acb68d80568a94dce4829b4",
      "tree": "673470c2380b6d218a34bc5ed0b6de3b5bfe2f91",
      "parents": [
        "d760eb86623e011ea2fec592f164c07170de6d70"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Tue Jul 10 19:48:18 2018 -0700"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Wed Jul 11 04:59:29 2018 +0000"
      },
      "message": "Be compatible with new google test\n\n1. Remove the use of ::std::tr1\n2. arg in matcher become const.\n\nTest: compile\nChange-Id: Iba7cdc568b55f436b695e3fb39c1b0975d983ae8\n"
    },
    {
      "commit": "70564d5736a108939d4ec97a349e291970bf3bef",
      "tree": "ad8ad7a531d8201689c092d7f0b1bfca3c100b2d",
      "parents": [
        "b34628d362c35b377c4738a030f53762d154ec4c",
        "d760eb86623e011ea2fec592f164c07170de6d70"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 10 17:15:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 10 17:15:54 2018 -0700"
      },
      "message": "Merge \"Otapreopt: Add missing function\"\nam: d760eb8662\n\nChange-Id: Ie65a9613ef0750050d8a3db4243252888d8d626b\n"
    },
    {
      "commit": "b34628d362c35b377c4738a030f53762d154ec4c",
      "tree": "39d86b60641c19db76c2ab7175ad76edc80fe44d",
      "parents": [
        "2183c628eb26a19e54a36724409031b4acf9ad61",
        "7d092e6ad606c10f4a33e9d2250de7a1451e001a"
      ],
      "author": {
        "name": "Carmen Jackson",
        "email": "carmenjackson@google.com",
        "time": "Tue Jul 10 17:13:52 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 10 17:13:52 2018 -0700"
      },
      "message": "Merge \"atrace: make \u0027lowmemorykiller\u0027 directory optional for memreclaim\"\nam: 7d092e6ad6\n\nChange-Id: I252c5e062aee603428064454f239189cea650c4e\n"
    },
    {
      "commit": "d760eb86623e011ea2fec592f164c07170de6d70",
      "tree": "c97b6c493bde5d34e5056b56230d3c4e1c4a6cca",
      "parents": [
        "7d092e6ad606c10f4a33e9d2250de7a1451e001a",
        "a64a627076e1362f0d38ce6277570d44ae420563"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 10 23:56:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 10 23:56:45 2018 +0000"
      },
      "message": "Merge \"Otapreopt: Add missing function\""
    },
    {
      "commit": "7a23eb711fb534e9986433b6cef8c3debc530e3d",
      "tree": "fe805d37bbd05ce5ae36147783e11dbe4a1dd1cd",
      "parents": [
        "8b8ce408fb1d6183dbe1aa1ffa560a7fce17ba18"
      ],
      "author": {
        "name": "Carmen Jackson",
        "email": "carmenjackson@google.com",
        "time": "Mon Jul 02 13:14:56 2018 -0700"
      },
      "committer": {
        "name": "Carmen Jackson",
        "email": "carmenjackson@google.com",
        "time": "Tue Jul 10 14:19:38 2018 -0700"
      },
      "message": "atrace: make \u0027lowmemorykiller\u0027 directory optional for memreclaim\n\nThe \u0027lowmemorykiller\u0027 directory isn\u0027t used for lmk tracing on devices that have userspace lmk.\n\nBug: 110999121\nTest: The memreclaim option is available in Traceur on a device with\nuserspace lmk.\n\nChange-Id: I5dadb5c6c55cb04b6fe079b5f10a3dc35f1ee3f1\n"
    },
    {
      "commit": "a64a627076e1362f0d38ce6277570d44ae420563",
      "tree": "7da2b936b927e023f844124efa3b84d2817f3b88",
      "parents": [
        "8b8ce408fb1d6183dbe1aa1ffa560a7fce17ba18"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 10 10:43:47 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 10 10:43:47 2018 -0700"
      },
      "message": "Otapreopt: Add missing function\n\nAdd function for debug check.\n\nTest: mmma frameworks/native/cmds/installd\nChange-Id: Id32fb37ea1017c0a2fb2d2d66b1728a76fbc3dd5\n"
    },
    {
      "commit": "d81eb0f2f2f7e76e79f57c10b8fcfcee4d5b1d8f",
      "tree": "690c51d3c711cbf41def2345393abb8dde5b5e8a",
      "parents": [
        "2d717e340496a952a61829b69eee9f6cc5ecc2e9",
        "90e8d8dd0b7711b7d79630dad7ec5fb24707b113"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 29 23:17:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 29 23:17:05 2018 +0000"
      },
      "message": "Merge \"dumpstate: specify default args for lshal\" into stage-aosp-master"
    },
    {
      "commit": "2d717e340496a952a61829b69eee9f6cc5ecc2e9",
      "tree": "9ae2032cdf58a2e83b7e03c5c6ec223233f5c43e",
      "parents": [
        "0f2ae8e7a7b08c9f07665751aa10a79065e40e49",
        "7e3e5b6868dbf6a471bf6b8b7bd3f28ab8ff0bba"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jun 29 13:18:46 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 29 13:18:46 2018 -0700"
      },
      "message": "Merge \"Add clarifying comment\"\nam: 7e3e5b6868\n\nChange-Id: I6b04275f252400e153241279acfa802e8181d73b\n"
    },
    {
      "commit": "edbf9ec98e8aaac092ea7b6dde2f77b2c936bcd6",
      "tree": "c909d2ea2b3e33d67e1dc31d0c8ba61b129ba7af",
      "parents": [
        "924487ec47d776c19ad3d968221a24dab3e61717"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jun 29 11:15:17 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jun 29 11:15:17 2018 -0700"
      },
      "message": "Add clarifying comment\n\nTest: wasn\u0027t\nChange-Id: I2615ae1bc03eb7620d898e73a002d65fd3c3f94c\n"
    },
    {
      "commit": "0f2ae8e7a7b08c9f07665751aa10a79065e40e49",
      "tree": "92d597525bef07e5b339792688e0477308015887",
      "parents": [
        "7ed23273c25b97535f837b4f1d0a1d7a82e7605c",
        "924487ec47d776c19ad3d968221a24dab3e61717"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jun 29 10:54:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 29 10:54:42 2018 -0700"
      },
      "message": "Merge \"Support record-tgid\"\nam: 924487ec47\n\nChange-Id: I165dfc1544b51ac882ee3ffb9f33fe736ee168fd\n"
    },
    {
      "commit": "7ed23273c25b97535f837b4f1d0a1d7a82e7605c",
      "tree": "972e9fbbcf9ab2c644328c8b914fcf05e7ee7815",
      "parents": [
        "f68bbf7b004c4a04d7b798c1e023cab5ccf5b3c5",
        "e3a52f01e490c1fbe80eead8883e70873cab25cd"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Jun 29 10:52:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 29 10:52:38 2018 -0700"
      },
      "message": "Merge changes from topic \"lshal_lazy_hals\"\nam: e3a52f01e4\n\nChange-Id: I8261b7395f92c780efa487d2e015b62c72750a5a\n"
    },
    {
      "commit": "924487ec47d776c19ad3d968221a24dab3e61717",
      "tree": "7dac07095a2b54c7db2fdca78784fe6c755c46e8",
      "parents": [
        "e3a52f01e490c1fbe80eead8883e70873cab25cd",
        "e757b1c339f27172d2fe8a386095bfd5ceb93496"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 29 17:51:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 29 17:51:07 2018 +0000"
      },
      "message": "Merge \"Support record-tgid\""
    },
    {
      "commit": "e3a52f01e490c1fbe80eead8883e70873cab25cd",
      "tree": "53a97e4b19a503553b043882e935918ae6279463",
      "parents": [
        "8739852bde022ab58ec49e761c6aba54e7c7ddbd",
        "3212f1772198bba32921b8d403d4c0795b5fd09f"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Jun 29 17:39:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 29 17:39:31 2018 +0000"
      },
      "message": "Merge changes from topic \"lshal_lazy_hals\"\n\n* changes:\n  lshal: add --types\u003dlazy|z\n  lshal: add \"Status\" column and \"Manifest HALs\" section.\n  lshal: --types works with --neat\n  lshal: add ListCommand::tableForType\n  lshal: Remove obsolete TableEntrySource type.\n  lshal: test: make mocks more robust\n  lshal: fix help message\n"
    },
    {
      "commit": "84b441447a8b55e89b7db3942c285f15d8471a75",
      "tree": "45f8dfc6188b6b2b4c490a24e928aeed779d75bb",
      "parents": [
        "822a435c5962d65e3287e54b7434f2b354ddaf82",
        "b46d97b94e685d0df4ac9094b91f2e5a30eee6e7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 28 17:42:55 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 28 17:42:55 2018 -0700"
      },
      "message": "Merge \"dumpstate: declare dependencies on external tools.\"\nam: b46d97b94e\n\nChange-Id: I752512df3e9d9643ae0b63a4093bb208a03a1bab\n"
    },
    {
      "commit": "90e8d8dd0b7711b7d79630dad7ec5fb24707b113",
      "tree": "61c0d2740d76b97fe36513e59de8852a0e2837a5",
      "parents": [
        "822a435c5962d65e3287e54b7434f2b354ddaf82"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jun 28 13:14:39 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jun 28 22:08:04 2018 +0000"
      },
      "message": "dumpstate: specify default args for lshal\n\nTest: adb bugreport\nBug: 71555570\nChange-Id: Id027425c677ff5585fcb554490456422eeb37805\n"
    },
    {
      "commit": "3212f1772198bba32921b8d403d4c0795b5fd09f",
      "tree": "fe1fe6d2214e8e671871271e34f9bfc739acc90d",
      "parents": [
        "13ba0a975115910cc535130dead36beb42c1c0b4"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jun 28 12:39:50 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jun 28 15:04:20 2018 -0700"
      },
      "message": "lshal: add --types\u003dlazy|z\n\nAdd a new section to lshal that shows HALs in the manifest\n  - as hwbinder HALs but not registered\n  - as passthrough HALs but no impl found\n\nFixes: 71555570\nTest: lshal_test\nTest: lshal --types\u003dz\n\nChange-Id: I6947d9e7e08991fa2497f40c81005f885d408931\n"
    },
    {
      "commit": "13ba0a975115910cc535130dead36beb42c1c0b4",
      "tree": "5a05b7d64e22d48b9c90edbe8958fe621606b74f",
      "parents": [
        "b72f19ee9f61bdee774aae0ce8c3a0e511d2ae30"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Jun 25 16:15:56 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jun 28 14:57:37 2018 -0700"
      },
      "message": "lshal: add \"Status\" column and \"Manifest HALs\" section.\n\n- Added \"Status\" column that has following values:\n    - alive: running hwbinder service\n    - registered;dead: registered, but service cannot accept calls\n    - declared: only in VINTF, not in hwservicemanager\n    - N/A: passthrough HALs\n\n- Added a \"Manifest HALs\" section that lists all\n  HALs (hwbinder or passthrough) in device / framework manifest\n\nTest: lshal_test\n\nBug: 71555570\n\nChange-Id: I202b562ee73bcd49506bb43cc9af27b86f32651c\n"
    },
    {
      "commit": "b72f19ee9f61bdee774aae0ce8c3a0e511d2ae30",
      "tree": "18a299f0773e0be8e1bab1cbbaf055bdef5675d1",
      "parents": [
        "db730530656f717cdb925c058461a4485db4b32b"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Jun 27 16:58:56 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jun 28 13:23:15 2018 -0700"
      },
      "message": "lshal: --types works with --neat\n\nTest: lshal_test\nChange-Id: Ia2e6a2258b455605929a19da0c3213eae5f9d14f\n"
    },
    {
      "commit": "db730530656f717cdb925c058461a4485db4b32b",
      "tree": "5da28453fede9d25cd65b12cf52b643d41905736",
      "parents": [
        "20f4ee8c46a35f6ec4bf6c634bee866a2a92be0a"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Jun 25 16:32:01 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jun 28 13:23:15 2018 -0700"
      },
      "message": "lshal: add ListCommand::tableForType\n\n... to avoid duplicating switch/case logic.\nTest: lshal_test\n\nChange-Id: I9096534d607839ccc34dc115e76e890688a25c61\n"
    },
    {
      "commit": "20f4ee8c46a35f6ec4bf6c634bee866a2a92be0a",
      "tree": "cba646334e7e91527d37494123e905611f8434c8",
      "parents": [
        "c443091cbc9d4ce9f16bc85222eda932adbd2b65"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Jun 25 16:21:29 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jun 28 13:23:15 2018 -0700"
      },
      "message": "lshal: Remove obsolete TableEntrySource type.\n\nHalType is a better type.\nTest: lshal_test\n\nChange-Id: I2de08a6cce8413d93d3b7fb2367d0c1ad09d032a\n"
    },
    {
      "commit": "c443091cbc9d4ce9f16bc85222eda932adbd2b65",
      "tree": "ad877fd1c48c294814aa39c7d75f9668235bbc67",
      "parents": [
        "aa864577ff84d250ca854d87bc95b54472b843e1"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Jun 27 16:48:34 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jun 28 13:23:15 2018 -0700"
      },
      "message": "lshal: test: make mocks more robust\n\nSetup error stream for all tests in ListParseArgsTest.\nOtherwise, if lshal writes to error stream, the test\nimmediately aborts.\n\nTest: lshal_test\n\nChange-Id: I085e764528534e9d2df8e0ccf3181366d20247bc\n"
    },
    {
      "commit": "aa864577ff84d250ca854d87bc95b54472b843e1",
      "tree": "b02fa893b93a013437b46105c7b1a8d6bfcb920d",
      "parents": [
        "0a34c5799092c55879445150f3acc8dc9cd49c95"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Jun 26 13:27:29 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jun 28 13:23:15 2018 -0700"
      },
      "message": "lshal: fix help message\n\nDefault options are incorrect. Should be `lshal list -liepc`.\n\nTest: compare output of `lshal` and `lshal -liepc`\n\nChange-Id: Ia5fa7452c5e770793ad89cdd9c29ef20af462887\n"
    },
    {
      "commit": "e757b1c339f27172d2fe8a386095bfd5ceb93496",
      "tree": "99716246d04d3a6e502b4ccd0178bd132a6773f5",
      "parents": [
        "48b34b37a6ebe165b24263849cd10e9ab0614b61"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jun 28 12:24:33 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jun 28 13:13:28 2018 -0700"
      },
      "message": "Support record-tgid\n\nBug: 110757800\nTest: builds\nChange-Id: Id3235995a6bcf3678413fdf97ca4b89a5f0c340c\n"
    },
    {
      "commit": "c1e0917eba8fdf67a099ee8791fa86897abc4aaa",
      "tree": "a2b9d1422850a6906e0681112241b6935ec54031",
      "parents": [
        "48b34b37a6ebe165b24263849cd10e9ab0614b61"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 15:04:28 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 15:04:28 2018 -0700"
      },
      "message": "dumpstate: declare dependencies on external tools.\n\nBug: N/A\nTest: builds\nChange-Id: Id64ce3b15306bed726b869d39e0c8c6086f69fa3\n"
    },
    {
      "commit": "822a435c5962d65e3287e54b7434f2b354ddaf82",
      "tree": "e313350e25dfb9d0a86e0cbd01a0f363ce028a90",
      "parents": [
        "9abc9c5dbe1f43dc98b1bb1223e494023ad5316d",
        "48b34b37a6ebe165b24263849cd10e9ab0614b61"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jun 26 17:10:31 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 26 17:10:31 2018 -0700"
      },
      "message": "Merge \"dumpstate: fix double close.\"\nam: 48b34b37a6\n\nChange-Id: I1e28a06210ea15617f1f34f91a0e041974b507f8\n"
    },
    {
      "commit": "48b34b37a6ebe165b24263849cd10e9ab0614b61",
      "tree": "7fe68066ff6afbe1a435fb422d1cd2c4c0f647f3",
      "parents": [
        "e818ec37052b605c815c1cc8d816384056aeeb17",
        "7c4258c7248944598397eb796041afc95a1c46ad"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 26 23:31:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 26 23:31:13 2018 +0000"
      },
      "message": "Merge \"dumpstate: fix double close.\""
    },
    {
      "commit": "9abc9c5dbe1f43dc98b1bb1223e494023ad5316d",
      "tree": "14fa34a0b31609471f4ecc55483f7c3fa7d9ea67",
      "parents": [
        "07031ce2109cfb8c015a7f4b81fbe0be92cb264d",
        "e818ec37052b605c815c1cc8d816384056aeeb17"
      ],
      "author": {
        "name": "Mika Raento",
        "email": "mikie@google.com",
        "time": "Tue Jun 26 01:34:01 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 26 01:34:01 2018 -0700"
      },
      "message": "Merge \"Add binder transaction size tracing\"\nam: e818ec3705\n\nChange-Id: Ie07db61595350ae6839429cdcd8df3c1373890fb\n"
    },
    {
      "commit": "7c4258c7248944598397eb796041afc95a1c46ad",
      "tree": "c1710cde43dcd118ba42543e2891584ca345400a",
      "parents": [
        "037b50ec793155cc965a02cb03be91a6158b6866"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Jun 25 13:40:08 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Jun 25 13:40:08 2018 -0700"
      },
      "message": "dumpstate: fix double close.\n\nfdopen takes ownership of the fd it\u0027s given, but dump_stat_from_fd\ndoesn\u0027t own the fd it\u0027s passed. These APIs should probably be cleaned\nup to pass a unique_fd to explicitly transfer ownership, since the\ncaller immediately closes the fd afterwards, but until then, just dup.\n\nTest: mma\nChange-Id: Ie3a3c1b1951d6cc712850c326ca0bcfe46155a83\n"
    },
    {
      "commit": "80c3e5dc047460b8fa8c8f07a45e0882cb43326c",
      "tree": "169f5b886d68e865172b793948525c4c9aff323f",
      "parents": [
        "037b50ec793155cc965a02cb03be91a6158b6866"
      ],
      "author": {
        "name": "Mika Raento",
        "email": "mikie@google.com",
        "time": "Mon Jun 25 16:47:24 2018 +0100"
      },
      "committer": {
        "name": "Mika Raento",
        "email": "mikie@google.com",
        "time": "Mon Jun 25 17:22:44 2018 +0100"
      },
      "message": "Add binder transaction size tracing\n\nAs binder transaction latency depends heavily on message size, it\u0027s\nuseful to trace the sizes as well.\n\nI\u0027ll submit a change to catapult (systrace visualizer) to add the size\ninformation to the binder transaction events as well.\n\nTest: ran systrace.py ... binder_driver, looked at captured data\nTest: mm in $ANDROID_BUILD_TOP\nBug: 78137932\nChange-Id: I07774ac6664b03d9ebc563723831d84313821eb0\n"
    },
    {
      "commit": "07031ce2109cfb8c015a7f4b81fbe0be92cb264d",
      "tree": "708daf2b3b3cafa11a6fba3ee97cf19a7680c1ac",
      "parents": [
        "61b9c33acf2ebead92c2e180498124e684faf01f",
        "037b50ec793155cc965a02cb03be91a6158b6866"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 20 17:57:20 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 20 17:57:20 2018 -0700"
      },
      "message": "Merge \"Fix SEGFAULT in profman\"\nam: 037b50ec79\n\nChange-Id: Idb3f52cc1785d6f7d1c1f7cb17284db10d33bfe4\n"
    },
    {
      "commit": "a30265a2dc243386f822aae8c59748d40bb523bd",
      "tree": "ac08127c8f4e9e4c1ba2a680bac99f0523d92c30",
      "parents": [
        "0a34c5799092c55879445150f3acc8dc9cd49c95"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jun 11 13:28:15 2018 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 20 15:54:33 2018 -0700"
      },
      "message": "Fix SEGFAULT in profman\n\nFix the size of profman argument array.\n\nTest: installd_dexopt_test\nBug: 110035108\n\n(cherry picked from commit ade5507f4998aeab574334b4ad1a887061612b6c)\n\nMerged-In: Ifca6744660b1538668aed7864eddf0d5aad0736d\nChange-Id: I87a54893e63d5f1ad06784c11d9933a4f35aa5e5\n"
    },
    {
      "commit": "a486981bff957507c21c11e821d52b76d00dd6b5",
      "tree": "55e37ec9ed751703a3d640c698da9bfa08f26e0e",
      "parents": [
        "bf346df6e80e74ac877af7493b65a21faae5835f",
        "693e05d21ae6999a8ebfe149eaaa07366d69396a"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Jun 05 09:48:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 05 09:48:10 2018 -0700"
      },
      "message": "Merge \"Allow access to tracing/per_cpu/cpu?/trace files.\" am: 978e43d7a1\nam: 693e05d21a\n\nChange-Id: I82a74f322c38716f4ec1b14ed982f6a636edf051\n"
    },
    {
      "commit": "978e43d7a14f75a0d2d32517d906e173de48110b",
      "tree": "7d6db746fd5f1baee18edac44a514463201331dc",
      "parents": [
        "33d56fbd1f5d449a403c273d0a91af2c8c8199d4",
        "2bf3b631218b259b08cd9d95a46686dc558bc054"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 05 16:34:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 05 16:34:54 2018 +0000"
      },
      "message": "Merge \"Allow access to tracing/per_cpu/cpu?/trace files.\""
    },
    {
      "commit": "76c2eaf3485a02144d43d65ddda351c3c8def914",
      "tree": "ca0acc51e75743cfa3c507e191cfdd755ae088ff",
      "parents": [
        "466d4580cd1a3a3ffe029daede117be7c46f5b69",
        "1572f9b60ed2bedc16c2a534da9f8cb7cc512524"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu May 31 17:12:05 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 31 17:12:05 2018 -0700"
      },
      "message": "Otadexopt: removing bootdevice from /dev/block/bootdevice/by-name/*\nam: 1572f9b60e\n\nChange-Id: Ic8a18412786808d4e04a597f865cd599842d492b\n"
    },
    {
      "commit": "1572f9b60ed2bedc16c2a534da9f8cb7cc512524",
      "tree": "cc0347c5ed7bfeae1f7fe29a079a4c822128aa1a",
      "parents": [
        "664ff4f0169970479fda925a032e1d9538409a12"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu May 31 10:16:46 2018 +0800"
      },
      "committer": {
        "name": "Sandeep Patil",
        "email": "sspatil@google.com",
        "time": "Thu May 31 13:50:34 2018 -0700"
      },
      "message": "Otadexopt: removing bootdevice from /dev/block/bootdevice/by-name/*\n\nWe should switch to use /dev/block/by-name/\u003cpartition\u003e because there is\nno requirement to have a single \u0027bootdevice\u0027 for Android. The symlink is\ncreated in the following change:\n\n  https://android-review.googlesource.com/c/platform/system/core/+/674989\n\nBug: 80466341\nBug: 78613232\nTest: m -j otapreopt_chroot\nTest: Successful go/manual_ab_ota on walleye\n\nChange-Id: I26fbf67e72cc2ee93909e95b0254ba1602e6ae8e\nMerged-In: I26fbf67e72cc2ee93909e95b0254ba1602e6ae8e\n(cherry picked from commit 19d2d08bfbc3840a93762011d6a2763bd37be05a)\n"
    },
    {
      "commit": "19d2d08bfbc3840a93762011d6a2763bd37be05a",
      "tree": "460f5785fb0aa964297094d85f4f230f00fe7dc3",
      "parents": [
        "14906cd8e9e627c9ab8f3e9ad549812f41ffa630"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu May 31 10:16:46 2018 +0800"
      },
      "committer": {
        "name": "Sandeep Patil",
        "email": "sspatil@google.com",
        "time": "Thu May 31 13:45:01 2018 -0700"
      },
      "message": "Otadexopt: removing bootdevice from /dev/block/bootdevice/by-name/*\n\nWe should switch to use /dev/block/by-name/\u003cpartition\u003e because there is\nno requirement to have a single \u0027bootdevice\u0027 for Android. The symlink is\ncreated in the following change:\n\n  https://android-review.googlesource.com/c/platform/system/core/+/674989\n\nBug: 80466341\nBug: 78613232\nTest: m -j otapreopt_chroot\nTest: Successful go/manual_ab_ota on walleye\n\nChange-Id: I26fbf67e72cc2ee93909e95b0254ba1602e6ae8e\nMerged-In: I26fbf67e72cc2ee93909e95b0254ba1602e6ae8e\n"
    },
    {
      "commit": "2a9d939dde41f91b076c6d37b73880cd6dce6f73",
      "tree": "247bf5fee093766d7dcc75bb39e1a5c401e8db71",
      "parents": [
        "e460f4122f43f724778615cfa87c0315d4f7db72",
        "9129e86f046e241ac96253e08be9eb29bc625c5e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 29 18:14:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 29 18:14:19 2018 -0700"
      },
      "message": "Merge \"Use a pipe rather than a socketpair to collect debug information from\" am: 14906cd8e9\nam: 9129e86f04\n\nChange-Id: I38f9e15e7ee0a9f071fcf5d208bd49b68ff26e69\n"
    },
    {
      "commit": "14906cd8e9e627c9ab8f3e9ad549812f41ffa630",
      "tree": "a6fca805359f647a85dc7d2db90a65388e25ec3c",
      "parents": [
        "0639471d6491a17d8ba787368b47f31f3259438e",
        "7dfac44cb5e863bf8cdcfd040087c1667871ad2e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 29 23:44:58 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 29 23:44:58 2018 +0000"
      },
      "message": "Merge \"Use a pipe rather than a socketpair to collect debug information from\""
    },
    {
      "commit": "e460f4122f43f724778615cfa87c0315d4f7db72",
      "tree": "14779f2444fb858664853fdf90fcf8c0e54be27f",
      "parents": [
        "9896fd5166c5d3eb8c5f65b07d2664dc6f371ae1",
        "3d76135f949ba1630ab8673555b8ae657a257b9d"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 29 12:39:04 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 29 12:39:04 2018 -0700"
      },
      "message": "Merge changes from topic \"lshal_improve\" am: 0639471d64\nam: 3d76135f94\n\nChange-Id: I2cb0588df3a90929535019c88ad9b9b71a70d763\n"
    },
    {
      "commit": "9896fd5166c5d3eb8c5f65b07d2664dc6f371ae1",
      "tree": "cf76229f1c1f2cf2ee6ade18db93e9fb8ebc0c6e",
      "parents": [
        "fb86089fff15b4e5364e365e881a1b5fc80a3f8b",
        "5b2b7e9192bc72a382867856a4798a8b87f22cc0"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 29 12:38:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 29 12:38:19 2018 -0700"
      },
      "message": "lshal: Add VINTF column am: bdf44f81d0\nam: 5b2b7e9192\n\nChange-Id: If7f574277681e61dd4786996f3fcbd10b7820919\n"
    },
    {
      "commit": "fb86089fff15b4e5364e365e881a1b5fc80a3f8b",
      "tree": "8cf2c7fd3b4937f0e2401f84c4059abef4fa8b35",
      "parents": [
        "331c31bad7b8dcfad9fe9dc28bfae3c3d3328c8b",
        "2ce601a0148cbd258e260c1d6a1eadac521e8209"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 29 12:37:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 29 12:37:43 2018 -0700"
      },
      "message": "lshal: refactor: Use vintf::Arch instead of enum Architecture am: 0ad64f522c\nam: 2ce601a014\n\nChange-Id: Icc1310252409aa03f518fac0c0cc4312a55bbb75\n"
    },
    {
      "commit": "331c31bad7b8dcfad9fe9dc28bfae3c3d3328c8b",
      "tree": "73f15fc8e10bd83dd28b18601d120ec51793be80",
      "parents": [
        "cfac7c52bf2dfe285234455954a288c804a37f66",
        "0dabfe452e5cf9893820ffd80c0f381f2800de4a"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 29 12:37:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 29 12:37:09 2018 -0700"
      },
      "message": "lshal: refactor: Use vintf::Transport instead of string am: 8304e41694\nam: 0dabfe452e\n\nChange-Id: Icd7ff95b780c23d5902df2cb4b171165fa20da37\n"
    },
    {
      "commit": "cfac7c52bf2dfe285234455954a288c804a37f66",
      "tree": "de04a41cb55892e197d173d9ce2a2037b115688b",
      "parents": [
        "a026ba394c14c6530ededa16b5c05700d3867cd1",
        "528dcc69d1ff30d5b24a114c4d316241dd461689"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 29 12:36:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 29 12:36:34 2018 -0700"
      },
      "message": "lshal: Released column is now Y/N/? am: d5ee11a531\nam: 528dcc69d1\n\nChange-Id: I5da1b623eade66f58dc5b457ce39dd363ee3e7d3\n"
    },
    {
      "commit": "bdf44f81d0b7ffb2bf1d9a6c5fbbfb25b55ba565",
      "tree": "cb0b17306fcf5508b16b40ededc05ccd19fbf56f",
      "parents": [
        "0ad64f522c7735c188fe50c989fdd39975cd127a"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri May 25 14:20:00 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 29 10:31:07 2018 -0700"
      },
      "message": "lshal: Add VINTF column\n\nFixes: 71555570\nTest: lshal_test\n\nChange-Id: I7ac5ef5a920d41c0f534195c764b1a300429a367\n"
    },
    {
      "commit": "0ad64f522c7735c188fe50c989fdd39975cd127a",
      "tree": "4a869d8af359c93f35f8f60c6009af2dc91a3fb0",
      "parents": [
        "8304e4169449b6cf1ed3d96aa9b37e6fe7e583c1"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri May 25 15:29:17 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 29 10:31:07 2018 -0700"
      },
      "message": "lshal: refactor: Use vintf::Arch instead of enum Architecture\n\nThe Architecture enum was invented\nwhen there was no operator| and operator|\u003d implemented\nfor vintf::Arch. Now that |\u003d is properly defined, it\nmakes sense to remove duplicated definition of classes.\n\nTest: lshal_test\n\nChange-Id: I5d4786c3a460e20a49b32fa42226294ab2899d20\n"
    },
    {
      "commit": "8304e4169449b6cf1ed3d96aa9b37e6fe7e583c1",
      "tree": "085c17854217eef3a71f122ec7967f09cae6e57d",
      "parents": [
        "d5ee11a531ec0f6bf47ebfe9850a60e3c3e6308f"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri May 25 15:05:36 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 29 10:31:07 2018 -0700"
      },
      "message": "lshal: refactor: Use vintf::Transport instead of string\n\nEnums are better.\nTest: lshal_test\n\nChange-Id: Iee8af520de866106d3384b12058e94f423217347\n"
    },
    {
      "commit": "d5ee11a531ec0f6bf47ebfe9850a60e3c3e6308f",
      "tree": "e7324c73d6236e9acb0a073406856fb22e91caee",
      "parents": [
        "2e41461725369ee92a03d9037d472db625472c2b"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri May 25 12:57:04 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 29 10:31:07 2018 -0700"
      },
      "message": "lshal: Released column is now Y/N/?\n\nY: released\nN: unreleased\n?: unknown\n\nTest: lshal_test\n\nChange-Id: Ia9d840dd14d07bfbd362bcbc6fe42e58ec5d1d10\n"
    },
    {
      "commit": "430f8980f07c3fb64521c8cc51e0136739c28396",
      "tree": "accf494984e8ef5f722f856bc27a5903a426d8db",
      "parents": [
        "bdf44f81d0b7ffb2bf1d9a6c5fbbfb25b55ba565"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri May 25 17:28:39 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 29 10:31:07 2018 -0700"
      },
      "message": "lshal: arch unknown \u003d\u003e ?\n\nEmpty strings are hard for machines to parse.\nTest: lshal_test\n\nChange-Id: I498de204c5a1829a0c2c9588a77a137336f29163\n"
    },
    {
      "commit": "f86fe80b687a0e70c8c961099f56085345fc5786",
      "tree": "66a6bf64b05eebffe844a196226480b31946bd84",
      "parents": [
        "eb9b71e69c06589b52fc90fafef2f39217b8c8eb",
        "8e39ddd81e43e0a5be6c1916649c4a840518ca45"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 25 19:54:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 25 19:54:48 2018 +0000"
      },
      "message": "Merge \"Revert \"Only spawn one binder thread for cmd.\"\" into pi-dev-plus-aosp"
    }
  ],
  "next": "eb9b71e69c06589b52fc90fafef2f39217b8c8eb"
}
