)]}'
{
  "log": [
    {
      "commit": "8cc8d608c890a97055fe59df27326c4374c1de8f",
      "tree": "13f4a3881fc99fd0050781e1dc3962d5da6789a1",
      "parents": [
        "a9f72028e7e51f3808108e08611dc785beafccb3"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Sep 04 18:22:42 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Sep 11 11:58:04 2023 +0900"
      },
      "message": "Move to packages/modules/Connectivity\n\nTest: TH\nBug: 296014682\nChange-Id: If2b7f0b4edc0959f0e6ca5ef35139550fca04437\n"
    },
    {
      "commit": "a9f72028e7e51f3808108e08611dc785beafccb3",
      "tree": "92ac90d2c04b93799b1fe055d328d321e713d512",
      "parents": [
        "dbe149b8600afeee35acd86aaeaca025e2c7d60e",
        "98a3e9e79a9343fb8b56435dbf78f5c30bd63793"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Sep 11 02:05:53 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 11 02:05:53 2023 +0000"
      },
      "message": "Merge \"Temporary OWNERS change for code move\" into main"
    },
    {
      "commit": "dbe149b8600afeee35acd86aaeaca025e2c7d60e",
      "tree": "9cb4fd43b6449b20c576176421623cd64866314e",
      "parents": [
        "98bf2d7af5d93aa67175392c80742535c2d418f3",
        "2ecb2655403c394bbf457a4488ea0d8eb2286617"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Sep 08 09:27:13 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 08 09:27:13 2023 +0000"
      },
      "message": "Merge \"Rename to isNetworkStackFeatureEnabled\" into main"
    },
    {
      "commit": "98bf2d7af5d93aa67175392c80742535c2d418f3",
      "tree": "18ddc7b0e22281630f6a5ae2261a5ef2c0363723",
      "parents": [
        "066e9e889acc07a18b18d185dfc01f33c5125e9e",
        "4a9aaa9f6193b91b02cde13f44a72aaf68a4c570"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Sep 08 09:24:57 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 08 09:24:57 2023 +0000"
      },
      "message": "Merge \"Remove unnecessary arguments from isTetheringFeatureEnabled\" into main"
    },
    {
      "commit": "98a3e9e79a9343fb8b56435dbf78f5c30bd63793",
      "tree": "8204f251b8335973b9cdbcb648546951a4866f09",
      "parents": [
        "acc5324f22d1b6e222d22bce1a5565a5017a7c0b"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Sep 08 14:44:24 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Sep 08 14:46:25 2023 +0900"
      },
      "message": "Temporary OWNERS change for code move\n\nTest: TH\nBug: 296014682\nChange-Id: Ifdc571e1ff95fc6428a0985d53de865492fd28b8\n"
    },
    {
      "commit": "066e9e889acc07a18b18d185dfc01f33c5125e9e",
      "tree": "54fbb84f4eeae11dab0dd08f1ea02050b452b294",
      "parents": [
        "102919a2b8b823c0f243131d81df9a89eac50c9f",
        "ac8feea6432ec19f92012e9917b48b14e0296cb4"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Sep 07 15:25:55 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 07 15:25:55 2023 +0000"
      },
      "message": "Merge \"fix a compile warning about out of order field init\" into main"
    },
    {
      "commit": "102919a2b8b823c0f243131d81df9a89eac50c9f",
      "tree": "270419651d6b001f182753f3d5e12bc9b3e4c7aa",
      "parents": [
        "d702b21514096494b8e136249f49b7fc75896ba6",
        "e22cd536d40844a438aa638d51ae33e85a371823"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Sep 07 08:43:12 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 07 08:43:12 2023 +0000"
      },
      "message": "Merge \"Add IA Address option struct.\" into main"
    },
    {
      "commit": "d702b21514096494b8e136249f49b7fc75896ba6",
      "tree": "8129204e0d240231f990ff7b23c1d20c69261422",
      "parents": [
        "acc5324f22d1b6e222d22bce1a5565a5017a7c0b",
        "f3fa68212f0b2f7fc959f51cc68a57a4cacffb94"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Sep 07 08:18:23 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 07 08:18:23 2023 +0000"
      },
      "message": "Merge \"Remove the VisibleForTesting annotation on IaPrefixOption constructor.\" into main"
    },
    {
      "commit": "ac8feea6432ec19f92012e9917b48b14e0296cb4",
      "tree": "f471e6f992ca5021d40ff68b02048093f8d69109",
      "parents": [
        "acc5324f22d1b6e222d22bce1a5565a5017a7c0b"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Sep 06 23:50:47 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Sep 06 23:51:37 2023 +0000"
      },
      "message": "fix a compile warning about out of order field init\n\nhttp://cs/h/prodkernel/kernel/upstream/torvalds/linux-2.6/+/master:tools/include/uapi/linux/bpf.h?l\u003d1486\n\nstruct { /* anonymous struct used by BPF_PROG_TEST_RUN command */\n\t\t__u32\t\tprog_fd;\n\t\t__u32\t\tretval;\n\t\t__u32\t\tdata_size_in;\n\t\t__u32\t\tdata_size_out;\n\t\t__aligned_u64\tdata_in;\n\t\t__aligned_u64\tdata_out;\n...\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I2c08b65bdcdbd7fb9872b6d4cbbf542fe28ef916\n"
    },
    {
      "commit": "2ecb2655403c394bbf457a4488ea0d8eb2286617",
      "tree": "5448831a5777f05412fddf4e03629150596ba148",
      "parents": [
        "4a9aaa9f6193b91b02cde13f44a72aaf68a4c570"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Aug 15 17:27:47 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Sep 05 17:50:24 2023 +0900"
      },
      "message": "Rename to isNetworkStackFeatureEnabled\n\nDeviceConfigUtils had isFeatureEnabled for NetworkStack and Tethering\nwhich were confusing since the difference was only the arguments.\nThis CL renames isFeatureEnabled for NetworkStack module to\nisNetworkStackFeatureEnabled to avoid confusion.\n\nThis CL also removes unnecessary arguments.\n\nBug: 279108992\nTest: m\nChange-Id: I523b98bd3754c209c64ce7d1513b5afcb36599b9\n"
    },
    {
      "commit": "4a9aaa9f6193b91b02cde13f44a72aaf68a4c570",
      "tree": "b93c5fc2d85d90f8823bcb5e0d560f80f08d9b14",
      "parents": [
        "e5b1ba9941b15e7fda086ddba15dc91c0a4cc7e4"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Aug 15 16:28:34 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Sep 05 17:50:15 2023 +0900"
      },
      "message": "Remove unnecessary arguments from isTetheringFeatureEnabled\n\nTest: m\nBug: 279108992\nChange-Id: Iadc1b4665c364bf754ed32e7bb53b78e555ed457\n"
    },
    {
      "commit": "acc5324f22d1b6e222d22bce1a5565a5017a7c0b",
      "tree": "0df89ec52fbf96d79c5e491f7ef4648fee6ee980",
      "parents": [
        "e5b1ba9941b15e7fda086ddba15dc91c0a4cc7e4",
        "3f6adaa0a5e458574b49c51ce6df04b7885e4079"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Tue Sep 05 08:45:40 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 05 08:45:40 2023 +0000"
      },
      "message": "Merge \"Add util to check if permission has system signature\" into main"
    },
    {
      "commit": "e5b1ba9941b15e7fda086ddba15dc91c0a4cc7e4",
      "tree": "efaf9e838b13caea604ccea565056c8a4f7f3630",
      "parents": [
        "eb24c8846fc37a84b48ca17f8283f50efad117ee",
        "6945aef244e6d054beda3db99042ca8527a096a8"
      ],
      "author": {
        "name": "Mark White",
        "email": "anothermark@google.com",
        "time": "Thu Aug 31 16:00:54 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 31 16:00:54 2023 +0000"
      },
      "message": "Merge \"Created empty framework-location non-updatable module\" into main"
    },
    {
      "commit": "eb24c8846fc37a84b48ca17f8283f50efad117ee",
      "tree": "07f1bcf4e02bf4fc1debdd8c23460d3d75adff2f",
      "parents": [
        "f801da5c4fca6887bf35422a9513025f80386d61",
        "f4726de160529eb97dd8dafe187a3979024e949b"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Aug 31 03:11:01 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 31 03:11:01 2023 +0000"
      },
      "message": "Merge \"Add isNetworkStackFeatureNotChickenedOut API for NetworkStack module.\" into main"
    },
    {
      "commit": "f801da5c4fca6887bf35422a9513025f80386d61",
      "tree": "fe1d3ae7da2f4675c15cb21b13cd4059dbf62452",
      "parents": [
        "027be158fc418d7838d47ff4f8541918822da6f6",
        "4e23c81769711f91f7b25306e32e0ca046cc5ce2"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Aug 29 10:44:51 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 29 10:44:51 2023 +0000"
      },
      "message": "Merge \"Make structs in StructTest accessible from Struct\" into main"
    },
    {
      "commit": "4e23c81769711f91f7b25306e32e0ca046cc5ce2",
      "tree": "8fc7a02e2f0b9407ac24d278a64f94ef26745275",
      "parents": [
        "c9126876b4187c31a951a8bc921130f475e08cf9"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Fri Aug 25 16:15:00 2023 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Aug 29 10:33:38 2023 +0800"
      },
      "message": "Make structs in StructTest accessible from Struct\n\nAfter link Struct statically into framework-connectivity,\nthe structs in StructTest are no longer accessible from Struct\nbecause Struct is loaded by bootclasspath classloader.\nMake classes and members public for accessing from Struct.\n\nTest: atest ConnectivityCoverageTests:android.net.connectivity.com.android.net.module.util.StructTest\nBug: 297836825\nChange-Id: I3b1f466f10247306c84d6cac0d7402353770fac4\n"
    },
    {
      "commit": "6945aef244e6d054beda3db99042ca8527a096a8",
      "tree": "c38d3f425f29f273c8c2bdc520c072a0e07db226",
      "parents": [
        "027be158fc418d7838d47ff4f8541918822da6f6"
      ],
      "author": {
        "name": "Mark White",
        "email": "anothermark@google.com",
        "time": "Mon Aug 07 15:20:07 2023 +0000"
      },
      "committer": {
        "name": "Mark White",
        "email": "anothermark@google.com",
        "time": "Mon Aug 28 12:15:22 2023 +0000"
      },
      "message": "Created empty framework-location non-updatable module\n\nBug: 289776578\nTest: m CtsLocationCoarseTestCases CtsLocationFineTestCases CtsLocationGnssTestCases CtsLocationNoneTestCases CtsLocationPrivilegedTestCases\nChange-Id: I6922384386e6e6467484d20f6db74a4e49209374\n"
    },
    {
      "commit": "f4726de160529eb97dd8dafe187a3979024e949b",
      "tree": "2a3b5ad37eb8955762bdf742466f02f84b36fc11",
      "parents": [
        "027be158fc418d7838d47ff4f8541918822da6f6"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Aug 28 17:37:30 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Aug 28 17:52:04 2023 +0900"
      },
      "message": "Add isNetworkStackFeatureNotChickenedOut API for NetworkStack module.\n\nBug: 279108992\nTest: atest NetworkStaticLibsTests\nChange-Id: If42eb401b812017bd4d724b4323a8d51f7430606\n"
    },
    {
      "commit": "3f6adaa0a5e458574b49c51ce6df04b7885e4079",
      "tree": "a96fe3b61bb89149225505486168c58ae40acde2",
      "parents": [
        "027be158fc418d7838d47ff4f8541918822da6f6"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Tue Aug 08 11:42:18 2023 +0900"
      },
      "committer": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Aug 24 16:48:48 2023 +0900"
      },
      "message": "Add util to check if permission has system signature\n\nBug: 294777050\nTest: m\nChange-Id: I66e94595ce5f4ab3b4f372e4e5e6cb06dc686c21\n"
    },
    {
      "commit": "027be158fc418d7838d47ff4f8541918822da6f6",
      "tree": "6d22f68751c97fe222ba5d3a976edde1a2f1df2e",
      "parents": [
        "ad697d2e0cc1dec5ce058261e180b4dacaadee79",
        "a91311ffbd66cbdce5fe182855daf00d6ba16e54"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Aug 24 07:12:27 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 24 07:12:27 2023 +0000"
      },
      "message": "Merge \"Move ArpPacket.java to frameworks/libs/net\" into main"
    },
    {
      "commit": "ad697d2e0cc1dec5ce058261e180b4dacaadee79",
      "tree": "6c81c98f8184b26054eb39541b273eeaa589c714",
      "parents": [
        "b4b183607b0cb8c96b511f94b84519655d06b371",
        "59fa9513f25570c72adf893b63eef266efae6cf8"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Aug 24 06:39:11 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 24 06:39:11 2023 +0000"
      },
      "message": "Merge \"Add libnetd_utils_headers cc_library_headers\" into main"
    },
    {
      "commit": "a91311ffbd66cbdce5fe182855daf00d6ba16e54",
      "tree": "60803c7a54fe9e43ee14e8f474e346cf7ba541fc",
      "parents": [
        "3253074d4265d75944a0ecb990567bad3adc4af0"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Tue Aug 22 13:45:18 2023 +0900"
      },
      "committer": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Aug 24 12:48:02 2023 +0900"
      },
      "message": "Move ArpPacket.java to frameworks/libs/net\n\nBug: 281639507\nTest: TH\nChange-Id: Ic0d273695d3f0f85a0ec56337a9d12d77b60ea3b\n"
    },
    {
      "commit": "b4b183607b0cb8c96b511f94b84519655d06b371",
      "tree": "ae56e400fd02790d21040e3b4f9f8ad87cd409cc",
      "parents": [
        "c9126876b4187c31a951a8bc921130f475e08cf9"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Aug 22 18:30:32 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Aug 23 13:01:29 2023 +0900"
      },
      "message": "Add class to help Kotlin to pass nullable to java @NonNull for testing\n\nFollow up CL for aosp/2700076\n\nBug: 296972712\nTest: build with aosp/2688146\nChange-Id: Ib582ef41f34baf0bb896e32d681843358f928c87\n"
    },
    {
      "commit": "59fa9513f25570c72adf893b63eef266efae6cf8",
      "tree": "cc54deb357ecc1cd4026a787ca94b01e89e91146",
      "parents": [
        "3253074d4265d75944a0ecb990567bad3adc4af0"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Aug 22 12:50:20 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Aug 22 19:16:12 2023 +0900"
      },
      "message": "Add libnetd_utils_headers cc_library_headers\n\nThere is a module that specifies libnetdutils/include from include_dirs\nwhich is not recommended.\nUsing the cc_library_headers makes it easy to move\nframeworks/libs/net to packages/modules/Connectivity.\n\nBug: 296014682\nTest: m\n\nChange-Id: Ia52ede9787009102ebf626fcb3b337511b0a809f\n"
    },
    {
      "commit": "c9126876b4187c31a951a8bc921130f475e08cf9",
      "tree": "8e14707037eaac609fe90b3446ee14e32b8e8f97",
      "parents": [
        "594a2be5aa09af6a29294e98993a53dd03e8cdfd",
        "0602040bd43fc032246cb8b82825cf3229f83586"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Aug 22 00:32:09 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 22 00:32:09 2023 +0000"
      },
      "message": "Merge \"BpfMap.h - hide getMap()\" into main"
    },
    {
      "commit": "0602040bd43fc032246cb8b82825cf3229f83586",
      "tree": "ddeb07eb1c0864d0251a4ff27d2946350caf0e32",
      "parents": [
        "19f4c13cbea87741ec3df5285aa4bba3dd7f579d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 17:06:45 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Aug 21 19:53:04 2023 +0000"
      },
      "message": "BpfMap.h - hide getMap()\n\nThis leaks (what should be) an internal only fd.\n\nThere\u0027s still multiple uses of getMap() left in:\n  common/native/bpf_headers/BpfMapTest.cpp\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I87a36f3f935ba9148ae4456fc6bf14b0e04f6038\n"
    },
    {
      "commit": "594a2be5aa09af6a29294e98993a53dd03e8cdfd",
      "tree": "c1c522c6073c1b39c23a28f715819196f54894b0",
      "parents": [
        "dacea70dc6033c5408dfd28589498f3c0bd98b49",
        "83b8e80a1c7eddf2b7e09eb85cca5e1419c6018d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Aug 21 19:04:15 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 21 19:04:15 2023 +0000"
      },
      "message": "Merge \"Fix kotlin nullable errors in net-test-utils and NetworkStaticLibTests\" into main"
    },
    {
      "commit": "dacea70dc6033c5408dfd28589498f3c0bd98b49",
      "tree": "7ca0e7eca6d474e476d6b53994229840a6607cbb",
      "parents": [
        "9a90d0daa2d3fd71cdd17331d828f3b3a22176a1",
        "19f4c13cbea87741ec3df5285aa4bba3dd7f579d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Aug 21 17:20:17 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 21 17:20:17 2023 +0000"
      },
      "message": "Merge \"BpfMap.h - add 3 using statements\" into main"
    },
    {
      "commit": "9a90d0daa2d3fd71cdd17331d828f3b3a22176a1",
      "tree": "8068398aa5dbab9b6f63b9517889bddb7ccb0e5a",
      "parents": [
        "e1fef5a6188890472fb51a02ef000bd45d98fc34",
        "230bd4b186dde4f15df444407011a0bf308cb93a"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Aug 21 17:15:32 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 21 17:15:32 2023 +0000"
      },
      "message": "Merge \"BpfMap.java - remove getNextRawKey()\" into main"
    },
    {
      "commit": "e1fef5a6188890472fb51a02ef000bd45d98fc34",
      "tree": "55b0f5724cc1d13b889fb4c42372e028e044ee68",
      "parents": [
        "73b7da8b812d5796cea88d02f6b4d0b491481239",
        "9bd400ce706f08b18a57e7ac85db169b9311dec3"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Aug 21 17:15:14 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 21 17:15:14 2023 +0000"
      },
      "message": "Merge \"BpfMap.java - remove getRawValue()\" into main"
    },
    {
      "commit": "73b7da8b812d5796cea88d02f6b4d0b491481239",
      "tree": "46e9c2b11887c5201416f5c97bdeb8307e4aff6a",
      "parents": [
        "3253074d4265d75944a0ecb990567bad3adc4af0",
        "b1aec8ff1346e29d6baac39f5364dacd1aaaba8e"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Aug 21 17:14:55 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 21 17:14:55 2023 +0000"
      },
      "message": "Merge \"BpfMap - slightly simplify isEmpty()\" into main"
    },
    {
      "commit": "3253074d4265d75944a0ecb990567bad3adc4af0",
      "tree": "151732e2b25dfbf4777f08683154aaacc263909f",
      "parents": [
        "8fc72082f35950a574dba47176514b8a90987fc6",
        "0b45bfea1d17d0ed02becbb95aac474e6235cd3a"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Aug 21 03:17:38 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 21 03:17:38 2023 +0000"
      },
      "message": "Merge \"Rename to isTetheringFeatureEnabled\" into main"
    },
    {
      "commit": "8fc72082f35950a574dba47176514b8a90987fc6",
      "tree": "824f5ac7a7c0c74025dc352eee8dd4357b093f31",
      "parents": [
        "3539231e493ca83d5646283bc3b135b2032f72b8",
        "dde7dd5e7158e778eb46592440d3159cd2f8da7e"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Mon Aug 21 02:34:01 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 21 02:34:01 2023 +0000"
      },
      "message": "Merge \"Address review comments in aosp/2677976\" into main"
    },
    {
      "commit": "19f4c13cbea87741ec3df5285aa4bba3dd7f579d",
      "tree": "dd09f0e4f73f3b1793956380a1892f327c7f09d5",
      "parents": [
        "3539231e493ca83d5646283bc3b135b2032f72b8"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 23:33:23 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 23:33:46 2023 +0000"
      },
      "message": "BpfMap.h - add 3 using statements\n\nin particular base::Result is needlessly verbose\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ide0de9acec79b9aeeaff7ec92270304907bd10d4\n"
    },
    {
      "commit": "9bd400ce706f08b18a57e7ac85db169b9311dec3",
      "tree": "f1ad8df636c8920f436688ce58c31bd82dd57e3a",
      "parents": [
        "3539231e493ca83d5646283bc3b135b2032f72b8"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 14:04:31 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 14:05:43 2023 +0000"
      },
      "message": "BpfMap.java - remove getRawValue()\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I6903a29773ee4782c0f2ae64561e1c0fdcba618f\n"
    },
    {
      "commit": "230bd4b186dde4f15df444407011a0bf308cb93a",
      "tree": "de33d05999ac0d2e83c074e79877761701003281",
      "parents": [
        "3539231e493ca83d5646283bc3b135b2032f72b8"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 13:00:51 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 13:01:13 2023 +0000"
      },
      "message": "BpfMap.java - remove getNextRawKey()\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ida62d346c1d6df800b5d45b67de60e945ac2b4c8\n"
    },
    {
      "commit": "b1aec8ff1346e29d6baac39f5364dacd1aaaba8e",
      "tree": "bd442ffe2df1c1d6a7e3507d4c93de8a4e6dc020",
      "parents": [
        "3539231e493ca83d5646283bc3b135b2032f72b8"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 12:02:35 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 12:03:26 2023 +0000"
      },
      "message": "BpfMap - slightly simplify isEmpty()\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I9b93224ec2d4ff717d5e39c3ad50e63ac73f5f7c\n"
    },
    {
      "commit": "3539231e493ca83d5646283bc3b135b2032f72b8",
      "tree": "686580f568faea9fcb73eb940c975b02e7edb8ec",
      "parents": [
        "62aa4b02c1c30de87a41bbe8801684c3acd1b8e4",
        "c8c9e09b25eac75bfad62eafed9f3496d270e99f"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri Aug 18 22:32:51 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 18 22:32:51 2023 +0000"
      },
      "message": "Merge \"Improve test logs using TrackRecord backtrace\" into main"
    },
    {
      "commit": "c8c9e09b25eac75bfad62eafed9f3496d270e99f",
      "tree": "158ed9b39e57b34d8aa8a134b13d43b9d17c37df",
      "parents": [
        "04a85d98bd046108ac6371be80bbb9940be77a40"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Aug 09 06:57:32 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri Aug 18 09:35:13 2023 -0700"
      },
      "message": "Improve test logs using TrackRecord backtrace\n\neventuallyExpect methods should print the received callbacks since\npoll() was called for better debugging.\n\nTest: atest EthernetManagerTest\nChange-Id: Ia08abf2436b050a7e319b9f70694ce3d132b4fc3\n"
    },
    {
      "commit": "62aa4b02c1c30de87a41bbe8801684c3acd1b8e4",
      "tree": "cb31d4e854c392bcf170642e843b7654c78d58eb",
      "parents": [
        "63259b33f01692e54878245fe2fe82e8e8c34605",
        "04a85d98bd046108ac6371be80bbb9940be77a40"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri Aug 18 14:10:21 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 18 14:10:21 2023 +0000"
      },
      "message": "Merge \"TrackRecord: add a method to return callbacks since last poll\" into main"
    },
    {
      "commit": "dde7dd5e7158e778eb46592440d3159cd2f8da7e",
      "tree": "4fc842138a22da5ee3ecc54444fd8f0f5e3a2c7d",
      "parents": [
        "cfac575bc604f1c67c8e73a8469bcc8bd15d12c0"
      ],
      "author": {
        "name": "chiachangwang",
        "email": "chiachangwang@google.com",
        "time": "Wed Aug 16 07:52:14 2023 +0000"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Fri Aug 18 08:13:27 2023 +0000"
      },
      "message": "Address review comments in aosp/2677976\n\nThis commit address the follow-up review comments\nin aosp/2677976.\n\nFix: 296150560\nTest: atest FrameworksNetTests NetworkStaticLibTests\nChange-Id: I0ff4cef8585e2ae496447c4d37e072c1de281775\n"
    },
    {
      "commit": "0b45bfea1d17d0ed02becbb95aac474e6235cd3a",
      "tree": "6ab1540877c99257e96949343267645bfd6622d7",
      "parents": [
        "63259b33f01692e54878245fe2fe82e8e8c34605"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Aug 15 16:12:48 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Aug 17 19:00:22 2023 +0900"
      },
      "message": "Rename to isTetheringFeatureEnabled\n\nDeviceConfigUtils has isFeatureEnabled for NetworkStack and Tethering\nwhich were confusing since the difference was only the arguments.\nThis CL renames isFeatureEnabled for Tethering module to\nisTetheringFeatureEnabled to avoid confusion.\n\nBug: 279108992\nTest: m\nChange-Id: I16e8e4f6c0080d73533ce8bd36adfa7038347500\n"
    },
    {
      "commit": "63259b33f01692e54878245fe2fe82e8e8c34605",
      "tree": "5997177a85b3f800e83033b7d851330cccb43177",
      "parents": [
        "a062f8a95cbbe67ceb9db9d6c9228f5fb9bbc397",
        "d8614eb8aaf14721c2d26319e12258f8f51c2a0a"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Aug 17 06:18:22 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 17 06:18:22 2023 +0000"
      },
      "message": "Merge \"UpsideDownCake is now 34\" into main"
    },
    {
      "commit": "a062f8a95cbbe67ceb9db9d6c9228f5fb9bbc397",
      "tree": "21eae2dc2aae62d516291389dcc919980110f440",
      "parents": [
        "3a79c233afab8bcf2335be4b67a0294eab2d1c8a",
        "3438c64b9e61133fc2b525f78755ed190cbb957d"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Aug 17 06:12:36 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 17 06:12:36 2023 +0000"
      },
      "message": "Merge \"Rename to isTetheringFeatureNotChickenedOut\" into main"
    },
    {
      "commit": "3a79c233afab8bcf2335be4b67a0294eab2d1c8a",
      "tree": "b69b0c900ec9437701ffbd1f29034ca24e285c32",
      "parents": [
        "cfac575bc604f1c67c8e73a8469bcc8bd15d12c0"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Thu Aug 17 04:42:53 2023 +0000"
      },
      "committer": {
        "name": "Android Build Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Thu Aug 17 04:42:53 2023 +0000"
      },
      "message": "Baseline NewApi issues\n\nNewApi was recently updated to support linting methods in\nthe system, module_lib, and system_server sdks, and was\ndemoted to a warning due to the new issues it finds.\nBaseline all the new issues that NewApi can be made an error\nagain.\n\nThese cls were generated automatically by a script that\ncopied the NewApi issues from the reference baselines.\n\nBug: 268261262\nTest: m lint-check\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b6d6bf359ca53d41a08b7e2af86f7a080e2b5741)\nMerged-In: I31beadf91173116b9750fe6f132a4f979a2e0d9a\nChange-Id: I31beadf91173116b9750fe6f132a4f979a2e0d9a\n"
    },
    {
      "commit": "d8614eb8aaf14721c2d26319e12258f8f51c2a0a",
      "tree": "d15ed669da53cf5c1c525666fe268cce4db2972f",
      "parents": [
        "cfac575bc604f1c67c8e73a8469bcc8bd15d12c0"
      ],
      "author": {
        "name": "Alex Buynytskyy",
        "email": "alexbuy@google.com",
        "time": "Thu Aug 17 04:07:50 2023 +0000"
      },
      "committer": {
        "name": "Android Build Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Thu Aug 17 04:07:50 2023 +0000"
      },
      "message": "UpsideDownCake is now 34\n\nIgnore-AOSP-First: UpsideDownCake Finalization\nBug: 275409981\nTest: build\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8bc31011a242dddb401273b5b6505b49b649ae67)\nMerged-In: Ic36cad45118f0220e44279a8b6ac89d22c3319d3\nChange-Id: Ic36cad45118f0220e44279a8b6ac89d22c3319d3\n"
    },
    {
      "commit": "3438c64b9e61133fc2b525f78755ed190cbb957d",
      "tree": "8616ec6c0866b966d03763a46cb1bb5058e338d4",
      "parents": [
        "cfac575bc604f1c67c8e73a8469bcc8bd15d12c0"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Aug 16 19:28:16 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Aug 17 02:18:22 2023 +0000"
      },
      "message": "Rename to isTetheringFeatureNotChickenedOut\n\nExpected use case of isTetheringFeatureForceDisabled was\n`enabled \u003d !isTetheringFeatureForceDisabled`, which is error prune.\nSo this CL renames to isTetheringFeatureNotChickenedOut and updates to\nreturn true if the feature is not disabled.\nIf the feature is enabled by default and disabled by flag push (kill\nswitch), isTetheringFeatureNotChickenedOut should be used.\n\nBug: 279108992\nTest: m\nChange-Id: I5f85c24032bae298831bbf042874a63ea2c9b75f\n"
    },
    {
      "commit": "cfac575bc604f1c67c8e73a8469bcc8bd15d12c0",
      "tree": "0976c3fc1b45c9f9700e45e4418adf6a173405fe",
      "parents": [
        "6c7c50ee22da83af1ec11486c46aaec4d918e2a5",
        "25b8e8f680159c614fcb8dc1495254a66d9038ce"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Aug 14 03:15:37 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 14 03:15:37 2023 +0000"
      },
      "message": "Merge \"Fix DevSdkIgnoreRule for Q-\" into main"
    },
    {
      "commit": "e22cd536d40844a438aa638d51ae33e85a371823",
      "tree": "c77894a797eb0ce1da10eb308fc55d79cdfecaed",
      "parents": [
        "6c7c50ee22da83af1ec11486c46aaec4d918e2a5"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Aug 07 12:35:58 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Sat Aug 12 16:38:06 2023 +0900"
      },
      "message": "Add IA Address option struct.\n\nBug: 293393743\nTest: m\nChange-Id: Id4ab164579a95b87fa8a8d1d00447c6a3bd394d5\n"
    },
    {
      "commit": "f3fa68212f0b2f7fc959f51cc68a57a4cacffb94",
      "tree": "0a19056aeca6d0ad16cd8bc3a489f709f1ce0947",
      "parents": [
        "6c7c50ee22da83af1ec11486c46aaec4d918e2a5"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Aug 11 15:53:49 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Aug 11 15:53:49 2023 +0900"
      },
      "message": "Remove the VisibleForTesting annotation on IaPrefixOption constructor.\n\nFix AndroidLint warning in aosp/2691418.\n\nBug: 260934173\nTest: TH\nChange-Id: Idfaff1342931d6c3ebfd3aa2fea02ab3ed5bb6f1\n"
    },
    {
      "commit": "25b8e8f680159c614fcb8dc1495254a66d9038ce",
      "tree": "5411d4c650498f82614a1e624153d46feb4db99c",
      "parents": [
        "0e727992d62382d143acf674a2066894af1cafc8"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Aug 10 16:20:38 2023 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Aug 10 16:24:48 2023 +0900"
      },
      "message": "Fix DevSdkIgnoreRule for Q-\n\nUnboundedSdkLevel stopped working on Q as it now depends on Set.of,\nwhich is an R+ API. Arguably this should be fixed as its minSdk is still\n29, but long-term UnboundedSdkLevel may drop Q support as modules now\nonly need to support R+.\n\nAvoid using UnboundedSdkLevel on Q- in DevSdkIgnoreRule: this avoids the\nabove problem, and also makes it compatible with even older builds,\nwhich may happen in GTS.\n\nBug: 292868272\nTest: all tests using this rule\nChange-Id: I5e1559d841398a6c6763283f32c9f766a3661e21\n"
    },
    {
      "commit": "04a85d98bd046108ac6371be80bbb9940be77a40",
      "tree": "a6835ef737666a244e440d86d35c6baf9fd35540",
      "parents": [
        "629ef44e5cfc9c1a3caa0007870dc1fdd633b804"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Aug 09 05:20:21 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Aug 09 05:26:36 2023 -0700"
      },
      "message": "TrackRecord: add a method to return callbacks since last poll\n\nThis change adds a backtrace() method which returns a list of events\nthat were received since the last time a user called poll() on a\nReadHead. This is particularly useful for logging observed events while\na poll was in progress that did not end up matching an event.\n\nTest: atest EthernetManagerTest\nChange-Id: If019cf9eb5e3e9268c5e6b74edbd8f49959cc71c\n"
    },
    {
      "commit": "6c7c50ee22da83af1ec11486c46aaec4d918e2a5",
      "tree": "8154bf908285401833d088afe272f1eb5e261876",
      "parents": [
        "629ef44e5cfc9c1a3caa0007870dc1fdd633b804"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Wed Aug 09 18:08:10 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Wed Aug 09 18:08:10 2023 +0900"
      },
      "message": "Move RFC7421_PREFIX_LENGTH from NetworkConstants to NetworkStackConstants.\n\nNetworkStack module imports RFC7421_PREFIX_LENGTH constant from\nfilegroup services-connectivity-shared-srcs, to get rid of this\ndependency, move the constants to NetworkStackConstants.\n\nBug: 290885904\nTest: TH\nChange-Id: I0e8f068856c8843121273e0b598097d82b8465d5\n"
    },
    {
      "commit": "83b8e80a1c7eddf2b7e09eb85cca5e1419c6018d",
      "tree": "ba4082dde6c6aa23feed6be337d9c927e6ad2e97",
      "parents": [
        "965ff607d955e0b1e6ee483a5ff1b737f1cbd98e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Aug 07 22:25:17 2023 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 08 14:26:10 2023 -0700"
      },
      "message": "Fix kotlin nullable errors in net-test-utils and NetworkStaticLibTests\n\nFix kotlin nullable errors that were exposed by setting the retention\nof android.annotation.NonNull and android.annotation.Nullable to\nclass retention.\n\nBug: 294110802\nTest: builds\nChange-Id: I2a2c91188b64619fca190a9bd7812d32f9610abd\n"
    },
    {
      "commit": "629ef44e5cfc9c1a3caa0007870dc1fdd633b804",
      "tree": "5a805951c8132317786f3ea3641db50fe2702a1d",
      "parents": [
        "61ed2bd801ec3d7f27e8871aa6f4c497520c8b6e",
        "21d41f0d6d6b99d2737ca68568c6e276bff60765"
      ],
      "author": {
        "name": "Jean Chalard",
        "email": "jchalard@google.com",
        "time": "Mon Aug 07 05:21:57 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 07 05:21:57 2023 +0000"
      },
      "message": "Merge \"Add constants for clat and v6 fragmentation\" into main"
    },
    {
      "commit": "61ed2bd801ec3d7f27e8871aa6f4c497520c8b6e",
      "tree": "9fdc5fb99ed764a5eb06b9059c2ee4b61b242ad3",
      "parents": [
        "965ff607d955e0b1e6ee483a5ff1b737f1cbd98e"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Aug 03 15:37:28 2023 +0900"
      },
      "committer": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Sun Aug 06 17:34:58 2023 +0900"
      },
      "message": "Add helpers method to SharedLog\n\nBug: 294326360\nTest: atest FrameworksNetTests\nChange-Id: Ib8ba3e9a556a70de28813465396c6609b7c22333\n"
    },
    {
      "commit": "965ff607d955e0b1e6ee483a5ff1b737f1cbd98e",
      "tree": "49b6f0bc3a516974406ae04aebfe86544b912a92",
      "parents": [
        "af928004be9efbfa6b774b53e3c7fa4a98409e40",
        "d5263c96fea3fa6f950903e919f7c9c670e521c5"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Thu Aug 03 06:58:28 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 03 06:58:28 2023 +0000"
      },
      "message": "Merge \"Add isFeatureSupported and isTetheringFeatureForceDisabled methods\" into main"
    },
    {
      "commit": "af928004be9efbfa6b774b53e3c7fa4a98409e40",
      "tree": "57dd89e1ce0582ea2ac02af44096c736c4aac97e",
      "parents": [
        "9dc7d3a4cef52cbaf8126762942c3d6964be591c",
        "47ebda9aae454e2fec05f059c30d417be8f72a6d"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Thu Aug 03 06:58:20 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 03 06:58:20 2023 +0000"
      },
      "message": "Merge \"Add resolvePkgPrefix() method\" into main"
    },
    {
      "commit": "d5263c96fea3fa6f950903e919f7c9c670e521c5",
      "tree": "8b27ec8c8686d2ffc0df98420438f95ad51fb2b5",
      "parents": [
        "47ebda9aae454e2fec05f059c30d417be8f72a6d"
      ],
      "author": {
        "name": "chiachangwang",
        "email": "chiachangwang@google.com",
        "time": "Mon Jul 31 14:06:28 2023 +0000"
      },
      "committer": {
        "name": "chiachangwang",
        "email": "chiachangwang@google.com",
        "time": "Wed Aug 02 13:12:14 2023 +0000"
      },
      "message": "Add isFeatureSupported and isTetheringFeatureForceDisabled methods\n\nAdd isFeatureSupported helper method to check whether\na specific feature is supported. This is useful when a specific\nmodule version is required on a cross module feature, e.g.\na connectivity feauture requires to work with a older\nnetworkstack module.\n\nThis commit also adds isTetheringFeatureForceDisabled() method\nas a method that refers to DeviceConfig which can be controlled\nto explicitly disabled.\n\nBug: 291870956\nTest: atest FrameworksNetTests NetworkStaticLibTests\nChange-Id: I511d00663e2378c36b4ca017db4b88d88f650852\n"
    },
    {
      "commit": "9dc7d3a4cef52cbaf8126762942c3d6964be591c",
      "tree": "d5a5c47b703fd92f1acf9ce64a1b5578101ddf6c",
      "parents": [
        "0e727992d62382d143acf674a2066894af1cafc8",
        "239041d18cd7caf47c06f18c3d2dc82b1d853230"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 02 07:09:04 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 02 07:09:04 2023 +0000"
      },
      "message": "Merge \"Use requestNetwork for mobile data, not a callback\" into main"
    },
    {
      "commit": "0e727992d62382d143acf674a2066894af1cafc8",
      "tree": "bdf6323900b82a41def8c7b213210ad3d4861b68",
      "parents": [
        "13143a7ec4d1d22b6120c0b1c3e7df2a6edb9b3f",
        "fe08d94397aee75d5e76821996eaa13f70cabec6"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 02 00:58:40 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 02 00:58:40 2023 +0000"
      },
      "message": "Merge \"Add DomainsUtils class to encode/decode domain names.\" into main"
    },
    {
      "commit": "239041d18cd7caf47c06f18c3d2dc82b1d853230",
      "tree": "8f4186922f73896686494c93f91e6e8f7d79a353",
      "parents": [
        "13143a7ec4d1d22b6120c0b1c3e7df2a6edb9b3f"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 01 08:48:26 2023 +0000"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 01 08:48:32 2023 +0000"
      },
      "message": "Use requestNetwork for mobile data, not a callback\n\nOn devices that do not have always active mobile data, it needs\nto be requested for onAvailable to be called.\n\nChange-Id: Ic814684bcd06389c013a6e6636487d9b47627901\nTest: TH\n"
    },
    {
      "commit": "13143a7ec4d1d22b6120c0b1c3e7df2a6edb9b3f",
      "tree": "b1434af3a253ee22ff025aae90e33474ddedabd6",
      "parents": [
        "e85f13216e9c9e2e0f2b6907ef5c331051900dfd",
        "89e5e38760e7e0d6b162db5ade0d1fabdd74d49f"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Tue Aug 01 05:46:23 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 01 05:46:23 2023 +0000"
      },
      "message": "Merge \"Add Ipv6PktInfo (in6_pktinfo) struct.\" into main"
    },
    {
      "commit": "47ebda9aae454e2fec05f059c30d417be8f72a6d",
      "tree": "315e6e5309dd11d704af8351dc1f59dbcc3b29c7",
      "parents": [
        "e85f13216e9c9e2e0f2b6907ef5c331051900dfd"
      ],
      "author": {
        "name": "chiachangwang",
        "email": "chiachangwang@google.com",
        "time": "Mon Jul 31 14:01:24 2023 +0000"
      },
      "committer": {
        "name": "chiachangwang",
        "email": "chiachangwang@google.com",
        "time": "Mon Jul 31 14:01:24 2023 +0000"
      },
      "message": "Add resolvePkgPrefix() method\n\nThis is a no-op refactor change to create resolvePkgPrefix()\nhelper method to prevent code duplication for the follow up\ncommit.\n\nBug: 291870956\nTest: atest NetworkStaticLibTests\nChange-Id: I8deea97acdb793dfa076ce55f7f2c3eb0b224461\n"
    },
    {
      "commit": "e85f13216e9c9e2e0f2b6907ef5c331051900dfd",
      "tree": "e9ab1eb22c0f081bdf4dfd450cfb069f424cfbb0",
      "parents": [
        "28e9d23b38309f9c6bb6828937af6f5210063747",
        "1dd23991514ee599e49fa57d5d134dff89d2afa0"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Fri Jul 28 02:06:17 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 28 02:06:17 2023 +0000"
      },
      "message": "Merge \"Make SkipPresubmit annotation visible by HostsideVpnTests\" into main"
    },
    {
      "commit": "28e9d23b38309f9c6bb6828937af6f5210063747",
      "tree": "10c7587af9576515baff93bb8a51331778ed4390",
      "parents": [
        "fe85dadaf36fe05d8d8c7dc30459627765e7e032",
        "4b1c31461067ef904750a9c2884aa8aeb73c577b"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Thu Jul 27 16:27:00 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 27 16:27:00 2023 +0000"
      },
      "message": "Merge \"Remove truth lib denpendency temporarily due to code coverage regression.\" into main"
    },
    {
      "commit": "89e5e38760e7e0d6b162db5ade0d1fabdd74d49f",
      "tree": "ffbe3849c758fe3042a310ccfd75e67607711fdf",
      "parents": [
        "6505569da0d51a83de3399628249b57a856a31f7"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Jul 27 14:51:53 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Jul 27 15:17:24 2023 +0900"
      },
      "message": "Add Ipv6PktInfo (in6_pktinfo) struct.\n\nin6_pktinfo structure specifies the source IPv6 address and interface\nfor an outgoing packet(used with UDP or RAW socket), we can specify the\nIPV6_PKTINFO ancillary data on sendmsg() with this structure to set the\nsource address (e.g. a global IPv6 address).\n\nBug: 293393743\nTest: TH\nChange-Id: I2bd8ea6fcdb7398db9b3a54243c81ca27e832e45\n"
    },
    {
      "commit": "4b1c31461067ef904750a9c2884aa8aeb73c577b",
      "tree": "21b42ff8ca0494debe13696e87a57dab6e00a5c0",
      "parents": [
        "6505569da0d51a83de3399628249b57a856a31f7"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Jul 27 12:09:41 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Jul 27 12:12:41 2023 +0900"
      },
      "message": "Remove truth lib denpendency temporarily due to code coverage regression.\n\nBug: 291341416\nTest: atest NetworkStaticLibTests\nChange-Id: Id8fac2ff76dab174761fbc48d0599bcce81918ed\n"
    },
    {
      "commit": "fe85dadaf36fe05d8d8c7dc30459627765e7e032",
      "tree": "30e57d109d1b38794cec5c178c979ad910aef11f",
      "parents": [
        "6505569da0d51a83de3399628249b57a856a31f7",
        "b330bb6a1405bda16f09466334907aae11d5ccfa"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jul 27 02:13:22 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 27 02:13:22 2023 +0000"
      },
      "message": "Merge \"Add an annotation for @SkipMainlinePresubmit\" into main"
    },
    {
      "commit": "1dd23991514ee599e49fa57d5d134dff89d2afa0",
      "tree": "b09ea71b592fd4489f6b229aedc35460f113157f",
      "parents": [
        "5f77fd5470c29322aaec270be3af8bbe2b13a457"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Jul 26 14:41:33 2023 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Jul 26 14:42:56 2023 +0800"
      },
      "message": "Make SkipPresubmit annotation visible by HostsideVpnTests\n\nTest: TH\nBug: 291701394\nChange-Id: I93d72a809b2779deec3c8182c5efed6d38393ab8\n"
    },
    {
      "commit": "b330bb6a1405bda16f09466334907aae11d5ccfa",
      "tree": "d6a36b3c54aa40aba0de1d32d1fa38bf5ef4eb4a",
      "parents": [
        "94a8fe633ee6a550c5ebbb14c04450c13b2836c2"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jul 26 13:36:02 2023 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jul 26 13:37:47 2023 +0900"
      },
      "message": "Add an annotation for @SkipMainlinePresubmit\n\nThis will typically be used in mainline-presubmit TEST_MAPPING\nconfiguration to exclude some tests.\n\nThis is necessary as some tests are flaky in mainline configurations\n(when running on older devices), and they need to be disabled to meet\nSLO requirements, but they are not flaky on presubmit using the latest\nplatform builds.\n\nTest: m\nChange-Id: Ia532d6d3f9833ddec613d79c0eb517d20a1c529a\n"
    },
    {
      "commit": "6505569da0d51a83de3399628249b57a856a31f7",
      "tree": "e1f9be7ee9531f7e9906b40d7dac62408caa19fa",
      "parents": [
        "81402e4050b5b562936045fe73dc2b6de4b55094",
        "0bfde725d551f26cd537acc5990dc147a480fe85"
      ],
      "author": {
        "name": "Mike Yu",
        "email": "yumike@google.com",
        "time": "Wed Jul 26 03:17:09 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 26 03:17:09 2023 +0000"
      },
      "message": "Merge \"Add DnsResolverModuleTest annotation\" into main"
    },
    {
      "commit": "fe08d94397aee75d5e76821996eaa13f70cabec6",
      "tree": "d26c6e4331c2e60f275c709a9639a8b959dae8ef",
      "parents": [
        "307a9be126e3bf29e35e5b953864bc0f34dd3a4f"
      ],
      "author": {
        "name": "fqjc86",
        "email": "fqjc86@zebra.com",
        "time": "Sun Jul 23 00:28:01 2023 +0530"
      },
      "committer": {
        "name": "fqjc86",
        "email": "fqjc86@zebra.com",
        "time": "Tue Jul 25 18:29:23 2023 +0530"
      },
      "message": "Add DomainsUtils class to encode/decode domain names.\n\nBoth encode and deocde methods support message compression which is\ndescribed in RFC1035 section 4.1.4. We can leverage both methods in\na follow-up CL to parse DHCPv4 option 119 and DNSSL RA option.\n\nThis cl also adds maxLabelCount argument for DnsRecordParser#parseName\nto prevent the potential recursion from overflowing the stack.\n\nBug: 189865016\nTest: atest NetworkStaticLibTests\nChange-Id: I90101ecda64bfecb0233e80ea93c91c204fbf176\n"
    },
    {
      "commit": "81402e4050b5b562936045fe73dc2b6de4b55094",
      "tree": "92918b20c18d6b3111973894c03836472ee77738",
      "parents": [
        "4e9068b4b946c107388271d9922e3047fd45adf2",
        "4a49d9a381a9b0e8e309cda3d2f7ec36c9c18ade"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Jul 24 19:08:57 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 24 19:08:57 2023 +0000"
      },
      "message": "Merge \"BpfClassic - add three more macros\" into main"
    },
    {
      "commit": "4e9068b4b946c107388271d9922e3047fd45adf2",
      "tree": "8a87f8b785804f7ba2a27d7eb98e703a0cf98d9a",
      "parents": [
        "307a9be126e3bf29e35e5b953864bc0f34dd3a4f"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Tue Jun 20 18:49:13 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Jul 24 12:51:01 2023 +0900"
      },
      "message": "Add RouteInformation option Struct.\n\nThis structure is useful when building an RA with RIO for integration\ntests and verify the device\u0027s provisioning behavior, for example, check\nif devices in ULA networks can recover its IPv6 connectivity from\nreceiving a normal RA after losing IPv6 default route (e.g. received RA\nwith zero router lifetime).\n\nBug: 183601771\nTest: m\nChange-Id: I13b85000ea1633f56edc74e3d62b7a38b9a851bf\n"
    },
    {
      "commit": "4a49d9a381a9b0e8e309cda3d2f7ec36c9c18ade",
      "tree": "15938d97b05611b1713876fc44c5228acc47c352",
      "parents": [
        "307a9be126e3bf29e35e5b953864bc0f34dd3a4f"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jul 21 22:37:18 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jul 22 14:32:47 2023 +0000"
      },
      "message": "BpfClassic - add three more macros\n\nExample use case:\n  BPF_LOAD_SKB_PROTOCOL,\n  BPF2_ACCEPT_IF_EQUAL(ETH_P_ARP),\n  BPF2_REJECT_IF_NOT_EQUAL(ETH_P_IP),\n  BPF_LOAD_IPV4_BE16(frag_off),\n  BPF2_REJECT_IF_ANY_BITS_SET(IP_MF | IP_OFFMASK),\n  BPF_ACCEPT,\nwhich is a sample program which accepts ARP plus non-fragmented IPv4.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ibe6f9f7941f11bc7b767a092d3d108fa0291f360\n"
    },
    {
      "commit": "307a9be126e3bf29e35e5b953864bc0f34dd3a4f",
      "tree": "58e64c25c95c8af646e59f75e605d98b932a1010",
      "parents": [
        "2918581faf499dcf4ce1c7a571ce55a9674bf14a",
        "f4a209375572dbd6ef68df47fad33034c1830fbf"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jul 20 12:02:48 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 12:02:48 2023 +0000"
      },
      "message": "Merge \"Move ticksToMilliSeconds to NetlinkUtils.\" into main"
    },
    {
      "commit": "2918581faf499dcf4ce1c7a571ce55a9674bf14a",
      "tree": "51400f42987fd85cfec5fc542b3754703a2e362d",
      "parents": [
        "68f5cb769ff8b5b838d9b0043a0df2e27ee8e6ad",
        "9b8c9879900f2cde0aed2a1e068a3739589dff9d"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Jul 20 09:03:24 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 09:03:24 2023 +0000"
      },
      "message": "Merge \"Add DomainsUtils class to encode/decode domain names.\" into main"
    },
    {
      "commit": "f4a209375572dbd6ef68df47fad33034c1830fbf",
      "tree": "5022d3e65a786c24728843b3157fb7bfa7028f9b",
      "parents": [
        "5f77fd5470c29322aaec270be3af8bbe2b13a457"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Wed Jul 19 12:37:16 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Jul 20 16:54:46 2023 +0900"
      },
      "message": "Move ticksToMilliSeconds to NetlinkUtils.\n\nticksToMilliSeconds is used to convert the clock ticks to milliseconds,\nmove it to a common utils class, we can call this method to convert the\nrta_cacheinfo.rta_expires in user space as well to get when the default\nroute will expire.\n\nBug: 183601771\nTest: atest NetworkStaticLibTests\nChange-Id: Iabd510fe290f835a8fe690d91921d5b706a23b56\n"
    },
    {
      "commit": "68f5cb769ff8b5b838d9b0043a0df2e27ee8e6ad",
      "tree": "77bc7a305ab62d51999bf325e67d3049343f602f",
      "parents": [
        "5f77fd5470c29322aaec270be3af8bbe2b13a457"
      ],
      "author": {
        "name": "Sam Saccone",
        "email": "samccone@google.com",
        "time": "Tue Jul 18 17:20:18 2023 +0000"
      },
      "committer": {
        "name": "Sam Saccone",
        "email": "samccone@google.com",
        "time": "Tue Jul 18 17:20:18 2023 +0000"
      },
      "message": "Move OWNER reference master\u003d\u003emain.\n\nBUG\u003db/291759353\n\nChange-Id: I2879c29fc301ca381d0ebbfcb481942bdb16c5fb\n"
    },
    {
      "commit": "5f77fd5470c29322aaec270be3af8bbe2b13a457",
      "tree": "5fbd3765f00b0bb6d34f9ecdf29b3bb020d2d6e7",
      "parents": [
        "52e8790fb4ee54ec8eb4ef10282365c7fc9cbd15"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Tue Jul 04 14:58:42 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Wed Jul 12 13:32:19 2023 +0900"
      },
      "message": "Improve testBasicWorkingGetAddrQuery by checking the specific IPv4/v6 address.\n\nParse the entire RTM_NEWADDR message instead of only parsing the nlmsg\nheader and Ifaddr header. Besides, that would be better to know which IP\naddress will be returned from kernel via netlink message, that\u0027s IPv4\nand IPv6 loopback addresses.\n\nTest: atest NetworkStaticLibTests\nChange-Id: I3a01137db4a7774fa30ebdec5a1711697991b9fe\n"
    },
    {
      "commit": "9b8c9879900f2cde0aed2a1e068a3739589dff9d",
      "tree": "88e6b03667271ec9c4be062922db276b7ad1a5f0",
      "parents": [
        "52e8790fb4ee54ec8eb4ef10282365c7fc9cbd15"
      ],
      "author": {
        "name": "fqjc86",
        "email": "fqjc86@zebra.com",
        "time": "Thu Jun 08 19:46:45 2023 +0800"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Tue Jul 11 18:04:18 2023 +0900"
      },
      "message": "Add DomainsUtils class to encode/decode domain names.\n\nBoth encode and deocde methods support message compression which is\ndescribed in RFC1035 section 4.1.4. We can leverage both methods in\na follow-up CL to parse DHCPv4 option 119 and DNSSL RA option.\n\nThis cl also adds maxLabelCount argument for DnsRecordParser#parseName\nto prevent the potential recursion from overflowing the stack.\n\nBug: 189865016\nTest: atest NetworkStaticLibTests\nChange-Id: I624649c224f141848a475ac85c56012d138c5224\n"
    },
    {
      "commit": "52e8790fb4ee54ec8eb4ef10282365c7fc9cbd15",
      "tree": "7d475c08f5a39b9a86d6da1ca71ef1f7aa29dbf0",
      "parents": [
        "c79555b0896fb3afef664cc42a5187edf753d36f",
        "d0ac305e1d8f0a9bf398a4657145686863e8e77b"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Jul 10 04:08:55 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 10 04:08:55 2023 +0000"
      },
      "message": "Merge \"Remove duplicated IfaddrMsg and RtgenMsg Struct used in NetlinkUtilsTests.\" into main"
    },
    {
      "commit": "d0ac305e1d8f0a9bf398a4657145686863e8e77b",
      "tree": "208cf4f5dca65ba9c445c01a91667db88d6aff80",
      "parents": [
        "b8a77a3d32b52bd22989215e64c4c0842ba500b6"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Tue Jul 04 12:38:24 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Jul 10 11:12:33 2023 +0900"
      },
      "message": "Remove duplicated IfaddrMsg and RtgenMsg Struct used in NetlinkUtilsTests.\n\nBug: 263222068\nTest: atest NetworkStaticLibTests\nChange-Id: Iea5f91e0b20db7cd4cb4451b06e713dd68e9c387\n"
    },
    {
      "commit": "c79555b0896fb3afef664cc42a5187edf753d36f",
      "tree": "c06e77d358687616590a7dd23837231c10130196",
      "parents": [
        "224a5710be53ee5f027e5e3cc2926cc852834910"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri Jul 07 15:58:36 2023 +0000"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri Jul 07 15:58:53 2023 +0000"
      },
      "message": "OWNERS: add buganizer component for tests in f/l/n\n\nChange-Id: Idde8912d6916db9ad735a8e84559c863cc885425\nBug: 288144094\n"
    },
    {
      "commit": "224a5710be53ee5f027e5e3cc2926cc852834910",
      "tree": "f82622766a02dda9df8df17081c40b7f46b03538",
      "parents": [
        "b8a77a3d32b52bd22989215e64c4c0842ba500b6"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Jul 04 17:54:39 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Jul 07 15:57:58 2023 +0900"
      },
      "message": "Use default package version in isFeatureEnabled if package is not found\n\nBug: 287359634\nBug: 289173013\nTest: atest HostsideVpnTests\nChange-Id: I379cde0391f96a8ac5dcdb2ff7723ea950684e36\n"
    },
    {
      "commit": "b8a77a3d32b52bd22989215e64c4c0842ba500b6",
      "tree": "0aa2b7af8b3737e782e8efe6d804583c634906e5",
      "parents": [
        "add1b6c14d2610b5aa96f25cdffcb13ad64ffda8"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Wed Feb 08 16:17:42 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Jun 30 23:52:23 2023 +0900"
      },
      "message": "Add a method helper to create RTM_DELADDR message in user space.\n\nBug: 260934173\nBug: 263222068\nTest: atest NetworkStaticLibTests\nChange-Id: Ibddaed91b12d3f27778d0bd2171bc5be38ff8bda\n"
    },
    {
      "commit": "add1b6c14d2610b5aa96f25cdffcb13ad64ffda8",
      "tree": "9565f3082a07eaa064db0ebd92b7e696d80544a1",
      "parents": [
        "c0f16e5f0547e7ccf51da4c814c33d3525679441"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Jun 30 23:00:25 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Jun 30 23:48:27 2023 +0900"
      },
      "message": "Remove StructIfaddrMsg ctor VisibleForTesting annotation.\n\nThis allows other class to refer StructIfaddrMsg constructor as well,\notherwise, the default visibility is private.\n\nBug: 263222068\nTest: atest NetworkStaticLibTests\nChange-Id: If571b014ade51e3387748a4df0abcb49b59cb462\n"
    },
    {
      "commit": "c0f16e5f0547e7ccf51da4c814c33d3525679441",
      "tree": "f220e579bc9f1bf89668239c5c0cc2dec30630f7",
      "parents": [
        "7c63d2b85902582a331d756dfabc038dd912e3b1",
        "662e6228c1da56c53a7fd8f88f210333a3e067d0"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Jun 27 03:21:08 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 27 03:21:08 2023 +0000"
      },
      "message": "Merge \"Parse DnsRecord by factory method\""
    },
    {
      "commit": "0bfde725d551f26cd537acc5990dc147a480fe85",
      "tree": "e733cee14e03a89f7a98eccdbb0e4aaf56161bb1",
      "parents": [
        "7c63d2b85902582a331d756dfabc038dd912e3b1"
      ],
      "author": {
        "name": "Mike Yu",
        "email": "yumike@google.com",
        "time": "Tue Jun 06 11:28:57 2023 +0000"
      },
      "committer": {
        "name": "Mike Yu",
        "email": "yumike@google.com",
        "time": "Mon Jun 26 07:40:18 2023 +0000"
      },
      "message": "Add DnsResolverModuleTest annotation\n\nThis annotation can be used to mark a test case that requires\nthe latest resolv module. Tests that don\u0027t run with the latest\nresolv module (for example CtsNetTestCasesLatestSdk) can exclude\nthe testcases being flaky due to some known issues in old resolv\nmodule.\n\nBug: 279846955\nTest: TreeHugger\nChange-Id: Ie19eed1c4aa17645c4eec45493e7999027a01205\n"
    },
    {
      "commit": "662e6228c1da56c53a7fd8f88f210333a3e067d0",
      "tree": "b7d385dee6ff3a346f039cc1150bd52df3f6b2e0",
      "parents": [
        "6281a37d04cabf549c6acf581e74d5824a1db5de"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Jun 21 13:16:10 2023 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Mon Jun 26 14:52:21 2023 +0800"
      },
      "message": "Parse DnsRecord by factory method\n\nCurrently, DnsPacket calls DnsRecord constructor to create\nDnsRecord instances from a ByteBuffer. However, invoking\nDnsRecord constructor cannot create subclass instances of\nDnsRecord.\n\nTo fix this, use a factory method to parse DnsRecord. This\nfactory method will peek the nsType field of the DnsRecord\nas an argument, and it will use this field to determine which\nsubclass of DnsRecord to create.\n\nThis change is no-op, because it does not change the\nfunctionality of DnsPacket. However, it does allow subsequent\nchanges to create subclass instances of DnsRecord in the future.\n\nTest: atest ConnectivityCoverageTests:android.net.connectivity.com.android.net.module.util.DnsPacketTest\n\nChange-Id: Ibbdeaf6e5a844573f393f05609310658d8d225b3\n"
    },
    {
      "commit": "7c63d2b85902582a331d756dfabc038dd912e3b1",
      "tree": "967b444ea12148c05e52d691c7a4b66ceee63ac7",
      "parents": [
        "32fd2a2a0bcd8a03b4c97b57c8fb3c3e10a23ba6",
        "2eafd9f46ae65ad411645dbd721c2a4811d2a6b6"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Jun 23 03:54:37 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 23 03:54:37 2023 +0000"
      },
      "message": "Merge \"Add a dumpService variant that uses libbinder_ndk.\""
    },
    {
      "commit": "2eafd9f46ae65ad411645dbd721c2a4811d2a6b6",
      "tree": "5807b26bbbc6becb1c0c3361a2cc405e02462e45",
      "parents": [
        "42d445afe1f5acdc3aba86fac0f283d4958e8596"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue May 23 18:41:39 2023 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jun 22 19:14:10 2023 +0900"
      },
      "message": "Add a dumpService variant that uses libbinder_ndk.\n\nThe one in this file requires libbinder and cannot be used when\nlibbinder is not present (e.g., when compiling against the NDK).\nThis allows users of this code not to link against libbinder, and\nhave the resulting binary not depend on it:\n\n$ m CtsNativeNetPlatformTestCases netd_integration_test\n$ objdump -p out/target/product/vsoc_x86_64/testcases/netd_integration_test/x86_64/netd_integration_test64 | grep NEEDED | grep libbinder\n  NEEDED               libbinder.so\n  NEEDED               libbinder_ndk.so\n$ objdump -p out/target/product/vsoc_x86_64/testcases/CtsNativeNetPlatformTestCases/x86_64/CtsNativeNetPlatformTestCases64 | grep NEEDED | grep libbinder\n  NEEDED               libbinder_ndk.so\n$\n\nBug: 268440865\nTest: see other CL in topic\nMerged-In: Icf982675aad4777677a36e357035809fb251d6e9\nChange-Id: Icf982675aad4777677a36e357035809fb251d6e9\n"
    },
    {
      "commit": "21d41f0d6d6b99d2737ca68568c6e276bff60765",
      "tree": "8b1ffffebb97b2a5da984ab401e8ee8353df9ef4",
      "parents": [
        "f2cfed69e39227bccbfdbbe454814c02006c9912"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jun 22 15:55:03 2023 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jun 22 17:39:08 2023 +0900"
      },
      "message": "Add constants for clat and v6 fragmentation\n\nTest: manual\nChange-Id: Ic18186c1a09c2bb79e7727c70d2d46d511a23075\n"
    },
    {
      "commit": "32fd2a2a0bcd8a03b4c97b57c8fb3c3e10a23ba6",
      "tree": "eb5aacd53b616e6bb7995661f6fe6e1860108e35",
      "parents": [
        "702751880674c1b74e093397102483ab942979ef",
        "007a521d87d6d7d7ba61cfa38ecd146e6551a2b0"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Jun 22 05:40:53 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 22 05:40:53 2023 +0000"
      },
      "message": "Merge \"Parse rta_cacheinfo structure in RtNetlinkRouteMessage.\""
    },
    {
      "commit": "702751880674c1b74e093397102483ab942979ef",
      "tree": "ae2490f633abd9d8ed5707b1143880f898b6ecaf",
      "parents": [
        "f2cfed69e39227bccbfdbbe454814c02006c9912",
        "520b233aa52d89041c9a012db0ac3bb6853d76c5"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Jun 22 05:39:30 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 22 05:39:30 2023 +0000"
      },
      "message": "Merge \"Add netlink rta_cacheinfo structure.\""
    },
    {
      "commit": "007a521d87d6d7d7ba61cfa38ecd146e6551a2b0",
      "tree": "2c41221be631cd108d7896e9be50d07d4fe32901",
      "parents": [
        "520b233aa52d89041c9a012db0ac3bb6853d76c5"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Jun 19 13:11:23 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Jun 22 10:37:39 2023 +0900"
      },
      "message": "Parse rta_cacheinfo structure in RtNetlinkRouteMessage.\n\nBug: 183601771\nTest: atest NetworkStaticLibTests\nChange-Id: I9ea55ad297f5183853eeaa2e53f2406d79a90a20\n"
    },
    {
      "commit": "520b233aa52d89041c9a012db0ac3bb6853d76c5",
      "tree": "315b72172833a9ed79c5487df40a76ed767f68cf",
      "parents": [
        "42d445afe1f5acdc3aba86fac0f283d4958e8596"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Jun 19 12:44:57 2023 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Thu Jun 22 10:37:27 2023 +0900"
      },
      "message": "Add netlink rta_cacheinfo structure.\n\nBug: 183601771\nTest: m\nChange-Id: Iaa65425fa875a9dde4d4b7c1b110d9a2a406f444\n"
    },
    {
      "commit": "f2cfed69e39227bccbfdbbe454814c02006c9912",
      "tree": "2307107fafb09cbb4f8056469f3de15f1f9dcf6e",
      "parents": [
        "837f6c056d7510d9cb0c16611be55c13aa033afc",
        "94a8fe633ee6a550c5ebbb14c04450c13b2836c2"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Jun 20 20:04:09 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 20 20:04:09 2023 +0000"
      },
      "message": "enforce bpf ring buffer size is a power of two am: 94a8fe633e\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/libs/net/+/2628132\n\nChange-Id: Idccc5feb47eaac5a74a188cb6c325ddd9f0c8490\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "94a8fe633ee6a550c5ebbb14c04450c13b2836c2",
      "tree": "2307107fafb09cbb4f8056469f3de15f1f9dcf6e",
      "parents": [
        "fe6bc5111324eebeeed05168f932486528977706"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 16 16:30:46 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 17 11:26:21 2023 +0000"
      },
      "message": "enforce bpf ring buffer size is a power of two\n\nWhile at it enforce a min/max of 4 kiB and 256 MiB.\n\nA bpf ringbuffer must be an integer multiple of page size\n(which is at least 4kiB), so 4kB is forced.\n\n256 MiB upper limit is probably higher than it should be,\nbut it\u0027s really only here to avoid the u32/s32 conversion\nmess that happens for 2+ GiB.\n\nTest: TreeHugger\nBug: 279819914\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I2216d2273b0956a86c4222dd6ecf7293e0bafd41\n"
    }
  ],
  "next": "837f6c056d7510d9cb0c16611be55c13aa033afc"
}
