)]}'
{
  "log": [
    {
      "commit": "f2a51ac5f8cc6b1cfaaa0f8fd5c28af522806ca0",
      "tree": "7f02669c2b0ec5482f7b674b26cb6ef23d8b6ffd",
      "parents": [
        "3e497c7b1ec6291fd21d78ca832e0f486eb93ef4"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Wed Apr 26 10:17:48 2023 +0800"
      },
      "committer": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Thu May 11 15:17:21 2023 +0800"
      },
      "message": "Remove the ServiceTypeClient after socket destroyed\n\nThe ServiceTypeClient should be removed after socket destroyed\nbecause it\u0027s no longer used by any request. The requests will be\nmatched to the newly created ServiceTypeClient.\n\nBug: 278635632\nTest: atest FrameworksNetTests CtsNetTestCases\nChange-Id: Ia917b14d3666f3bfe8e874606a34800a4ce65c5a\n"
    },
    {
      "commit": "9d252413375019196a55ad2da8635344ae88a640",
      "tree": "642399954f76bad968128320d3b66c384f947a2b",
      "parents": [
        "86179beedb76bc5dc8414fea08c63a683b1caac1",
        "e68c42b8887028468cfde97e0b670ce97000fa9d"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Fri Apr 14 09:54:49 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 14 09:54:49 2023 +0000"
      },
      "message": "Merge changes from topic \"statsaccess\"\n\n* changes:\n  Check MAINLINE_NETWORK_STACK as well to make GTS can access proper stats\n  Move checkAnyPermissionOf to PermissionUtils\n"
    },
    {
      "commit": "99fdf930666a56172615bb374ad39cb3d1cca86c",
      "tree": "bd2941e06b2d839a4c410c35b45f09ffddaf236e",
      "parents": [
        "5864b59462ee43225a8ce2302f7711e90f171bcf"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Wed Apr 12 15:24:02 2023 +0800"
      },
      "committer": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Wed Apr 12 15:24:02 2023 +0800"
      },
      "message": "Add missed NSD event name\n\nSome events are missed their name in the EVENT_NAMES array and\nshows the number on dumpsys logs. Add their name to the event\narray to show correct info.\n\nBefore:\n rec[0]: time\u003d04-12 15:15:23.553 processed\u003dDefaultState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003d21\n rec[1]: time\u003d04-12 15:15:23.555 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dREGISTER_SERVICE\n rec[2]: time\u003d04-12 15:15:24.375 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dDISCOVER_SERVICES\n rec[3]: time\u003d04-12 15:15:25.338 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003d23\n rec[4]: time\u003d04-12 15:15:25.342 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dRESOLVE_SERVICE\n rec[5]: time\u003d04-12 15:15:25.344 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003d23\n rec[6]: time\u003d04-12 15:15:25.358 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dUNREGISTER_SERVICE\n rec[7]: time\u003d04-12 15:15:25.551 processed\u003dDefaultState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003d22\n\nAfter:\n rec[0]: time\u003d04-12 15:19:58.955 processed\u003dDefaultState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dREGISTER_CLIENT\n rec[1]: time\u003d04-12 15:19:58.958 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dREGISTER_SERVICE\n rec[2]: time\u003d04-12 15:19:59.979 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dDISCOVER_SERVICES\n rec[3]: time\u003d04-12 15:20:00.768 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dMDNS_DISCOVERY_MANAGER_EVENT\n rec[4]: time\u003d04-12 15:20:00.777 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dRESOLVE_SERVICE\n rec[5]: time\u003d04-12 15:20:00.778 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dMDNS_DISCOVERY_MANAGER_EVENT\n rec[6]: time\u003d04-12 15:20:00.785 processed\u003dEnabledState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dUNREGISTER_SERVICE\n rec[7]: time\u003d04-12 15:20:00.925 processed\u003dDefaultState org\u003dEnabledState dest\u003d\u003cnull\u003e what\u003dUNREGISTER_CLIENT\n\nTest: adb shell dumpsys servicediscovery\nBug: 275004614\nChange-Id: I9c05efc2d2993af353a2a902fd8810f53ab2cd16\n"
    },
    {
      "commit": "e68c42b8887028468cfde97e0b670ce97000fa9d",
      "tree": "b3599d2d6d3e0513c58ef57da2e9beccf959b3d4",
      "parents": [
        "4c6fe239fe1f0ea0f00d31202e25786f10df1ca7"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Apr 11 10:49:49 2023 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Apr 11 14:56:15 2023 +0800"
      },
      "message": "Check MAINLINE_NETWORK_STACK as well to make GTS can access proper stats\n\nFollow up from aosp/1933093. The test failed because certain\ndevices use a flattened apex that lacks the NETWORK_STACK\npermission for sharing with the GTS apk.\nAdditionally, the NetworkStatsAccess does not recognize the\nGTS apk, which holds the MAINLINE_NETWORK_STACK permission.\n\nTest: TH\nBug: 275532605\nChange-Id: Icce80a3d3dbea4a84fbd369d9b5fbe0029ab463e\n"
    },
    {
      "commit": "e2294fb13ea288637c15fb0b44a235064faec88e",
      "tree": "9fb6f1613935e0d4107fdd1f5765a68b253ecfca",
      "parents": [
        "5edc307e577d8657cc9fb233f313fbc237f76633"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Apr 10 10:38:20 2023 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Apr 10 10:38:20 2023 +0900"
      },
      "message": "Fix a var name in a comment\n\nRemaining comment from aosp/2527124\n\nTest: comment-only change\nChange-Id: Ic0418bf0bc15b854e25e211bc7399d83487fe971\n"
    },
    {
      "commit": "1bfd3ccf0b12f181e5c4f5fc55cf5406891409bd",
      "tree": "4126696f566e27a4fe9db5112c39f13f989cc32f",
      "parents": [
        "b28522599e7530a5655fea784122dc80c0b43f00"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Apr 07 11:52:48 2023 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Apr 07 12:19:10 2023 +0900"
      },
      "message": "Rename throwAboveU to throwAtLeastU\n\nAnd address other comments on aosp/2527139\n\nBug: 273963543\nTest: FrameworksNetTests\nChange-Id: I4328aea2881badc2be667b900b7ac2a296af1678\n"
    },
    {
      "commit": "843cd6ca486d22736dbaa341878fd68b909d8e11",
      "tree": "8a9e9ba22f35797b82eef796f9658f73c10903c5",
      "parents": [
        "6e12ac60b8704d2188713a573fed69fc8db79fcb"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Apr 06 16:09:13 2023 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Apr 07 02:49:28 2023 +0000"
      },
      "message": "Restore the null behavior of buildWifiTemplate\n\nThe old behavior was to only return those wifis that have\na null key/subscriber ID (e.g. not carrier wifi). To keep\nbackward compatibility, restore that behavior.\n\nAlso only crash the old methods on devices with initial\nSDK U, because it can\u0027t be mandated that devices that\nupgrade must not call these methods.\n\nBug: 273963543\nTest: FrameworksNetTests\nMerged-In: Iefb976ed86a732158964fae38e9e601001c2637a\nChange-Id: Iefb976ed86a732158964fae38e9e601001c2637a\n"
    },
    {
      "commit": "8a78f043ea16776d8509d353558d831bdf89c620",
      "tree": "55852aa3d9552af9fe346125b89b2bab26e9e142",
      "parents": [
        "2d51f333d7a0270956a23548ce7e1ae4f0bcdb94",
        "2c12f922de4e0ed016ecfc3071a7a5c201801cc6"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Apr 04 01:27:41 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 04 01:27:41 2023 +0000"
      },
      "message": "Merge \"Do not crash when passing null into buildTemplateMobileAll\""
    },
    {
      "commit": "85de09411f91f1bf489851b328559e06cb459756",
      "tree": "7b0b6b0894e6ba93a78cdd4c8ee7f3cbf14adafc",
      "parents": [
        "1a978c03003a72077d4520657723d056c6b1265e",
        "e49c11d884052be807989c7e7bf2a38445706482"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 31 04:50:32 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 31 04:50:32 2023 +0000"
      },
      "message": "Merge \"Cleanup visibility of framework-connectivity-t.impl\""
    },
    {
      "commit": "2c12f922de4e0ed016ecfc3071a7a5c201801cc6",
      "tree": "111680263dc888e6a3860969908de7f84de7beab",
      "parents": [
        "dafaf2a08bd97e98544a4ee0b1f2995c0d3d5da6"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Mar 28 17:28:01 2023 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Thu Mar 30 13:59:02 2023 +0800"
      },
      "message": "Do not crash when passing null into buildTemplateMobileAll\n\nTest: atest FrameworksNetTests:android.net.connectivity.android.net.NetworkTemplateTest\nTest: atest FrameworksNetTests:android.net.connectivity.android.net.netstats.NetworkTemplateTest\nBug: 273963543\nChange-Id: I0a8f94df124147e92d35cf474b3d69d1dee6902c\n"
    },
    {
      "commit": "9d5066b8067436da4245c9433baa0150585f2516",
      "tree": "3cf9ed1fc1d4748a95135040377de829239253a0",
      "parents": [
        "ab1bf30fb8de59de71a389d5fe864ba0f8f35570",
        "0d195ae5d41c0e21950b417a448e29fc74f48bb1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 28 01:14:42 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 28 01:14:42 2023 +0000"
      },
      "message": "Merge \"Add androidx.annotation_annotation library\""
    },
    {
      "commit": "0d195ae5d41c0e21950b417a448e29fc74f48bb1",
      "tree": "c8b6b16d13d20ef8e14463909434e31487a6ef04",
      "parents": [
        "f8189927209a1c05f0cbf0d7ebb9a89c4f8eb5d9"
      ],
      "author": {
        "name": "Xinyi Zhou",
        "email": "zxy@google.com",
        "time": "Wed Mar 22 19:06:54 2023 +0000"
      },
      "committer": {
        "name": "Xinyi Zhou",
        "email": "zxy@google.com",
        "time": "Fri Mar 24 05:40:37 2023 +0000"
      },
      "message": "Add androidx.annotation_annotation library\n\nChange-Id: Ia8b745d674262a312044cd4e2b4320917d550725\nTest: TH\nBug: 272150669\n"
    },
    {
      "commit": "123595655a2472aee85899db34f31630df05452e",
      "tree": "7ed0c1ad4e2abd36d9c9d7b1a05adc07202d886c",
      "parents": [
        "5778445ee00f1002a3790a1c1551fe3d0bc79c36",
        "37c4a9f222ec30bfb6ba380fabb4ec70e6e18673"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 24 03:37:24 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 24 03:37:24 2023 +0000"
      },
      "message": "Merge \"Add back @hide NetworkTemplate methods\""
    },
    {
      "commit": "37c4a9f222ec30bfb6ba380fabb4ec70e6e18673",
      "tree": "473131b5b4e6ba0ea9e6d1703e39bf071bca2136",
      "parents": [
        "259ccb34a442467e000b6cf5428ac90d32e5b176"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Mar 22 15:41:26 2023 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Mar 23 18:49:28 2023 +0900"
      },
      "message": "Add back @hide NetworkTemplate methods\n\nAdd back methods that were removed in recent refactoring\n(aosp/2286634).  Even though they are fully @hide, some usage by\nan OEM has been found on T.\n\nTest: atest; the methods should be unused except on the OEM device\nChange-Id: Icd67fb8b7e63cc131356a30a3044458ae2f5efff\n"
    },
    {
      "commit": "e49c11d884052be807989c7e7bf2a38445706482",
      "tree": "3468c21d27e7d17bacb67c30a641bee8f79387dd",
      "parents": [
        "2bbe771cebe5dcf38f8fee0105856672956ff010"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Mar 22 14:19:02 2023 -0700"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Mar 22 14:19:02 2023 -0700"
      },
      "message": "Cleanup visibility of framework-connectivity-t.impl\n\nFixes: 274725920\nTest: Presubmits\nChange-Id: I325f686af34720cddbbc63580edec8477a9acc45\n"
    },
    {
      "commit": "62503cfef154f780c778e79621a6795bee5c4d94",
      "tree": "71bd68cb6b37d92b5298454484bb4e26d38ba420",
      "parents": [
        "98021b650bdf3b1f1e96e2fa74873426930a6d09",
        "2e0a88c0faa003ece476f31a6d366adca7e94a2d"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Fri Mar 17 13:14:19 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 17 13:14:19 2023 +0000"
      },
      "message": "Merge \"Add a CompatChange flag to enable platform backend\""
    },
    {
      "commit": "2e0a88c0faa003ece476f31a6d366adca7e94a2d",
      "tree": "d7ea343b8e0e6f3a971d223dcfbfba8f26527383",
      "parents": [
        "d741db3334d4eb2f6724a71280179dad89691d9c"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Thu Mar 09 16:05:01 2023 +0800"
      },
      "committer": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Fri Mar 17 09:10:46 2023 +0800"
      },
      "message": "Add a CompatChange flag to enable platform backend\n\nApps targeting sdk \u003c U are considered to use a legacy native\ndaemon as NsdManager backend, but other apps use a\nplatform-integration mDNS implementation as backend. So add a\nCompatChange flag to enable platform backend for non-legacy\napps.\n\nBug: 270306772\nTest: atest FrameworksNetTests CtsNetTestCases\nChange-Id: I7ba58f8a5186fb49ad5f8aeacc8b8234bef1eabe\n"
    },
    {
      "commit": "57f3d69fd5ac73abd3d1e9857ad85397be8608e9",
      "tree": "a0cee794d5be9d0c50e56acde73f623e0e2ec966",
      "parents": [
        "e3e791bf81ffb6bbf4405966bbce4aa41bb8934d"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Mar 15 10:30:10 2023 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Mar 15 10:36:52 2023 +0000"
      },
      "message": "Use filegroup defaults for framework sources\n\nThere\u0027s now a shared defaults module for this kind of filegroup. Use\nthat and remove the previously duplicated prop.\n\nBug: 271816210\nTest: m\nChange-Id: Ia4547984a73179fdfc98c427482dd10246f9722c\n"
    },
    {
      "commit": "7ee63b68954f3bb0dd4739519b5011443e3c23bb",
      "tree": "603f9de55e5a5f69198346b2910cd78b5ea202f7",
      "parents": [
        "7dd5fce422191dd9c8ff6e08ec2f6e415ed85ffa",
        "8ac1143594397394ff84afe3e9abcdef5da3feac"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Thu Mar 09 09:13:40 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 09 09:13:40 2023 +0000"
      },
      "message": "Merge \"Remove requireNonNull check from matchesWifiNetworkKey\""
    },
    {
      "commit": "ee0e6cd701edec3342410974efaacc48fc224ed1",
      "tree": "33a43e7a0422bca01f5524b045befd83106484d9",
      "parents": [
        "6c0f75bf82683ce6c3929e1b4fc146f1e34e17fd",
        "30bd70d168160c0de177ca29718d381bbc75fa98"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Wed Mar 08 10:27:57 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 08 10:27:57 2023 +0000"
      },
      "message": "Merge \"Migrate reigster service callback backend\""
    },
    {
      "commit": "8ac1143594397394ff84afe3e9abcdef5da3feac",
      "tree": "b0fbc7273898445d87b076383a4a83ce5f88fe52",
      "parents": [
        "8eae7f26790ae0878a0f30feeb6d674835227871"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Sat Feb 04 16:07:05 2023 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Mar 07 18:16:55 2023 +0800"
      },
      "message": "Remove requireNonNull check from matchesWifiNetworkKey\n\nmatchesWifiNetworkKey expects a non-null value of the\nwifiNetworkKey, however, it might be null in practice\nand the null wifiNetworkKey will be stored into disk.\nAnd then when the matchesWifiNetworkKey is called, the\nrequireNonNull will crash the system. Thus, remove the\nrequireNonNull from matchesWifiNetworkKey to avoid\nsystem crash and handle if the wifiNetworkKey is null\nthen it should not match a template with non-empty\nmMatchWifiNetworkKeys.\n\nCheck if WifiInfo contains a null network key then skip it\nto prevent adding the identity to the network identity set.\nAlso, add a Log.wtf when setWifiNetworkKey(info.getNetworkKey()),\nthis might be useful to catch why the wifiNetworkKey is\nnull.\n\nBug: 267815242\nBug: 266598304\nTest: FrmeworksNetTests\nChange-Id: I9c21f7e3dca9482133c7e331741cf808105414e9\n"
    },
    {
      "commit": "41228921c1537a1f77523cf3330a6333b29bef0c",
      "tree": "bb596e2b33c6bf710b4610d56570ea36a16cc32e",
      "parents": [
        "8f04e0d036dc83a7620c080b868c03d2a1a1c36b"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Mon Mar 06 13:21:22 2023 -0800"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Mon Mar 06 23:15:49 2023 +0000"
      },
      "message": "Compile HalfSheetUX against framework-connectivity-t.impl\n\nHalfSheetUX uses private apis of framework-connectivity-t. It appears\nthat using just \"framework-connectivity-t\" will compile against either\nthe stubs or source of framework-connectivity-t depending on if the\nmodule was included in the same apex as it or not.\n\naosp/2462194 is adding the ability to compile modules like HalfSheetUX\noutside of the context of the apex, at which point it will start\ncompiling against stubs if we don\u0027t explicetly specify to use the\nimplementation library.\n\nBug: 254205429\nTest: m javac-check with aosp/2462194\nChange-Id: I1d41e47aa0e4e3d320b78b28cfc181fc30c4537c\nMerged-In: I1d41e47aa0e4e3d320b78b28cfc181fc30c4537c\n"
    },
    {
      "commit": "30bd70d168160c0de177ca29718d381bbc75fa98",
      "tree": "f0d0d24ba45f0df4c1261f58d1d6df0e1787c2ca",
      "parents": [
        "6477d7b697072943cfb37c54de6a418fbfba2ecb"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Feb 07 13:20:56 2023 +0000"
      },
      "committer": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Mon Mar 06 13:49:19 2023 +0800"
      },
      "message": "Migrate reigster service callback backend\n\nregisterServiceInfoCallback currently only sends updates for\naddresses added, but does not handle removes (expiration) and\nTXT/SRV record updates. Thus, migrate its backend to\nMdnsDiscoveryManager which can support the expiration update.\n\nBug: 266030646\nTest: atest FrameworksNetTests CteNetTestCases\nChange-Id: I72add213935dc1beacb6277007868ad30bd89c00\n"
    },
    {
      "commit": "d3e793d8a12a95f8585bc30df55140c524956af7",
      "tree": "8c1f36b41e4160d001ab5263df615cd9c498cefe",
      "parents": [
        "605fe2da1772ae906684a68a5807a14a2eb48486",
        "84b5936e3dab98bc3315c883fae70000825c051b"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Fri Mar 03 09:34:47 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 09:34:47 2023 +0000"
      },
      "message": "Merge changes I197fbfb8,I6375e771,I48536927\n\n* changes:\n  Add constructor which used by Android T CTS\n  Delete testUnsupportedAppUsageConstructor from coverage test\n  Add some hidden APIs back to NetworkTemplate\n"
    },
    {
      "commit": "84b5936e3dab98bc3315c883fae70000825c051b",
      "tree": "a032634f5003d3a8b9a5278a31c3d7a994385b15",
      "parents": [
        "7e6e5b425cc44f6cd1a6609c9e936cb278be9951"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Thu Mar 02 15:55:08 2023 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Fri Mar 03 15:16:36 2023 +0800"
      },
      "message": "Add constructor which used by Android T CTS\n\naosp/2241257 and aosp/2241058 are included in the mainline train\nrelease and it causes the T device can’t pass CTS-13_R2/CTS-13_R3.\nIt’s because some parameters of the constructor have been removed.\n\nAdd it back to keep backward compatibility.\n\nTest: 1. atest CtsNetTestCases:android.net.netstats.NetworkTemplateTest\n      2. CTS-13_R3\nFix: 269974916\nFix: 269834366\nChange-Id: I197fbfb8419e4d4885a97a93a71f13d33c3f02da\n"
    },
    {
      "commit": "960c6267cafeddda1b41872e56e52881641a9a57",
      "tree": "04306d633efc6d1393772b985ea6107ec89cc4cd",
      "parents": [
        "a908d816dea302e2fc99f21ca68394aedef2646c"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Feb 22 03:25:18 2023 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Fri Mar 03 13:54:42 2023 +0800"
      },
      "message": "Add some hidden APIs back to NetworkTemplate\n\nSince there\u0027s a bug about apps still call hidden\nAPIs, it\u0027s likely some developers might build apps\nagainst hidden API.\nTo be safe, add these methods back to avoid apps\ncrash. These methods are still in\nhiddenapi-max-target-o-low-priority.txt, so they\nshould not be removed without considering hidden\nAPI usage. Removing hidden API in general isn\u0027t\nforbidden, but the ones listed in hiddenapi usage\nneed extra care.\n\nBug: 269178029\nTest: 1. atest CtsNetTestCases:android.net.netstats.NetworkTemplateTest\n      2. CTS-13_R3\nChange-Id: I485369274ccacd314230e3d267df665d8083bf97\n"
    },
    {
      "commit": "ae04a1a842f8b1f57eddcc417e07b249b0f28fdf",
      "tree": "41702fb43c593ee8b08a6f12883ccb66eabbe908",
      "parents": [
        "9e54059c5d6a678f3944d993ea79694f6a5d8b05",
        "09330c436e578e9638c73f230eb3a239af0944bf"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Thu Mar 02 05:56:51 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 02 05:56:51 2023 +0000"
      },
      "message": "Merge \"Clear calling identity before calling into DPM\""
    },
    {
      "commit": "09330c436e578e9638c73f230eb3a239af0944bf",
      "tree": "550e9fbbf4024d97a3fb33bb4c472cd936631362",
      "parents": [
        "05600c129ed8ff319fb84e2f1a1c58473cb69774"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Mon Feb 20 17:11:21 2023 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Mar 01 15:56:59 2023 +0800"
      },
      "message": "Clear calling identity before calling into DPM\n\nTest: 1. manual test with test app\n      2. atest CtsNetTestCases:android.net.cts.NetworkStatsManagerTest\nFix: 249920382\nFix: 269561252\nChange-Id: I4af7fd640d551be3ef62ea248e58bf8bae5e0b87\n"
    },
    {
      "commit": "9ff2fe7747ebf2a0f89c1c4bea3b7028fdbf6533",
      "tree": "4d7487cbe1f0442d3d386f46125fa8e957305dcd",
      "parents": [
        "140739e82caa9df27f8abee4a48cf8d60ef5cd54",
        "dc9790578686e9b5b4d8fa8e66c42593825caeaf"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Feb 24 05:30:06 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 24 05:30:06 2023 +0000"
      },
      "message": "Merge \"Add isMatchRuleMobile back\""
    },
    {
      "commit": "dc9790578686e9b5b4d8fa8e66c42593825caeaf",
      "tree": "4b617b9b52284d5f977062aaac80a4c0f7f561a1",
      "parents": [
        "8cdff6c8cd3389f0e050475a08d934954526db4b"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Thu Feb 16 14:26:48 2023 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Tue Feb 21 17:23:48 2023 +0800"
      },
      "message": "Add isMatchRuleMobile back\n\nThere\u0027s a user still call this method which causes the app\ncrash and it might be the app was built against hidden API.\nThe bug was observed after updating the mainline module so\nadding this method back to the module to avoid apps crash\ndue to the method is not found in NetworkTemplate.\n\nBug: 269178029\nTest: build\nChange-Id: I06dc694b1ce060488135f5d34138f14abd50ad32\n"
    },
    {
      "commit": "69086d6cbc34bafb9f470df21b8b19710f654494",
      "tree": "8afcd1fb1e4bd3d084789ab314a0cd49b269abed",
      "parents": [
        "8cdff6c8cd3389f0e050475a08d934954526db4b"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Tue Feb 07 18:05:13 2023 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Tue Feb 21 14:07:15 2023 +0800"
      },
      "message": "Fix backward compatibility issue for removed wildcard match rule\n\nA template with type MATCH_MOBILE could have empty subscriber\nIDs but it should not contain one of subscriber IDs is null.\n\nAn app might still build a template through the constructor\nwhich is annotated with @UnsupportedAppUsage. NetworkTemplate\nwill throw an exception when the app trying to construct a\ntemplate with type *_WILDCARD. The constructor should be\nbackward compatible with old version so this change is to add\nthe backward compatibility to have NetworkTemplate not throw\nan exception.\n\nBug: 267701889\nTest: FrameworksNetTests\nChange-Id: I23a607dae508e0c53520e2edf187cb611ed36b68\n"
    },
    {
      "commit": "2a69e41772051803de0ecff288a75ee0799f3eb1",
      "tree": "a49b75de3fd6f02e7860f3c92078ff9a2ed29849",
      "parents": [
        "9f3857754d8ca7b0bc5a236494699eb9119d1f2e",
        "c9371d05feb0bd6c1e1f5b785d5c1d21f72cb287"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Feb 10 08:06:07 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 10 08:06:07 2023 +0000"
      },
      "message": "Merge \"Tempates with different subscriber ID should be not equal\""
    },
    {
      "commit": "c9371d05feb0bd6c1e1f5b785d5c1d21f72cb287",
      "tree": "3e0c2188fa311505387ff71dc349507da4e48889",
      "parents": [
        "0c0eb08dbbbe1a981c45bc33d8ee9ce378f582b4"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Mon Feb 06 21:13:33 2023 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Feb 10 08:04:53 2023 +0000"
      },
      "message": "Tempates with different subscriber ID should be not equal\n\nmSubscriberId was removed from NetworkTemplate and equals/hashCode\ndoes not check the mMatchSubscriberIds. This will cause tempates\nwith different subscriber ID matching that are equal now. Thus\nadding the check for mMatchSubscriberIds to fix it.\n\nBug: 267968247\nTest: FrameworksNetTests:NetworkTemplateTest\nChange-Id: I2956bf4c8cf2c4d73ebe102d53e755fbcc5d7642\n"
    },
    {
      "commit": "90a2cbdd8dc412898a2e099c800ac9a039d479a9",
      "tree": "db08c91c92cc0d099bed200c99c0e710059e8f0c",
      "parents": [
        "0c0eb08dbbbe1a981c45bc33d8ee9ce378f582b4"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Feb 09 16:29:16 2023 +0900"
      },
      "committer": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Feb 09 19:51:37 2023 +0900"
      },
      "message": "Moves all compatibility flags to ConnectivityCompatChanges.java\n\nConnectivityCompatChanges.java becomes the centralized place for all the\nCompatChanges used in the Connectivity module. By putting all the\nCompatChanges here, we are able to manage them under a single\nplatform_compat_config.\n\nBug: 268440216\nTest: atest FrameworksNetTests\nChange-Id: I3e17af545718073d7d1c96e27298e7790563fd33\n"
    },
    {
      "commit": "b2c0f3407f6f9c13ec94cea4038557e15d587501",
      "tree": "0f9b1f1ddb7d048e67e7fde78411f955e01193d7",
      "parents": [
        "74aaf2c5cff79132cefed82f2f873a5833fc5f76"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Mon Jan 30 08:53:15 2023 +0000"
      },
      "committer": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Mon Jan 30 08:53:15 2023 +0000"
      },
      "message": "Rename onResolveStopped to onResolutionStopped\n\nRename the method onResolveStopped(NsdServiceInfo) to\nonResolutionStopped(NsdServiceInfo) for consistency as API\nreview feedback.\n\nBug: 266811051\nTest: atest FrameworksNetTests CtsNetTestCases\nChange-Id: I788b5903ecaf78a9aa960dd3b7413a22f171c72f\n"
    },
    {
      "commit": "18aecccc9d0d58e0f6565786888dfcdba4bcd1e9",
      "tree": "6fae527ddcbdf53ed9097d8d3e369758f92a7bef",
      "parents": [
        "9ba6190f9b599e64adf8e7af37b118bd117b8b1a"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Dec 27 08:48:48 2022 +0000"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 19 20:16:03 2023 +0900"
      },
      "message": "New API to listen service update\n\nCurrently, the resolution is a one shot query, it only notifies\nthe first finding service information. There is no way to listen\nthe service update. Thus, add a new API that can register a\ncallback to listen to the service updates continuously.\n\nBug: 245369943\nTest: atest FrameworksNetTests CtsNetTestCases\nChange-Id: I0e9d92b9028375feb3e344ab6c4acb515c5b2be9\n"
    },
    {
      "commit": "b58deb706c21fa06606ccc8fa5c775de2967bdc9",
      "tree": "eb0fae74619d5544787811450d1cbf87a3f9b670",
      "parents": [
        "38f5d4661bdf1f2313da824434163b70eb92a027"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Mon Dec 26 09:24:42 2022 +0000"
      },
      "committer": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Wed Jan 18 10:10:25 2023 +0000"
      },
      "message": "New API to stop service resolution\n\nResolve service may take long time due to network issue or\nusing wrong service information, but users are not able to stop\nit. They can only wait for the callback of resolveService to end,\nwhich sometimes takes a long time. Thus, add the new API that\nusers can stop the service resolution.\n\nBug: 245369943\nTest: atest FrameworksNetTests CtsNetTestCases\nChange-Id: I6b6183c8c73f8db981b9afa51fbc73bf886d9ed3\n"
    },
    {
      "commit": "38f5d4661bdf1f2313da824434163b70eb92a027",
      "tree": "e55f2b0e27cd0a74f63e0cbb23e7bd63d859069c",
      "parents": [
        "aa15a8ea5db9133e238e4d1bd8645e65ebcc2bc8",
        "75069ed47ebb8559099ac54b635645b7c2d06979"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Wed Jan 18 01:43:28 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 18 01:43:28 2023 +0000"
      },
      "message": "Merge \"Implement service resolved callback\""
    },
    {
      "commit": "f71485f351f40e29e19b4f1c0620d078ff3ee2ec",
      "tree": "3dc81399421a231cc32f5a28c37f49641973aced",
      "parents": [
        "c5fdba7f3faf5973d19ea8ddc0023899761e8302",
        "319751a5722957260570aeb5bd602f557d944638"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Jan 17 15:51:54 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 17 15:51:54 2023 +0000"
      },
      "message": "Merge changes I298816ac,I3f41b4fe,Ibd782029\n\n* changes:\n  Implement service lost callback\n  Implement service found callback\n  Use MdnsDiscoveryManager for discovery\n"
    },
    {
      "commit": "75069ed47ebb8559099ac54b635645b7c2d06979",
      "tree": "87283c3773e8f148ef0c85d30bc4aaa3f01e83ee",
      "parents": [
        "319751a5722957260570aeb5bd602f557d944638"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Sat Jan 14 00:31:09 2023 +0800"
      },
      "committer": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Jan 17 23:25:08 2023 +0800"
      },
      "message": "Implement service resolved callback\n\nService resolved should be notified when receive the\nonServiceFound callbacks from MdnsServiceBrowserListener\n\nBug: 254166302\nTest: atest FrameworksNetTests CtsNetTestCases\nChange-Id: I681720065084bf3449c5b1ab44cd4ed6a659dcdb\n"
    },
    {
      "commit": "019621e070e82e9198354f58f698c8978f19451f",
      "tree": "f88cf5476a055cc36ba31d102b66be9d516b2bed",
      "parents": [
        "23fa202478d4a124503dea1111901cf83e53af53"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Fri Jan 13 23:26:49 2023 +0800"
      },
      "committer": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Jan 17 20:07:22 2023 +0800"
      },
      "message": "Implement service found callback\n\nService found should be notified when receives the\nonServiceNameDiscovered callbacks from\nMdnsServiceBrowserListener.\n\nBug: 254166302\nTest: atest FrameworksNetTests CtsNetTestCases\nChange-Id: I3f41b4fe85cd85ad356fa764663187a88914412c\n"
    },
    {
      "commit": "23fa202478d4a124503dea1111901cf83e53af53",
      "tree": "8e95398de818adfedde4720f09bf0d2318935481",
      "parents": [
        "4bd98ef68ec640f9fe843621860d465beb7ca7f8"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Fri Jan 13 22:57:24 2023 +0800"
      },
      "committer": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Jan 17 19:16:50 2023 +0800"
      },
      "message": "Use MdnsDiscoveryManager for discovery\n\nRegister/Unregister the listener to/from MdnsDiscoveryManager\nwhen discovery started/stopped.\n\nBug: 254166302\nTest: atest FrameworksNetTests CtsNetTestsCases\nChange-Id: Ibd782029826ac5856c608165928cd942e46dd9a4\n"
    },
    {
      "commit": "250006948884659dc5f70134959fbd3e566ff225",
      "tree": "43649e4febcf3ddffaac821ab05c0e73bbadadd7",
      "parents": [
        "99348b1664dd0af63765308c89dc55bb069ba253",
        "ece181997c2d19a397a9558eecf680be525b6fff"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Mon Jan 16 07:56:09 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 16 07:56:09 2023 +0000"
      },
      "message": "Merge \"Remove *_WILDCARD constants from NetworkTemplate\""
    },
    {
      "commit": "99348b1664dd0af63765308c89dc55bb069ba253",
      "tree": "10b619e53972a4f31fc62bd640cd108a533cba69",
      "parents": [
        "e002ee4687a6a6ac134a509bda7814ed8e3a0d7d",
        "ee23c031219ea004bcda396013995d5429568964"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Mon Jan 16 07:55:26 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 16 07:55:26 2023 +0000"
      },
      "message": "Merge \"Remove mSubscriberId from NetworkTemplate\""
    },
    {
      "commit": "c95f0d8abf388ea08c1f8aa857372fdb17b83bab",
      "tree": "3d622f21b08e78224712a572a8a8f9bd3d5dba06",
      "parents": [
        "8043d5d7af7435c4461074343b0c6823244edf20",
        "401122894d9989227103bd19e9617553e3a18d7b"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jan 13 12:12:20 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 13 12:12:20 2023 +0000"
      },
      "message": "Merge \"fix argument to CloseGuard.open()\""
    },
    {
      "commit": "19aa23db7ed62bde1e1f642ba40c05fb7ca47e33",
      "tree": "35f5e6ddb0c1098b07af560771727ab6f2000284",
      "parents": [
        "519bc968f0b8d33b7fbfea4748f7b1f52c908d0d",
        "81c2160a63440af0a8217a1b299aa8f0e558963f"
      ],
      "author": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Wed Jan 11 18:52:59 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 11 18:52:59 2023 +0000"
      },
      "message": "Merge \"Expose APIs to migrate IpSecTransform\""
    },
    {
      "commit": "81c2160a63440af0a8217a1b299aa8f0e558963f",
      "tree": "6cf792ce00f25773c06ea30d8677904feec4c07e",
      "parents": [
        "a6d6184760a14485f0a8b66df99d9ba0675e8487"
      ],
      "author": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Thu Oct 20 22:23:15 2022 +0000"
      },
      "committer": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Tue Jan 10 19:09:05 2023 +0000"
      },
      "message": "Expose APIs to migrate IpSecTransform\n\nThis commit exposes APIs to migrate a tunnel mode transform to\nnew source/destination addresses, as required by MOBIKE.\n\nBy calling the exposed API, the caller only caches the new\naddress in the transform. To complete the migration, caller\nMUST apply the tranform to the appropriate tunnel.\n\nThis API design is mainly based on the kernel interface and use\ncases. The Linux kernel requires Android to provide both the\nIpSecTransform and the IpSecTunnelInterface to perform the\nmigration. And in most cases those two instances are managed\nby different entities: IpSecTranform is managed by the key\nexchange protocol (e.g. IKE) and IpSecTunnelInterface is managed by\nthe security tunnel provider (e.g. VPN, VCN, and IWLAN). Thus the\nmigration process has been designed to have two steps where the\nkey exchange protocol negotiates and caches the new address,\npasses out the updated transform, and the security tunnel\nprovider applies the transform to a tunnel.\n\nAnother benefit of this API is it can also apply to the case\nwhere the network peer does not support MOBIKE and thus cannot\nupdate the existing transforms. In this case, the key exchange\nprotocol can create a new transform and give it to the security\ntunnel provider, and the tunnel provider can still call \"apply\"\nto perform migration without needing to know the details of the\ntransform update process.\n\nBug: 169171001\nTest: atest FrameworksNetTests, IpSecManagerTunnelTest\nChange-Id: I0658cdb09fb31f7e0fb9d0b07f37c2b72b6e705f\n"
    },
    {
      "commit": "401122894d9989227103bd19e9617553e3a18d7b",
      "tree": "6e8c47f1982637749125cc6b0a9b524f78f2e078",
      "parents": [
        "33b21634128da56fdf1c507bc1a860f5e3d29970"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jan 07 09:57:54 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jan 07 10:03:47 2023 +0000"
      },
      "message": "fix argument to CloseGuard.open()\n\nBased on documentation, String parameter to CloseGuard.open() should be the name of the method to close the resource (in this case Resource.close()).\n\nAs currently written, the debug output from warnIfOpen() will be \"Resource failed to call constructor.\"\n\nBug: 131838407\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I25f005a7944bf3995ae6dc4c021ed1034f2187dd\n"
    },
    {
      "commit": "223b5cc3716688147401d22305c57ce96f18e557",
      "tree": "2015634c176b39bb290c304adf07738b6f70fa03",
      "parents": [
        "4f46dd8d7846fb399d376e348bf153e175499b20"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jan 07 00:59:44 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jan 07 01:00:18 2023 +0000"
      },
      "message": "fix argument to CloseGuard.open()\n\nBased on documentation, String parameter to CloseGuard.open() should be the name of the method to close the resource (in this case Resource.close()).\n\nAs currently written, the debug output from warnIfOpen() will be \"Resource failed to call constructor.\"\n\nBug: 131838407\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I9b8a71f9076712014bb883bbde5e5fbdb018b2d5\n"
    },
    {
      "commit": "ece181997c2d19a397a9558eecf680be525b6fff",
      "tree": "070d8859ba3514dd843cb1ceea9a3ceefe512418",
      "parents": [
        "ee23c031219ea004bcda396013995d5429568964"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Sat Nov 05 00:39:06 2022 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Dec 28 18:49:37 2022 +0800"
      },
      "message": "Remove *_WILDCARD constants from NetworkTemplate\n\nNetworkTemplate was moved into mainline module and\nprovide Builder for external users to build template.\nMATCH_MOBILE_WILDCARD and MATCH_WIFI_WILDCARD are not\nexposed so currently the usage of these two constants\nonly in module. This change is to remove the constants.\n\nAfter removing the constants, two methods matchesWifi\nand matchesMobile are changed to adapt the original\nmatches[Wifi|Mobile]Wildcard behavior.\n\nBug: 238843364\nTest: FrameworksNetTests\nChange-Id: I9e156b504ce4eb903b39279e443fad27bc921186\n"
    },
    {
      "commit": "ee23c031219ea004bcda396013995d5429568964",
      "tree": "477689dbcc45c161b3f1586ecd13e52cf950492d",
      "parents": [
        "4854d055bb86881463abf59b9ec8febc632784ab"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Nov 04 23:17:23 2022 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Dec 28 12:09:21 2022 +0800"
      },
      "message": "Remove mSubscriberId from NetworkTemplate\n\nCurrently NetworkTemplate provides Builder for users to build a\ntemplate and it supports multiple subscriber ids. The mSubscriberId\nis a local variable in current design so it can be removed from\nNetworkTemplate and also can be removed from the parameter of a\nconstructor as long as the constructor is not annotated with\n@UnsupportedAppUsage.\n\nBug: 238843364\nTest: build, FrameworksNetTests\n      CtsNetTestCases\nChange-Id: Ic6a695e1c1719111bf26ba905a38673952a24736\n"
    },
    {
      "commit": "4854d055bb86881463abf59b9ec8febc632784ab",
      "tree": "759c18303bbfcd8f3dbb1fc98848c039a0c17056",
      "parents": [
        "cd9399be1e910503b5c2d88e1203211115fa06c7"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Nov 04 23:14:26 2022 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Dec 28 12:09:09 2022 +0800"
      },
      "message": "Remove mSubscriberIdMatchRule from NetworkTemplate\n\nCurrently, mSubscriberIdMatchRule is only used in NetworkTemplate\nand it depends on if mMatchSubscriberIds is empty or not. Thus,\nremove it since is not really necessary and replace it with\nchecking matchSubscriberIds if needed.\n\nBug: 238843364\nTest: build, FrameworksNetTests\n      CtsNetTestCases\nChange-Id: Ic66d2ff2826846778b004bb15a4718a62fa1f470\n"
    },
    {
      "commit": "a48dcd9d1f8668f4d0d54d67cb015ac746252a58",
      "tree": "30228a123f5c05324cabd0c5e343cc6b2aaa7e51",
      "parents": [
        "e114b38f07d9a4fe0fd0f58ea657666404f2230d"
      ],
      "author": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Tue Oct 18 00:03:20 2022 +0000"
      },
      "committer": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Wed Dec 21 23:12:48 2022 +0000"
      },
      "message": "Require IPSEC_TUNNEL_MIGRATION feature flag to migrate transforms\n\nBug: 169169973\nTest: atest IpSecServiceParameterizedTest (new tests added)\nChange-Id: I3dd45b29163cd1e0cdbef08cb8aabdb629cf73bc\n"
    },
    {
      "commit": "e114b38f07d9a4fe0fd0f58ea657666404f2230d",
      "tree": "396c28283b7b3430db492c594edebf9cf715eec5",
      "parents": [
        "236013b3285956c5f5ba10c5e7e257edc0f08e45"
      ],
      "author": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Tue Feb 16 16:29:48 2021 -0800"
      },
      "committer": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Wed Dec 21 23:12:35 2022 +0000"
      },
      "message": "Support IPsec transform migration\n\nThis commit adds methods to support migrating tunnel mode\nIpSecTransform to new source/destination addresses.\n\nBug: 169171001\nTest: atest FrameworksNetTests (new tests added)\nChange-Id: Ic177015fba5b62d3f73009633118109d3631086f\n"
    },
    {
      "commit": "841b1f33d50f1f4acb1ace5d63de4b7fdf0fc0f6",
      "tree": "e04e47887a27300a2a9e6907c09bae1daffbc479",
      "parents": [
        "fbef749cdae2b003f14646ac01bcbb1e7c084842",
        "c5a05d1d8fad1e89a05f86ef8104c61da3bfad93"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 02 11:27:27 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 02 11:27:27 2022 +0000"
      },
      "message": "Merge \"Revert consider TEMPORARILY_NOT_METERED as unmetered in data usage\""
    },
    {
      "commit": "c5a05d1d8fad1e89a05f86ef8104c61da3bfad93",
      "tree": "88d03c76ef0907b2cb4eacede260903e5de5486e",
      "parents": [
        "23d8cd11c7dfc442def43329d57ecd3d56235984"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Thu Dec 01 21:11:12 2022 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Dec 02 16:04:55 2022 +0800"
      },
      "message": "Revert consider TEMPORARILY_NOT_METERED as unmetered in data usage\n\nCurrently, NET_CAPABILITY_TEMPORARILY_NOT_METERED traffic is\ncounted as unmetered data usage, and \"mobile data usage\"\nsettings screen shows metered data usage which means it doesn\u0027t\ninclude TEMPORARILY_NOT_METERED traffic. However, some carriers\nshow TEMPORARILY_NOT_METERED data usage in customer\u0027s bill which\nwould be confusing if the data usage in the device shows different\nresults. Thus, revert the change to avoid confusing.\n\nBug: 183776809\nTest: FrameworksNetTests\nChange-Id: I4ef25095462adf30b1ecf82134996739f167930d\n"
    },
    {
      "commit": "859884a48f1494fe7c37990318dd2224958e6407",
      "tree": "37132754cff47802c09b28943f64d752a3d7a6c9",
      "parents": [
        "a8a6da0db98fb02626d32c84b088e1a9800d3516"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Nov 02 15:00:43 2022 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Nov 30 16:38:24 2022 +0000"
      },
      "message": "Make mMatchSubscriberIds as a NonNull variable\n\nIn current design, mMatchSubscriberIds can be null which has the\nsame meaning with empty set, and is not easy to maintain since it\nneed more checks for this variable when mSubscriberId is null.\nThus make mMatchSubscriberIds NonNull for the maintenance.\n\nBug: 238843364\nTest: build, FrameworksNetTests\nChange-Id: I6cfc529b5f4a39ded8598283ff968f2f4d1bc89f\n"
    },
    {
      "commit": "a8a6da0db98fb02626d32c84b088e1a9800d3516",
      "tree": "28e847dc1b0bb6fc7a5f1231e99258c72978970d",
      "parents": [
        "efbd7cc67fb9a820927a56265922793548c33de0"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Nov 04 07:42:41 2022 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Nov 30 16:38:19 2022 +0000"
      },
      "message": "Remove unused methods from NetworkTemplate\n\nNetworkTemplate.Builder was introduced in Android T and the callers\noutside of Connectivity module should use this Builder to build a\ntemplate instead. Thus remove the buildTemplate* methods from\nNetworkTemplate class. Also, deprecate the methods which are\nannotated with @UnsupportedAppUsage and also use Builder to build\nthe template.\n\nBug: 238843364\nTest: build, FrameworksNetTests\nChange-Id: I3190325f6663e4771edf5c7a19bf5ecc7780bf12\n"
    },
    {
      "commit": "82a4e0a42e2b41f4dfb7755788b93ea5fc4e24c7",
      "tree": "3d42107e292a1c1f9ee947fba7949a91041abd73",
      "parents": [
        "9e99270eeebcdb44a2f1d5e0dc7df133deb49263",
        "5d78c6366281ab5614de7c2eba347e5abbfb59da"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Nov 09 22:38:36 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 09 22:38:36 2022 +0000"
      },
      "message": "Merge \"ipsec - use ro.vendor.api_level instead of ro.product.first_api_level\""
    },
    {
      "commit": "5d78c6366281ab5614de7c2eba347e5abbfb59da",
      "tree": "832fd5b105e581c31b51b16d0e553e2c626b9079",
      "parents": [
        "a015bfa25e4d3b86e8bac27d4842c1a9275efeb9"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 21 01:12:16 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Nov 09 00:47:13 2022 +0000"
      },
      "message": "ipsec - use ro.vendor.api_level instead of ro.product.first_api_level\n\nBug: 254143771\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I9f91fc250e0fa40c9dc9ee3e7a2f7bc3cf2ebc75\n"
    },
    {
      "commit": "22f05839f5175832695d8f76baf5bf7319519d66",
      "tree": "f6751793c623f427eb16e7646f219e3bb897cac0",
      "parents": [
        "f4c0a5a84b4cf76ab9c111d9cb3258ea751874f8"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Sat Oct 15 21:33:30 2022 -0700"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Nov 02 10:13:14 2022 -0700"
      },
      "message": "Fix errorprone warnings that should be errors\n\nThis commit is part of a large scale change to fix errorprone\nerrors that have been downgraded to warnings in the android\nsource tree, so that they can be promoted to errors again.\nThe full list of changes include the following, but not all\nwill be present in any one individual commit:\n\nBadAnnotationImplementation\nBadShiftAmount\nBanJNDI\nBoxedPrimitiveEquality\nComparableType\nComplexBooleanConstant\nCollectionToArraySafeParameter\nConditionalExpressionNumericPromotion\nDangerousLiteralNull\nDoubleBraceInitialization\nDurationFrom\nDurationTemporalUnit\nEmptyTopLevelDeclaration\nEqualsNull\nEqualsReference\nFormatString\nFromTemporalAccessor\nGetClassOnAnnotation\nGetClassOnClass\nHashtableContains\nIdentityBinaryExpression\nIdentityHashMapBoxing\nInstantTemporalUnit\nInvalidTimeZoneID\nInvalidZoneId\nIsInstanceIncompatibleType\nJUnitParameterMethodNotFound\nLockOnBoxedPrimitive\nMathRoundIntLong\nMislabeledAndroidString\nMisusedDayOfYear\nMissingSuperCall\nMisusedWeekYear\nModifyingCollectionWithItself\nNoCanIgnoreReturnValueOnClasses\nNonRuntimeAnnotation\nNullableOnContainingClass\nNullTernary\nOverridesJavaxInjectableMethod\nParcelableCreator\nPeriodFrom\nPreconditionsInvalidPlaceholder\nProtoBuilderReturnValueIgnored\nProtoFieldNullComparison\nRandomModInteger\nRectIntersectReturnValueIgnored\nReturnValueIgnored\nSelfAssignment\nSelfComparison\nSelfEquals\nSizeGreaterThanOrEqualsZero\nStringBuilderInitWithChar\nTreeToString\nTryFailThrowable\nUnnecessaryCheckNotNull\nUnusedCollectionModifiedInPlace\nXorPower\n\nSee https://errorprone.info/bugpatterns for more\ninformation on the checks.\n\nBug: 253827323\nTest: m RUN_ERROR_PRONE\u003dtrue javac-check\nChange-Id: I7625fa386afe93823b97cb2ecb8fd09a5856c05b\n"
    },
    {
      "commit": "1d420b3b7699752abc55f49bd72b014ba19dd064",
      "tree": "2ba0156714b74c2a70a0824caed17270d58b0de4",
      "parents": [
        "1e4afe071ddca3283f3f9ffe79fbcebb16354864"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Oct 12 16:39:37 2022 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Oct 12 16:39:37 2022 +0900"
      },
      "message": "Move bit utilities to BitUtils.\n\nTest: BitUtilsTest\nChange-Id: I3e100c6087f61c2a13aa8558ee8f9a9ad480c681\n"
    },
    {
      "commit": "c8164e49636367f4442f70c60856ac881acbb156",
      "tree": "8d67e5345fae745d5a926602db90dc966afe6e2c",
      "parents": [
        "b259ee802f6b8528123da14fc6050ebc06510d56"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jul 28 10:52:09 2022 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Sep 13 15:13:15 2022 +0000"
      },
      "message": "Make the hiddenapi*-tiramisu.txt files part of framework-connectivity-t\n\nPreviously, the hiddenapi*-tiramisu.txt files that were created as part\nof the work for creating framework-connecvity-t were just added to the\nlist of hidden API files on the bootclasspath_fragment. Unfortunately,\nthat made it impossible to exclude those when generating an sdk\nsnapshot for S which cannot include framework-connectivity-t.\n\nThis change moves those files to be part of framework-connectivity-t\ninstead of the bcpf so that they will only be used in an sdk snapshot\nwhen the library is part of the snapshot.\n\nBug: 240406019\nTest: packages/modules/common/build/mainline_modules_sdks.sh\n      # Ran the previous command with and without this change to make\n      # sure that this change does not change the sdk snapshot\n      # contents. A follow up change will exclude the\n      # framework-connectivity-t library from the S sdk snapshot.\nChange-Id: Ib5c5c6046d96b911c8e9e5ac3729ce963f1b6907\n"
    },
    {
      "commit": "c9f1ca62d9bd0d189df5295a641c4102c4e49a0a",
      "tree": "b8386deac12b137b9b6a212da82501ce4ee5e5b5",
      "parents": [
        "d407328dd4fa067801b0bef861e3dad272ee78e3"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Mon Jul 25 16:31:59 2022 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Mon Aug 29 13:55:08 2022 +0800"
      },
      "message": "[ST01] Attributes data usage of test network by specifier\n\nCurrently, data usage of all test networks are all attributed to\nthe same NetworkIdentity, which does not allow services to\ndistinguish upload \u0026 download traffic of different test networks.\n\nThus, this CL put specifier that comes along with\nTestNetworkAgent into wifiNetworkKey field to build different\nNetworkIdentity to attribute data usage to different for\nindividual networks. And allow querying test network usage with\nwifiNetworkKeys.\n\nBug: 139774492\nTest: atest FrameworksNetTests\n      atest android.net.cts.ConnectivityManagerTest\nChange-Id: I1bb38fd20781eaf3105735440a04b27bef36fcae\n"
    },
    {
      "commit": "4705518156da7d4ef1262891195deb40d2e90235",
      "tree": "615443253c0974f64f67acf87d51606ef282d58a",
      "parents": [
        "7ef3954444a738e57041ff7086b18c70cc6b0e1b",
        "0ab4d265d60fdc772c8cada1d141dc565a66b5de"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Aug 05 08:37:59 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Aug 05 08:37:59 2022 +0000"
      },
      "message": "Merge \"Cleanup constructor of NetworkStats#Entry\" am: 0ab4d265d6\n\nOriginal change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2167482\n\nChange-Id: Ie9dfc1e735af3842a40b31015bd90f09d2038cdc\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0ab4d265d60fdc772c8cada1d141dc565a66b5de",
      "tree": "f44b4a8d2975f65b6bb0c2f9696ab444c27e2fdb",
      "parents": [
        "491b5b6e46382cec4a59951a50a4cedb47909186",
        "8b9ecdad6dfabdca370883cc680b786041727790"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Aug 05 07:46:28 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 05 07:46:28 2022 +0000"
      },
      "message": "Merge \"Cleanup constructor of NetworkStats#Entry\""
    },
    {
      "commit": "0c19e66e2d2cc6339edab65e1438d57e7bb8f1a4",
      "tree": "e05ee40e0a6ed9ec689f122bb4f77a9614f50586",
      "parents": [
        "4f6d11e04f12f0b9316893db4508a119915f374a",
        "a9fa050bdcb9bd61b84beb7a9d6f1986ed9dde0a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 04 04:58:46 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Aug 04 04:58:46 2022 +0000"
      },
      "message": "Merge \"Only use framework-connectivity stubs for -t stubs\" am: a9fa050bdc\n\nOriginal change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2173584\n\nChange-Id: I4cde28a2f9e4510fc1b00e5399865989fb6a6b5f\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a9fa050bdcb9bd61b84beb7a9d6f1986ed9dde0a",
      "tree": "5b498f34eb26fd4cc0f3ecb6e9831eb22726768f",
      "parents": [
        "31b48fa7872113c9c16fcc7f1ccf523e18f8ac41",
        "77d4c4efa87321d85f482b7bd9e5779f20b28690"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 04 04:34:17 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 04 04:34:17 2022 +0000"
      },
      "message": "Merge \"Only use framework-connectivity stubs for -t stubs\""
    },
    {
      "commit": "77d4c4efa87321d85f482b7bd9e5779f20b28690",
      "tree": "53b272b4af6cecb15ea6b8b4c3b7a11c508bb0e1",
      "parents": [
        "c37d806dfdf63c274c8db7f65b4c4ffc97c721b2"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 03 15:31:02 2022 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 03 15:51:48 2022 +0900"
      },
      "message": "Only use framework-connectivity stubs for -t stubs\n\nDo not use framework-connectivity stubs for\nframework-connectivity-t-pre-jarjar, as that library can build against\nthe full framework-connectivity implementation including hidden symbols:\nit already builds against framework-connectivity-pre-jarjar.\n\nThe stubs are only necessary to build framework-connectivity-t stubs, to\navoid circular dependencies between these and the framework-connectivity\nimplementation.\n\nThis change allows using hidden symbols of framework-connectivity in\nframework-connectivity-t-pre-jarjar, but does not fully fix the problem\nas framework-connectivity-t will use the framework-connectivity stubs\nboth to build its own stubs and to build its implementation library, due\nto \"libs\" being used in both cases (and prioritized over\nimpl_only_libs). As a result, it is still not possible to build\nframework-connectivity-t when it references hidden symbols of classes\nthat are also part of the stubs. Still, this is a first step and\norganizes the build rules closer to what they should be.\n\nBug: 139774492\nTest: m\nChange-Id: I5e696fa6a7871d048e0ba16442de33b5f139faae\n"
    },
    {
      "commit": "8b9ecdad6dfabdca370883cc680b786041727790",
      "tree": "24a564607077719af78ef84e03925ad1f2b249a9",
      "parents": [
        "7dce599f421ae883b670ae76aa0dca761d551ec9"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Thu Jul 28 00:28:00 2022 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Tue Aug 02 22:49:16 2022 +0800"
      },
      "message": "Cleanup constructor of NetworkStats#Entry\n\nHave all callers to use the same constructor and remove the\nunused constructors.\n\nBug: 238843364\nTest: FrameworksNetTests\nChange-Id: Ieb1d0bc4ff8d2238c7a802189f8d91f4a9978eb8\n"
    },
    {
      "commit": "a5803006e901aad650fad7e2bbee17efd683ef48",
      "tree": "553f6f6a58134ea47e0dbe83c9565ccf8d3af708",
      "parents": [
        "4b104cf5a280171519c1a16495e726f0ffc30086",
        "a39d54bf43d93ee2120924af7d13eb2d738f2c52"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 29 08:41:54 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 29 08:41:54 2022 +0000"
      },
      "message": "Merge \"Add back compat config for NSD\" am: a39d54bf43\n\nOriginal change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2157803\n\nChange-Id: I7567e5dd6d38815a1055a4ecc54a76eba7ff56ed\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "348bbb02312f214649f6b4676801b031f0d60eb5",
      "tree": "623ed07c2951591fdf07838d2d192989bda37ca4",
      "parents": [
        "c37d806dfdf63c274c8db7f65b4c4ffc97c721b2"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jul 19 16:33:04 2022 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jul 27 19:53:25 2022 +0900"
      },
      "message": "Add back compat config for NSD\n\nAdd back compat config for RUN_NATIVE_NSD_ONLY_IF_LEGACY_APPS, which was\nlost when moving NsdManager to framework-connectivity-t.\n\nThis causes NsdManager to start mdnsresponder again when used by apps\nwith target SDK \u003c 31.\n\nThe change also changes the compat ID used, to make sure it does not\nconflict with the ID already in use in S and below, when the module is\ninstalled on such a platform. This is the only ChangeId used by\nframework-t.\n\nAlso add a CtsNetTestCasesMaxTargetSdk30 test to verify that behavior.\n\nBug: 235355681\nTest: atest CtsNetTestCasesMaxTargetSdk30\nChange-Id: I7ca6051d0a4ba5aff3e44bece2cbac22eb1be32d\n"
    },
    {
      "commit": "059a7f95268efbaa4d01611cb727e61b898df302",
      "tree": "062ef48160fdea45a60108b762d0bbac9bf5be1d",
      "parents": [
        "c6fc9233fc5a1139812e113f87fc7198a4898672",
        "c37d806dfdf63c274c8db7f65b4c4ffc97c721b2"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Tue Jul 26 07:58:23 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 26 07:58:23 2022 +0000"
      },
      "message": "Merge \"Migrate buildTemplate* to use NetworkTemplate.Builder\" am: c37d806dfd\n\nOriginal change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2152658\n\nChange-Id: If75f307a6e46677cfc1932d8f968226729819ba1\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c37d806dfdf63c274c8db7f65b4c4ffc97c721b2",
      "tree": "f089a8fe93a2493425d92603e726397a1cc058ed",
      "parents": [
        "9f74712d49d2b0ab043145b115d3354d4d33f6b2",
        "1c14fa9b085c31881d19dd749d9401f76ecd597b"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Tue Jul 26 07:40:49 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 26 07:40:49 2022 +0000"
      },
      "message": "Merge \"Migrate buildTemplate* to use NetworkTemplate.Builder\""
    },
    {
      "commit": "ad2391821eac940fc4f6d0a9d662a6e563fad58d",
      "tree": "44b070897d8771a2550bbb5b8dbc3a4f70e5709f",
      "parents": [
        "07ec1ed8fbef78db40070a8754c209b39dcb1261",
        "3a317cc0c4806b29cd20e64a61635bda1070b8c0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 26 03:43:02 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 26 03:43:02 2022 +0000"
      },
      "message": "Merge \"Run R8 with the necessary classpath classes\" am: 3a317cc0c4\n\nOriginal change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2164654\n\nChange-Id: Iefcfa11abf79382b591da4578c861bfe9d61a6d2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "371e7f7555fc721b9654f4863ee82e1ffa79cb46",
      "tree": "5044fbfa63c8e3d9468c6dc5a0f1d4ef7aec3f26",
      "parents": [
        "9c8cda233500f13dd48a82090ea2ae6f535ef51b"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jul 25 18:52:58 2022 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jul 25 18:52:58 2022 +0900"
      },
      "message": "Run R8 with the necessary classpath classes\n\nR8 emits \"missing class\" warnings when optimizing service-connectivity\nbecause service-connectivity combines several already built static_libs\n(service-connectivity, service-connectivity-t, service-nearby), but does\nnot specify any classpath library, which are actually needed for R8.\n\nThis causes wrong optimizations, where R8 would sometimes strip out code\nthat it thinks is unused (because it considers it unreachable due to the\nmissing class, or it does not know the superclass of a callback and\nthinks the overridden methods cannot be called).\n\nAdd the necessary classpath libraries to remove the warnings.\n\nBug: 226127213\nBug: 239990030\nTest: m service-connectivity, see no \"Missing class\" warnings\nChange-Id: I1eaa39b70da4b540e3a3e8e798bec1359b5bf533\n"
    },
    {
      "commit": "1c14fa9b085c31881d19dd749d9401f76ecd597b",
      "tree": "2bd9413d5cb12f90fe3d3938fdcdc017adfb1d91",
      "parents": [
        "1ba1febf2bfce20c0fde7fafc19dfdb742786bf6"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Jul 13 18:35:14 2022 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Mon Jul 25 11:30:13 2022 +0800"
      },
      "message": "Migrate buildTemplate* to use NetworkTemplate.Builder\n\nUse new Builder API which was introduced in Android T.\n\nBug: 238843364\nTest: FrameworksNetTests\n      dumpsys netstats --checkin and check the output\nChange-Id: Ieb0a2ee04056a1cedb71274ea710ff5153e2d68c\n"
    },
    {
      "commit": "ecfd3d7f67b67eee189481f9294f5c38a4de7f3d",
      "tree": "9cc6800be52dfc223716d997b85af5c05a1eb0ba",
      "parents": [
        "f9ab7a55914f139d54ea328300a366d167e06fb2",
        "bddff8a2fb9f959f997d22256258091930ba08dc"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jul 21 06:17:50 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 21 06:17:50 2022 +0000"
      },
      "message": "Merge \"Simplify framework-t/Sources.bp\" am: bddff8a2fb\n\nOriginal change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2072838\n\nChange-Id: I0e521e34b3c1f11d14690b9291bc38fa55e55b29\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "bddff8a2fb9f959f997d22256258091930ba08dc",
      "tree": "e0dc16d592f7ec97460a4da432494b2083c2d9c2",
      "parents": [
        "751e3419c16bd3a0e17d45ad0cf37c14a137b27b",
        "5b54607913ef8a114761c46c5258e756591b73a0"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jul 21 05:34:26 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 21 05:34:26 2022 +0000"
      },
      "message": "Merge \"Simplify framework-t/Sources.bp\""
    },
    {
      "commit": "f9ab7a55914f139d54ea328300a366d167e06fb2",
      "tree": "9dc796f3c640556e9262312956bca5b6e7209b87",
      "parents": [
        "a8379982258aae318d9698a13c9dcd036d632208",
        "751e3419c16bd3a0e17d45ad0cf37c14a137b27b"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jul 21 04:28:45 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 21 04:28:45 2022 +0000"
      },
      "message": "Merge \"Use jarjar rule generator for connectivity rules\" am: 751e3419c1\n\nOriginal change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2103113\n\nChange-Id: Id8d070590f7a7b392ef0782c7c46d4631d405f97\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "751e3419c16bd3a0e17d45ad0cf37c14a137b27b",
      "tree": "cfabc94ea992c75bb3aefeb350836afad94f84ac",
      "parents": [
        "da95563e96c650651ef53967d267e3cb9c8da385",
        "e55a88d30fde72b9ec85fc75ba9449e0d13a6f2d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jul 21 04:08:23 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 21 04:08:23 2022 +0000"
      },
      "message": "Merge \"Use jarjar rule generator for connectivity rules\""
    },
    {
      "commit": "5b54607913ef8a114761c46c5258e756591b73a0",
      "tree": "ca4425eb226435b0b2c1588a3ad264460c9d3a44",
      "parents": [
        "e55a88d30fde72b9ec85fc75ba9449e0d13a6f2d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Apr 22 18:17:00 2022 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jul 20 19:57:12 2022 +0900"
      },
      "message": "Simplify framework-t/Sources.bp\n\nJust include all files with a blob, instead of listing them separately.\n\nAll files in the directory were previously referenced by\nframework-connectivity-tiramisu-updatable-sources, so this is a no-op.\n\nBug: 217129444\nTest: m\nChange-Id: I83415b8f2a5836874c5ea2bffee45c43e03cc139\n"
    },
    {
      "commit": "e55a88d30fde72b9ec85fc75ba9449e0d13a6f2d",
      "tree": "d644a7323de495f9c4d7661c4b53ce86a2031112",
      "parents": [
        "a79c22737267ed0c8a46640294c33798778bf063"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Apr 20 15:59:16 2022 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jul 20 19:57:11 2022 +0900"
      },
      "message": "Use jarjar rule generator for connectivity rules\n\n(This rolls forward part of a previous change, now that jarjar was fixed\nto not get very slow when the number of rules increases).\n\nAutogenerate connectivity jarjar rules at build time, to avoid issues\nwith forgotten jarjar rules or hard-to-diagnose errors introduced by\nincorrect rules.\n\nThis change causes all classes in framework-connectivity(-t) and\nservice-connectivity to be jarjared into android.net.connectivity, but\nstill avoids jarjaring classes in com.android.server as before, to keep\nit small.\nFor many classes this differs from the original jarjar rule.\n\nNotes on implementation:\n\n - connectivity-jarjar-rules now has a subset\n   framework-connectivity-jarjar-rules containing only the rules\n   necessary for framework-connectivity. This is necessary because\n   framework-connectivity cannot depend on rules generated based on\n   service-connectivity, as there would be a dependency cycle\n   (service-connectivity depends on framework-connectivity); Soong even\n   crashes with a stack overflow.\n\n - framework-wifi.stubs.module_lib is added to\n   framework-connectivity-pre-jarjar as it is necessary to build it (it\n   is already in impl_only_libs in the defaults).\n   It is unclear why framework-connectivity-pre-jarjar could build\n   before that (possibly because it was only used as \"lib\" ?)\n\n - Fix package-private visibility; for example NattSocketKeepalive,\n   TcpSocketKeepalive are not API so should be jarjared, but are used\n   by ConnectivityManager which is not jarjared, so they are not in the\n   same package after the change. Package-private members in the\n   former 2 need to be public to be accessible. Changes in this commit\n   are all that is needed, as demonstrated by followup commits that move\n   the classes to a different package without further changes, and that\n   enforce that no class in an API package gets jarjared.\n\n - framework-connectivity-internal-test-defaults is separated from\n   framework-connectivity-test-defaults, for unit tests that need to\n   access internal jarjared classes. Such tests need to use the jarjar\n   rules themselves too, so this is only appropriate for connectivity\n   internal unit tests.\n\nTest: atest ConnectivityCoverageTests CtsNetTestCases\nBug: 217129444\nChange-Id: Ib1bd939b71c0171d945fc01b96195d2f620ff13b\n"
    },
    {
      "commit": "f49be5f32057650bec1174d047c5eb088d41b103",
      "tree": "d1efded775e4874f9856e75d5783d0394652838a",
      "parents": [
        "be198dcc5cb85c8893ca3c78096b014b0699ba1e",
        "b84de7413778bdcad38e01a3b784e4d2f437df42"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Jul 20 09:40:30 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 20 09:40:30 2022 +0000"
      },
      "message": "Merge \"Fix style errors in NetworkStats\" am: b84de74137\n\nOriginal change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2138534\n\nChange-Id: Ide39fea8d06b563bb3eb5e7ca3bc67c2b2caca7a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b84de7413778bdcad38e01a3b784e4d2f437df42",
      "tree": "ce96dcf3625c9e49c053d1c750b04ad88bf943d7",
      "parents": [
        "1ba1febf2bfce20c0fde7fafc19dfdb742786bf6",
        "f7c1042aaf824fdf2c0612403b2410a8e135cd45"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Jul 20 09:24:33 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 20 09:24:33 2022 +0000"
      },
      "message": "Merge \"Fix style errors in NetworkStats\""
    },
    {
      "commit": "f7c1042aaf824fdf2c0612403b2410a8e135cd45",
      "tree": "997525fe1910602a601dbffcbe11293b2adffb51",
      "parents": [
        "fd6a2d7c8c34a617139b8095b7cd1ce220ff0e19"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Jun 29 16:50:24 2022 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Jul 20 05:48:17 2022 +0000"
      },
      "message": "Fix style errors in NetworkStats\n\nTest: build\nChange-Id: I4366480e7a71004612d775bfa54744cc74c1fd7b\n"
    },
    {
      "commit": "be198dcc5cb85c8893ca3c78096b014b0699ba1e",
      "tree": "43ee5d582248930eaee646de5259356f36921b33",
      "parents": [
        "8e16fea59a08d23d853de76854af47e934ca7d22",
        "1ba1febf2bfce20c0fde7fafc19dfdb742786bf6"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Jul 20 03:13:07 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 20 03:13:07 2022 +0000"
      },
      "message": "Merge \"Replace buildTemplate* with NetworkTemplate.Builder\" am: 1ba1febf2b\n\nOriginal change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2155326\n\nChange-Id: I0837739ae0b1d8daadbbd2311a6c65eb61c139f7\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "1ba1febf2bfce20c0fde7fafc19dfdb742786bf6",
      "tree": "d85852e9de0bc310cef57c0dc9be208466202157",
      "parents": [
        "89966f19b544900c4423bffcdc5e1b48e05a78d8",
        "a4fcb8b4cf20ed3c8451ffdfdaf1bcd09459a2a2"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Jul 20 02:56:33 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 20 02:56:33 2022 +0000"
      },
      "message": "Merge \"Replace buildTemplate* with NetworkTemplate.Builder\""
    },
    {
      "commit": "a4fcb8b4cf20ed3c8451ffdfdaf1bcd09459a2a2",
      "tree": "3ce54220b2bf4cbe00d783b9b9e44b0e13d0d078",
      "parents": [
        "6d74747445ae6003d184b0839c5321d1b587babe"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Mon Jul 18 16:49:09 2022 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Mon Jul 18 17:16:49 2022 +0800"
      },
      "message": "Replace buildTemplate* with NetworkTemplate.Builder\n\nUse Builder API which was provided in Android T to\nbuild a template.\n\nBug: 238843364\nTest: build, FrameworksNetTests:NetworkStatsManagerTest\nChange-Id: Ibf1ac16541d6f3ddaf9b241e2f47ae04acbedf93\n"
    },
    {
      "commit": "d2e4c1f91520684a47b9210e697a593b8d05dbdf",
      "tree": "d8082718027d207ba2c6f6d21f69345ab25dc1d5",
      "parents": [
        "49cde8cb1ad640e5053a3f2ae60ae79f68808408",
        "b7f81e4a6d8c11065333c91b7806a7200907c9ab"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Fri Jul 15 07:56:03 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 15 07:56:03 2022 +0000"
      },
      "message": "Merge \"Correct javadoc usage\" am: b7f81e4a6d\n\nOriginal change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2153593\n\nChange-Id: I72c6695348fb9b5f81f5e89064ec10d166fa23bf\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9473c599800b79894c7047be7cdeb581ba1f6817",
      "tree": "8c24cb542566c3a0df06bf6ac13bdccb1f428973",
      "parents": [
        "e9c44ce718c717e17485b60d9b45b1a25d2906ac"
      ],
      "author": {
        "name": "chiachangwang",
        "email": "chiachangwang@google.com",
        "time": "Fri Jul 15 02:25:52 2022 +0000"
      },
      "committer": {
        "name": "chiachangwang",
        "email": "chiachangwang@google.com",
        "time": "Fri Jul 15 03:44:46 2022 +0000"
      },
      "message": "Correct javadoc usage\n\n\"{@see\" aren\u0027t rendered properly. Replace them with \"See {@link\"\nor @see depending on the usage.\n\nBug: 238753273\nTest: make doc-comment-check-docs ; Check the doc result\nChange-Id: I70cb2f36e7c5fa8102b5949054df5184d755202c\n"
    },
    {
      "commit": "5804b5c5df7794c716d90eebfff92ab1d6cf29ba",
      "tree": "8a52f072fb74af713c958eb7085ff6ce835690c7",
      "parents": [
        "81a472522cef532b0f27aba7ad63dfabdb418720",
        "f4f5de399309e95ca27f000d339f396784dcfc43"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Tue Jun 07 07:36:26 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 07 07:36:26 2022 +0000"
      },
      "message": "Merge \"Hold wifi and mobile interfaces since boot in NetworkStatsService\""
    },
    {
      "commit": "5c74cab9a894b7bf495c1c0ed4609b712250d388",
      "tree": "c35a90604ca97d97bef20348eff5682e28bf86b9",
      "parents": [
        "1259ebcb59bad0696d186df555b74ecd688486ea",
        "bfdd4407eb4a36256c162ecc4c4de9556fa7da04"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 07 06:06:45 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 07 06:06:45 2022 +0000"
      },
      "message": "Merge changes from topic \"historybuildertest\"\n\n* changes:\n  Return sorted NetworkStatsHistory\n  Use fallback method if the importer throws\n"
    },
    {
      "commit": "bfdd4407eb4a36256c162ecc4c4de9556fa7da04",
      "tree": "656c23814a591b7b0ef3fd978877f0f79efb0405",
      "parents": [
        "692fa73403e9fedf93c877185f5c97bd1a363ace"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed May 25 22:28:19 2022 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Jun 07 10:51:52 2022 +0800"
      },
      "message": "Return sorted NetworkStatsHistory\n\nNetworkStatsHistory internally assumes that bucketStart is\nsorted at all times. However, in the fields, we\u0027ve found there\nare some buckets of NetworkStatsHistory do not preserve the\norder of timestamp, which is caught by the IAE when addEntry\nis called.\n\nIn order to provide backward compatibility, return sorted items\ninstead of throwing IAE when adding entry into\nNetworkStatsHistory instance.\n\nTest: atest android.net.netstats.NetworkStatsHistoryTest#testBuilder\nBug: 233825704\nChange-Id: If3187384bd1e90770ca5873b8ec73e852fff543d\nMerged-In: If3187384bd1e90770ca5873b8ec73e852fff543d\n  (pure cherry-picked from ag/18581718)\n"
    },
    {
      "commit": "f4f5de399309e95ca27f000d339f396784dcfc43",
      "tree": "467e69de26427b77d7e39bdabde01f15a8ba21ea",
      "parents": [
        "9424810659d27874017f1c07b6b6fbc5eea9cf0c"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Jun 01 23:48:29 2022 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Mon Jun 06 13:19:11 2022 +0800"
      },
      "message": "Hold wifi and mobile interfaces since boot in NetworkStatsService\n\nIn current design, the interface will be removed from the list if\nthe network disconnected which will cause getUidStatsForTransport()\nreturns unexpected snapshot to caller since the list is empty.\n\nThis change also remove interface name from all entries before\nthe method returns the result.\n\nBug: 231514741\nTest: FrameworksNetTests\n      manual test\nChange-Id: Ie60829a65d0d9b5b63ad353695a820c0586e3665\nMerged-In: Ie60829a65d0d9b5b63ad353695a820c0586e3665\n"
    },
    {
      "commit": "0c334548f89213387f1e9898ced02386320d7634",
      "tree": "4f54c3e59715240a449c396f037eb27ecb44f24b",
      "parents": [
        "f35e560af1b858f309fc9a285a7f38128056dd1a",
        "f8224f5364210d79e8300790f7c56a2be4dd599d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jun 03 09:42:25 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 03 09:42:25 2022 +0000"
      },
      "message": "Merge \"Ensure callbacks are run properly on executor\" am: 411d2bd07d am: f8224f5364\n\nOriginal change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2111166\n\nChange-Id: I70f6ccf9f42717b846e816067e90916792cec143\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ab097b28d5709f3a249f5b3d4b217cb513cf8d50",
      "tree": "34e8952c2e150ec3bf3b45f357abd8c7305ab711",
      "parents": [
        "aa4879b4b3fed73e34068efbbd96b513b397f0a4",
        "a2f1cf3576a7f0329cf0f8aed5bd150230f62122"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Jun 03 09:25:50 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 03 09:25:50 2022 +0000"
      },
      "message": "Hold wifi and mobile interfaces since boot in NetworkStatsService am: a2f1cf3576\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/18710006\n\nChange-Id: Ie53afd7a2c6cfdd46a1ed3954a1aceac9bd120eb\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "411d2bd07db92563c4762982ddbd748b0d8e85c2",
      "tree": "d729d3485ab29ca3b1e56dc0f0a7ac5a7d367c57",
      "parents": [
        "9b51a75d6e906afdcb2988951955ab0ad4580b1a",
        "9133888e0c25208f7907cf4353bd4eaedc8ef9cd"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jun 03 09:04:29 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 03 09:04:29 2022 +0000"
      },
      "message": "Merge \"Ensure callbacks are run properly on executor\""
    },
    {
      "commit": "a2f1cf3576a7f0329cf0f8aed5bd150230f62122",
      "tree": "42aebfe4a3fccecb55400c10642becb42e1694d8",
      "parents": [
        "3caf95c8fc136b2fdb135db5029119f62b053932"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Jun 01 23:48:29 2022 +0800"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jun 03 15:51:19 2022 +0900"
      },
      "message": "Hold wifi and mobile interfaces since boot in NetworkStatsService\n\nIn current design, the interface will be removed from the list if\nthe network disconnected which will cause getUidStatsForTransport()\nreturns unexpected snapshot to caller since the list is empty.\n\nThis change also remove interface name from all entries before\nthe method returns the result.\n\nIgnore-AOSP-First: non-AOSP CL is included in the same topic\nBug: 231514741\nTest: FrameworksNetTests\n      manual test\nChange-Id: Ie60829a65d0d9b5b63ad353695a820c0586e3665\n"
    },
    {
      "commit": "9133888e0c25208f7907cf4353bd4eaedc8ef9cd",
      "tree": "4fe045fbd6bfa7f64adf41775ae874ed1bb468c6",
      "parents": [
        "826bdb3ec408f8a236ca8de7dfec8768e47523dc"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 31 18:39:18 2022 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jun 02 18:16:42 2022 +0900"
      },
      "message": "Ensure callbacks are run properly on executor\n\nNsdManager callbacks were run on a provided executor by capturing the\nhandler message in a lambda, but the message will be recycled\nimmediately after handleMessage returns. This means that any non-inline\nexecutor would see bogus callbacks, as they have an empty Message. Fix\nit by not capturing the Message in the lambda, but capturing its\ncontents instead.\nThis was broken when updating the class to support executors in change\nID: I4c31e2d7ae601ea808b1fd64df32d116c6fff97f; before that, callbacks\nwere all run on the NsdManager handler.\n\nAlso, DelegatingDiscoveryListener is being run on the NsdManager handler\nthread for notifyAllServicesLost, causing onServiceLost to be run there,\nbut other methods are run on the provided Executor, even though they\naccess maps maintained on the handler thread, like mPerNetworkListeners.\n\nRevert DelegatingDiscoveryListener to run on the handler thread as\nbefore, and only use the provided executor to execute any app-facing\ncallback instead.\n\nBug: 234419509\nTest: atest NsdManagerTest\n\nChange-Id: Icca64511b02dad2f725a2849d2a1e871135b3286\n"
    }
  ],
  "next": "6773b8257728573cb88baf45d81a3c1fea00fa27"
}
