)]}'
{
  "commit": "fdbd8a5f26c58722ddf414afc591fcdbca5389d4",
  "tree": "7d3eebcce40603970ef5cfead1a0d02ebbd37c0b",
  "parents": [
    "9084198a2d4b0f6a0f174260fb42da33485b684d"
  ],
  "author": {
    "name": "Joshua Duong",
    "email": "joshuaduong@google.com",
    "time": "Sun Apr 19 16:11:06 2026 +0000"
  },
  "committer": {
    "name": "Android Build Coastguard Worker",
    "email": "android-build-coastguard-worker@google.com",
    "time": "Thu Jul 09 19:08:17 2026 -0700"
  },
  "message": "[adb] Document and harden async transport flow.\n\nAdd detailed documentation to the global \u0027transports\u0027 map and its\nassociated helper functions in adbd auth. These helpers are used to\nsafely pass \u0027atransport\u0027 objects across asynchronous boundaries (like\nuser authorization popups or background TLS handshakes) without risking\nUse-After-Free.\n\nAlso add CHECK_LOOPER_THREAD() assertions to ensure these functions are\nonly called on the main fdevent thread, which is a requirement for the\nthread-safety of the global map and the underlying weak_ptr.\n\nFinally, refactor transport_from_callback_arg to use std::map::extract,\nwhich simplifies the code and ensures the entry is always removed from\nthe map upon retrieval.\n\nBug: 499053500\nTest: atest adb_test --host\nFlag: EXEMPT BUGFIX\nCherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:ca8689b1047a05598bb42ff034652ea679dd6056\nCherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:ea885606faf989081914b3aa699d42d0a46abb28\nMerged-In: Ic419a1fb6f0df1ff868a1a31a33ded8a0ae7b2e8\nChange-Id: Ic419a1fb6f0df1ff868a1a31a33ded8a0ae7b2e8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a80438e8e154eef04e564f566c1332c4aa042923",
      "old_mode": 33188,
      "old_path": "daemon/auth.cpp",
      "new_id": "372e94021127ab47cccd7fec7988d817c1b61f51",
      "new_mode": 33188,
      "new_path": "daemon/auth.cpp"
    }
  ]
}
