)]}'
{
  "commit": "b64432cfb2505f57337061c2047a485a34f9622f",
  "tree": "062bd308bbb0fb7200f2f5d7b2b569099a5bf475",
  "parents": [
    "9b9c2bccc32c4b0abf1d7ef17e5841bc7d07d82c"
  ],
  "author": {
    "name": "Łukasz Rymanowski",
    "email": "rlukasz@google.com",
    "time": "Fri Jun 24 22:08:12 2022 +0000"
  },
  "committer": {
    "name": "Jack He",
    "email": "siyuanh@google.com",
    "time": "Fri Jun 24 16:53:03 2022 -0700"
  },
  "message": "gatt: Fix incorrect write to the descriptor.\n\nThis patch fixes regression after\nhttps://android-review.googlesource.com/q/topic:gatt-racecondition-fix\n\nIn case of GATT Write error to descriptor or characteristic,\nthe value which was tried to be written is zeroed in the\nonWriteDescriptor/Characteristic callback.\nThis cause an issue in following use case:\n\n1) Application writes descriptor on unencrypted link to characteristic\nwhich requires authentication\n2) Remote device response with an error insufficient authenthication\n3) Android repeats write descriptor with new authenthication\nrequrements with the descriptor value taken from the onWriteDescriptor\ncallbac - the one which was zeroed. This result in try to write\ninvalid value to the descriptor\n\nThis patch make sure that value in the callback is always the one which\nwas tried to write, no matter of status.\n\nBug: 235756799\nTest: atest BluetoothInstrumentationTests\nTag: #stability\nMerged-In: Icd18b95a3c44c082117d035cdf25961938de829d\nChange-Id: Icd18b95a3c44c082117d035cdf25961938de829d\n(cherry picked from commit 24f45364768c19bdb0222ce836fce7531d5182de)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2942ab100967ad87fb2f98bb56989ddd59f1da6b",
      "old_mode": 33188,
      "old_path": "android/app/jni/com_android_bluetooth_gatt.cpp",
      "new_id": "963eb56f7492a6781b3cae27f81c19fff646eed5",
      "new_mode": 33188,
      "new_path": "android/app/jni/com_android_bluetooth_gatt.cpp"
    },
    {
      "type": "modify",
      "old_id": "cd9da7a94972a1bb0ed65ac41842b273cc857380",
      "old_mode": 33188,
      "old_path": "system/bta/gatt/bta_gattc_act.cc",
      "new_id": "21a3ac9f04dfe6bfaf844b9e10f551c12c9469b2",
      "new_mode": 33188,
      "new_path": "system/bta/gatt/bta_gattc_act.cc"
    },
    {
      "type": "modify",
      "old_id": "d3a0a0ed4c32b1bf2d754a27cc5dab7c4ff3d1eb",
      "old_mode": 33188,
      "old_path": "system/btif/src/btif_gatt_client.cc",
      "new_id": "ae8962e5ec9e3925ca33ddfd44794cd0f7fc200a",
      "new_mode": 33188,
      "new_path": "system/btif/src/btif_gatt_client.cc"
    }
  ]
}
