)]}'
{
  "commit": "ea65ca11f6fbb6f13b89ef9ed03015f47ec1cedb",
  "tree": "341cb9eb23eaeb2f654a885b4d73eb776a96e2ca",
  "parents": [
    "09160b77ca6988dd239531bb5b9ef98d43d822b1"
  ],
  "author": {
    "name": "Roy Luo",
    "email": "royluo@google.com",
    "time": "Tue Nov 14 18:49:06 2023 +0000"
  },
  "committer": {
    "name": "Roy Luo",
    "email": "royluo@google.com",
    "time": "Thu Nov 30 21:43:04 2023 +0000"
  },
  "message": "usb: introduce UsbDataSessionMonitor class\n\nMigrate the usb data session event functions to the class with the\nfollowing additional functionalities;\n- Support detecting gadget soft pulldown (usually done during configfs\n  function switch) and report usb data session correctly.\n- Support reporting usb data compliance warnings to the class USB\n  by providing getDataComplianceWarnings call.\n- Use boot_clock instead of steady_clock to measure time correctly in\n  the case of system suspend.\n\nUsbDataSessionMonitor is self-contained and can be migrated to pixel usb\nlibrary after feature maturation.\n\nBug: 297224564\nBug: 296119135\nTest: usb data session upload in device and host mode\nChange-Id: Iba001933e193935d64cf5fd0a1257d02a4274fb1\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a67e617e022ac1018810990a8760cf3df395ffab",
      "old_mode": 33188,
      "old_path": "usb/usb/Android.bp",
      "new_id": "858fc47269f3b7a14cc0df5989ec83e9a6d017f0",
      "new_mode": 33188,
      "new_path": "usb/usb/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "e63fa1dea8008802f0b0f40c9aa9f49aa325c2f6",
      "old_mode": 33188,
      "old_path": "usb/usb/Usb.cpp",
      "new_id": "c0813d9e8dbfe92bb8b20db838512d1208212489",
      "new_mode": 33188,
      "new_path": "usb/usb/Usb.cpp"
    },
    {
      "type": "modify",
      "old_id": "c1e535410043def02c9fecb376bdce463311e923",
      "old_mode": 33188,
      "old_path": "usb/usb/Usb.h",
      "new_id": "4d9ab538e631c924b674d706febeaf0466801be3",
      "new_mode": 33188,
      "new_path": "usb/usb/Usb.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "77defb300c4c1a385053e6a0b8735f070cc1dd92",
      "new_mode": 33188,
      "new_path": "usb/usb/UsbDataSessionMonitor.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "596f378f0a76c896759ba19293fc0f40f143e9a4",
      "new_mode": 33188,
      "new_path": "usb/usb/UsbDataSessionMonitor.h"
    }
  ]
}
