)]}'
{
  "log": [
    {
      "commit": "2056cf3eee33bee6e75e0cffbeea931118cbb1e2",
      "tree": "787624c02ec834ed96ede78eda7075c44fcf871d",
      "parents": [
        "23c28f5e21a6749e4df8e11eaa3c70f12fa9c616"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Sep 17 17:41:02 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 20 11:35:09 2019 -0700"
      },
      "message": "HIDL stuff on host.\n\nThe motivation of this is for quickly running unit tests of HAL\nimplementations on host. Before, you would have to abstract away\nHIDL stuff, but now, you can just call a class that inherits from\nHIDL stuff directly.\n\nCurrently, there is no binder or passthrough support on host though.\nThis is only for unit tests of C++ classes.\n\nBug: 124524556\nTest: libhidl_test on host\nChange-Id: I922060e48406ca196fbf864e549c05f5e1113d62\n"
    },
    {
      "commit": "f0dd160cbe7c80204a2e361896f677a2bd12863f",
      "tree": "b20f1fe0f84780a1f6534d8ae0357a1879b3484e",
      "parents": [
        "48b66ef08b74440b1ca5da79d9ea9c6727a6d499"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Apr 26 14:51:24 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 06 16:55:04 2019 -0700"
      },
      "message": "Tests \u0026 stronger guarantees for hidl_* pads.\n\n- Test that pads are zero (for future proofing, also ran tests\n  on original implementation and bugfix).\n- Use -Wpadded so that compiler guarantees there aren\u0027t padding\n  bits hiding elsewhere (there aren\u0027t)\n\nBug: 131356202\nTest: libhidl_test\n  (without fixes, with fixes, and with this CL)\n\nChange-Id: Ib52a16015b0393c104cd984376328cb0da888b03\nMerged-In: Ib52a16015b0393c104cd984376328cb0da888b03\n"
    },
    {
      "commit": "0d2a0dab0ed58d03368606f0d78aa0361d97e29a",
      "tree": "49ce583c5ea05fb8e8b1b88f557413d6083f4802",
      "parents": [
        "6b7c685dac7318d14fe5e97e27e4ff87b1d1e30c",
        "93f75928d41841e6a8b771442aaa27ba67095471"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 24 02:17:59 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 24 02:17:59 2019 +0000"
      },
      "message": "Merge \"Implement hidl_vec::find and hidl_vec::contains\""
    },
    {
      "commit": "93f75928d41841e6a8b771442aaa27ba67095471",
      "tree": "3720881a8a2746513b0e612f6d62f860d8b75583",
      "parents": [
        "30b01fdf5e580c1301bfa2f320441d8c75203c72"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Jul 16 08:44:15 2019 -0700"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Jul 23 16:55:10 2019 -0700"
      },
      "message": "Implement hidl_vec::find and hidl_vec::contains\n\nAlso fixed formatting of nearby line.\n\nBug: 135918744\nTest: atest libhidl_test\nChange-Id: I3743115bdacdbf56b6e68d57cf7a8f38f99cb182\n"
    },
    {
      "commit": "9cafed562af868b64fa0549cd8003596334f7117",
      "tree": "9d63608b118b3a3d7656b5c219b0efb70028f648",
      "parents": [
        "051d0fcb78ec11bca907d816e902b93ee367748e"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jul 15 16:02:35 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jul 16 00:11:21 2019 +0000"
      },
      "message": "Tests for Return crashes.\n\nSince I had edited this recently, but we only have manual tests for it.\n\nBug: N/A\nTest: N/A\nChange-Id: Ie60b6bd075ffb4f67f530e48b7f7a19dc82b3367\n"
    },
    {
      "commit": "dfbedb8ffb429427bf7d3dbdfd5c3fe002f02718",
      "tree": "e03d724abf519e3297a396a728016dbca952fe92",
      "parents": [
        "5b8eb35645ec7e329fe0c6462125445fc5a3697c"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jun 19 14:51:11 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jun 20 19:32:23 2019 +0000"
      },
      "message": "hidl_vec: move elements on resize\n\nTo avoid extra copies. Doing this also requires adding move\nconstructors and move assignment operators to hidl_array.\n\nBug: 135207394\nTest: libhidl_test\nTest: hidl_test\nTest: reduces image size on aosp_walleye\n$ cat installed-files-before.txt | awk \u0027{s+\u003d$1}END{print s}\u0027\n1135438223\n$ cat installed-files-after.txt | awk \u0027{s+\u003d$1}END{print s}\u0027\n1135434327\n\nChange-Id: I231f5c9cc959b605e6f102ff7217f338c95d5d5e\n"
    },
    {
      "commit": "c48d4f62f75e073f11118454c5c00b1548eeca5a",
      "tree": "ad1d20c930a5f61377a36c6e019339bfeec51d52",
      "parents": [
        "06d58be0332f865b20cf3b0d973c1b9d22ac5c37"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Feb 08 12:48:04 2019 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Feb 08 13:29:49 2019 -0800"
      },
      "message": "Allow hidl_vec \u003d initializer list\n\nCurrently, a hidl vector can be constructed using an initializer list, but\nit cannot be made equal to an initializer list.\nAdd the missing operator here to allow for simpler usage.\n\nTest: atest libhidl_test\nBug: 117935272\nChange-Id: Id21e9cafee754968a7300a3d7bc85481d32dcc3a\n"
    },
    {
      "commit": "138c35033d6422508aff3613c037543efa66c017",
      "tree": "92bf559dc8531436f8f995836d6bfa8edcfa34ba",
      "parents": [
        "db0ab7e299f9c910599179debae8ad5c48b9059c"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Nov 27 14:27:04 2018 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Nov 27 14:29:23 2018 -0800"
      },
      "message": "libhidl_test: doesn\u0027t require additional binaries\n\nPreviously, this required an additional test binary synced on the\ndevice, but we can do the same test with a library that is always\nguaranteed to be on the device.\n\nTest: atest libhidl_test\nChange-Id: Ib2cc785ea4248a339edbae750076233dcbaa0e37\n"
    },
    {
      "commit": "b328f0111b1cbcabd39766d967eea2d55b839ca3",
      "tree": "3eb606fc093b5017f93f513d905af04d727d6079",
      "parents": [
        "fcc43d5cd040193a197bd8a6de76694f95a2b346"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jun 25 16:07:22 2018 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jun 25 16:07:22 2018 -0700"
      },
      "message": "hidl_version: add operator!\u003d\n\nThis was missing and was needed for a CL internally.\n\nTest: libhidl_test\nChange-Id: Ib2cadbfc69b42b6c1ead8a8658adfa40d3ce2a3b\n"
    },
    {
      "commit": "951fb131787a56b818a5e1058f38cc4110d582da",
      "tree": "36f053e321838360cc7013e239ed4cf5a4f18e7c",
      "parents": [
        "b2b99bf625c01a37820ac94c8ceed83f728f6cb0"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Nov 07 14:24:07 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Nov 07 14:26:15 2017 -0800"
      },
      "message": "Move preload test to libhidl_test.\n\nSince hidl_test is completely static now, moving\nthe DISABLED preload test so that we can actually\ntest the API here.\n\nTest: libhidl_test\nChange-Id: I1e34ddc959d761130cf5b2c0a30fa2e1ec675d99\n"
    },
    {
      "commit": "aa661fc957c8d3acbc0abd409f5e4a16a65ce3b1",
      "tree": "2b835c3a8fb767909a1997ff7ac38845e3acb7a0",
      "parents": [
        "0dab326103aa5ec7f2e8424e3d6e6b0a02149e4b"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Oct 06 09:40:18 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Oct 06 09:42:51 2017 -0700"
      },
      "message": "Remove flaky test and clarify documentation.\n\nResize doesn\u0027t set primitive types to zero.\n\nTest: hidl\u0027s run_all_device_tests.sh\nChange-Id: I0b7031bc563e3201815ac238ea5a375602393773\n"
    },
    {
      "commit": "96e9de049f4dd2ee7d02eaf9a662e286964c2039",
      "tree": "747771dbc1703ff46423199d21208225b7387868",
      "parents": [
        "fd9ecee04372ce0d47d4df7a05a56e13d9c0e1b4"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 29 14:11:20 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 29 23:14:22 2017 +0000"
      },
      "message": "Add size constructor to hidl_vec.\n\nThis pattern is everywhere:\nhidl_vec\u003c...\u003e x;\nx.resize(3);\n\nIt doesn\u0027t look very pretty.\n\nTest: libhidl_test\nChange-Id: I2776e81afbe6f12e34cfb31a2f40d539554f0cbc\n"
    },
    {
      "commit": "41649d5bb219a3b316eae8af54673f54e0a75935",
      "tree": "44e066a2bd07ca1c132d01269c672c55f1b0f255",
      "parents": [
        "932de1ee3f10bf94d11b51cce2e92f3efaf6ef7c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Aug 03 14:27:21 2017 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Aug 22 23:00:18 2017 +0000"
      },
      "message": "Fix clang-tidy performance-* warnings in system/libhidl.\n\n* Use const reference parameter type to avoid unnecessary copy.\n* Use more efficient overloaded string methods.\n* Use const reference type for loop index variables to avoid unnecessary copy.\n\nBug: 30407689\nBug: 30411878\nBug: 30413223\nTest: build with WITH_TIDY\u003d1\nTest: libhidl_test\nChange-Id: I1deae1f09d56c2fa9cd56728b13ca50305d18f3e\n"
    },
    {
      "commit": "86fd2e14d4f96322df0bb26b5dffafb3a6356c4c",
      "tree": "aad84659c95ad6e5e5af71ae25a259d29cfd90d4",
      "parents": [
        "c8a68d9aaa348fc09fd7127a3574957e22aa6ad4"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Aug 02 13:26:59 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Aug 02 13:26:59 2017 -0700"
      },
      "message": "libhidl_test: remove flake\n\nWe have many other performance tests for passthrough\nmode. I\u0027ve changed the TaskRunner test here to only\ntest that the task is run.\n\nBug: 64020862\nTest: libhidl_test (100 times)\nChange-Id: I045718a4f8cfbd08b3d88a4f7c4232e2b54ea869\n"
    },
    {
      "commit": "a9f60730682d198419a310ca19ecb5d4fc9f2fd6",
      "tree": "77d76e364bc1ba5a44fcb5c2277e5b0d57f541d4",
      "parents": [
        "25508806b87fc4d428590f06e0b6d361a254355c"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Fri Jun 30 10:53:22 2017 -0700"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Jul 19 23:41:25 2017 +0000"
      },
      "message": "Add range constructor to hidl_vec.\n\nBug: b/36864090\nTest: Unit test\nTest: a device boots\nTest: marlin boots and completes unit test\nChange-Id: I7d37f75ec6c8ba0252c3c60afd515eff87dfc4dd\n"
    },
    {
      "commit": "4917296debaeb74f48ddac5ce4d8f5e65020ee69",
      "tree": "17ef07de01baeaa546ee5de9d17efa87c3ca51ca",
      "parents": [
        "08607dcb2119d45381579682f1531e487c9414ad"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Apr 28 16:08:43 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Apr 28 17:35:21 2017 -0700"
      },
      "message": "libhidl: add withDefault\n\nShorthand way to provide default values for HIDL calls.\n\nFixes: 37088970\nTest: libhidl_test\nChange-Id: If91cfb774fa76314aeec334fbc2b18ea790912c4\n"
    },
    {
      "commit": "eb0c337c4fdfe35b12039036555c2760a7c60884",
      "tree": "cca821342193007a86c2947d01aa32afaecb0c94",
      "parents": [
        "89308d02d2665ea331ac7f729e8c1af3bb9a2170"
      ],
      "author": {
        "name": "Scott Randolph",
        "email": "randolphs@google.com",
        "time": "Mon Apr 03 14:07:14 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Apr 12 05:13:22 2017 +0000"
      },
      "message": "Implicit const char* cast removed, operator\u003c\u003c added to hidl_string.\n\nhidl_string no longer will provide an implicit cast to const char* as it\ninterfers with other expected behaviors of the class.  It now emulated\nstd::string in requiring a call to .c_str() to get the same behavior.\n\nBug:  36532780\nTest:  Build the tree for marlin, bullhead, bat\n\n(cherry picked from commit 0c84ab4192f9b0b03b9840b85fc430afa17f55f1)\n\nMerged-In: I6ba76522ef65aa211bc156144990ad8b7495b051\nChange-Id: I6ba76522ef65aa211bc156144990ad8b7495b051\n"
    },
    {
      "commit": "727e3dd867a760aa7c62b5abec4d8184c47035e3",
      "tree": "b68c5aff46fa9a13b93d6215495dcd5764e946c3",
      "parents": [
        "7aca85aea2f39613a8438f50e790babac4a1d84c"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Mar 23 11:19:00 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Mar 24 06:25:20 2017 +0000"
      },
      "message": "std::string from const hidl_string test\n\nBug: 36532780\nTest: libhidl_test passes\nChange-Id: I22cb52fa9d441e92f6c4dfdcc8d0d0657bf0c0f5\n"
    },
    {
      "commit": "6f6675464c82fc796d72458d7268e28d759b997f",
      "tree": "0805bca9bd4780f489837884b81323d468f0d21e",
      "parents": [
        "8184c1220e120414ebd968930737daa563788fca"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Mar 20 19:04:05 2017 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Mar 22 01:37:46 2017 +0000"
      },
      "message": "TaskRunner starts the background thread only when needed\n\nTest: libhidl_test\nTest: hidl_test\nTest: boots\nChange-Id: I5b6de5cd4a475b0653102e8004953ba008288ab1\n"
    },
    {
      "commit": "0a35139d24ae0071475adeae3e1370b8f8617f8f",
      "tree": "b8d2062778ba3ab628becac331e9eff4744e795d",
      "parents": [
        "bd3a93038644b7afea1208eb3fc7a98760959f27"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Mar 20 17:17:52 2017 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Mar 20 19:13:41 2017 -0700"
      },
      "message": "Move TaskRunner and SynchronizedQueue to details\n\nBug: 36433220\nTest: compiles\nTest: hidl_test\nTest: libhidl_test\nChange-Id: Ia48bf9abba293f177ec2f6cfab49da5422a59b82\n"
    },
    {
      "commit": "72db40f4a612d04187ae2fc1f9a3766933264bdf",
      "tree": "f8d498ca72df752728172455313b7c40ac5158ef",
      "parents": [
        "499f210f05765ee3a842332b8acd6e0978a27b30"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Mar 09 18:15:27 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Mar 10 19:41:41 2017 +0000"
      },
      "message": "Status.h: remove service specific error codes.\n\nThese are leftover from binder and are never used in HIDL/hwbinder.\n\nTest: libhidl_test + hidl_test + internal marlin boots/works.\nBug: 36099713\nChange-Id: I12b20e1ae54d9df802a961bc9bc99f616291b0fd\n"
    },
    {
      "commit": "2be9418963c8d36bb1425093d224256e2a94b277",
      "tree": "8debbfa7824d176b191f7ea5dfa1680cff4620de",
      "parents": [
        "af4e43cc5b2eacbfe600f9ab0e459f09c35c0c3f"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Mar 03 19:07:38 2017 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Mar 03 19:48:36 2017 -0800"
      },
      "message": "Return\u003cT\u003e::description() provide more descriptive text than numbers\n\nTest: libhidl_test\nChange-Id: Ib7c591f261bb335b9fe348dd2fb0695a94bdf468\n"
    },
    {
      "commit": "af4e43cc5b2eacbfe600f9ab0e459f09c35c0c3f",
      "tree": "c484f7f824a56bd7a0d4650b1db94703bff53e5b",
      "parents": [
        "6558c77eb11d68069d0c374c39c0f955294f14b8"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Mar 03 19:10:52 2017 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Mar 03 19:48:36 2017 -0800"
      },
      "message": "return_status::checkStatus \u003d\u003e assertOk\n\ncheckStatus doesn\u0027t really set mCheckStatus to true, and hence is\na misnomer. Change it to assertOk (correspond to isOk()).\n\nAnd hence the move assignment operator should not call checkStatus\n(because it is valid to move into a Return\u003cT\u003e object that !isOk()\nbut has mCheckedStatus to true), because caller is fully aware of\nthe error that will be overwritten.\n\nTest: libhidl_test\nChange-Id: I86a44967b68619d1467d2cc9caaa39124b156121\n"
    },
    {
      "commit": "153f87a2fd2972f862a88976bb884a90a1f9fd7d",
      "tree": "c9b47be56f7b3ea9fb97fc7c39efc145d24543a5",
      "parents": [
        "311f9dd097a5ffb5d25b245c7442b1270a21df07"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Feb 28 09:42:26 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Feb 28 09:49:27 2017 -0800"
      },
      "message": "Make operator\u003d and constructor behavior consistent.\n\nhidl_string(nullptr) \u003d\u003d \"\". Now so does operator\u003d(nullptr).\n\nBug: 35421240\nTest: libhidl_test\nChange-Id: Ib62fa71ab47a407b7017c809783dd5f421b98e39\n"
    },
    {
      "commit": "a21d84f11f066315bd1476368d511286d129cb8a",
      "tree": "13e0f3afcb956fccaf899e0c3a1ee835a8b8cc56",
      "parents": [
        "eba5145c8c4b7ad344bd277616d24dc20343a90f"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Feb 16 09:23:45 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Feb 16 19:17:31 2017 +0000"
      },
      "message": "hidl_string: allow null cstr\n\nAutomatically converting nullptr to empty string rather than erroring.\nThis gets rid of null values at the hal layer (rather than passing them\nto the server) and simplifies code that would have to check for nulls.\n\nTest: libhidl_test\nFixes: 35421240\nChange-Id: Iada25da5407c3eccdd28704d993ffdee8b15c5fe\n"
    },
    {
      "commit": "551396afe50bb40b046e9f16b4501e6df055c88a",
      "tree": "c5a2289421dcd22196fc0375a65b674508cb58b4",
      "parents": [
        "2d33a2804554c02834a9805bd721038f9009289d"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Feb 13 18:33:20 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Feb 13 18:34:08 2017 -0800"
      },
      "message": "hidl_string: relational operators\n\nFixes: 34524287\nTest: libhidl_test\nChange-Id: Id0731e6df1fc1831d8c1bdf35b3aa17abd5273d2\n"
    },
    {
      "commit": "a2a8184180557e980387f769ac3915eb9e072f8b",
      "tree": "1acf15546664f895d1ed40b10be3f2816eeec63e",
      "parents": [
        "d473c2b8c58b006336bda14a1765a8f7f31b7dae"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 20 14:48:15 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 20 15:40:37 2017 -0800"
      },
      "message": "hidl_string: add operator\u003c\n\nThis allows us to std::sort vecs of hidl_strings, etc..\n\nTest: libhidl_test\nChange-Id: I6e9a7669bceb09d62791fe8c88cfd1977ea07194\n"
    },
    {
      "commit": "53120f70b7d429c81fe47718182e829660ed5ef9",
      "tree": "768e2d50734b3e7d208df9b13b059bb6e0a285d4",
      "parents": [
        "dae2db6015b9bfdc027dc3c014810f22e9f86092"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jan 12 09:39:26 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jan 12 09:41:58 2017 -0800"
      },
      "message": "hidl_string: Add cstr + length constructor\n\nThis will allow non-terminated strings to be turned into a hidl_string\nwith only one copy among other things.\n\nTest: libhidl_test\nFixes: 34221748\nChange-Id: I443f7920a65d23b7bcb583db55c3cec7266ec2d4\n"
    },
    {
      "commit": "0f3461db91b75d9acd7e0bec8b1e97cbb3bafdf7",
      "tree": "5b8b47c7b0682d1f1eb5502785c2418665dc8017",
      "parents": [
        "d272cb9e881c0aa23e4964f101131ab68affd85d"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jan 03 10:40:55 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jan 05 12:06:25 2017 -0800"
      },
      "message": "Permit assignment from a null hidl_memory\n\nBug: 34102220\nTest: libhidl_test, hidl_test\n\nChange-Id: Ic0da09f0f6a79643ee44c6b13ef606b2217956e0\n"
    },
    {
      "commit": "9fcbb36250a4392b12012cf5177c4669ef10e654",
      "tree": "bb71de4e6e1c7c8c740da7a13dbfb04660d67b49",
      "parents": [
        "49831bfd00e0d067c3db6ede7a05e249ed9073f2"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Dec 20 16:46:41 2016 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Dec 22 10:13:29 2016 -0800"
      },
      "message": "operator\u003d\u003d and !\u003d for hidl_vec.\n\nTest: libhidl_test\n\nBug: 32834072\nChange-Id: Iae9b454f5c1e9d8b3b10394ef6de9d4ba4cdd959\n"
    },
    {
      "commit": "19f4db58674560ebe6b85dad77af0155a3dddecf",
      "tree": "7bb057f74de613b51867e8a891e8032dcb420c69",
      "parents": [
        "071afa998a877a0e2676f9e92b88fe6a37c90d45"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Dec 14 15:19:28 2016 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Dec 15 18:52:27 2016 +0000"
      },
      "message": "hidl_version: Add comparison operators\n\nTest: libhidl_test passes\nChange-Id: I8bb01599ae581484d80014bd99c4aff09a953824\n"
    },
    {
      "commit": "64fdf4d1bdea86202c7526482d4d329724d33dcb",
      "tree": "df7fea217ed1e967331e06905e8b6781d6ad7e72",
      "parents": [
        "b2c9c75b74c87e651dd08a100015eab17319556e"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Dec 09 16:22:45 2016 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Dec 12 11:31:51 2016 -0800"
      },
      "message": "fix and expand hidl_vec::iterator; add const_iterator.\n\n* Fix flipped post++ and ++pre for hidl_vec::iterator\n* make it random accessible.\n* add const_iterator.\n\nTest: hidl_test\nChange-Id: I8649f8598a13e6054c994d30a4daf383d1dae55c\n"
    },
    {
      "commit": "44ab623ccf386f0e470bdc6aa22f261b7dc047cd",
      "tree": "91a22cf17a6b4a2095c94f4ed5b55bb1afc2ee37",
      "parents": [
        "3079100878a2595be644d866e67c12a9de620fd5"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Nov 22 16:28:24 2016 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Sat Dec 03 00:09:55 2016 +0000"
      },
      "message": "Convert (by copying) hidl_array from and to std::array.\n\n* For example, hidl_array\u003cT, 2, 3\u003e can be converted to\n  std::array\u003cstd::array\u003cT, 3\u003e, 2\u003e.\n\n* Uses operator\u003d for copying.\n\n* Also uses operator\u003d when initializing an hidl_array\n  (instead of memcpy\u0027ing). This fixes potential memory\n  issues for hidl_array\u003chidl_string\u003e, for example.\n\nBug: 32883329\n\nTest: libhidl_test\nChange-Id: Idf7d080433aaed2c585fd4875f3411e5544a9e72\n"
    },
    {
      "commit": "bb840f73dc33c5de153cc6959672cf05c55ae4e6",
      "tree": "c28f25fbae4cb05916663b3241a8ac23f0713e7a",
      "parents": [
        "3da68488e12ae8d487f43700582b775a4cdb6ec1"
      ],
      "author": {
        "name": "Scott Randolph",
        "email": "randolphs@google.com",
        "time": "Mon Nov 21 14:39:26 2016 -0800"
      },
      "committer": {
        "name": "Scott Randolph",
        "email": "randolphs@google.com",
        "time": "Mon Nov 21 14:39:26 2016 -0800"
      },
      "message": "Add hidl_vec iterator and hidl_string \u003d\u003d\n\nAdd bidirectional iterator for hidl_vec\nAdd operator\u003d\u003d and operator!\u003d for hidl_string to hidl_string\ncomparision.\n\nTest:  Added unit tests to libhidl_test\nChange-Id: I908bc71fae4016f335e2342f28b351f63f22fa66\n"
    },
    {
      "commit": "3da68488e12ae8d487f43700582b775a4cdb6ec1",
      "tree": "f5dc890a37e94d1e9661cf321132010ac61e0878",
      "parents": [
        "00f4a391c6f9a698bbcbbd05bf3d80e213c82884"
      ],
      "author": {
        "name": "Sasha Levitskiy",
        "email": "sanek@google.com",
        "time": "Thu Nov 17 16:48:43 2016 -0800"
      },
      "committer": {
        "name": "Sasha Levitskiy",
        "email": "sanek@google.com",
        "time": "Sun Nov 20 10:37:04 2016 -0800"
      },
      "message": "Libhidl: Add a constructor to hidl_array.\n\nTest: Added a test to libhidl native test suite.\nChange-Id: I4469200a40b4c05184f39754db6b4e732ae85ccd\nSigned-off-by: Sasha Levitskiy \u003csanek@google.com\u003e\n"
    },
    {
      "commit": "00f4a391c6f9a698bbcbbd05bf3d80e213c82884",
      "tree": "b0ac48e72ab0233a0e3eb8588abbb8f645a6a019",
      "parents": [
        "4ca39a01032d2ac2658335bb5e0d5196779d767b"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Nov 16 12:35:58 2016 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Nov 18 09:51:13 2016 -0800"
      },
      "message": "Split libhidl into base and transport.\n\nlibhidlbase contains \"pure\" classes that has nothing\nto do with tranport level stuff. libhwbinder can now\nsafely depend on libhidlbase.\n\nIBinder inheriting from IBase will be in a follow up\nCL.\n\nBug: 32756130\n\nTest: mma under hardware/interfaces\nTest: hidl_test\nChange-Id: Ie2bd80769df3816aab83789ba0d7fca9b5a2e52f\n"
    }
  ]
}
