)]}'
{
  "log": [
    {
      "commit": "5730cc10c73ce2dd4cb08c020336168ac7d99c1c",
      "tree": "d78f7af88d4f60acc7b50af3c9853be923ce1356",
      "parents": [
        "395b0a586f97da30e10429d345b4a2c1fc66ffb7",
        "acb182d0d4dd5c9fd792ba3b09819e96bb7f8cdb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 22 18:44:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 18:44:56 2018 +0000"
      },
      "message": "Merge \"Remove thread shutdown logic.\""
    },
    {
      "commit": "acb182d0d4dd5c9fd792ba3b09819e96bb7f8cdb",
      "tree": "08de0f328774b22e68ac05ad02b9207bb2608c7f",
      "parents": [
        "c81f3d43fa09a41773aea8adc4c665ce5714af45"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue May 22 09:50:49 2018 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue May 22 09:50:49 2018 -0700"
      },
      "message": "Remove thread shutdown logic.\n\nThis logic wasn\u0027t right, and the kernel will clean\nit up anyway. Since loading and unloading this library\nisn\u0027t supported, I\u0027m removing this race-prone section\nof code until someone has a reason to and decides to\nsupport this usecase.\n\nBug: 77934844\nTest: (walleye) device boots/shutdowns w/o fatal errors\nChange-Id: I2f7b8ed3c969c1e62879291424dfc6be20225dee\n"
    },
    {
      "commit": "395b0a586f97da30e10429d345b4a2c1fc66ffb7",
      "tree": "3cafd609f84e4171bfa7c34e630f152223c42674",
      "parents": [
        "5410499a921a261c933d9499e80f79b9717cdaf5",
        "1c663e5e07669d7b4ba4133a7dcdc6449ed3fcfc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 21 23:09:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 21 23:09:30 2018 +0000"
      },
      "message": "Merge \"Add permissions for sync and fence tracepoints on user builds.\""
    },
    {
      "commit": "1c663e5e07669d7b4ba4133a7dcdc6449ed3fcfc",
      "tree": "3cafd609f84e4171bfa7c34e630f152223c42674",
      "parents": [
        "5410499a921a261c933d9499e80f79b9717cdaf5"
      ],
      "author": {
        "name": "Carmen Jackson",
        "email": "carmenjackson@google.com",
        "time": "Fri May 18 12:50:00 2018 -0700"
      },
      "committer": {
        "name": "Carmen Jackson",
        "email": "carmenjackson@google.com",
        "time": "Mon May 21 14:19:22 2018 -0700"
      },
      "message": "Add permissions for sync and fence tracepoints on user builds.\n\nBug: 79935503\nTest: Took traces using \u0027sync\u0027 in user builds and saw the tracepoints\nbeing saved.\nChange-Id: Id6b6a1f85452c2a766ce08ad0eecebed58bc2be6\nMerged-In: Id6b6a1f85452c2a766ce08ad0eecebed58bc2be6\n"
    },
    {
      "commit": "5410499a921a261c933d9499e80f79b9717cdaf5",
      "tree": "18efdd7886bfa3293ffe14a825b7618883319524",
      "parents": [
        "c81f3d43fa09a41773aea8adc4c665ce5714af45",
        "cce988d0011c44f62f016b8d1267ca7eec2bfa9d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 18 18:02:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 18 18:02:55 2018 +0000"
      },
      "message": "Merge \"Filter lshal-reported HALs using CL arguments\""
    },
    {
      "commit": "cce988d0011c44f62f016b8d1267ca7eec2bfa9d",
      "tree": "18efdd7886bfa3293ffe14a825b7618883319524",
      "parents": [
        "c81f3d43fa09a41773aea8adc4c665ce5714af45"
      ],
      "author": {
        "name": "Nirav Atre",
        "email": "natre@google.com",
        "time": "Wed May 16 11:14:46 2018 -0700"
      },
      "committer": {
        "name": "Nirav Atre",
        "email": "natre@google.com",
        "time": "Thu May 17 19:00:22 2018 -0700"
      },
      "message": "Filter lshal-reported HALs using CL arguments\n\nCurrently, lshal reports all available HALs (under 3 labels: binderized\nservices, passthrough clients, and passthrough libraries). This change\nallows users to restrict the command\u0027s output to one or more of these\nassociations.\n\nBug: 68653063\nTest: Manually tested lshal with/without the --types flag, and with\nvarious permutations of the HAL types. Ensured that --debug and --neat\nare still functional.\n\nChange-Id: Idcd22746f8ec3f0d4d5d981a84400f2683a1272a\n"
    },
    {
      "commit": "c81f3d43fa09a41773aea8adc4c665ce5714af45",
      "tree": "ee3ed70ea1f0108106415e2676f29eaa089705db",
      "parents": [
        "9415ec2a4fa79c3379b9c43fb747332013c60007",
        "4200d70220f2b7e6fae3f0a09bf5aa6ec9d8d7f8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 10 15:18:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 10 15:18:31 2018 +0000"
      },
      "message": "Merge \"vulkan: Move implementor\u0027s guide to s.a.c.\""
    },
    {
      "commit": "4200d70220f2b7e6fae3f0a09bf5aa6ec9d8d7f8",
      "tree": "40d86dc20d71dde609ca9d713285632ae18d4ba8",
      "parents": [
        "93a0198e5f7a90150549f74fd2080c730f01b138"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed May 09 16:19:22 2018 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed May 09 16:23:53 2018 -0700"
      },
      "message": "vulkan: Move implementor\u0027s guide to s.a.c.\n\nContents have been at\n    https://source.android.com/devices/graphics/implement-vulkan\nfor a while now. Removing the one here so we have a canonical source\nand don\u0027t have to worry about propagating changes from one to the\nother.\n\nTest: n/a\nBug: 78347023\nChange-Id: I5e65d0aef530a761c75efe999ade8c44bc421a9e\n"
    },
    {
      "commit": "9415ec2a4fa79c3379b9c43fb747332013c60007",
      "tree": "1a013cd5cabda84885b5379a23e8bc432e62facd",
      "parents": [
        "2856475f4928c572ac33526c24ebd99a734f4dc6",
        "8b55526624055be4e3f53b47b94a7da9b90953ce"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 09 07:07:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 09 07:07:48 2018 +0000"
      },
      "message": "Merge \"Remove unused `tags` property from Android.bp files\""
    },
    {
      "commit": "8b55526624055be4e3f53b47b94a7da9b90953ce",
      "tree": "1a013cd5cabda84885b5379a23e8bc432e62facd",
      "parents": [
        "2856475f4928c572ac33526c24ebd99a734f4dc6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue May 08 17:08:15 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed May 09 00:54:07 2018 +0000"
      },
      "message": "Remove unused `tags` property from Android.bp files\n\nThe tags property is (and has always been) unused by Soong. The property has\nbeen defined as a list of strings, and the `androidmk` converted any\nLOCAL_MODULE_TAGS entries over to it, but we\u0027ve never done anything with it.\n\nIn preparation for removing the definition from Soong, I\u0027m removing it from all\nAndroid.bp files in the tree.\n\nSince this has never done anything, this is a no-op, but if you really did want\nthe Android.mk behavior, the proper way to define a module to be installed in\nuserdebug / eng builds is to use PRODUCT_PACKAGES_DEBUG or PRODUCT_PACKAGES_ENG\nin the appropriate product makefile.\n\nExempt-From-Owner-Approval: global no-op build change\nTest: remove `tags` from Soong, see errors go away.\nChange-Id: I48b87d082964d171dffde642805b94d696e228ec\nMerged-In: I48b87d082964d171dffde642805b94d696e228ec\n"
    },
    {
      "commit": "2856475f4928c572ac33526c24ebd99a734f4dc6",
      "tree": "bc031ecd25722a63a81861abf0e24aa5defdd0b8",
      "parents": [
        "c6fd8bb6f99050bb0a0a7e0d0972683d5a3004b8",
        "4a0a834c0f5b03e69746ea60cfc65f75bb1e1afd"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Sat May 05 21:31:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat May 05 21:31:07 2018 +0000"
      },
      "message": "Merge \"anrd is moving from xbin -\u003e bin\""
    },
    {
      "commit": "c6fd8bb6f99050bb0a0a7e0d0972683d5a3004b8",
      "tree": "dfe63db5f67c8e53c949d256e1fa4b05310d39da",
      "parents": [
        "a60de57fdcbc61a37d4c9579d000206779eccc05",
        "f905ecab5ff1720e3e7d3cf03ac08e37762faa83"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Sat May 05 14:43:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat May 05 14:43:40 2018 +0000"
      },
      "message": "Merge \"Convert to Soong\""
    },
    {
      "commit": "f905ecab5ff1720e3e7d3cf03ac08e37762faa83",
      "tree": "dfe63db5f67c8e53c949d256e1fa4b05310d39da",
      "parents": [
        "a60de57fdcbc61a37d4c9579d000206779eccc05"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri May 04 23:20:48 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat May 05 06:25:22 2018 +0000"
      },
      "message": "Convert to Soong\n\nSee build/soong/README.md for more information.\n\nTest: cd frameworks/native/cmds/rawbu; mma\nChange-Id: If2b3aac68eb99bb3bca2c8d9c8d4c5ed4d5bcd2a\n"
    },
    {
      "commit": "4a0a834c0f5b03e69746ea60cfc65f75bb1e1afd",
      "tree": "7efc630fab356293a2a09524aec62fa129d85b9d",
      "parents": [
        "a60de57fdcbc61a37d4c9579d000206779eccc05"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri May 04 13:05:01 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri May 04 13:05:01 2018 -0700"
      },
      "message": "anrd is moving from xbin -\u003e bin\n\nSoong doesn\u0027t support installation into xbin, we\u0027re moving binaries to\nbeing installed into the bin directory instead.\n\nTest: none\nChange-Id: I5a7d808ed74062ee03493d61728016f50281131f\n"
    },
    {
      "commit": "a60de57fdcbc61a37d4c9579d000206779eccc05",
      "tree": "1ae1090a0e3a5346c352ca6e76b7a9f5d6ed2d89",
      "parents": [
        "0d3c95ec56ba67b98a483ebfec904e1ce7ff71d1",
        "b2d096a2a528ffae20bd8ed6db541b49005cfaa9"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu May 03 18:00:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 03 18:00:47 2018 +0000"
      },
      "message": "Merge \"lshal: --init-vintf use \u003cfqname\u003e only.\""
    },
    {
      "commit": "0d3c95ec56ba67b98a483ebfec904e1ce7ff71d1",
      "tree": "dc22d8ded7647e9d18431e53544a7e1f1d2a8687",
      "parents": [
        "93a0198e5f7a90150549f74fd2080c730f01b138",
        "3bbaed2b4fe102ce263ee0120a1d30b33323dcf9"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 02 23:30:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 02 23:30:18 2018 +0000"
      },
      "message": "Merge \"Always pass --dex-location to profman\""
    },
    {
      "commit": "b2d096a2a528ffae20bd8ed6db541b49005cfaa9",
      "tree": "c3dda1ff53d86aec36c6e9d928febe8073ce89b6",
      "parents": [
        "93a0198e5f7a90150549f74fd2080c730f01b138"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 01 15:25:23 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed May 02 16:03:59 2018 -0700"
      },
      "message": "lshal: --init-vintf use \u003cfqname\u003e only.\n\nlshal --init-vintf helps creating the device manifest for\nlaunch devices. For launch devices it is encouraged to use\n\u003cfqname\u003e format.\nUpgrading devices should not use this tool to generate device\nmanifest and replace the existing manifest directly, but should\nedit the existing manifest manually.\n\nBug: 74247301\nTest: lshal_test\n\nChange-Id: Ifaf230a13637be9c8799291f28f48808b05fff18\n"
    },
    {
      "commit": "3bbaed2b4fe102ce263ee0120a1d30b33323dcf9",
      "tree": "cba4980787535cf9655ce7286a241c4b2c8b443e",
      "parents": [
        "d7c8bda2f90bb77e21b27243aa8f0ef8dfbe25cd"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 27 17:50:23 2018 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 02 13:51:47 2018 -0700"
      },
      "message": "Always pass --dex-location to profman\n\nPass --dex-location when updating profiles and taking snapshots. This\navoids reading the links from /proc/self/fd to infer the locations.\n\nTest: adb shell cmd package snapshot-profile com.android.vending\nBug: 77922323\n\n(cherry picked from commit 59f7ab836f023ae68ce87031e55b5608bbe7df4d)\n\nChange-Id: I3f39d65d7dadd8c236a9ec4a5e0262bfa18b619d\n"
    },
    {
      "commit": "93a0198e5f7a90150549f74fd2080c730f01b138",
      "tree": "dd345552bc6e5df4c28bda0e67f3654a20639e91",
      "parents": [
        "b05c8a4d80108ab348e6999ced5e863525d2fe58",
        "b31760a2b43356e761d10b4c037e7c2ae7512e2e"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Thu Apr 26 18:26:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 26 18:26:31 2018 +0000"
      },
      "message": "Merge \"libhwc2on{1,fb}adapter: move to hardware/interfaces\""
    },
    {
      "commit": "b05c8a4d80108ab348e6999ced5e863525d2fe58",
      "tree": "4db2777568660e36acf9e02328a7b7fc8b5039bc",
      "parents": [
        "d7c8bda2f90bb77e21b27243aa8f0ef8dfbe25cd",
        "b363cf5a760d8cca53d39828f192aa789fafab1c"
      ],
      "author": {
        "name": "Mika Raento",
        "email": "mikie@google.com",
        "time": "Thu Apr 26 17:01:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 26 17:01:32 2018 +0000"
      },
      "message": "Merge \"Systrace support for NNAPI\""
    },
    {
      "commit": "b363cf5a760d8cca53d39828f192aa789fafab1c",
      "tree": "4db2777568660e36acf9e02328a7b7fc8b5039bc",
      "parents": [
        "d7c8bda2f90bb77e21b27243aa8f0ef8dfbe25cd"
      ],
      "author": {
        "name": "Mika Raento",
        "email": "mikie@google.com",
        "time": "Mon Apr 23 22:09:13 2018 +0100"
      },
      "committer": {
        "name": "Mika Raento",
        "email": "mikie@google.com",
        "time": "Thu Apr 26 09:34:27 2018 +0100"
      },
      "message": "Systrace support for NNAPI\n\nBug: 78137932\nTest: mm\nChange-Id: I06c1f91700b055aee5834c142845e7d67265fa28\n"
    },
    {
      "commit": "d7c8bda2f90bb77e21b27243aa8f0ef8dfbe25cd",
      "tree": "3db595ab2929701814f0dafbd7e294511523dacc",
      "parents": [
        "8d36f179eed9864b394107755eacd5425927147a",
        "cb27c341741a81ffc6424c4e812b078afa4ffbc1"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Mon Apr 23 11:04:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 23 11:04:35 2018 +0000"
      },
      "message": "Merge \"Fix tiny typo in LOG_TAG.\""
    },
    {
      "commit": "8d36f179eed9864b394107755eacd5425927147a",
      "tree": "114bc65e9d1b4ecdeab630d6537e4e30a7035828",
      "parents": [
        "4d69f8ace99d76f6edc0beac28a990086e01be9c",
        "fe0a824a8aa85c21a087f0014e77f1ac3c8ae952"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 21 02:14:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 21 02:14:51 2018 +0000"
      },
      "message": "Merge \"Mark some libs as double_loadable\""
    },
    {
      "commit": "4d69f8ace99d76f6edc0beac28a990086e01be9c",
      "tree": "f3d280e03790a11aaeeae2e43ced3b94f1a26123",
      "parents": [
        "dce2457fd95b0652dd93cebdd73ce5ac512b914d",
        "75d53363bd1a3826d9673bc6617cd17b247e0f50"
      ],
      "author": {
        "name": "Tianjie Xu",
        "email": "xunchang@google.com",
        "time": "Fri Apr 20 19:52:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 19:52:45 2018 +0000"
      },
      "message": "Merge \"Collect update_engine logs in dumpstate\""
    },
    {
      "commit": "cb27c341741a81ffc6424c4e812b078afa4ffbc1",
      "tree": "62919027fcd5866eb65af49232959fe69da432c6",
      "parents": [
        "dce2457fd95b0652dd93cebdd73ce5ac512b914d"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Fri Apr 20 17:09:25 2018 +0100"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Fri Apr 20 17:09:25 2018 +0100"
      },
      "message": "Fix tiny typo in LOG_TAG.\n\nTest: Builds.\nChange-Id: Ic49443d769e165f51496a8153e33eb27152e35c5\n"
    },
    {
      "commit": "75d53363bd1a3826d9673bc6617cd17b247e0f50",
      "tree": "b894ea281fc4afb5666f9605a45195b7ebd543f5",
      "parents": [
        "79babbde0aad952ca908d2054060951930382c9a"
      ],
      "author": {
        "name": "Tianjie Xu",
        "email": "xunchang@google.com",
        "time": "Wed Apr 11 16:42:28 2018 -0700"
      },
      "committer": {
        "name": "Tianjie Xu",
        "email": "xunchang@google.com",
        "time": "Wed Apr 18 06:53:16 2018 +0000"
      },
      "message": "Collect update_engine logs in dumpstate\n\nThe update_engine logs before reboot maybe useful to debug the OTA\nfailures.\n\nBug: 78201703\nTest: Capture a bugreport and check the entries.\nChange-Id: I3a7a48e524adf338c4a9f9525c98f9703e220100\n"
    },
    {
      "commit": "fe0a824a8aa85c21a087f0014e77f1ac3c8ae952",
      "tree": "926fc4b12dc4f1d20ef633ad69c7e2c3dafb9a4b",
      "parents": [
        "dce2457fd95b0652dd93cebdd73ce5ac512b914d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 09 12:16:30 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Apr 18 11:46:51 2018 +0900"
      },
      "message": "Mark some libs as double_loadable\n\nFollowing libs are explicitly marked as double_loadable since they are\none of the (indirect) dependencies of LLNDK libraries and at the same\ntime they themselves are marked as VNDK. Such lib can be double loaded\ninside a vendor process.\n\n* libgui and libbinder: due to indirect dependency from libmediandk via\nlibmediaomx. libmediandk is LLNDK)\n\n* libui: due to dependency from libnativewindow, which is LLNDK.\n\nNote: even without this change, the library is already capable of being\ndouble loaded due to the dependency chain towards it. This change is to\nmake it explicit so that double loading of a library is carefully\ntracked and signed-off by the owner of the lib.\n\nBug: 77155589\nTest: m -j\nMerged-In: Id4768162aeb72b71d63d7e4498980f276ef58e6b\nChange-Id: Id4768162aeb72b71d63d7e4498980f276ef58e6b\n(cherry picked from commit a75d3d6d9f2aef4b1855e6a58332859f3531143d)\n"
    },
    {
      "commit": "dce2457fd95b0652dd93cebdd73ce5ac512b914d",
      "tree": "5d8e16c053c0651097467513b18c994c643fc51b",
      "parents": [
        "16207d9a080589367e5283308da8cdf23f969b37",
        "b87a1c7956de5b71193d487f631521b637a14875"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 16 17:30:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 17:30:30 2018 +0000"
      },
      "message": "Merge \"Otadexopt: Attempt to mount product partition\""
    },
    {
      "commit": "b87a1c7956de5b71193d487f631521b637a14875",
      "tree": "2d90fe04922aa0035b0251e02af2b97bfb6843a8",
      "parents": [
        "66fa492acb009bf1e0452928369e310441057d88"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 13 17:42:23 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 13 17:44:56 2018 -0700"
      },
      "message": "Otadexopt: Attempt to mount product partition\n\nAttempt to mount the product partition to give postinstall dexopt\naccess to those APKs.\n\nBug: 78032768\nTest: m\nTest: manual\nChange-Id: Ic74e2580a01d0fba3e217158e0d50ba1270f7806\n"
    },
    {
      "commit": "16207d9a080589367e5283308da8cdf23f969b37",
      "tree": "69a4be9f833426e1a0daa2693e36706c501ed57e",
      "parents": [
        "66fa492acb009bf1e0452928369e310441057d88",
        "a0a2595ccf3ac2d06d058355164e783f5b6aeee5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 14 00:28:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 14 00:28:23 2018 +0000"
      },
      "message": "Merge \"Add missing @addtogroup tags.\""
    },
    {
      "commit": "a0a2595ccf3ac2d06d058355164e783f5b6aeee5",
      "tree": "69a4be9f833426e1a0daa2693e36706c501ed57e",
      "parents": [
        "66fa492acb009bf1e0452928369e310441057d88"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 13 14:43:35 2018 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 13 14:43:35 2018 -0700"
      },
      "message": "Add missing @addtogroup tags.\n\nThese NDK docs weren\u0027t in any groups, so they don\u0027t show up in the\nnew site.\n\nTest: https://irina-dot-devsite.googleplex.com/ndk/reference/group/native-activity\nTest: https://irina-dot-devsite.googleplex.com/ndk/reference/group/networking\nTest: https://irina-dot-devsite.googleplex.com/ndk/reference/group/tracing\nBug: http://b/77236573\nChange-Id: Ic3154f77de1f13fe753b4c03537eab41b0a22848\n"
    },
    {
      "commit": "66fa492acb009bf1e0452928369e310441057d88",
      "tree": "2b478aede15798c40a12f4f01c3d36d1492bd4ea",
      "parents": [
        "df68da1c4b3d3c018ee08de3d5411defd140a431",
        "2633f8165643b625469e44274d64405efdf57b94"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Apr 10 21:04:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 10 21:04:20 2018 +0000"
      },
      "message": "Merge \"Expose filesystem read events in filesystem perms.\""
    },
    {
      "commit": "2633f8165643b625469e44274d64405efdf57b94",
      "tree": "2b478aede15798c40a12f4f01c3d36d1492bd4ea",
      "parents": [
        "df68da1c4b3d3c018ee08de3d5411defd140a431"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Apr 10 16:18:58 2018 +0100"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Apr 10 18:43:40 2018 +0100"
      },
      "message": "Expose filesystem read events in filesystem perms.\n\nWithout this, we only have visibility into writes.\n\nLooking at traces, we realised for many of the files we care about (.dex, .apk)\nmost filesystem events are actually reads.\n\nSee aosp/661781 for matching SELinux change.\n\nBug: 73625480\n\nChange-Id: Ic4dbf4f0505a12de8b1ed133499813b6466c3cbe\n"
    },
    {
      "commit": "df68da1c4b3d3c018ee08de3d5411defd140a431",
      "tree": "22785fae056a9624d0c4aba9bfd8fd9403ba8fa2",
      "parents": [
        "f1b536dbe3f9e79125b97178870b8c9c96bddc48",
        "72e6a137e16c41d82085f2eddaf2beae08d63e3b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 09 19:23:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 09 19:23:23 2018 +0000"
      },
      "message": "Merge \"vulkan: update Vulkan headers to 1.1.72\""
    },
    {
      "commit": "f1b536dbe3f9e79125b97178870b8c9c96bddc48",
      "tree": "b3058a07f05f86be32f5ad847d7d942e45579427",
      "parents": [
        "1d7a80963ef89f653db8fa4f69408dbf0a2c60c9",
        "f0d877ca65f3fefa5c37e2d9c6a09a9991a3e434"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 09 17:04:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 09 17:04:41 2018 +0000"
      },
      "message": "Merge changes from topic \"resampling for multiple pointers\"\n\n* changes:\n  Fix resampling for multiple pointers\n  Fix broken input tests\n"
    },
    {
      "commit": "72e6a137e16c41d82085f2eddaf2beae08d63e3b",
      "tree": "cb91f7e9596fe2075e7422697e939e5e246a925f",
      "parents": [
        "1d7a80963ef89f653db8fa4f69408dbf0a2c60c9"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Apr 06 13:00:44 2018 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Apr 06 16:10:06 2018 -0700"
      },
      "message": "vulkan: update Vulkan headers to 1.1.72\n\nKey changes from 1.1.68:\n* Added VK_EXT_descriptor_indexing\n* Added VK_EXT_vertex_attribute_divisor\n* Added VK_AMD_buffer_marker\n* Added VK_AMD_shader_core_properties\n* Added VK_NV_shader_subgroup_partitioned\n\nTest: run libvulkan and nulldrv codegen; no differences in generated\n      code, as expected\nTest: build system image\nChange-Id: Ic204e40bef6cabb1047e5ac38347424c3955c385\n"
    },
    {
      "commit": "1d7a80963ef89f653db8fa4f69408dbf0a2c60c9",
      "tree": "527c67a1a0709827c5d5d31c613f3f0d1fcfc3df",
      "parents": [
        "cf432043351c52c570fb8151f38df59a3640d514",
        "19cc7541a88e2849e1efb8966e0356d15a965db8"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Apr 06 16:24:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 06 16:24:23 2018 +0000"
      },
      "message": "Merge changes I3fe46024,I5925dbc4,Iefb9f82d,I39643a75,I16f9e5fd, ...\n\n* changes:\n  vulkan: Allow AHB extension to get to the driver\n  libvulkan: correctly expose VK_KHR_shared_presentable_image\n  Enable VK_KHR_swapchain for instances.\n  vkGetDeviceQueue2: add a NULL check\n  stubhal: add EnumeratePhysicalDeviceGroups\n  libvulkan: Add VK_ANDROID_external_memory_android_hardware_buffer\n  vulkan: Declare VK_ANDROID_external_memory_android_hardware_buffer\n  vulkan: update Vulkan headers to 1.1.68\n  Add VK1.1 entries to NDK libvulkan and fix a bug\n  Properly implement stubhal\u0027s vkGetInstanceProcAddr()\n  Vulkan1.1: CreateInstance downgrades apiVersion for 1.0 ICDs\n  Additional changes to Vulkan 1.1 API updates\n  Vulkan api update to 1.1\n"
    },
    {
      "commit": "cf432043351c52c570fb8151f38df59a3640d514",
      "tree": "002a29e637dddd5796db1372fb329d942bed9f8b",
      "parents": [
        "e048f8bc39f13ea1e3b66ad3b9c663c8ae1fc083",
        "0f05253ced920714921270d363d82cdebe797926"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 06 00:31:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 06 00:31:20 2018 +0000"
      },
      "message": "Merge \"Remove an API that doesn\u0027t exist.\""
    },
    {
      "commit": "0f05253ced920714921270d363d82cdebe797926",
      "tree": "002a29e637dddd5796db1372fb329d942bed9f8b",
      "parents": [
        "e048f8bc39f13ea1e3b66ad3b9c663c8ae1fc083"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Apr 05 14:58:18 2018 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Apr 05 14:58:18 2018 -0700"
      },
      "message": "Remove an API that doesn\u0027t exist.\n\nApparently this was removed in Jelly Bean:\nhttps://stackoverflow.com/q/24312632/632035. Keeping the decl in the\nNDK just confuses people: https://stackoverflow.com/q/49646596/632035.\n\nTest: make checkbuild\nBug: None\nChange-Id: Id6cfc5df8418e1c872697ff64f9b86fe135b9dc8\n"
    },
    {
      "commit": "19cc7541a88e2849e1efb8966e0356d15a965db8",
      "tree": "5ced96adf61c68dfdbba155af02477bca81c3602",
      "parents": [
        "c1c9d3c4806b9c798db8e119211e58f9bfd53605"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Mar 29 14:46:45 2018 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:30:53 2018 -0700"
      },
      "message": "vulkan: Allow AHB extension to get to the driver\n\nWe don\u0027t need to do anything special with the AHB extension at the\ndriver layer, but it\u0027s defined as a \"known extension\" so that we can\nexport symbols for it. So it didn\u0027t fall into the generic extension\npath, but we also didn\u0027t add it to the list to pass on to the driver.\nSo drivers were never seeing that the extension was enabled.\n\nRemove switch default cases, so that -Wswitch can catch bugs like this\nin the future.\n\nTest: in-progress MediaVulkanGpuTest (ag/3789901/18)\nBug: 77297007\nChange-Id: I3fe460240cfd1f868b7275abbb0289b806bc7603\n"
    },
    {
      "commit": "c1c9d3c4806b9c798db8e119211e58f9bfd53605",
      "tree": "f672ca2fee6351fa5e9d8343d27bc4f398f276ae",
      "parents": [
        "9f5c65d84b11b73d216b9bac6cf0162734138699"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Tue Mar 13 17:12:11 2018 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:30:23 2018 -0700"
      },
      "message": "libvulkan: correctly expose VK_KHR_shared_presentable_image\n\nThe current libvulkan still make VK_KHR_shared_presentable_image depends\non VK_KHR_get_physical_device_properties2 even with proper VK1.1. This\nchange makes a change in code-generator.tmpl which results in adding\nvkGetPhysicalDeviceProperties2 into the driver table.\n\nTest: dEQP-VK.wsi.android.shared_presentable_image*\nBug: b/74605332\nChange-Id: I5925dbc438decdc841ed4131c4f3df2a9dd1805a\n"
    },
    {
      "commit": "9f5c65d84b11b73d216b9bac6cf0162734138699",
      "tree": "224daa5a3a8ea1d08ba66bb4ea1b94c3060e249e",
      "parents": [
        "5f646a001a42658d47e2736dfdb03c28f6bd4746"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Mar 05 13:34:45 2018 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:29:36 2018 -0700"
      },
      "message": "Enable VK_KHR_swapchain for instances.\n\nThis is a specific instance of a general capability.  Beginning with Vulkan\n1.1, physical-device commands can part of device extensions, and can be called\nbefore the application creates a device.  vkGetInstanceProcAddr only returns\ncommands for enabled extensions, and so we must internally enable device\nextensions inside of the instance.  This commit enables VK_KHR_swapchain so\nthat GIPA will return vkGetPhysicalDevicePresentRectanglesKHR.\n\nBug: b/71744435\nTest: Modified LunarG cube demo that can successfully GIPA the command.\nChange-Id: Iefb9f82d3f21e110d45f7d6aae7c8c9ea3af20b9\n"
    },
    {
      "commit": "5f646a001a42658d47e2736dfdb03c28f6bd4746",
      "tree": "46de432c895023d0a8d1d76e7ef24c63f8a01784",
      "parents": [
        "d3bd842f8bdf97de4b6da68942441495aab9a6f3"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Fri Feb 02 12:49:28 2018 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:26:45 2018 -0700"
      },
      "message": "vkGetDeviceQueue2: add a NULL check\n\nThe current driver::GetDeviceQueue2() will indeed crash if the\ndriver returns a NULL queue, which it is supposed to do if the\npQueueInfo-\u003eflags doesn\u0027t match the flags requested for the queue\nfamily. Thus need to add a NULL check for pQueue here in case.\n\nTest: deqp vulkancts test\nBug: b/72867433\nChange-Id: I306c1a1db52a9986801357eaeb357536ecb0428e\n\nvkGetDeviceQueue2: fix the NULL check\n\nContents of VkQueue* needs to be checked against VK_NULL_HANDLE\n\nTest: dEQP-VK.api.device_init.create_device_queue2*\nBug: b/72867433\nChange-Id: I39643a75497ef4e59823c6bb90760d34b81f5865\n"
    },
    {
      "commit": "d3bd842f8bdf97de4b6da68942441495aab9a6f3",
      "tree": "a54307d493743853182e8d2696564f6163275cbc",
      "parents": [
        "caea41127903f6d45f60a09ffde39c6a1fe38fec"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Thu Feb 01 10:38:48 2018 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:25:53 2018 -0700"
      },
      "message": "stubhal: add EnumeratePhysicalDeviceGroups\n\nSince in VK1.1 loader VkPhysicalDeviceGroupProperties get queried by\ncalling vkEnumeratePhysicalDeviceGroups, the same stub function needs\nto be added in stubhal. e.g. gce_x86_phone-userdebug_fastbuild3c_linux\nis using stubhal.\n\nBug: b/72809176\nTest: VulkanFeaturesTest\nTest: adb shell cmd gpu vkjson\nChange-Id: I16f9e5fd1cb8845edd3f1ef171af7942c671647f\n"
    },
    {
      "commit": "caea41127903f6d45f60a09ffde39c6a1fe38fec",
      "tree": "8a87989717027ad4834ec4dc83cd7b2587075a59",
      "parents": [
        "36215a90540b8fbbe1c3d758c9164416a540a65b"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jan 18 15:40:46 2018 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:25:11 2018 -0700"
      },
      "message": "libvulkan: Add VK_ANDROID_external_memory_android_hardware_buffer\n\nTest: build\nChange-Id: Ice6ec464e91aaf42d56afaf9b11fb514076f64e9\n"
    },
    {
      "commit": "36215a90540b8fbbe1c3d758c9164416a540a65b",
      "tree": "fc8a20c01e79b99226b3573841bdd9455702ea94",
      "parents": [
        "8c954d3e68135e860250c8b87bd1412cb061e714"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jan 18 15:04:37 2018 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:25:01 2018 -0700"
      },
      "message": "vulkan: Declare VK_ANDROID_external_memory_android_hardware_buffer\n\nTest: build\nChange-Id: I02d4790f7a4d5ccb0c6e5b43fab92e89ce8322db\n"
    },
    {
      "commit": "8c954d3e68135e860250c8b87bd1412cb061e714",
      "tree": "5dffaea822096bcbd2c7d965ad8e4ca0c527e88c",
      "parents": [
        "170d370c19201eb02aaeadf6e67bc85aaa6917c9"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Jan 17 22:06:20 2018 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:24:30 2018 -0700"
      },
      "message": "vulkan: update Vulkan headers to 1.1.68\n\nKey changes from 1.1.61:\n* Introduced split headers:\n  * vulkan_core.h provides all declarations that don\u0027t depend on\n    platform-specific headers\n  * vulkan_android.h provides Android-specific declarations\n  * vulkan.h is retained for source compatibility, and includes both\n    of the above; vulkan_android.h is conditional on\n    VK_USE_PLATFORM_ANDROID_KHR\n* Re-defined symbols for extensions that were merged into Vk1.1 as\n  typedefs/aliases for the new core symbols.\n* New extensions:\n  * VK_EXT_conservative_rasterization\n  * VK_EXT_debug_utils\n  * VK_EXT_external_memory_dma_buf\n  * VK_EXT_external_memory_host\n  * VK_EXT_global_priority\n  * VK_EXT_queue_family_foreign\n  * VK_AMD_shader_image_load_store_lod\n  * VK_AMD_shader_info\n\nTest: build\nChange-Id: I84cdb4c24eed27ead99047951f795ccafa0bfc9a\n"
    },
    {
      "commit": "170d370c19201eb02aaeadf6e67bc85aaa6917c9",
      "tree": "6082a284e73193b1d61b726ec3d92394663455e4",
      "parents": [
        "6bed0c5227c4babd6d6f07b6842e1480cfd05078"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Mon Jan 08 17:55:50 2018 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:23:55 2018 -0700"
      },
      "message": "Add VK1.1 entries to NDK libvulkan and fix a bug\n\nvkEnumeratePhysicalDeviceGroups would crash when the driver only\nsupports VK1.0 and doesn\u0027t have vkEnumeratePhysicalDeviceGroups. In that\ncase, we synthesize a trivial device group for each physical device.\n\nBug: b/38269556\nBug: b/71713526\nTest: adb shell cmd gpu vkjson\nChange-Id: I66ae53744a3d37134f23f98c8e33769f185e44dd\n"
    },
    {
      "commit": "6bed0c5227c4babd6d6f07b6842e1480cfd05078",
      "tree": "fd6bc8f78a86c9e1d1afcf446ff987c6bec787a5",
      "parents": [
        "1d990b21fe66c5ff4af3be3d4434807ab1a0efab"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Thu Nov 02 10:13:27 2017 -0600"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:22:32 2018 -0700"
      },
      "message": "Properly implement stubhal\u0027s vkGetInstanceProcAddr()\n\nIt used to always return a crashing-NoOp function for unknown functions.  Now,\nit attempt to follow the spec and return either NULL or a non-crashing-NoOp\nfunction where appropriate.\n\nTest: VulkanFeaturesTest\nBug: 68779289\nChange-Id: I98f9fd2a0a1bef4a985c46dbce93216488da82e7\n(cherry picked from commit 53333057f31bf91765b930b12ec44e9af1bd18f2)\n"
    },
    {
      "commit": "1d990b21fe66c5ff4af3be3d4434807ab1a0efab",
      "tree": "09cac1f1bd53798793df2bdf5fdc97b6b93e833c",
      "parents": [
        "28bd2c3294e94ed3b279ffd11b712b8320a773d5"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Thu Nov 02 10:15:13 2017 -0600"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:22:10 2018 -0700"
      },
      "message": "Vulkan1.1: CreateInstance downgrades apiVersion for 1.0 ICDs\n\nTest: Vulkan CTS 1.1.0\nChange-Id: I73a44799eeb24c949524bcf6efeed8248a59e033\n(cherry picked from commit 7216d79cee3a4b169c910d2cf5a0fa627a80c9a9)\n"
    },
    {
      "commit": "28bd2c3294e94ed3b279ffd11b712b8320a773d5",
      "tree": "b79bffcc6908e91e99304de579671e5319754f95",
      "parents": [
        "09f7bf931058caf63ec5f36d74139079c7e82bad"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Fri Oct 13 09:21:12 2017 -0600"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:20:42 2018 -0700"
      },
      "message": "Additional changes to Vulkan 1.1 API updates\n\nThis commit includes the following:\n\n- Make new/Vulkan 1.1 core commands be optional in codegen.  Before this\n  change, the loader crashed when starting with a 1.0 app, and using a 1.0 ICD.\n  That\u0027s because the loader couldn\u0027t find \"required\" 1.1 entrypoints.  This\n  change makes those entrypoints \"optional\" with a new annotation in the api\n  file.\n\n- Changes from internal reviews, including a fix for the algorithm of\n  EnumeratePhysicalDeviceGroups.\n\nTest: Run with a 1.0 app with a 1.0 driver and make sure the loader works\nChange-Id: I55914b680a1601cb9f3f2cc0257091a0a34ae7f2\n"
    },
    {
      "commit": "09f7bf931058caf63ec5f36d74139079c7e82bad",
      "tree": "63618f3fa5a54cd371a9c5bf2733d8685def7e5e",
      "parents": [
        "e048f8bc39f13ea1e3b66ad3b9c663c8ae1fc083"
      ],
      "author": {
        "name": "Daniel Koch",
        "email": "dkoch@nvidia.com",
        "time": "Thu Oct 05 00:26:58 2017 -0400"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Apr 04 22:10:24 2018 -0700"
      },
      "message": "Vulkan api update to 1.1\n\nImport Vulkan 1.1 header from\nkhronos master@5b2d66c0e6906388385ed7adfd015d80ec0d846a\nwith the following modifications:\n- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES 10006300 -\u003e 1000063000\n- remove VK_KHR_get_display_properties2 (which is not ratified)\n- device_group interactions from KHR_surface to KHR_swapchain (per MR 2409)\n\nSummary of changes since 1.0.61:\n* VK_KHR_surface -\u003e v26 (subsumed interactions with VK_KHR_device_group)\n* VK_KHR_swapchain -\u003e v69 (subsumed interactions with VK_KHR_device_group)\n* VK_EXT_debug_report -\u003e v9 (no api changes)\n* VK_KHX_multiview -\u003e VK_KHR_multiview\n* VK_KHX_device_group -\u003e VK_KHR_device_group\n* VK_KHX_device_group_creation -\u003e VK_KHR_device_group_creation\n* VK_KHR_push_descriptor -\u003e v2\n* Added VK_KHR_maintenance3\n* Added 1.1 core enums, structs, and functions (kept KHR suffixed ones too)\n\nImplemented the following in libvulkan:\n* EnumerateInstanceVersion\n* GetDeviceGroupPresentCapabilitiesKHR (minimal support for 1 device)\n* GetDeviceGroupSurfacePresentModesKHR (minimal support for local present modes only)\n* GetPhysicalDevicePresentRectanglesKHR (assumes whole window)\n* AcquireNextImage2KHR (minimal thunk to AcquireNextImageKHR)\n* GetDeviceQueue2\n* added support for VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR\n* support for 1.1 core device_groups functionality (no VK_KHR_device_group_creation)\n  - EnumeratePhysicalDeviceGroups\n* added trampolines for 1.1 core entry points\n* disabled apiVersion \u003e\u003d 1.1 check\n\nImplemented in nulldrv (but largely untested beyond build/link)\n* EnumerateInstanceVersion\n* enough empty thunks for VK 1.1 core functions that it links\n\nTest: Build Android\nChange-Id: I247cd670543867bdf80877156d941cf3bfcf6303\n"
    },
    {
      "commit": "e048f8bc39f13ea1e3b66ad3b9c663c8ae1fc083",
      "tree": "db8940e286a7de4c410259f8b8daeb52f3cee53a",
      "parents": [
        "469e9925b4dc8abf7811b7d3390216803c6f123f",
        "2d5a1bc0994425e31271fa3dd20975702d4c3afc"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 04 02:14:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 04 02:14:51 2018 +0000"
      },
      "message": "Merge changes from topic \"app-image-flag\"\n\n* changes:\n  Pass in new flag DEXOPT_GENERATE_APP_IMAGE to test cases\n  Add flag for controling app image generation\n"
    },
    {
      "commit": "2d5a1bc0994425e31271fa3dd20975702d4c3afc",
      "tree": "db8940e286a7de4c410259f8b8daeb52f3cee53a",
      "parents": [
        "1dc3dfaf8dbb5160062aaa1b0129ef9fe628a70d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 03 14:55:43 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 03 15:39:07 2018 -0700"
      },
      "message": "Pass in new flag DEXOPT_GENERATE_APP_IMAGE to test cases\n\nTest cases that expect an app image pass this flag down.\n\nBug: 72696798\nTest: adb shell /data/nativetest64/installd_dexopt_test/installd_dexopt_test\n\n(cherry picked from commit 4f1ad408b8b830e2b8dc852f65031e504b036a36)\n\nMerged-In: I2845488bf3c3012d67120503219400cfcf7da716\nChange-Id: I6fe947c7b6a5b47b06b484edc8ea69a366496931\n"
    },
    {
      "commit": "1dc3dfaf8dbb5160062aaa1b0129ef9fe628a70d",
      "tree": "5af4519a0bfa1cbf414614608ab065a37dd2b921",
      "parents": [
        "469e9925b4dc8abf7811b7d3390216803c6f123f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 12 17:55:06 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 03 15:38:43 2018 -0700"
      },
      "message": "Add flag for controling app image generation\n\nSo that package manager service can control this.\n\nBug: 72696798\nTest: manual\n\n(cherry picked from commit ad45a1b89bc3b6ec84ac32c4200be3d3c1d056fa)\n\nMerged-In: I15fa74aff24ef14d22541117408840f80b7d300f\nChange-Id: If8886187a67f392dd83061b9f44fae8d3bac22be\n"
    },
    {
      "commit": "469e9925b4dc8abf7811b7d3390216803c6f123f",
      "tree": "7e4c6dfe7a3fb1209cc07161d9e2f61db37c108b",
      "parents": [
        "79babbde0aad952ca908d2054060951930382c9a",
        "1338ccced33a09e8eab2d479173394d8a5cf70e6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 03 01:26:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 03 01:26:26 2018 +0000"
      },
      "message": "Merge \"lshal: strip ending \\0 from cmdline\""
    },
    {
      "commit": "1338ccced33a09e8eab2d479173394d8a5cf70e6",
      "tree": "7e4c6dfe7a3fb1209cc07161d9e2f61db37c108b",
      "parents": [
        "79babbde0aad952ca908d2054060951930382c9a"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Apr 02 16:11:09 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Apr 02 16:15:37 2018 -0700"
      },
      "message": "lshal: strip ending \\0 from cmdline\n\n/proc/{pid}/cmdline contains trailing null characters,\nand `lshal -m` prints them. These trailing null characters\nare visible when the output is redirected to an output file\nor to `less`. It also make the output less \"greppable\" because\ngrep thinks the output is in binary format.\n\nTest: adb shell lshal -m | less\nTest: adb shell lshal -m | grep system_server\nChange-Id: I622cba887604e5f578daa7cedddd9cdfeb304069\n"
    },
    {
      "commit": "b31760a2b43356e761d10b4c037e7c2ae7512e2e",
      "tree": "f0cfc2de53e39f716bf548e4b9558837611121cb",
      "parents": [
        "79babbde0aad952ca908d2054060951930382c9a"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Wed Dec 27 13:45:10 2017 -0800"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Fri Mar 30 11:05:00 2018 -0700"
      },
      "message": "libhwc2on{1,fb}adapter: move to hardware/interfaces\n\nTest: builds\nChange-Id: I0008621f7c819744eae62db8ae51e3719ba84894\nMerged-In: I0008621f7c819744eae62db8ae51e3719ba84894\n"
    },
    {
      "commit": "79babbde0aad952ca908d2054060951930382c9a",
      "tree": "cbb050b71aa5c12163b6132771171512408c34b7",
      "parents": [
        "fdc2d230541726a6287be94f89875219a03ffd2d",
        "557343b00c94722edefa1f77e4c20c227390e78a"
      ],
      "author": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Thu Mar 29 20:11:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 29 20:11:44 2018 +0000"
      },
      "message": "Merge \"Migrate filesystem ftrace events from userdebug.\""
    },
    {
      "commit": "fdc2d230541726a6287be94f89875219a03ffd2d",
      "tree": "4a7635cbdee137621a6d82319863be5cc63080d9",
      "parents": [
        "79474267d3d4c81e3d58e800056b3cf3ea60a5b2",
        "a5d41e659acc691c6352d1c739e4f5c4ff2be3a7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 28 23:50:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 28 23:50:37 2018 +0000"
      },
      "message": "Merge \"Remove ATRACE_TAG_APP from atrace\u0027s control\""
    },
    {
      "commit": "79474267d3d4c81e3d58e800056b3cf3ea60a5b2",
      "tree": "184bb3aa83266f2cd6963dff4310a967413e979f",
      "parents": [
        "2e8ae4313b1fc2d8a39945ae671c2948181ad69b",
        "d9fe038636ede926df4a4e46529683ccfaace610"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 28 21:25:09 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 28 21:25:09 2018 +0000"
      },
      "message": "Merge \"Remove non-tombstoned ANR path.\""
    },
    {
      "commit": "d9fe038636ede926df4a4e46529683ccfaace610",
      "tree": "184bb3aa83266f2cd6963dff4310a967413e979f",
      "parents": [
        "2e8ae4313b1fc2d8a39945ae671c2948181ad69b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 23 11:04:25 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 28 17:55:16 2018 +0000"
      },
      "message": "Remove non-tombstoned ANR path.\n\nBug: http://b/73140330\nTest: `adb bugreport` includes /data/anr/anr_* files\nChange-Id: I3bd7fd932fd24cb798ef1819845d2812e5c577f1\nMerged-In: I3bd7fd932fd24cb798ef1819845d2812e5c577f1\n"
    },
    {
      "commit": "557343b00c94722edefa1f77e4c20c227390e78a",
      "tree": "b6e287afad4e4160777762f628de2757e6f63b16",
      "parents": [
        "2e8ae4313b1fc2d8a39945ae671c2948181ad69b"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Wed Mar 28 11:54:16 2018 +0100"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Wed Mar 28 14:05:35 2018 +0100"
      },
      "message": "Migrate filesystem ftrace events from userdebug.\n\nThis is to complement the change in http://aosp/631805, which changes\ntheir SELinux policy from debugfs_tracing_debug to debugfs_tracing.\n\nBug: 74584014\nChange-Id: I99a6177bfb38dd888037016a5f49250959d6c141\n"
    },
    {
      "commit": "2e8ae4313b1fc2d8a39945ae671c2948181ad69b",
      "tree": "bbe5071430c0222fd4c8e0e60fd5837b069c2a56",
      "parents": [
        "ca83d359441116d1566b15e40384a2f9b2dc6455",
        "42f2ab4111a26cac413f2e39f89488365c43caf3"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Mon Mar 26 19:00:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 26 19:00:57 2018 +0000"
      },
      "message": "Merge \"atrace: support new AIDL trace tag.\""
    },
    {
      "commit": "42f2ab4111a26cac413f2e39f89488365c43caf3",
      "tree": "bbe5071430c0222fd4c8e0e60fd5837b069c2a56",
      "parents": [
        "ca83d359441116d1566b15e40384a2f9b2dc6455"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Mar 09 09:27:32 2018 +0100"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Mon Mar 26 09:59:47 2018 +0200"
      },
      "message": "atrace: support new AIDL trace tag.\n\nSo we can request AIDL traces.\n\nBug: 74416314\nTest: inspect atrace output\nChange-Id: Ifd5366080923fcb285849767672e9ef475e3de5d\nMerged-In: Ifd5366080923fcb285849767672e9ef475e3de5d\n"
    },
    {
      "commit": "a5d41e659acc691c6352d1c739e4f5c4ff2be3a7",
      "tree": "3ff79d260d8d6c8966f1f5674a8aefda1e6546e4",
      "parents": [
        "9380e0821ac57ae10a4d52d4f05c18940e99bf14"
      ],
      "author": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Fri Mar 23 15:49:28 2018 -0700"
      },
      "committer": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Fri Mar 23 15:49:28 2018 -0700"
      },
      "message": "Remove ATRACE_TAG_APP from atrace\u0027s control\n\nWe control app tracing via the -a option, which system properties that\nearly app startup code inspects. This startup code ATRACE_TAG_APP\ninternally depending on the value of the properties derived from the\n-a space, so letting users control the global value of ATRACE_TAG_APP\nfrom atrace provides a false sense of control.\n\nThis CL removes the ability to set the global tag, directing user\nattention to the -a option instead.\n\nTest: code inspection\nChange-Id: If981ba302db27da1c9f1942cf54d400bd4672b73\n"
    },
    {
      "commit": "ca83d359441116d1566b15e40384a2f9b2dc6455",
      "tree": "18da0b1a5095b90a16914e6e1f3eb7aa3e8bc1d0",
      "parents": [
        "9380e0821ac57ae10a4d52d4f05c18940e99bf14",
        "3cd623f56b9e475723eaf7008bfa0e5385a3459a"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Mar 23 22:14:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 23 22:14:18 2018 +0000"
      },
      "message": "Merge \"lshal: uses instances API for --init-vintf\""
    },
    {
      "commit": "3cd623f56b9e475723eaf7008bfa0e5385a3459a",
      "tree": "18da0b1a5095b90a16914e6e1f3eb7aa3e8bc1d0",
      "parents": [
        "9380e0821ac57ae10a4d52d4f05c18940e99bf14"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Mar 22 13:23:33 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Mar 22 13:41:52 2018 -0700"
      },
      "message": "lshal: uses instances API for --init-vintf\n\nUse the legacy \u003cinterface\u003e\u003cinstance\u003e API.\nTest: lshal_test\nTest: lshal --init-vintf\nBug: 73738616\n\nChange-Id: I7b3b01e45735bcf35f78e429da211e68c9654901\n"
    },
    {
      "commit": "9380e0821ac57ae10a4d52d4f05c18940e99bf14",
      "tree": "f9e64e7e58ad9f88b2ed46f6b5dc4ca97b64f693",
      "parents": [
        "1405a886d4269c579d9b91d848498db3ac20706a",
        "8a6aea256cba8216dc951b1bdb1636af5fc15bb0"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Mar 19 03:00:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 19 03:00:16 2018 +0000"
      },
      "message": "Merge \"Add llndk_library for libvulkan\""
    },
    {
      "commit": "1405a886d4269c579d9b91d848498db3ac20706a",
      "tree": "79fbc2654e4d28d2793345bba2031980d7146925",
      "parents": [
        "29867fd46cb1d00a18082f3d67fb2f17db7841ff",
        "ec616bc96e742d9f526d5594d077f8bff0ded835"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Mar 17 16:28:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 17 16:28:33 2018 +0000"
      },
      "message": "Merge \"Always prefer poll over select.\""
    },
    {
      "commit": "ec616bc96e742d9f526d5594d077f8bff0ded835",
      "tree": "79fbc2654e4d28d2793345bba2031980d7146925",
      "parents": [
        "29867fd46cb1d00a18082f3d67fb2f17db7841ff"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 15:07:20 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 15:27:53 2018 -0700"
      },
      "message": "Always prefer poll over select.\n\nEven with the fd leak fixed, we were still calling this code with fds\ngreater than 1024. From a tombstone from a dumpstate crash:\n\nopen files:\n    fd 0: /dev/pts/0\n...\n    fd 18: /dev/stune/rt/tasks\n    fd 1806: /data/anr/anr_2018-03-15-15-39-43-990\n    fd 1807: /data/anr/anr_2018-03-15-15-39-43-991\n    fd 1808: /data/anr/anr_2018-03-15-15-39-43-992\n    fd 1809: /data/anr/anr_2018-03-15-15-39-43-993\n    fd 1810: /data/anr/anr_2018-03-15-15-39-43-994\n    fd 1811: /data/anr/anr_2018-03-15-15-39-43-995\n    fd 1812: /data/anr/anr_2018-03-15-15-39-43-996\n    fd 1813: /data/anr/anr_2018-03-15-15-39-43-997\n    fd 1814: /data/anr/anr_2018-03-15-15-39-43-998\n    fd 1815: /data/anr/anr_2018-03-15-15-39-43-999\n\nBug: http://b/73140330\nTest: filled /data/anr/ with 2000 fake anrs, ran `dumpstate`\nChange-Id: Ifa249050139e3683064a620f05d3f5ca645a739f\n"
    },
    {
      "commit": "29867fd46cb1d00a18082f3d67fb2f17db7841ff",
      "tree": "8960d6dd775606192380e3e301ffb828ff0dc3f5",
      "parents": [
        "402085b98c82dae9c223b6b23e05ea24bcd5d054",
        "91c2ae50d57149366d5ab8ee9c763b4c4c6c9e0b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 16 19:50:58 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 16 19:50:58 2018 +0000"
      },
      "message": "Merge changes I5fe69642,Ia54ea81f,I6c80f38d\n\n* changes:\n  Clean up DumpData-related functions\n  Make DropRootUser more container-friendly\n  Avoid crashing when a directory does not exist\n"
    },
    {
      "commit": "91c2ae50d57149366d5ab8ee9c763b4c4c6c9e0b",
      "tree": "8960d6dd775606192380e3e301ffb828ff0dc3f5",
      "parents": [
        "d7feeaa4630a6fa4e905b922b5a2a4b53e80dd90"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Wed Mar 14 15:12:46 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 19:50:07 2018 +0000"
      },
      "message": "Clean up DumpData-related functions\n\nThis change cleans a few DumpData-related functions:\n\n* Makes GetDumpFds return the std::vector\u003cDumpData\u003e by value instead of\n  by pointer.\n* Makes Dumpstate own the list of open tombstone and ANR files.\n* Removes two more globals.\n* Prevents a potential FD leak.\n\nBug: None\nTest: `adb bugreport` succeeded\nChange-Id: I5fe6964266c8c1393da274cb54000521e6ab8a17\n"
    },
    {
      "commit": "d7feeaa4630a6fa4e905b922b5a2a4b53e80dd90",
      "tree": "79a4ca2379db1cd894cfeaecc90ef30c7720be50",
      "parents": [
        "be2d7dd4f038497e55384b9df4a1152b34cd95bc"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Wed Mar 14 12:47:25 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 19:49:52 2018 +0000"
      },
      "message": "Make DropRootUser more container-friendly\n\nWhen Android is running as a container, it might not have CAP_SYSLOG\n(since all the checks in the kernel are performed against the init\nnamespace). This change makes DropRootUser not raise CAP_SYSLOG if it\nwasn\u0027t present to begin with.\n\n(cherrypick of 05d74917546ee1bfb8d45e6b79c6c433874d6e77)\n\nBug: 74568776\nTest: DropRootUser no longer returns false when run in a container\nChange-Id: Ia54ea81f51cc602c6304a81f50a55b2ccde7df36\nMerged-In: Ia54ea81f51cc602c6304a81f50a55b2ccde7df36\n"
    },
    {
      "commit": "be2d7dd4f038497e55384b9df4a1152b34cd95bc",
      "tree": "7bfb214f956adfd2672507f10c5f11018d5127b3",
      "parents": [
        "402085b98c82dae9c223b6b23e05ea24bcd5d054"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Wed Mar 14 12:15:56 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 19:49:13 2018 +0000"
      },
      "message": "Avoid crashing when a directory does not exist\n\nThis change adds a null-check for the DIR* object to avoid a crash when\nthe directory cannot be opened for any reason.\n\n(cherrypick of d05127172ce1f113230b1774119b6d54475dc158)\n\nBug: 74568776\nTest: calling dumpstate early in the boot sequence no longer crashes\nChange-Id: I6c80f38dcf7890e607ce73e25a8ec0e16ba92586\nMerged-In: I6c80f38dcf7890e607ce73e25a8ec0e16ba92586\n"
    },
    {
      "commit": "8a6aea256cba8216dc951b1bdb1636af5fc15bb0",
      "tree": "35a74db4eca12f9934f247d47ab5e87c28810828",
      "parents": [
        "402085b98c82dae9c223b6b23e05ea24bcd5d054"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Mar 16 17:52:26 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Mar 16 17:52:26 2018 +0800"
      },
      "message": "Add llndk_library for libvulkan\n\nThis commit adds a llndk_library module definition for libvulkan so\nthat vendor modules can depend on libvulkan (like libGLESv2).\n\nBug: 72426809\nTest: lunch aosp_walleye-userdebug \u0026\u0026 make -j8\nChange-Id: I78d756fc6915fed06ba4c8998ef67f44c668f1c1\n"
    },
    {
      "commit": "402085b98c82dae9c223b6b23e05ea24bcd5d054",
      "tree": "571e9c9e0913fd41af241190efdaf8845f0a61d6",
      "parents": [
        "58c78ab23c7ddd2de0029c35ee3575818521c3fb",
        "11845789eec5f9286b6df0e9eff408b03b4dc919"
      ],
      "author": {
        "name": "Hector Dearman",
        "email": "hjd@google.com",
        "time": "Thu Mar 15 10:04:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 15 10:04:18 2018 +0000"
      },
      "message": "Merge \"Atrace: Add commandline flags to enable/disable userland tracing\""
    },
    {
      "commit": "58c78ab23c7ddd2de0029c35ee3575818521c3fb",
      "tree": "3d0eaf61bac51329e02086be5fc24aa38271acbd",
      "parents": [
        "3646dfebf64e3a8435131a8318398df0e708105c",
        "e105b79f0aa0f0de032506ed5652d4263c1bd6ef"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 15 09:17:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 15 09:17:43 2018 +0000"
      },
      "message": "Merge changes I9ad9b542,I2a4f4bb0\n\n* changes:\n  Fix link-type warning on GLPerf\n  Fix link-type warning on GLDual\n"
    },
    {
      "commit": "3646dfebf64e3a8435131a8318398df0e708105c",
      "tree": "45abfa0cbba0f71f4bdb0b75003363615755e851",
      "parents": [
        "605fea122c2c68733ce91fd8b2f1e796915903b6",
        "8b24923b0cd628ef497ab55c69eaab2ba96f78a9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 15 09:11:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 15 09:11:16 2018 +0000"
      },
      "message": "Merge changes I76cb1ea5,Ia7e02c34\n\n* changes:\n  Fix link-type warning on GL2JNI\n  Fix link-type warning on GLJNI\n"
    },
    {
      "commit": "e105b79f0aa0f0de032506ed5652d4263c1bd6ef",
      "tree": "3d0eaf61bac51329e02086be5fc24aa38271acbd",
      "parents": [
        "9d00c48e702c6d4d79f3cd02be05b20962e8a8a1"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Thu Mar 08 16:20:08 2018 +0900"
      },
      "committer": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Thu Mar 15 16:37:02 2018 +0900"
      },
      "message": "Fix link-type warning on GLPerf\n\nAn sdk app GLPerf uses a native:platform library libglperf, which\ncauses a link-type warning. Actually libutils is the only platform\nlibrary used by libglperf, and the warning can be eliminated by\nrewriting code not to use libutils and setting LOCAL_SDK_VERSION.\n\nBug: 73907534\nTest: mma -j does not show any link-type warnings\nMerged-In: I9ad9b542288e6dd914f14ec45d8d35c6985da89f\nChange-Id: I9ad9b542288e6dd914f14ec45d8d35c6985da89f\n"
    },
    {
      "commit": "9d00c48e702c6d4d79f3cd02be05b20962e8a8a1",
      "tree": "cc7b51c25e9cbe401c22756c96f9dbde852596e7",
      "parents": [
        "8b24923b0cd628ef497ab55c69eaab2ba96f78a9"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Thu Mar 08 17:54:45 2018 +0900"
      },
      "committer": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Thu Mar 15 16:33:26 2018 +0900"
      },
      "message": "Fix link-type warning on GLDual\n\nAn sdk app GLDual uses a native:platform library libgldualjni, which\ncauses a link-type warning. Actually libutils is the only platform\nlibrary used by libgldualjni, and the warning can be eliminated by\nrewriting code not to use libutils and setting LOCAL_SDK_VERSION.\n\nBug: 73907534\nTest: mma -j does not show any link-type warnings\nMerged-In: I2a4f4bb0ac8002cb7ab5c60f8ba74728eca92f22\nChange-Id: I2a4f4bb0ac8002cb7ab5c60f8ba74728eca92f22\n"
    },
    {
      "commit": "8b24923b0cd628ef497ab55c69eaab2ba96f78a9",
      "tree": "45abfa0cbba0f71f4bdb0b75003363615755e851",
      "parents": [
        "f2d0c6ea438c70afff8582bd8140b5460e910d01"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Thu Mar 08 17:35:07 2018 +0900"
      },
      "committer": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Thu Mar 15 16:33:03 2018 +0900"
      },
      "message": "Fix link-type warning on GL2JNI\n\nAn sdk app GL2JNI uses a native:platform library libgl2jni, which causes\na link-type warning. Actually libutils is the only platform library used\nby libgl2jni, and the warning can be eliminated by rewriting code not to\nuse libutils and setting LOCAL_SDK_VERSION.\n\nBug: 73907534\nTest: mma -j does not show any link-type warnings\nMerged-In: I76cb1ea579a7cf091852cd3f7ceadb781d33ea4a\nChange-Id: I76cb1ea579a7cf091852cd3f7ceadb781d33ea4a\n"
    },
    {
      "commit": "f2d0c6ea438c70afff8582bd8140b5460e910d01",
      "tree": "c702c817c0bd62bc6f1230dd8b129689939f39a3",
      "parents": [
        "605fea122c2c68733ce91fd8b2f1e796915903b6"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Thu Mar 08 17:27:57 2018 +0900"
      },
      "committer": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Thu Mar 15 16:32:42 2018 +0900"
      },
      "message": "Fix link-type warning on GLJNI\n\nAn sdk app GLJNI uses a native:platform library libgljni, which causes a\nlink-type warning. Actually libutils is the only platform library used\nby libgljni, and the warning can be eliminated by rewriting code not to\nuse libutils and setting LOCAL_SDK_VERSION.\n\nBug: 73907534\nTest: mma -j does not show any link-type warnings\nMerged-In: Ia7e02c343f4b18c70be15f6b1c9462ee4bdca733\nChange-Id: Ia7e02c343f4b18c70be15f6b1c9462ee4bdca733\n"
    },
    {
      "commit": "605fea122c2c68733ce91fd8b2f1e796915903b6",
      "tree": "0398ca0709be740750f8de684e9b7019393119ea",
      "parents": [
        "5e22392cca5c3762a502d8c2d4c281912ef223c8",
        "3d2c1e19971d6fd3ae77437836309716f3703869"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 15 00:58:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 15 00:58:33 2018 +0000"
      },
      "message": "Merge \"lshal: mention subclasses for third section\""
    },
    {
      "commit": "3d2c1e19971d6fd3ae77437836309716f3703869",
      "tree": "059a4043c9a7a81fcc331b285c99f02d76bc97f5",
      "parents": [
        "a4d8dae190521f970eaef5f32436fa8c3d0799ca"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Mar 14 10:41:13 2018 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Mar 14 20:19:47 2018 +0000"
      },
      "message": "lshal: mention subclasses for third section\n\nThird section of lshal shows installed passthrough\nservices. I\u0027ve updated the comment to show that\nthese aren\u0027t necessarily the actual classes available\nat runtime. This is based on an offline issue raised\nby a vendor that thought the current text was confusing.\n\nThe actual check that the correct passthrough services\nare served is done by vts_treble_vintf_test.\n\nBug: 74407622\nTest: lshal\nChange-Id: Ie314c7a4bd9abe9d52ca36cad1bf8da80493b3eb\nMerged-In: Ie314c7a4bd9abe9d52ca36cad1bf8da80493b3eb\n"
    },
    {
      "commit": "f0d877ca65f3fefa5c37e2d9c6a09a9991a3e434",
      "tree": "363a826fa80b9628e7f3da28a4742b6f2142b335",
      "parents": [
        "d65d1f72eac74a63d3e4a98416928729c27b5ec6"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Nov 06 21:16:47 2017 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Mar 14 12:53:47 2018 -0700"
      },
      "message": "Fix resampling for multiple pointers\n\nIf more than one pointer is present and identical coordinates are\nencountered for any pointer, the lastResample value will not be\ninvalidated (by clearing its bits). As a result, the same lastResample\nvalue will be used to subsequently rewriteMessage any time in the\nfuture. This can cause significant jumps in the pointer coordinates, and\nis a bug. To further clarify, this bug has only to do with resampling\nand nothing to do with both pointers having the same X or Y value.\n\nThis CL makes this logic to be per-pointer. As soon as non-identical\nvalue is encountered and the timing conditions are such that the\nresampled value is not needed to be used, the lastResample bit for that\npointer will be cleared, meaning that the value in lastResample for this\npointer is stale. This value will no longer be used anywhere.\n\nWhen performing resampling, allow the process to happen on a per-pointer\nbasis. If one of the pointers has encountered events with identical\ncoordinates, then use the previously resampled value (do not resample\nagain), if that value is still valid (see above). Otherwise, the normal\nresampling path will be taken. On the other pointers that do not have\nidentical coordinates, go through the normal path as well.\n\nBug: 68840121\nTest: recorded a repro event with inputstudio and replayed it while\nobserving the screen. Saw that the coordinates jump before the fix,\nand do not jump with the fix.\n\nChange-Id: If43c323759de8f0184b76221d1ae599a75349ce9\nMerged-In: If43c323759de8f0184b76221d1ae599a75349ce9\n"
    },
    {
      "commit": "d65d1f72eac74a63d3e4a98416928729c27b5ec6",
      "tree": "ea67913f72cf1aec106376052e0ce94334dc0b52",
      "parents": [
        "405a40c500de313510d4bb4eedb76a6ce8748176"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Nov 01 16:32:14 2017 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Mar 14 12:52:30 2018 -0700"
      },
      "message": "Fix broken input tests\n\nInputPublisherAndConsumer_test currently segfaults due to\nnull pointer dereference. This is because 0 is passed instead\nof a valid pointer to an allocated int32_t. Also, enforce strict\ncompiler warnings, include signed comparisons.\n\nBug: 62033391\nTest: m -j libinput_tests_InputEvent_test\nlibinput_tests_InputChannel_test\nlibinput_tests_InputPublisherAndConsumer_test\nlibinput_tests_InputTransport_test libinput_tests_VelocityTracker_test\n\u0026\u0026 adb push out/target/product/taimen/data/nativetest/libinput_tests/\n/data/nativetest/\nthen run the above tests individually, for example\n/data/nativetest/libinput_tests # ./InputPublisherAndConsumer_test\nand others in a similar manner\n\nChange-Id: Ia030cdbfa22d2bf7bdf6274a337b059ca3f9a6c3\nMerged-In: Ia030cdbfa22d2bf7bdf6274a337b059ca3f9a6c3\n"
    },
    {
      "commit": "5e22392cca5c3762a502d8c2d4c281912ef223c8",
      "tree": "cd32919314616c78dd358fd3a13ac994c73c570b",
      "parents": [
        "405a40c500de313510d4bb4eedb76a6ce8748176",
        "a63a16b7a3dc9b47d25f6ed798332d4faa4c81ae"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Mar 14 17:38:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 14 17:38:12 2018 +0000"
      },
      "message": "Merge \"Use ManifestHal constructor.\""
    },
    {
      "commit": "11845789eec5f9286b6df0e9eff408b03b4dc919",
      "tree": "1aad334754f0967116f5cbcc5aa19670a2d0f9c4",
      "parents": [
        "405a40c500de313510d4bb4eedb76a6ce8748176"
      ],
      "author": {
        "name": "Hector Dearman",
        "email": "hjd@google.com",
        "time": "Thu Mar 08 14:35:44 2018 +0000"
      },
      "committer": {
        "name": "Hector Dearman",
        "email": "hjd@google.com",
        "time": "Wed Mar 14 12:47:27 2018 +0000"
      },
      "message": "Atrace: Add commandline flags to enable/disable userland tracing\n\nAdds a commandline flag to Atrace for Perfetto: --only_userspace.\n\nWhen --only_userspace is passed atrace does everything atrace\nwould normally do to set up/tear down tracing (set various system\nproperties, poke services etc) but doesn\u0027t modify any ftrace\nsettings, doesn\u0027t clear read or otherwise touch the ftrace buffer,\nand doesn\u0027t start or stop tracing.\n\nPerfetto allows recording and collection of ftrace kernel events\n(as systrace/atrace does for local devices). We currently integrate\nwith atrace to collect non-kernel events using the async_start and\nasync_stop command line arguments. These cause atrace to poke\nbinder/hal services and apps then Perfetto scrapes the print ftrace\nevents from the kernel ring buffer.\n\nThere are two downsides:\n1. Atrace attempts drain the ftrace buffer after Perfetto has already\n   done so.\n2. Any time Atrace starts/stops it modifies the global ftrace settings and\n   clears the ring buffer.\n\nThe second is especially unfortunate as otherwise Perfetto supports\nmultiplexing multiple simultaneous traces.\n\nThis flag would make it much easier to integrate atrace and Perfetto.\n\nTo test:\n\nFirst enable ftrace:\n$ adb shell \u0027echo 2048 \u003e /d/tracing/buffer_size_kb\u0027\n$ adb shell \u0027echo \u003e /d/tracing/trace\u0027\n$ adb shell \u0027echo 1 \u003e /d/tracing/tracing_on\u0027\n\nNext turn on the input category.\n$ adb shell atrace --async_start --only_userspace input\nTouch the screen a bunch.\n$ adb shell cat /d/tracing/trace\nNow you should see many events.\n\nNext turn off the input category.\n$ adb shell atrace --async_stop --only_userspace\nClear tracing.\n$ adb shell \u0027echo \u003e /d/tracing/trace\u0027\nTouch the screen a bunch.\n$ adb shell cat /d/tracing/trace\nYou should see no events.\n\nFtrace settings should not have been touched:\n$ adb shell cat /d/tracing/tracing_on\nShould be 1 still.\n$ adb shell cat /d/tracing/buffer_size_kb\nShould be 2048 still.\n\nBug: 73625407\nTest: see above.\nChange-Id: Ia43ab689c4f93280315eb984581187c1582c2b07\n"
    },
    {
      "commit": "a63a16b7a3dc9b47d25f6ed798332d4faa4c81ae",
      "tree": "48d78d00cf34517896d493d3cffa86e2c088c3ca",
      "parents": [
        "a11d432df3a3f0485f900568d6e7cb177de18c87"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Mar 13 14:03:03 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Mar 13 16:25:32 2018 -0700"
      },
      "message": "Use ManifestHal constructor.\n\nManifestHal has private fields and cannot use\naggregate constructor.\nTest: builds\nBug: 73556059\n\nChange-Id: Ia2fa0a7011794f61c28b5553e132baf4fcb37cdc\n"
    },
    {
      "commit": "405a40c500de313510d4bb4eedb76a6ce8748176",
      "tree": "ebc8fd3e9fcccf44322f8ded432238e7d84f6f4b",
      "parents": [
        "048cb83ae668a372033e5c49cee784aa16ac107c",
        "4a1861e80ec60b4d9f7e02eae26a53b78736805a"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Mar 12 21:26:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 12 21:26:03 2018 +0000"
      },
      "message": "Merge \"Remove obsolete brillo property\""
    },
    {
      "commit": "048cb83ae668a372033e5c49cee784aa16ac107c",
      "tree": "fb7e9a7368d022171999cdbdcb1e648785f30a6b",
      "parents": [
        "1812ea7c47738847a86847b5550c12d26d3637f4",
        "5b73b7478967078326fe99f936a6153c9fcaef39"
      ],
      "author": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Mon Mar 12 20:26:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 12 20:26:57 2018 +0000"
      },
      "message": "Merge changes I50a2bc22,I9a97bf27,Id187e448,I572a5cf8,I389c3ab5, ...\n\n* changes:\n  atrace: only start trace when starting trace\n  Add SDE tracing to gfx category\n  Add clk tracing to freq category\n  Trace clock_enable and clock_disable events.\n  atrace: preempt and irq disable section tracing\n  Add tracing tags to vibrator\n"
    },
    {
      "commit": "5b73b7478967078326fe99f936a6153c9fcaef39",
      "tree": "fb7e9a7368d022171999cdbdcb1e648785f30a6b",
      "parents": [
        "bcfb4873d64ea6decaca2b425714384feb5fc0f3"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Mar 08 13:33:12 2018 -0800"
      },
      "committer": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Mon Mar 12 17:47:08 2018 +0000"
      },
      "message": "atrace: only start trace when starting trace\n\nBug: 74396309\nTest: atrace --async_stop \u003e trace\nChange-Id: I50a2bc224d6c48aa7cecf69a57b30c8ccc88b9e0\nMerged-In: I50a2bc224d6c48aa7cecf69a57b30c8ccc88b9e0\n"
    },
    {
      "commit": "bcfb4873d64ea6decaca2b425714384feb5fc0f3",
      "tree": "8932c5e688c92680abcd37b965a4de21500f8b58",
      "parents": [
        "53305ddaf057ef00f248acb0734352117245aed8"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Feb 13 10:47:23 2018 -0800"
      },
      "committer": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Mon Mar 12 17:30:28 2018 +0000"
      },
      "message": "Add SDE tracing to gfx category\n\nBug: 73168288\nTest: Ran systrace, verified sde shows up with just gfx tag\nChange-Id: I9a97bf279409cd710e784e08a9ec309c12f09213\nMerged-In: I9a97bf279409cd710e784e08a9ec309c12f09213\n"
    },
    {
      "commit": "53305ddaf057ef00f248acb0734352117245aed8",
      "tree": "99a0ed5979ce53aad70f757f7a06999cc668682e",
      "parents": [
        "062e0b953c434b96f2f6391e63350403f05864c0"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Feb 22 11:40:07 2018 -0800"
      },
      "committer": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Mon Mar 12 17:29:58 2018 +0000"
      },
      "message": "Add clk tracing to freq category\n\nUpstream has clk_* in `/trace/events/clk.h\u0027 and clock_* `/trace/events/power.h\u0027\nfor reporting clock events, and individual driver may pick either.\n\nBug: 73775767\nTest: collect systrace\nChange-Id: Id187e448a414cb2420b40d65ecf6219296d45172\nMerged-In: Id187e448a414cb2420b40d65ecf6219296d45172\n"
    },
    {
      "commit": "062e0b953c434b96f2f6391e63350403f05864c0",
      "tree": "30183af75c74e0efc5682d519ed3e2060d812652",
      "parents": [
        "6ccad100de61cf810492dccbc8b2336209a436ba"
      ],
      "author": {
        "name": "Kevin DuBois",
        "email": "kevindubois@google.com",
        "time": "Fri Nov 03 15:44:08 2017 -0700"
      },
      "committer": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Mon Mar 12 17:29:21 2018 +0000"
      },
      "message": "Trace clock_enable and clock_disable events.\n\nWe track changes in peripheral clock frequency with \u0027freq\u0027 events, but\nnot if the clock turns on or off. Logging clock_enable and clock_disable\nevents lets us get a better picture of the peripheral clocks from the\nsystraces.\n\nTest: see clock_enable/disable events from \u0027adb shell atrace freq\u0027.\nChange-Id: I572a5cf87af8f37b22b5ffb726eb5c2c49886af1\nMerged-In: I572a5cf87af8f37b22b5ffb726eb5c2c49886af1\n"
    },
    {
      "commit": "6ccad100de61cf810492dccbc8b2336209a436ba",
      "tree": "d750d415cc5204cd5a16b005cd4f978b68f0e207",
      "parents": [
        "d4ed99635fa7e0cf73282407484f6f7b3c4210c8"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Thu Aug 31 08:35:05 2017 -0700"
      },
      "committer": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Mon Mar 12 17:28:43 2018 +0000"
      },
      "message": "atrace: preempt and irq disable section tracing\n\nIRQ and preempt disabled sections can be visualized in systrace, add the\ntrace categories to enable these events.\n\nCurrently only root users who have permissions to write to these file\nwill be allowed to run this. At a future time, we can add other users\nonce we decide on security aspects.\n\nBug: 67425309\n\nChange-Id: I389c3ab5624a775d310d90b7cb4edf47407aa614\nMerged-In: I389c3ab5624a775d310d90b7cb4edf47407aa614\nSigned-off-by: Joel Fernandes \u003cjoelaf@google.com\u003e\n"
    },
    {
      "commit": "d4ed99635fa7e0cf73282407484f6f7b3c4210c8",
      "tree": "0c8464f5a53f33a0eda101f0b69ca39bfba95b39",
      "parents": [
        "1812ea7c47738847a86847b5550c12d26d3637f4"
      ],
      "author": {
        "name": "Alexey Kuzmin",
        "email": "alexeykuzmin@google.com",
        "time": "Sat Feb 10 15:17:57 2018 +0000"
      },
      "committer": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Mon Mar 12 17:27:54 2018 +0000"
      },
      "message": "Add tracing tags to vibrator\n\nNow all somewhat time-consuming methods of the VibratorService\nare surrounded by traceBegin/traceEnd blocks.\nThe vibration itself is surrounded with asyncTrace block.\n\nTest: Run \"systrace vibrator\" and see the time consumption report.\nBug: 73000045\nChange-Id: I68cfc4d856e9c0944c3af6c350d3fd690fd3401e\nMerged-In: I68cfc4d856e9c0944c3af6c350d3fd690fd3401e\n"
    },
    {
      "commit": "4a1861e80ec60b4d9f7e02eae26a53b78736805a",
      "tree": "156d8eb66718bbae7fec36e18bff8718b23cb2d4",
      "parents": [
        "1812ea7c47738847a86847b5550c12d26d3637f4"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Mar 10 15:32:51 2018 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Mar 10 15:32:51 2018 -0800"
      },
      "message": "Remove obsolete brillo property\n\nThe implementation behind this cflag has already been removed.\n\nTest: none\nChange-Id: Ida61c64f86180c8a7d41b6af7036312ebe0dd3d4\n"
    },
    {
      "commit": "1812ea7c47738847a86847b5550c12d26d3637f4",
      "tree": "bd284fd370dd0ca7c46a62474ac7ee4622948c61",
      "parents": [
        "a11d432df3a3f0485f900568d6e7cb177de18c87",
        "dbc4ce6f9a60b5e4d7e7bcbb4c3fac8a71b7984c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 08 17:07:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 08 17:07:15 2018 +0000"
      },
      "message": "Merge \"Add otapreopt logic for CompactDex version bump\""
    }
  ],
  "next": "dbc4ce6f9a60b5e4d7e7bcbb4c3fac8a71b7984c"
}
