)]}'
{
  "log": [
    {
      "commit": "f7b6434a65a7ef1f300210649e9bdf8cc155aad7",
      "tree": "d8c75ef2c4ce284566047ca958088edf8756e17d",
      "parents": [
        "67cc745550a635d77bac6e6ad2b526542a9dd79b"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Mon Jul 08 16:50:00 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Mon Mar 17 21:13:47 2025 +0900"
      },
      "message": "Start tethered hotspot with TetheringRequest\n\nUse WifiManager.startTetheredHotspot(TetheringRequest, Executor,\nSoftApCallback) to start softap. This allows for passing in the\nrequested SoftApConfiguration via TetheringRequest.\n\nBug: 216524590\nTest: atest TetheringTest TetheringManagerTest\nChange-Id: Ie4fb851e8b2243d233f9a8b3e18e2fa335cec307\n"
    },
    {
      "commit": "8b29d287f5e02f9be00b3b21d863994ed815d093",
      "tree": "41f9c425d5f86d2ccd1690245223638d4ef2fbec",
      "parents": [
        "ad3ca8bbb4423bd09a0bb80738e3106575c4f906"
      ],
      "author": {
        "name": "Quang Luong",
        "email": "qal@google.com",
        "time": "Thu Mar 13 21:25:41 2025 -0700"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Mon Mar 17 15:18:29 2025 +0900"
      },
      "message": "[Revert^2] Reject TetheringRequests that fuzzy-match existing ones\n\nLegacy behavior will return success results to multiple startTethering\ncalls of the same type, even though the link layer can only support one\nof those requests at a time (other than tethered AP + LOHS).\n\nFor B+, clean up this behavior by only allowing the amount of requests\nthat the link layer can concurrently support. To do this, we\u0027ll\nintroduce the concept of \"fuzzy-matching\" such that if a new request\nfuzzy-matches an existing request (either pending or serving), this\nindicates that the link layer cannot support the new request\nconcurrently, and we\u0027ll fail the new request with\nTETHER_ERROR_DUPLICATE_REQUEST.\n\nTo keep track of serving requests, we\u0027ll store the request and it\u0027s\nIpServer in RequestTracker when we call IpServer.enable(), and we\u0027ll\nremove it (indexed by IpServer) when\n1) Calling IpServer.onStop()\n2) Calling IpServer.unwanted()\n3) We detect an IpServer transition to AvailableState with error code\n\nNote: This was originally merged as aosp/3529632 but was reverted due to\na crash when reading aconfig flags at boot. That issue has been fixed\nhere.\n\nReverted changes: /q/submissionid:3541662-revert-3527440-JRJJTQBUFC\n\nBug: 216524590\nTest: atest TetheringTest RequestTrackerTest TetheringManagerTest\n\nChange-Id: I87a1ed31927cda27d3b7fdd7c823b8f828f8d777\n"
    },
    {
      "commit": "01b6b070ad32bf61b75582c772e84baefa96eddb",
      "tree": "313078ac31c6e3401a1db754ef2ca70b51ab886f",
      "parents": [
        "e72faa10ed49e6998e1f16b3da726b60c06cde53"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Thu Mar 13 10:22:16 2025 -0700"
      },
      "committer": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Thu Mar 13 10:22:16 2025 -0700"
      },
      "message": "Revert \"Reject TetheringRequests that fuzzy-match existing ones\"\n\nRevert submission 3527440\n\nReason for revert: Droidmonitor created revert due to b/403261952. Will be verifying through ABTD before submission.\n\nReverted changes: /q/submissionid:3527440\n\nChange-Id: Ife596c639899528778f53fef797749fa88596dd6\n"
    },
    {
      "commit": "2add9260ef0360c8b91430dbcaa0c48e092b0015",
      "tree": "798819ab880811e74836e3707b810f9955cbfcf5",
      "parents": [
        "b45305542640277bd371bfb75a67ca2e4066e6ef"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Mon Mar 10 10:52:32 2025 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Thu Mar 13 11:11:17 2025 +0900"
      },
      "message": "Reject TetheringRequests that fuzzy-match existing ones\n\nLegacy behavior will return success results to multiple startTethering\ncalls of the same type, even though the link layer can only support one\nof those requests at a time (other than tethered AP + LOHS).\n\nFor B+, clean up this behavior by only allowing the amount of requests\nthat the link layer can concurrently support. To do this, we\u0027ll\nintroduce the concept of \"fuzzy-matching\" such that if a new request\nfuzzy-matches an existing request (either pending or serving), this\nindicates that the link layer cannot support the new request\nconcurrently, and we\u0027ll fail the new request with\nTETHER_ERROR_DUPLICATE_REQUEST.\n\nTo keep track of serving requests, we\u0027ll store the request and it\u0027s\nIpServer in RequestTracker when we call IpServer.enable(), and we\u0027ll\nremove it (indexed by IpServer) when\n1) Calling IpServer.onStop()\n2) Calling IpServer.unwanted()\n3) We detect an IpServer transition to AvailableState with error code\n\nBug: 216524590\nTest: atest TetheringTest RequestTrackerTest TetheringManagerTest\nChange-Id: I1e193f3595a48f806fb70fd08630a12ce2631a59\n"
    },
    {
      "commit": "96f8e1b787d548d113fa8be42d6a016f6871df1e",
      "tree": "0c50df7657a77fabc92c5dc91e5f979eaeebc0f1",
      "parents": [
        "daa1f52b0233d18cfea2d8fcc514582a12b04fd2"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Tue Mar 11 08:12:22 2025 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Tue Mar 11 17:16:56 2025 +0900"
      },
      "message": "Use SdkLevel.isAtLeastB() instead of SDK_INT\n\nReplace the explicit SDK_INT checks with the helper function\nSdkLevel.isAtLeastB().\n\nBug: 216524590\nTest: covered by existing tests\nChange-Id: I32ae771d5b157d97dfbe3c37caf62e734eaa250e\n"
    },
    {
      "commit": "48fbdf4a368b763a916edc190f1b1f7765a9ed06",
      "tree": "9d7f379f627d1f1db3d445e2ab4a0dbfdff3e179",
      "parents": [
        "5817d88cf555092fa859dde2b82698e7e9efd671"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Wed Feb 12 11:43:42 2025 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Thu Feb 13 18:50:27 2025 +0900"
      },
      "message": "no-op: Refactor bluetooth tethering listener\n\nenableTetheringInternal immediately sends the tether result for all\ntypes except for TETHERING_BLUETOOTH, which relies on\nsetBluetoothTethering to sends the result immediately if the Pan\nservice is connected, or defer the result until after the Pan service\nconnects.\n\nTo keep better track of the active listeners and simplify the logic for\nfurther listener behavior changes (i.e. notifying the listener after the\nlink layer event), refactor the bluetooth listener to be called\nimmediately within enableTetheringInternal if the Pan service is\nconnected like the other tethering types.\n\nBug: 216524590\nTest: covered by existing tests\nChange-Id: I91196e430b44ef2391de662ff0ed6e051b453d98\n"
    },
    {
      "commit": "696c164c2dd078f5c16bf29aabfc39eb2a188bb8",
      "tree": "3a2d611b338b13aba0e8ab0325a85a86336b48cb",
      "parents": [
        "36e7969920ec1d2d292d542a191a3096da5ca886"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Thu Jan 30 09:36:51 2025 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Fri Jan 31 16:23:04 2025 +0900"
      },
      "message": "Add basic implementation of stopTetheringRequest\n\nAdd a basic implementation of stopTetheringRequest that simply stops\ntethering for that specific type if it is active, or fail with\nTETHER_ERROR_UNKNOWN_REQUEST if not. In the future, we will do fuzzy\nmatching to ensure the correct request is removed.\n\nBug: 216524590\nTest: atest TetheringManagerTest#testStopTetheringRequest\nChange-Id: Ib4a660aacdb83e645e39ceb61b7cda45bb24d89d\n"
    },
    {
      "commit": "01b9e966d8f69424fc582f839d64d44715f04410",
      "tree": "ce3697e219794dbc7d283ae5aed9c7f34c06c3d7",
      "parents": [
        "81056e442982b80f2010446eff48b2476998f68d"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Mon Jan 20 16:40:10 2025 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Tue Jan 21 17:48:38 2025 +0900"
      },
      "message": "Add methods to distinguish TetheringRequest types\n\nAdd TetheringRequest#RequestType to distinguish the type of\nTetheringRequest (i.e. from startTethering, from implicit broadcasts, or\nfrom the legacy tether API) as well as helper methods to create these\nrequests. These will be used in a future CL.\n\nBug: 216524590\nTest: build\n\nChange-Id: Ibfda48f59e80d423c9b6ee0d244cbdab14be1bd2\n"
    },
    {
      "commit": "30d8a25db3de9f56e88861174d7fb2bf31765bfe",
      "tree": "54d16ac3adb3dcce04f031e48ff67f492ddcda3e",
      "parents": [
        "62928ee6e1a15cab0d47543191c7ee387e9c2703"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Fri Dec 06 16:44:36 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Wed Jan 15 08:59:42 2025 +0900"
      },
      "message": "Disallow legacy tether() API starting in B\n\nAs part of the major tethering refactor to associate every IpServer with\na TetheringRequest, tether()/untether() APIs should be completely\nremoved in B and all tethering should go through startTethering() (with\nthe exception of Wifi LOHS and Wifi P2P, which will move to\nstartTethering() in a future CL).\n\nBug: 216524590\nTest: atest CtsTetheringTests TetheringTests\n\nChange-Id: If7981f1ee7d80ff0a1cc0069ba7a4ebf79144160\n"
    },
    {
      "commit": "915d138309137bbccc03f1989c03a7a2e4894807",
      "tree": "a1fa39325e992e21932d6831674d524edfa8f44f",
      "parents": [
        "1bd04384f0945439a08b031d9eb9ebc6c1280125",
        "2782b3bddf2d6a125b685c9919ab82e36d00d15a"
      ],
      "author": {
        "name": "Quang Luong",
        "email": "qal@google.com",
        "time": "Wed Dec 18 18:42:49 2024 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 18 18:42:49 2024 -0800"
      },
      "message": "Merge \"Remove WRITE_SETTINGS permission from Tethering APIs\" into main"
    },
    {
      "commit": "7f911faf5e457eb54f158d82b9363cc5810005a1",
      "tree": "34c3bff53f246566359c3c611babe26f996ca992",
      "parents": [
        "cd53bb07fd89e766e2a11569884588bea93e397a",
        "2d260e9e3576c742e61112111cd226d0a5d25ff3"
      ],
      "author": {
        "name": "Quang Luong",
        "email": "qal@google.com",
        "time": "Wed Dec 18 00:37:54 2024 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 18 00:37:54 2024 -0800"
      },
      "message": "Merge \"Fix legacy tether behavior for duplicate requests\" into main"
    },
    {
      "commit": "2782b3bddf2d6a125b685c9919ab82e36d00d15a",
      "tree": "df9a0107c7aac474fda78732699465758e1d7ea2",
      "parents": [
        "2d260e9e3576c742e61112111cd226d0a5d25ff3"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Thu Dec 05 13:34:15 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Wed Dec 18 13:53:04 2024 +0900"
      },
      "message": "Remove WRITE_SETTINGS permission from Tethering APIs\n\nAs TetheringManager moves to a Public API, remove the weak\nWRITE_SETTINGS permission and use TETHER_PRIVILEGED instead. System\ncallers can still aquire TETHER_PRIVILEGED, and public callers must be\nDevice Owner or Carrier App to bypass (to be done in a future CL)\n\nBug: 374400379\nTest: atest TetheringTest TetheringServiceTest CtsTetheringTests\nChange-Id: Ia192021ac48f9eb3f27cc8c412f17629ad16a587\n"
    },
    {
      "commit": "2d260e9e3576c742e61112111cd226d0a5d25ff3",
      "tree": "7563bdbf1bbd51e6d79ba9db79d5934f1d4fe5df",
      "parents": [
        "495fe091109cdfd6069c908213cba322b508de38"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Tue Dec 17 18:30:16 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Wed Dec 18 13:53:04 2024 +0900"
      },
      "message": "Fix legacy tether behavior for duplicate requests\n\nLegacy duplicate tethering requests would restart tethering if a pending\nrequest existed that was different (via equals()) from the new request.\n\nHowever, this behavior existed before uid/package name was added to\nTetheringRequest#equals(), so we should use new method to check\nequality while ignoring uid/package name.\n\nBug: 216524590\nTest: atest TetheringTest TetheringManagerTest\nChange-Id: I962c7b4d8efc7f631077d6fa0f87f52ee779192e\n"
    },
    {
      "commit": "0c01b26ecad5384cd41be6c61e4da7c62baaa52a",
      "tree": "93742c12ab94c4301a1e4d2f627f1c884c76f88c",
      "parents": [
        "3819aafb9f0d8cf71d01a3314a7221f84f71a4c1",
        "d23610698308248ce58a020ee13175f4d908633b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Dec 17 10:23:17 2024 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 17 10:23:17 2024 -0800"
      },
      "message": "Merge \"Ensure TetheringService binder is alive after system_server crash\" into main"
    },
    {
      "commit": "d23610698308248ce58a020ee13175f4d908633b",
      "tree": "86c8c6806673de515ca38098ed94a06fc23a45a3",
      "parents": [
        "6ac23bd15539ff012671a349052ecdce5f86bfc3"
      ],
      "author": {
        "name": "charid",
        "email": "dhoddeti.brahmachari@oppo.com",
        "time": "Tue Jul 23 17:46:11 2024 +0530"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue Dec 17 09:13:37 2024 -0800"
      },
      "message": "Ensure TetheringService binder is alive after system_server crash\n\nservicemanager does not restart on a system_server crash, so\nmConnectorSupplier might temporarily return a stale version of\nTetheringService. Any operation on the stale binder causes a\nDeadObjectException.\n\nThis change adds a check to ensure the binder is alive before use\nand falls back to polling servicemanager.\n\nBug: 353920381\nBug: 271276384\nChange-Id: I549d5a07966ebaed7e4a4ebe96e831dcac3b05bd\nSigned-off-by: charid \u003cdhoddeti.brahmachari@oppo.com\u003e\n"
    },
    {
      "commit": "2f37e818512d2e8e4101913c6550ba3f92af721f",
      "tree": "35d5e136646dd15053da06e2e6dccd0a9c25ba7b",
      "parents": [
        "5475f2dd74a0a8e8f797f72eafa8d866bb204ad9"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Wed Aug 21 14:25:46 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Thu Dec 05 11:49:39 2024 +0900"
      },
      "message": "Make Tethering public API for DO/Carrier apps\n\nMake a limited subset of Tethering APIs public for DO/Carrier apps\nto start Wifi tethering with a custom SoftApConfiguration.\n\nThe following APIs are needed to be moved to public\n- TetheringManager\n    - startTethering\n    - stopTethering\n    - registerTetheringEventCallback\n    - unregisterTetheringEventCallback\n- TetheringManager.TetheringRequest\n    - getSoftApConfiguration\n- TetheringManager.TetheringRequest.Builder\n    - setSoftApConfiguration\n- TetheringInterface\n- TetheringEventCallback\n    - onTetheredInterfacesChanged\n\nChecks for DO/Carrier apps will be added in a later CL.\n\nAPI-Coverage-Bug: 374400379\n\nBug: 216524590\nTest: atest TetheringTest TetheringManagerTest\nChange-Id: I9fb420ec6cebea17d8f3bc40a0ae8735074d9eb0\n"
    },
    {
      "commit": "5475f2dd74a0a8e8f797f72eafa8d866bb204ad9",
      "tree": "31dabd4a04c8c3772ed9dc3bd973b1b833cef0d4",
      "parents": [
        "eab1de47f4c71719fe2cb689ef5c6edf5e05ae28"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Wed Dec 04 12:28:29 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Thu Dec 05 08:32:10 2024 +0900"
      },
      "message": "Add stopTethering(TetheringRequest) stubs\n\nAdd a new API TetheringManager.stopTethering(TetheringRequest) to allow\napps to stop tethering for a specific request.\n\nThis CL only provides the API stubs. Implementation will be added in a\nfuture CL.\n\nBug: 216524590\nTest: atest TetheringManagerTest\n\nChange-Id: If00a7dc5d328dac620fb69c384378c36e99e1856\n"
    },
    {
      "commit": "eab1de47f4c71719fe2cb689ef5c6edf5e05ae28",
      "tree": "0f7e6ac9361cc92ed2e260de83808b07ff6906fd",
      "parents": [
        "dd87fb0d06b926f9632040cf782f7647f1c338c7"
      ],
      "author": {
        "name": "Seungjae Yoo",
        "email": "seungjaeyoo@google.com",
        "time": "Tue Sep 10 12:11:34 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Thu Dec 05 08:14:10 2024 +0900"
      },
      "message": "Introduce interfaceName field into TetheringRequestParcel\n\nBug: 340376953\nAPI-Coverage-Bug: 365678805\nTest: Presubmit\nTest: atest EthernetTetheringTest\nTest: atest TetheringTest\nTest: atest NsdManagerDownstreamTetheringTest -b\nTest: atest TetheringManagerTest -b\n\nChange-Id: I8025cc2e238b8f9516bf18d8ea0253f1c58a05e6\n"
    },
    {
      "commit": "587f996eb463c8b4980226232bbe611d58347669",
      "tree": "bb7aca7a0c647d852e78e5466b88f59671dd27ec",
      "parents": [
        "908ca9e9d8fed120f6a58e9f66a58d42ca1f73df"
      ],
      "author": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Wed Oct 02 22:38:10 2024 +0000"
      },
      "committer": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Sat Nov 23 23:07:44 2024 -0800"
      },
      "message": "Expose Connectivity libraries to VCN and tests\n\nThis patch exposes Connectivity libraries to allow migrating VCN to\nits own non-updatable framework and service libraries. It also\ncreates a utility library for VCN.\n\nBug: 369703242\nTest: atest FrameworksVcnTests \u0026\u0026 atest CtsVcnTestCases\nFlag: EXEMPT no functional change\nChange-Id: I1981f1cc824dcf426a76a0af8e4e3460fccb754e\n"
    },
    {
      "commit": "676ad858e228666e7fa2b3684dd29a09c7677ef4",
      "tree": "b18124eda2c57d84230bb29755e5d4f3b71df2bf",
      "parents": [
        "685b8aa50819d2736b2c04c6e09295625eaf771b"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Mon Nov 18 18:21:46 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Tue Nov 19 21:24:47 2024 +0900"
      },
      "message": "Clean up TetheringRequest#toString()\n\nClean up TetheringRequest#toString() by printing the TetheringType and\nConnectivityScope in a human-readable form and only printing the values\nof fields that have been set.\n\nBug: 216524590\nTest: atest TetheringManagerTest\nChange-Id: Ie2c35190a09605e3018b9d2d1f1d00cdc7bbb977\n"
    },
    {
      "commit": "a66b78ab875130521a3c2760cf6c6d5c7ae03433",
      "tree": "10669556b74d90ff017137f6a95048d10b9a58f9",
      "parents": [
        "9410d5678f19468bfb97742a48a72de8759b7aa0"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Wed Feb 07 13:46:22 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Mon Nov 18 13:37:39 2024 +0900"
      },
      "message": "Include SoftAP config in TetheringEventCallback\n\nInclude SoftApConfiguration in TetheringEventCallback via\nTetheringInterface, to allow apps to know which interfaces are created\nwith their SoftApConfigurations.\n\nAPI-Coverage-Bug: 371133403\n\nBug: 216524590\nTest: atest TetheringTest CtsTetheringTest\nChange-Id: I1b4868ba8327bee3b03c0f21e5b4f0845f2f24a8\n"
    },
    {
      "commit": "172fe79552d43461b936030daa80c85d613cf6c0",
      "tree": "ce702996a08f1d78d5103b7d270e16637049dd00",
      "parents": [
        "163daddacb2c4de98ad53e84b0e5f082e5a3f150"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Nov 13 17:16:50 2024 +0000"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Nov 13 17:19:11 2024 +0000"
      },
      "message": "Add new flag for Tethering w/ SoftApConfig\n\nOld flag gantry flow was disabled due to being out of sync\n(b/362407371). This change adds a new version of the same flag to\nkickstart a new gantry flow.\n\nFlag: com.android.net.flags.tethering_with_soft_ap_config\n\nBug: 216524590\nTest: build\nChange-Id: I50701582852c2077e7807ab2685e390f112fd029\n"
    },
    {
      "commit": "46722ad4c43fa460197a05d85eb22b376561ff12",
      "tree": "51acbc8b442034b2e1025a9335789fb6552d2dfb",
      "parents": [
        "12a7e185f2e688b7e0ab59480e095d4aff8d5cd4"
      ],
      "author": {
        "name": "Oscar Shu",
        "email": "xshu@google.com",
        "time": "Tue Nov 05 01:01:54 2024 +0000"
      },
      "committer": {
        "name": "Oscar Shu",
        "email": "xshu@google.com",
        "time": "Tue Nov 05 22:52:36 2024 +0000"
      },
      "message": "Revert^2 \"Add UID and package name to TetheringRequest\"\n\nThis reverts commit c8df03ffd78052bd26ced368c2b4c08b10fd05e5.\n\nReason for revert: Will fix issue with CL aosp/3326396\n\nChange-Id: I220025f7c8f8145a232ac2ae7f44e16088c122d7\n"
    },
    {
      "commit": "c8df03ffd78052bd26ced368c2b4c08b10fd05e5",
      "tree": "f1b6c802a7b56113775071b5e844581f4c775b1b",
      "parents": [
        "462703c85008761149c1d3f841283c3dc3b5d2c9"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Oct 30 16:29:15 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 30 16:29:15 2024 +0000"
      },
      "message": "Revert \"Add UID and package name to TetheringRequest\"\n\nThis reverts commit 462703c85008761149c1d3f841283c3dc3b5d2c9.\n\nReason for revert: b/375535923\n\nChange-Id: I7f77959490e8243bb95985bd28b67efcf0f3eb00\n"
    },
    {
      "commit": "462703c85008761149c1d3f841283c3dc3b5d2c9",
      "tree": "6163c54313478a475bc95c38180f7cf49f8de4e6",
      "parents": [
        "0537a07d86fd7ba01a3d024e9f3ad299e996b246"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Fri Aug 30 16:24:58 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Wed Oct 23 15:52:03 2024 +0900"
      },
      "message": "Add UID and package name to TetheringRequest\n\nAdd a uid and package name to TetheringRequest to keep track of which\napp the request belongs to, and also convey this information to Wifi\nfor later use with resource conflicts.\n\nBug: 216524590\nTest: atest TetheringManagerTest TetheringServiceTest\nChange-Id: If963694cb1bbd831ba379a76043825c94ef9d67a\n"
    },
    {
      "commit": "edddb5b6f715402e8934e0af7d3d2d03aab4bb20",
      "tree": "e1e98afa22c871442ba73bc4e9ffb10eb40a4a44",
      "parents": [
        "487f21e9bed2d78c7c896c15602115b762d87258",
        "8675fc0c5dac4cc41cc202c668314dd67c5d86ef"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Oct 04 23:13:14 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 04 23:13:14 2024 +0000"
      },
      "message": "Merge \"Change TetheringManager#RequestDispatcher as static\" into main"
    },
    {
      "commit": "8675fc0c5dac4cc41cc202c668314dd67c5d86ef",
      "tree": "4be9c515caba1fba9fc5fba8830a0cfbb95156a8",
      "parents": [
        "355670c19612b43b73d496fee4b4fc7d4c13bf01"
      ],
      "author": {
        "name": "dingfeisong",
        "email": "dingfeisong@xiaomi.corp-partner.google.com",
        "time": "Thu Sep 26 11:08:17 2024 +0800"
      },
      "committer": {
        "name": "Feisong Ding",
        "email": "dingfeisong@xiaomi.corp-partner.google.com",
        "time": "Thu Sep 26 06:03:18 2024 +0000"
      },
      "message": "Change TetheringManager#RequestDispatcher as static\n\nIf the system GC does not recycle the RequestDispatcher\nobjects in time, they will hold more contexts, which may\nlead to OutOfMemoryError.\n\nSo change TetheringManager#RequestDispatcher as static.\n\nBug:369730368\n\nChange-Id: Ia67d8547bd2d239b5f939bd870761f2946afd43b\nSigned-off-by: dingfeisong \u003cdingfeisong@xiaomi.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "430a8ad33c40ffa7b2ad44301108527fd9be96c1",
      "tree": "327dbb6c51ee8ef5e4e8a6781a970d763962a362",
      "parents": [
        "6a5165a2115d07c16e33b0e15b729582dbd3080b",
        "8401b6a9f09257b7fd9cc800115dd6d9807ae5e0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Sep 10 19:12:45 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 10 19:12:45 2024 +0000"
      },
      "message": "Merge \"Make java_sdk_library dependencies explicit\" into main"
    },
    {
      "commit": "8401b6a9f09257b7fd9cc800115dd6d9807ae5e0",
      "tree": "b50f9395bca6647d8066b16cd1450815d08e0da7",
      "parents": [
        "5f0ddbdf4e56ebd3bef9d981884c02cc16473228"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Fri Aug 30 00:29:58 2024 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Tue Sep 10 00:01:31 2024 +0000"
      },
      "message": "Make java_sdk_library dependencies explicit\n\nmodules should specify the submodule of java_sdk_library that the module\nactually depends on\n\nTest: CI\nBug: 358613520\nChange-Id: I0367068c901df98483f6cf95160d3e7801881b0a\n"
    },
    {
      "commit": "e7cae17b3a40e55a3855e5612bbc6f344666db62",
      "tree": "83fbb92a85b45b9fc5d8ee00059f955a7d325b8f",
      "parents": [
        "5f0ddbdf4e56ebd3bef9d981884c02cc16473228"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Mon Sep 09 22:52:00 2024 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Mon Sep 09 22:55:01 2024 +0000"
      },
      "message": "Add NetworkStack to framework-connetivity and framework-tethering impl lib visibility\n\nAs NetworkStackApi*Shims modules defined in\npackages/modules/NetworkStack depends on the impl libs of\nframework-connectivity and framework-tethering\n\nTest: m nothing\nBug: 358613520\nChange-Id: I5c90d4ae6eeb51f42f1ae1c88dd726bfdcd093e8\n"
    },
    {
      "commit": "a940e426c141127aef52b23c76eecaff3986ce2a",
      "tree": "646c2b9697323dcca2088a694b8c4f30e05a164b",
      "parents": [
        "24b9bd7fa6ba9dd9d370f700ce8ee199b655b12d"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Fri Feb 02 14:30:01 2024 +0900"
      },
      "committer": {
        "name": "Quang Luong",
        "email": "qal@google.com",
        "time": "Wed Aug 21 07:28:26 2024 +0000"
      },
      "message": "Add SoftApConfiguration to TetheringRequest\n\nAllow apps to specify the SoftApConfiguration to use for Tethering via\nTetheringRequest.\n\nAPI-Coverage-Bug: 361242098\n\nBug: 216524590\nTest: atest TetheringManagerTest\nChange-Id: I956a2f9dc989e7b2d404b84957d859035e4cd6e8\n"
    },
    {
      "commit": "2fc115491a9c108707398aa56c1c3c26817f7178",
      "tree": "36b78c2f9a84b519011581e902afecaec929549f",
      "parents": [
        "d7f925faccf3706b699e53faa73be23177ad964a"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Aug 15 12:34:15 2024 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Aug 16 16:57:29 2024 +0900"
      },
      "message": "Use java_aconfig_library for android_core_networking flags\n\nConnectivity repo now can use java_aconfig_library since this target is\navailable on all downstream branches.\n\nThis CL removes framework-connectivity-t-mdns-standalone-build-sources.\nFiles in this target use flags which won\u0027t be available in the\nout-of-tree build but the next out-of-tree library import will not use\nthe classes in that filegroup anymore.\nSo the standalone build rule will still match the out-of-tree build.\n\nBug: 345121279\nTest: TH\nChange-Id: I2a9aa02bd0c9aa00d460f98cd51d5dec4098fb89\n"
    },
    {
      "commit": "50e486668cee4641e2e3b43e0e1f6b1883aa6ac5",
      "tree": "76dccc3125e7830ccbffbbeaca23ebb6ea2ed9da",
      "parents": [
        "5e61693235daae58234f548cfd728c4307559224"
      ],
      "author": {
        "name": "Seungjae Yoo",
        "email": "seungjaeyoo@google.com",
        "time": "Tue Jul 16 12:20:07 2024 +0900"
      },
      "committer": {
        "name": "Seungjae Yoo",
        "email": "seungjaeyoo@google.com",
        "time": "Tue Jul 16 13:39:49 2024 +0900"
      },
      "message": "More documentation about TETHERING_VIRTUAL\n\nBug: 353392669\nTest: N/A\nChange-Id: Idaff2c67eccfa3000964c185feba9eaf61260c05\n"
    },
    {
      "commit": "2a3d34413c96d6c4bbacc93173535ea7600a900f",
      "tree": "808283ab90b6ca58f8d277d32dfca0737d96ed25",
      "parents": [
        "1879bc303304f260543ff7d261100be30e17400e",
        "0692aff5c5aba22060f35c8204dbb6707fdb25dc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jul 09 21:37:51 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 09 21:37:51 2024 +0000"
      },
      "message": "Merge \"Add more consistent null checks\" into main"
    },
    {
      "commit": "3eb23a9d5e0d2eaab90986c396c52062d45d5534",
      "tree": "7d1258916b3bfbb6182e433ecb378ac8faf3d25d",
      "parents": [
        "d6fa127ec0b62d59687b63117a0af2ce40713f05"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "amhk@google.com",
        "time": "Thu Jul 04 06:31:15 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 04 06:31:15 2024 +0000"
      },
      "message": "Revert^2 \"Baseline one more Lint FlaggedApi violation\"\n\nThis reverts commit d6fa127ec0b62d59687b63117a0af2ce40713f05.\n\nReason for revert: updating lint-baseline.xml does not cause build brekage; keep holding back the separate CL that turns FlaggedApi violations into errors\n\nChange-Id: Ie5d048bde1c0b717cb0d589d33550e6b68154be8\n"
    },
    {
      "commit": "d6fa127ec0b62d59687b63117a0af2ce40713f05",
      "tree": "b9059c88e775f4f973fb55c43d22f83a6538d4bc",
      "parents": [
        "dddac402591ddff88c04b47a06ab267ca661aaa4"
      ],
      "author": {
        "name": "Priyanka Advani",
        "email": "padvani@google.com",
        "time": "Wed Jul 03 19:53:55 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 03 19:53:58 2024 +0000"
      },
      "message": "Revert \"Baseline one more Lint FlaggedApi violation\"\n\nRevert submission 3156916-flagged-api-lint-baseline\n\nReason for revert: Droidmonitor created revert due to build breakages in b/350976857.\n\nReverted changes: /q/submissionid:3156916-flagged-api-lint-baseline\n\nChange-Id: I52ca486a00d47f478c61ce0ae39b9d9b584af87e\n"
    },
    {
      "commit": "0692aff5c5aba22060f35c8204dbb6707fdb25dc",
      "tree": "1f1333759f00203dc1e0a562beae12f5a7877241",
      "parents": [
        "2d68bc21352f26482a8c2f875977bb812a8a61eb"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue Jul 02 11:53:17 2024 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue Jul 02 11:53:17 2024 -0700"
      },
      "message": "Add more consistent null checks\n\nThis change moves the null check into the service implementation. Since\nexceptions on oneway binder interfaces are ignored (across process), the\ncode was changed to just return early instead.\n\nThis also adds a couple of Objects.requireNonNull() assertions in\nTetheringManager to assert the existing @NonNull annotation.\n\nTest: TH\nBug: 337167681\nChange-Id: I5301ed084bb26c2f910041e9b25314f8181718d1\n"
    },
    {
      "commit": "dddac402591ddff88c04b47a06ab267ca661aaa4",
      "tree": "7d1258916b3bfbb6182e433ecb378ac8faf3d25d",
      "parents": [
        "6d864ff9ca7024e1f610eb02c84b801ebd726354"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "amhk@google.com",
        "time": "Tue Jul 02 13:17:37 2024 +0200"
      },
      "committer": {
        "name": "Mårten Kongstad",
        "email": "amhk@google.com",
        "time": "Tue Jul 02 13:27:38 2024 +0200"
      },
      "message": "Baseline one more Lint FlaggedApi violation\n\nThe Lint FlaggedApi checks are currently configured as warnings. Add\nexisting violations to baselines files to prepare for turning the\nFlaggedApi checks into errors.\n\nBug: 303434307\nTest: treehugger\nFlag: EXEMPT not possible to flag baseline changes\nMerged-In: I5cbff0293af79e68057fd42ecfa8d2c8af31ae6a\nChange-Id: I5cbff0293af79e68057fd42ecfa8d2c8af31ae6a\n"
    },
    {
      "commit": "3e65131ba387c398dfa82549a0d5a1c6b7b6dcd0",
      "tree": "15503b33b8866516f153c5a37aaffc213b024a5b",
      "parents": [
        "51741a1633e5f1142a8ade0ba2fc675d069946e2"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Mon Jun 03 14:58:46 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Wed Jun 26 16:25:13 2024 +0900"
      },
      "message": "Replace TetheringRequestParcel with TetheringRequest\n\nReplace TetheringRequestParcel with TetheringRequest in the service\ncode. This makes future changes easier since TetheringRequest is a\nproper class and not an AIDL object.\n\nBug: 216524590\nTest: atest TetheringTest TetheringManagerTest\nChange-Id: I0cdee597d393e53feb9fe9aff4d6c67330c88599\n"
    },
    {
      "commit": "4ece737f4fd2320f25a9b79536e0a4fe0872d1b6",
      "tree": "5c2857c0fd73247d852e8e51b028f324725cd8fe",
      "parents": [
        "0ca920b40b818716be5371f4ac88d79a551d8695"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "amhk@google.com",
        "time": "Thu Jun 20 09:05:51 2024 +0200"
      },
      "committer": {
        "name": "Mårten Kongstad",
        "email": "amhk@google.com",
        "time": "Thu Jun 20 09:05:51 2024 +0200"
      },
      "message": "Baseline Lint FlaggedApi violations\n\nThe Lint FlaggedApi checks are currently configured as warnings. Add\nexisting violations to baselines files to prepare for turning the\nFlaggedApi checks into errors.\n\nBug: 303434307\nTest: treehugger\nFlag: EXEMPT not possible to flag baseline changes\nMerged-In: I990ce57cd5cdac44ee8b93565b45aa15790ad697\nChange-Id: I990ce57cd5cdac44ee8b93565b45aa15790ad697\n"
    },
    {
      "commit": "07b8fe1f92529f1b7bb8bf613955586cfd21a0e5",
      "tree": "0160c52c2c24cceb8d9e4c042c828d199e3f665a",
      "parents": [
        "3fe617dfdb0b0139f85d779a8d311c3bb9d2bb13"
      ],
      "author": {
        "name": "Seungjae Yoo",
        "email": "seungjaeyoo@google.com",
        "time": "Wed Jun 19 16:18:51 2024 +0900"
      },
      "committer": {
        "name": "Seungjae Yoo",
        "email": "seungjaeyoo@google.com",
        "time": "Wed Jun 19 16:18:51 2024 +0900"
      },
      "message": "Introduce TETHERING_VIRTUAL type\n\nBug: 340376953\nTest: Presubmit\nChange-Id: I0714b62ebfc63fc966d7873ebdd68ae72c015bc4\n"
    },
    {
      "commit": "52d329642a8bd6413c077ce34617407ff9db26bd",
      "tree": "da6f5b6753bfccbecbef18f28413bbed3efad57b",
      "parents": [
        "a5d9875823bb1f4e50aa6fe46721b8d9d13ac7a3"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Thu Feb 29 08:10:11 2024 +0000"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Fri Mar 01 00:57:52 2024 +0000"
      },
      "message": "Remove unused library visibility\n\nThis commit removes the unused library visibility.\n\nThe \"frameworks/base/packages/Connectivity\" folder is the\ntemporary folder for modulizing the connectivity codes. There is\nno such need now.\n\nTest: m\nChange-Id: Ia2890fe64c1bc369fcb90be645263bc56c98a7b2\n"
    },
    {
      "commit": "a5d9875823bb1f4e50aa6fe46721b8d9d13ac7a3",
      "tree": "2c603fbb2d9194bf9053d6e6b571dd0bad9f8c45",
      "parents": [
        "fe1363057c93715c359f7204c168bdfd7926b14c"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Wed Feb 28 07:50:15 2024 +0000"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Thu Feb 29 07:48:02 2024 +0000"
      },
      "message": "Move VpnManagerServiceTest and VpnTest to frameworks\n\nThese unit tests are closely tied to the source code in\nframeworks/base and were incorrectly placed in the connectivity\nmodule. Also update the libraries visibility that are used by\nthe tests.\n\nTest: atest FrameworksNetTests\nChange-Id: I196c33a8bd5b5cdb9d42aea381e900681ff6d25e\n"
    },
    {
      "commit": "52f294cbc41c93926d2421ab74b0ef44ee5d7624",
      "tree": "edf203f81ab9c6c19a453d82bffc4187461d4683",
      "parents": [
        "211e7862b64b67a18628f6b1490a0cd5881e4876"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Feb 15 15:21:39 2024 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Feb 19 06:58:35 2024 +0000"
      },
      "message": "Update flags.aconfig to follow the current APIs\n\nThis CL also specifies aconfig_declaration module in java_sdk_library\nregister_nsd_offload_engine will be moved to the platform flags.aconfig\nin the followup CL.\n\nTest: TH\nChange-Id: I430a5f0b1e1ef2e3394cf6aa8efebbd46da41765\n"
    },
    {
      "commit": "1252f7f428d01010fa7899f3a867fbc6b1c0f0c1",
      "tree": "6f8790d2e4675e043ded5382efb13195dccb45b9",
      "parents": [
        "dc800d00204559e31f41968cf6c8ffe3f0afb8f9"
      ],
      "author": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Wed Feb 07 13:41:40 2024 +0900"
      },
      "committer": {
        "name": "Quang Anh Luong",
        "email": "qal@google.com",
        "time": "Thu Feb 15 10:15:05 2024 +0900"
      },
      "message": "Make TetheringRequest parcelable\n\nMake TetheringRequest parcelable so we can pass it via Wifi APIs and map\nSoft AP state changes to the correct request.\n\nBug: 216524590\nTest: build\nChange-Id: I63a45b14e9abc288b353159dfdcbe96fde485cb7\n"
    },
    {
      "commit": "01b5ede2b2f30a5fc2b86b4acabfeec20f3c683e",
      "tree": "4f489cecd57cee5df30b12787bf22a6fce4eb44a",
      "parents": [
        "a906743bc7ff42c1cc4f5d2d9b501034fd7bff65"
      ],
      "author": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Wed Jan 31 11:08:57 2024 +0000"
      },
      "committer": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Wed Jan 31 12:34:50 2024 +0000"
      },
      "message": "[DON\u0027T BLOCK] Test ownership migration rules\n\nThis CL is created as a best effort to migrate test targets\nto the new android ownership model. If you find incorrect or unnecessary\nattribution in this CL, please create a separate CL to fix that.\n\nFor more details please refer to the link below,\n\u003cadd g3 doc link\u003e\n\nBug: 304529413\nTest: N/A\nChange-Id: I243f17b3f0ad7af9ffa15ca242456e36688733f5\nMerged-In: I243f17b3f0ad7af9ffa15ca242456e36688733f5\n"
    },
    {
      "commit": "806f5a1becb507cbda661d9473ac3bc36893ba51",
      "tree": "5092878a2df26f8bb906e2cbaed2246f41cf23c9",
      "parents": [
        "fe1d851dd01b160b57498bddcf1e0bb96ebbfbb2"
      ],
      "author": {
        "name": "Handa Wang",
        "email": "handaw@google.com",
        "time": "Mon Dec 04 12:53:39 2023 +0800"
      },
      "committer": {
        "name": "Handa Wang",
        "email": "handaw@google.com",
        "time": "Tue Dec 26 15:24:54 2023 +0800"
      },
      "message": "implement Thread Border Router e2e integration test\n\nThis implements a basic border routing test case (ping) and demonstrates a\nvalid test environment for Thread Border Router test cases.\n\nLater we can add more packet verifications and more test cases.\n\nBug: 295843010\nTest: atest android.net.ThreadBorderRouterTest\n\nChange-Id: Ifb9b6d45539143a227c2bc0ed69b5c3167ef9acd\n"
    },
    {
      "commit": "88410c6fd6cdc1bd8e1b01ab10253ff53ed88432",
      "tree": "d8edf13462aa131d501abb200f27825b937fc36c",
      "parents": [
        "194bfde52b3df80a4c8adf117b26cdb002822e73"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Nov 29 12:25:03 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Dec 04 08:59:43 2023 +0000"
      },
      "message": "Remove workaround to remove FlaggedAPI in ump\n\nTest: TH\nChange-Id: Icd3c87a7da9b45e5341a1a2ead68f0a9809591bb\n"
    },
    {
      "commit": "d8e40b3204127d7d321cd7fb0ef06f19137492ef",
      "tree": "5e5944e4d9ffa20a159fe72c64858d0a43921918",
      "parents": [
        "4126d9b793fa424f81a4fed4cbd18fc45122f542"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Oct 25 15:39:26 2023 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue Nov 07 08:40:36 2023 +0000"
      },
      "message": "Baseline issues that were previously suppressed\n\njava_sdk_library has previously internally disabled a few legitimate\nissues. As this is being un-done for modules, add baselines for the\npre-existing issues.\n\nBug: 306806877\nTest: m checkapi\nMerged-In: Ie764d33196675e1482f30ecfd3d6d22b7fa25c27\nChange-Id: Ie764d33196675e1482f30ecfd3d6d22b7fa25c27\n"
    },
    {
      "commit": "b3c3f2e9d02912adb28127de1094519363d5d52e",
      "tree": "75449e5fd6cdf749c7af9bd5ae0705b6c206c3c6",
      "parents": [
        "10353d53515d5035ddb3a2d0f1d8c606155c1a6b"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Oct 12 18:48:37 2023 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Oct 12 19:21:07 2023 +0100"
      },
      "message": "Add additional overriding methods to signature files\n\nThis change adds overriding methods that are essential to compile the\nstubs generated from the signature files.\n\nMore information and the background for this change is available at\ngo/add-overriding-one-pager.\n\nTest: m checkapi\nBug: 299366704\nChange-Id: Idba307148fd9afa87bfb7e0c89e00d9bd97ec204\n"
    },
    {
      "commit": "7bd2d108eaa04518f0343b479faf6cdc21174ade",
      "tree": "a91f995e5e8194653a4b781f26ea21ac8ee73408",
      "parents": [
        "eb66389d6af3f995eecff5bddc3e0e340253a71d"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Oct 10 17:11:25 2023 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Oct 10 17:11:25 2023 +0100"
      },
      "message": "Prepare for keeping concrete overrides of abstract methods\n\nCurrently, metalava will discard concrete overrides of abstract methods\nfrom the API signature files which causes problems when attempting to\ngenerate stubs from those files and also discards information that may\nbe important in API reviews. This change is the first step in the\nprocess of changing that behavior.\n\nThis change hard codes the current behavior for discarding the concrete\noverrides (`add-additional-overrides\u003dno`) into those signature files\nthat will (or are likely) to be affected by the change in behavior.\nThat allows the default behavior to be changed for all the other files\nwithout affecting these.\n\nFollow up changes will remove the hard coding from the signature files\nand will update the contents which will include the concrete overrides\nof the abstract methods.\n\nMore information and the background for this change is available at\ngo/add-overriding-one-pager.\n\nTest: m checkapi\nBug: 299366704\nChange-Id: I52c5bbe2e3bbd36019fe44fcb0b2d19876a5a869\n"
    },
    {
      "commit": "c6dc826c22323b8f0ac203f6d4dbda939d012906",
      "tree": "9e6832b5bd1b5238955384405836d948ebb742ff",
      "parents": [
        "8c02f0394920ba784077ed3c2524220fdba4f5c1",
        "310f11acfed54f8dccf3d4d88c445e50bf660d8e"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Sep 12 08:25:42 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 12 08:25:42 2023 +0000"
      },
      "message": "Merge changes If3217916,I86023b1f into main\n\n* changes:\n  Add java_defaults for @FlaggedApi handling\n  Prepare api directory for udc mainline branch\n"
    },
    {
      "commit": "c48003930930fb54e03c6e8ce23f94e1a378e23d",
      "tree": "c5c0fe24a5583ab2c87f91e4540c88663886d77c",
      "parents": [
        "fcd2b7ccb0c9830ec91c0976f4c5881acb25219c",
        "89e9fac536832ac26c678e17abc0d09433a71e0d"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Sep 11 11:48:36 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Sep 11 11:53:46 2023 +0900"
      },
      "message": "Merge remote-tracking branch \u0027remotes/aosp/tmp_libs_net_move\u0027 into libs_net_move_merge\n\nframeworks/libs/net/common -\u003e\npackages/modules/Connectivity/staticlibs\n\nframeworks/libs/net/client-libs -\u003e\npackages/modules/Connectivity/staticlbs/client-libs\n\nTest: TH\nBug: 296014682\nChange-Id: I5dc78f0c4653e20312ab3d488b1e69262dbb9840\n"
    },
    {
      "commit": "310f11acfed54f8dccf3d4d88c445e50bf660d8e",
      "tree": "c4798581dc3ac0475f5a52f0cdb3958296ee6458",
      "parents": [
        "5dcd14569e13d0947f34b821b624aeb2251489b1"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Sep 07 19:20:07 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Sep 08 14:47:03 2023 +0900"
      },
      "message": "Add java_defaults for @FlaggedApi handling\n\nThis CL is a preparation to ignore @FlaggedApi API in udc mainline\nbranch\n\nBug: 299411828\nTest: TH\nChange-Id: If3217916b2c37ebaa7b48d8387c69cb078af9550\n"
    },
    {
      "commit": "5dcd14569e13d0947f34b821b624aeb2251489b1",
      "tree": "b5072d75cdaf3a471095d0beaf13eefeeb153a25",
      "parents": [
        "fcd2b7ccb0c9830ec91c0976f4c5881acb25219c"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Sep 07 18:39:06 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Sep 08 11:42:21 2023 +0900"
      },
      "message": "Prepare api directory for udc mainline branch\n\nudc-extended-api directory will be used only in udc mainline branch to\nhide @FlaggedApi annotated api which is not supported in that branch\n\nCopied api directories from udc mainline branch.\n\nBug: 299411828\nTest: TH\nChange-Id: I86023b1fb3e5f9b4b787a564303e6d2e60f74467\n"
    },
    {
      "commit": "740b1d4ac35da61815eeebff959806b4fd2b11cd",
      "tree": "2264323fcc7b650e3ed2f7e6cc4c937cb3fe1fb1",
      "parents": [
        "2e3e2955b8cf7ba181788140dd62b2dd20e7b600"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Thu May 11 13:28:54 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri May 12 10:15:01 2023 -0700"
      },
      "message": "cronet: Move cronet defaults to framework/Android.bp\n\nSince cronet has moved out of the tethering jar.\n\nTest: TH\nChange-Id: Ibf476c0afd72863b26188dae6838825e6762976a\n"
    },
    {
      "commit": "2e3e2955b8cf7ba181788140dd62b2dd20e7b600",
      "tree": "bb4d832539614306f9d47ff5094b97681705e762",
      "parents": [
        "3903b1e91df60be994305dc3b3c7666eb92df5a7"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Thu May 11 09:53:02 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri May 12 10:15:01 2023 -0700"
      },
      "message": "cronet: delete option to disable cronet in tm-mainline-prod\n\nWith the release cut of the July train and the recent automerger\ncutover, tm-mainline-prod is now officially an abandoned branch.\n\nThis change deletes (most) infrastructure that was put in place to\ndisable cronet on tm-mainline-prod.\n\nTest: builds\nChange-Id: I078f2114b736a634f08d8f704c19beb2224ef645\n"
    },
    {
      "commit": "73e2e87d5629f5b555f1cc4b3649a846d6c02127",
      "tree": "4fe8293b7e87cee0568fe43c12244e234a3d3715",
      "parents": [
        "7002f0bee14cc161a7ee5a6cb13ec1c8aa361d46"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Apr 14 19:22:42 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Apr 19 11:32:12 2023 +0900"
      },
      "message": "Move cronet to framework-connectivity\n\naosp/2384137 added cronet to framework-tethering.\nBut framework-connectivity is a better place to put cronet since\ncronet does not work on R devices (b/270049141) and\nframework-tethering is R+, framework-connectivity is S+.\n\nFollowup CLs will move some modules (e.g. CronetJavaPrejarjarDefaults)\nthat use the branch dependent soong variables to framework/Android.bp\n\nTest: TH\nBug: 278070640\nChange-Id: I6bc10116759fb9e083c02147908e53022dab740a\n"
    },
    {
      "commit": "ef0074143df26710b02e926904bf7c4c2fc29117",
      "tree": "18a9451688ed67a1453902b22e821a81e22aaa31",
      "parents": [
        "74b0d066c6f57866c12e2d35adbcba6512256ec3"
      ],
      "author": {
        "name": "Chidera Olibie",
        "email": "colibie@google.com",
        "time": "Thu Apr 13 09:37:30 2023 +0000"
      },
      "committer": {
        "name": "Chidera Olibie",
        "email": "colibie@google.com",
        "time": "Thu Apr 13 09:38:39 2023 +0000"
      },
      "message": "Revert \"Fix `symbol not found` error for hidden apis used by MTS\"\n\nThis reverts commit 5f44ed3e7e627a09424f70bf6d2828119976e239.\n\nReason for revert: The symbol not found error was a transient build failure.\n\nChange-Id: Iada1a0bc9c2282286c1e3b972de42e6387c901d6\n"
    },
    {
      "commit": "5f44ed3e7e627a09424f70bf6d2828119976e239",
      "tree": "1b83c920e2b64a7253311ecd2262616ba4cca4e1",
      "parents": [
        "9c6801f81bf13eee392e89e958f89766e23afed1"
      ],
      "author": {
        "name": "Chidera Olibie",
        "email": "colibie@google.com",
        "time": "Thu Mar 23 03:51:00 2023 +0000"
      },
      "committer": {
        "name": "Chidera Olibie",
        "email": "colibie@google.com",
        "time": "Thu Mar 23 15:53:11 2023 +0000"
      },
      "message": "Fix `symbol not found` error for hidden apis used by MTS\n\nThis fails to build on git_master when\ndepending on `sdk_version:module-current` and\n`libs:[\"framework-tethering-pre-jarjar\"].\n\nAIUI, some builds use sdk prebuilts that have compiled out\nsome of the hidden apis. And thus fails with symbol not found.\n\nSo we depend on the impl version of frame-tethering so we always\nhave access to these hidden apis for MTS.\n\nTest: atestNetHttpCoverageTests\nChange-Id: Id68a9051b9f8566f9ca42142669150a6db8b0925\n"
    },
    {
      "commit": "9c6801f81bf13eee392e89e958f89766e23afed1",
      "tree": "93b4f046c895e2f31eabac0515f0cde2c710a2c4",
      "parents": [
        "8484ec4dcde0b37c853adddd5b8c91e6b5940e93"
      ],
      "author": {
        "name": "Mohannad Farrag",
        "email": "aymanm@google.com",
        "time": "Thu Mar 23 12:45:45 2023 +0000"
      },
      "committer": {
        "name": "Mohannad Farrag",
        "email": "aymanm@google.com",
        "time": "Thu Mar 23 12:47:47 2023 +0000"
      },
      "message": "Revert^2 \"gn2bp: Remove `soong_namespace`\"\n\n8484ec4dcde0b37c853adddd5b8c91e6b5940e93\n\nChange-Id: I490c09179ea6a20ca5fba83c314b552d360be688\n"
    },
    {
      "commit": "8484ec4dcde0b37c853adddd5b8c91e6b5940e93",
      "tree": "473f1f92eea89993f690e9b47f1cd5cfdd7706f0",
      "parents": [
        "16ba06233697990103f13992910c864b9aea1b89"
      ],
      "author": {
        "name": "Mohannad Farrag",
        "email": "aymanm@google.com",
        "time": "Thu Mar 23 12:36:46 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 23 12:36:48 2023 +0000"
      },
      "message": "Revert \"gn2bp: Remove `soong_namespace`\"\n\nRevert submission 2502135-remove_soong_namespace\n\nReason for revert: Missing line needs to be added\n\nReverted changes: /q/submissionid:2502135-remove_soong_namespace\n\nChange-Id: I780a21cf7031e04eb368fda4f93ed16ea032ca8d\n"
    },
    {
      "commit": "16ba06233697990103f13992910c864b9aea1b89",
      "tree": "2e856476269d004b8535ac2b54c578c08cd71a03",
      "parents": [
        "fb94c31fc021b23b1482252354cfbb55dc0e9886"
      ],
      "author": {
        "name": "Mohannad Farrag",
        "email": "aymanm@google.com",
        "time": "Wed Mar 22 11:37:15 2023 +0000"
      },
      "committer": {
        "name": "Mohannad Farrag",
        "email": "aymanm@google.com",
        "time": "Thu Mar 23 12:14:04 2023 +0000"
      },
      "message": "gn2bp: Remove `soong_namespace`\n\n* This was causing the infra to ignore the modules and masking build errors.\n\nTest: TH\nChange-Id: Ic5aa3557353488d5370f4d9c4240954820bfe52b\n"
    },
    {
      "commit": "a5e1029101ea5fdb60c33d645c2b0a0abec2f9f5",
      "tree": "c28980479cca3791effa7d14a30fce6f5eb6905f",
      "parents": [
        "4c858872b57d6c6183d01e6eb0711893c2014972",
        "43d89f659fe3b4e708a7751a0f12087bffcec84e"
      ],
      "author": {
        "name": "Stefano Duo",
        "email": "stefanoduo@google.com",
        "time": "Mon Mar 20 13:10:30 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 20 13:10:30 2023 +0000"
      },
      "message": "Merge \"Reland \"Bundle Cronet\u0027s boringssl\"\""
    },
    {
      "commit": "43d89f659fe3b4e708a7751a0f12087bffcec84e",
      "tree": "8f2b55627cc71e30476c0ab27170a6157eaa9af0",
      "parents": [
        "3b673131592252e423c9e118aa793a4feb5fedaf"
      ],
      "author": {
        "name": "Stefano Duo",
        "email": "stefanoduo@google.com",
        "time": "Wed Mar 15 16:11:52 2023 +0000"
      },
      "committer": {
        "name": "Stefano Duo",
        "email": "stefanoduo@google.com",
        "time": "Fri Mar 17 13:46:25 2023 +0000"
      },
      "message": "Reland \"Bundle Cronet\u0027s boringssl\"\n\nThis relands commit 2cd4ac872558c6248e8c641eb263547445ca0dec\n\nMerged-In: I903369dbad37b663a39e80149e25b0634386df6d\nChange-Id: I018121bf4d02ccc59c89de39e3d1598deb9cf67b\nBug: 274094720\n"
    },
    {
      "commit": "2441e4aea6cc16943c69a7feb6b94b44f7f62b01",
      "tree": "82ad16c64ab981f5ee433689255ce25e15fb0204",
      "parents": [
        "746f10e6d0fd9b023b7e5e24383aa49562e76150"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Mar 17 11:26:25 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Mar 17 09:04:56 2023 +0000"
      },
      "message": "cronet: Update APIs naming\n\nBug: 265674359\nBug: 273937039\nTest: TH\nChange-Id: I5fc149396511effdfabd462eba80d1a010ee205a\n"
    },
    {
      "commit": "9ed7a339a1cd5531083ab4911ea58559bbf9bb9a",
      "tree": "40b21f7b77ad5836eb126e85bacf854ec799df10",
      "parents": [
        "020b31904a52d974cf2da77289c815c3600e157b",
        "5cdd07aa26389f414ec56f55aad966ad986eb95d"
      ],
      "author": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Thu Mar 16 15:03:55 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 16 15:03:55 2023 +0000"
      },
      "message": "Merge \"cronet: Fix AutoBoxing API linter issue\""
    },
    {
      "commit": "5cdd07aa26389f414ec56f55aad966ad986eb95d",
      "tree": "d29398e5af45b25dd6ccf55e87883e5a17a88cd9",
      "parents": [
        "812cd0fcc1e4a120907965a75f11387cda890e65"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Mar 14 19:11:16 2023 +0900"
      },
      "committer": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Wed Mar 15 13:54:17 2023 +0000"
      },
      "message": "cronet: Fix AutoBoxing API linter issue\n\nBug: 265674359\nTest: TH\nChange-Id: Id2489a2337ff4d0fd0c30929f9e56d8d027dbbc6\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": "853ef56fb6a5a694eb6e10e62b8efce709a7c5b1",
      "tree": "7d09f90ee5d950dd895fc4657276d99cef099e65",
      "parents": [
        "b21fe216cc05640c5cde969c8fbfd8106c815657",
        "77c084d1f6559c5f1032222ff3601ac5a3a1e215"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 15 00:31:21 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 15 00:31:21 2023 +0000"
      },
      "message": "Merge \"Revert \"Bundle Cronet\u0027s boringssl\"\""
    },
    {
      "commit": "77c084d1f6559c5f1032222ff3601ac5a3a1e215",
      "tree": "925c5b37f9c52067cd17260dd9d81299b7aa9167",
      "parents": [
        "2cd4ac872558c6248e8c641eb263547445ca0dec"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue Mar 14 22:45:06 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 22:45:06 2023 +0000"
      },
      "message": "Revert \"Bundle Cronet\u0027s boringssl\"\n\nThis reverts commit 2cd4ac872558c6248e8c641eb263547445ca0dec.\n\nReason for revert: b/273575026\n\nChange-Id: I5b9886465b8a0f71af469d303a39f670a9b0cb68\n"
    },
    {
      "commit": "944d6a32359e23b6f655f94a9c49e5224b2f00bd",
      "tree": "f0413cf6a692b3445d3bf9fec3921be1e7562a6f",
      "parents": [
        "210540d3b52ef5d4e53c3f52008dea015d2e5620",
        "fcfe8c7d8e685d40ad9ab28aaa67672782098dff"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 14 15:42:28 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 14 15:42:28 2023 +0000"
      },
      "message": "Merge \"Cronet API: make UrlRequest.Callback an interface.\""
    },
    {
      "commit": "fcfe8c7d8e685d40ad9ab28aaa67672782098dff",
      "tree": "67b377174c14ec055e09a89f22907da43b5d4fec",
      "parents": [
        "157877a723c1d9b563dc9659c47d033decab7bd1"
      ],
      "author": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Fri Mar 10 16:45:00 2023 +0000"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Mar 14 05:57:19 2023 +0000"
      },
      "message": "Cronet API: make UrlRequest.Callback an interface.\n\nFor consistency with other Callback classes, and not to force class\nhierarchy on users. The historical \"callback completeness\" issue can be\nmnitigate using interface defaults.\n\nTest: atest CtsNetHttpTestCases\nChange-Id: Ibf2aaf4396ab9defdeb4e3882cea6b1b2dbd36ee\nMerged-In: Id8fcc13567da8878e848f3c6668d865e77b48146\n"
    },
    {
      "commit": "2cd4ac872558c6248e8c641eb263547445ca0dec",
      "tree": "437c555ec83506af6859afc909b546a676264166",
      "parents": [
        "157877a723c1d9b563dc9659c47d033decab7bd1"
      ],
      "author": {
        "name": "Stefano Duo",
        "email": "stefanoduo@google.com",
        "time": "Fri Jan 27 16:32:03 2023 +0000"
      },
      "committer": {
        "name": "Stefano Duo",
        "email": "stefanoduo@google.com",
        "time": "Mon Mar 13 13:28:35 2023 +0000"
      },
      "message": "Bundle Cronet\u0027s boringssl\n\nTest: m \u0026\u0026 atest CtsNetHttpTestCases\nChange-Id: I3c28a52d60128cf4324eda436c1f6e9fa463108e\n"
    },
    {
      "commit": "d4a1c63c5dff99a68fa3184a1f4c68b0f4ed698e",
      "tree": "727c85c5cc1ee5ec85e529bc3722a7615eca4504",
      "parents": [
        "d229268989196cc2790d4913265d238f2a9a1174"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Mar 10 13:30:00 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Mar 10 19:01:18 2023 +0900"
      },
      "message": "cronet: re-enable lint\n\nBug: 265674359\nTest: TH\nChange-Id: I867a66518db0eb9fe446aa28e07d4678f0e3af94\n"
    },
    {
      "commit": "d229268989196cc2790d4913265d238f2a9a1174",
      "tree": "6fb03e838aedc6d552da1e8fb10f655693f5d085",
      "parents": [
        "4bc39e2d22e35a0cbcc10bdc83bf2fd87f5ec459"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Mar 08 18:10:31 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Mar 10 13:38:08 2023 +0900"
      },
      "message": "cronet: Hide old newUrlRequestBuilder\n\nBug: 272009719\nBug: 265674359\nTest: TH\nChange-Id: If98ea3c45d9e181773f9d5877462d4d3c6097302\n"
    },
    {
      "commit": "04de61f9e9f0e4146c1d1f450514f88edd3c948b",
      "tree": "66b8c758d381a3f87d5dee81847681bcdb16355e",
      "parents": [
        "1d696fe787130afdbb5ddc79dddbec2240b1460d",
        "d41fa7b77c41645f33743f955db2a2cd2d9d57ae"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Mar 09 16:19:07 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 09 16:19:07 2023 +0000"
      },
      "message": "Merge \"cronet: Make BidirectionalStream.Callback interface\""
    },
    {
      "commit": "ba0f26fb869f501d808133ca5c85e82b8bba63f2",
      "tree": "5833343c582dbf4deff22bc896116b17027dfd14",
      "parents": [
        "c211511b64c6f58357aabfa3ce1ff640d9719aeb",
        "444192ad69154f8ab4e4213ce70e0c1bdf38c492"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 09 15:03:34 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 09 15:03:34 2023 +0000"
      },
      "message": "Merge changes from topics \"setter_getter_fix\", \"use_header_block\"\n\n* changes:\n  cronet: Use HeaderBlock for getHeaders API\n  cronet: Address Setter/Getter related API linter issues\n"
    },
    {
      "commit": "78cfe3336b054c45d36a7fa117d6e85ba00645a8",
      "tree": "fa564f0c30149aa5172c103e2ce6727ab0706bf7",
      "parents": [
        "7ee63b68954f3bb0dd4739519b5011443e3c23bb",
        "f63b5df622b5166b6bf6fceffd55247c410ceb7b"
      ],
      "author": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Thu Mar 09 11:33:18 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 09 11:33:18 2023 +0000"
      },
      "message": "Merge \"Expose the getter for idle connection timeout.\""
    },
    {
      "commit": "f63b5df622b5166b6bf6fceffd55247c410ceb7b",
      "tree": "15db49ee41bb8bce95ee1ae91112cb9e28051607",
      "parents": [
        "4e8a7d237cb6020d48bb495d1377b27acb3275a1"
      ],
      "author": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Thu Mar 02 17:05:59 2023 +0000"
      },
      "committer": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Thu Mar 09 11:32:11 2023 +0000"
      },
      "message": "Expose the getter for idle connection timeout.\n\nTest: m\nBug: 271423645\nAPI-Coverage-Bug: 251012627\nChange-Id: I10862786e83e79ced1c4afd9328d6a158bae7232\n"
    },
    {
      "commit": "d41fa7b77c41645f33743f955db2a2cd2d9d57ae",
      "tree": "d53552fbd355921fe83429c86eae20c7c13e3c45",
      "parents": [
        "444192ad69154f8ab4e4213ce70e0c1bdf38c492"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Mar 07 19:03:16 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Mar 09 18:33:55 2023 +0900"
      },
      "message": "cronet: Make BidirectionalStream.Callback interface\n\nBug: 271423645\nBug: 265674359\nTest: TH\nChange-Id: I0efb1ad4719a62b1e7ad2c96af0660e212dbb966\n"
    },
    {
      "commit": "444192ad69154f8ab4e4213ce70e0c1bdf38c492",
      "tree": "52a6880837a1450012b89f8b2fc6184d7076c10f",
      "parents": [
        "00b4a9722417b74614769f1a0a1e7a56ffb87ef2"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Mar 08 16:05:41 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Mar 09 18:33:55 2023 +0900"
      },
      "message": "cronet: Use HeaderBlock for getHeaders API\n\nBug: 265674359\nAPI-Coverage-Bug: 251012627\nTest: TH\nChange-Id: I03bfafdc6c855f38145eb9d35c1f0ac6934d903f\n"
    },
    {
      "commit": "00b4a9722417b74614769f1a0a1e7a56ffb87ef2",
      "tree": "c9ceab210f6ba89a7a2ece1d2937a8d4c926bcd3",
      "parents": [
        "709d8f306215ef15b620e1572145efab2db5bcbe"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Mar 06 11:02:50 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Mar 09 18:33:52 2023 +0900"
      },
      "message": "cronet: Address Setter/Getter related API linter issues\n\nBug: 271423645\nBug: 265674359\nTest: TH\n\nChange-Id: Id1628dd7af48a8e079636924b66368db0eb2ec4e\n"
    },
    {
      "commit": "41b5e83be09a39f9bcc5a0fff937aabf78e23d5c",
      "tree": "719983c17ac26c198b0e9aea652700033045feae",
      "parents": [
        "bff88ee900263055420e860c13b98367ee9e6fd5"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Mar 03 19:49:33 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Mar 08 11:39:51 2023 +0900"
      },
      "message": "cronet: Fix remaining MissingNullability API linter issue\n\nBug: 265674359\nTest: TH\nChange-Id: I7e498d12469a974aa5b4f1d94223e6254e072c29\n"
    },
    {
      "commit": "bff88ee900263055420e860c13b98367ee9e6fd5",
      "tree": "61116daa1f8be9773223d85ae221f3007c52a4d2",
      "parents": [
        "8eae7f26790ae0878a0f30feeb6d674835227871"
      ],
      "author": {
        "name": "Chidera Olibie",
        "email": "colibie@google.com",
        "time": "Tue Jan 31 11:46:54 2023 +0000"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Mar 08 11:39:31 2023 +0900"
      },
      "message": "cronet: Fix some MissingNullability API lineter issues\n\nBug: 265674359\nTest: th\nChange-Id: I710b2cfb0bc358ef7ed24ccaf04c91d56e75ecba\n"
    },
    {
      "commit": "7c1505915c416cfbd878be2d79737089a189739e",
      "tree": "379d53face83166450f6c0d51cddb5d99a43e61a",
      "parents": [
        "73d869f1b2cdc22ec1e24c71eb1a5b43c483f399"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Feb 17 18:25:57 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Mar 06 17:15:38 2023 +0900"
      },
      "message": "cronet: Fixed AcronymName API linter issue\n\nBug: 265674359\nTest: TH\nChange-Id: Icd786451641f32022587ca95714233d476804e67\n"
    },
    {
      "commit": "73d869f1b2cdc22ec1e24c71eb1a5b43c483f399",
      "tree": "41baf5d3e6e9d1988f393606582479a748e4c990",
      "parents": [
        "45a35aec20d1fb6b6d0ffa6e0a64215db35ac83b"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Feb 17 12:33:38 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Mar 06 17:15:38 2023 +0900"
      },
      "message": "cronet: Fix ListenerInterface API linter error\n\nUpdate UrlRequest.StatusListener to interface\n\nBug: 265674359\nTest: TH\nChange-Id: Ib3c0f3dcc42add6e529fc4f36e735ce7ab1fc633\n"
    },
    {
      "commit": "45a35aec20d1fb6b6d0ffa6e0a64215db35ac83b",
      "tree": "489312539db3ecdcac88cfb6762cb3a494d2fba8",
      "parents": [
        "5505063c1bae5f524a82d41e1ab42f0918908fcd"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Feb 17 11:55:27 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Mar 06 17:14:04 2023 +0900"
      },
      "message": "cronet: Fix ListenerLast API linter error\n\nThis CL adds method with the right signature since there\u0027s an internal\ncaller of old API.\nOld API will be removed once the caller has been updated.\n\nBug: 265674359\nTest: TH\nChange-Id: I5e614530163d4f05fda0bff3966ba34e7a24d34e\n"
    },
    {
      "commit": "5505063c1bae5f524a82d41e1ab42f0918908fcd",
      "tree": "349995a8f3a22030fd90178f91a1b20d320d247f",
      "parents": [
        "15a147ce7a8239edde7a86292c352427a24b5590"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Feb 15 17:43:46 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Mar 03 20:02:44 2023 +0900"
      },
      "message": "cronet: Addressed StaticFinalBuilder API linter errors\n\nBug: 265674359\nTest: TH\nChange-Id: I767e276413112aa4b1a03e7821c4b3992a2e28c1\n"
    },
    {
      "commit": "15a147ce7a8239edde7a86292c352427a24b5590",
      "tree": "b4bd0ef12a400feafbcee799059d46a674b6de0c",
      "parents": [
        "0ace4202042085f8376d461e89a70024c3e34b18"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Feb 15 17:10:03 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Mar 03 20:02:44 2023 +0900"
      },
      "message": "cronet: Fix BuilderSetStyle API lint errors\n\nBug: 265674359\nTest: TH\nAPI-Coverage-Bug: 251012627\nChange-Id: Ie420d553d18c88a2fa654ae41cca8812c863af20\n"
    },
    {
      "commit": "0ace4202042085f8376d461e89a70024c3e34b18",
      "tree": "58fb7c23113ee7f1f7c9fb6a0d76e7e2fcd4e130",
      "parents": [
        "09cad2bc2d2781ef1be6fa008ac8160560d5049b"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Feb 15 13:17:56 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Mar 03 20:02:41 2023 +0900"
      },
      "message": "cronet: Fix MissingNullability API linter errors\n\nBug: 265674359\nTest: TH\nChange-Id: Ibaceeaf5f851c0d901c09942a63f038b612818cc\n"
    },
    {
      "commit": "3cf0829e7140943c881d959f6f3ff86385040ccd",
      "tree": "84a815b289d3593b8e1995d7d93f5d5da6ac8800",
      "parents": [
        "35e799efbddee28d24436676acbb15d7768d8954"
      ],
      "author": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Fri Feb 17 10:24:41 2023 +0000"
      },
      "committer": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Fri Feb 17 23:06:34 2023 +0000"
      },
      "message": "Expose the socket tagging APIs in Android.\n\nAddressing API Councillor feedback, this is necessary for feature parity\nbetween existing networking APIs and AOSP Cronet.\n\nTest: m\nAPI-Coverage-Bug: 251012627\nChange-Id: I462a234dd95aad5a1c09838fbca13b6cf9649cbd\n"
    },
    {
      "commit": "35e799efbddee28d24436676acbb15d7768d8954",
      "tree": "42ad07f98a16e996f581fdb9ac1e64978ba4f5f8",
      "parents": [
        "156049aad9aed71f1be3ed8156ce2b5bc708d0ad",
        "62d57d09c29b39d3a756a54c8638a3278ebb42bf"
      ],
      "author": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Fri Feb 17 23:04:01 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 17 23:04:01 2023 +0000"
      },
      "message": "Merge \"Expose additional Cronet APIs in AOSP.\""
    },
    {
      "commit": "62d57d09c29b39d3a756a54c8638a3278ebb42bf",
      "tree": "eabc5bb39b531d79dcc098326d400b70f2ff7633",
      "parents": [
        "79adbb234ea38a2f7476d666d1feef57f00231db"
      ],
      "author": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Tue Feb 14 14:46:58 2023 +0000"
      },
      "committer": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Fri Feb 17 18:34:59 2023 +0000"
      },
      "message": "Expose additional Cronet APIs in AOSP.\n\nThis is required to provide a reasonably feature-comnplete\nimplementation of current org.chromium.net APIs on top of\nandroid.net.http. The main targets for this change are gRPC (mostly\nbidirectional streaming) and prospective early adopters.\n\nTest: m\nAPI-Coverage-Bug: 251012627\nChange-Id: I66341581501090641c7eea32de5a5b8453cd97d4\n"
    },
    {
      "commit": "722a5f2c5ea744873aa0ecdc4761415fef04d9a7",
      "tree": "1c2c1a978cdd2f9f6e6b90a366eb0d1439fe6cfb",
      "parents": [
        "b7f97fd70ed449a61af627c8c28cb03c68494bc8",
        "33a98282e5bafa7713063196378ab73bed231781"
      ],
      "author": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Tue Feb 14 14:56:23 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 14 14:56:23 2023 +0000"
      },
      "message": "Merge \"Expose the network binding APIs in AOSP.\""
    },
    {
      "commit": "0d2d19a7066568bb9f8bdbbc69c73d39ef2daf5d",
      "tree": "ff022c1c0507da6b68a0f306be8c272e47f8c307",
      "parents": [
        "5d8c3b14286722732390b53665046dd771821ae9"
      ],
      "author": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Thu Feb 09 10:22:44 2023 +0000"
      },
      "committer": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Mon Feb 13 13:00:17 2023 +0000"
      },
      "message": "Reflect changes from r.android.com/2426234 in the API surface.\n\nHttpEngine.getVersion() can be implemented directly as the API and implementation versions don\u0027t differ in AOSP.\n\nTest: m\nChange-Id: Ide6881f8978cb8890d585f760cd0d1225a4c2542\n"
    },
    {
      "commit": "33a98282e5bafa7713063196378ab73bed231781",
      "tree": "6cc7e819737a44708639110ffad02803a7bc6710",
      "parents": [
        "5d8c3b14286722732390b53665046dd771821ae9"
      ],
      "author": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Thu Feb 09 11:50:51 2023 +0000"
      },
      "committer": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Thu Feb 09 11:54:38 2023 +0000"
      },
      "message": "Expose the network binding APIs in AOSP.\n\nSee the other topic CLs for code changes.\n\nTest: m\nAPI-Coverage-Bug: 251012627\nChange-Id: Iad5c500139ce17d834e122e373ca6d0ebee28265\n"
    },
    {
      "commit": "ffdeb180a1810ddfa3386eb2317423e7a757383a",
      "tree": "2327f8706c6602b87a56ab8c941d929847c1d7f7",
      "parents": [
        "dec72721349a23e7f65cc0c002dd0dabd1411ff6"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue Jan 24 02:58:53 2023 -0800"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Jan 25 01:07:04 2023 -0800"
      },
      "message": "cronet: remove cronet_java_defaults_enabled_srcs\n\nexternal/cronet has been added to the default manifest in\ntm-mainline-prod, so this soong variable is not needed anymore.\n\nTest: TH\nMerged-In: I5750d87c9cab0e9d4d213b5a81a2d71cc9610a08\nChange-Id: I5750d87c9cab0e9d4d213b5a81a2d71cc9610a08\n"
    },
    {
      "commit": "e2be25f6a08a82b2043f4a02166a6cbab02ad135",
      "tree": "855cb4165d0aea74561145df4ae82f5afc7f34c6",
      "parents": [
        "f71485f351f40e29e19b4f1c0620d078ff3ee2ec"
      ],
      "author": {
        "name": "Dan Stahr",
        "email": "danstahr@google.com",
        "time": "Mon Jan 16 18:02:30 2023 +0000"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue Jan 17 08:06:53 2023 -0800"
      },
      "message": "Add Cronet to the Tethering apex.\n\nTest: m\nAPI-Coverage-Bug: 258707653\n\nChange-Id: I2d6401ec719ce265abdb30d6ba8fd94861845197\n"
    },
    {
      "commit": "841643a95eb406bb51ca06bd48c89c6f97d7ca33",
      "tree": "91481295cc02d0353bb37943f738c15cd28b7ba3",
      "parents": [
        "fa948657390f4ae9853cf0cbc5ecba9612518cbe"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Jan 17 14:51:46 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Tue Jan 17 15:03:03 2023 +0900"
      },
      "message": "cronet: Introduce constant for CronetJavaDefaultsEnabled srcs\n\nThis is required temporarily until the external/cronet is auto-merged\nto tm-mainline-prod\n\nTest: m\nChange-Id: Ie875e4108a0b2a82e9615d1f32f3b0bf76572146\n"
    }
  ],
  "next": "1a8d9d15219fe6749f69c0e45e864a3e9cfffbd1"
}
