)]}'
{
  "commit": "a9d0a53e7f5764639b1c7aad677f5fcc9bce0f38",
  "tree": "98f50744deb8e8678116204bab2b71d57de97c6c",
  "parents": [
    "f1804968780f975fa8fe361c480a15e8dd85d131"
  ],
  "author": {
    "name": "Bernardo Rufino",
    "email": "brufino@google.com",
    "time": "Fri Jun 11 15:59:12 2021 +0100"
  },
  "committer": {
    "name": "Bernardo Rufino",
    "email": "brufino@google.com",
    "time": "Fri Jun 11 16:16:38 2021 +0100"
  },
  "message": "Inherit touch occlusion mode from parent w/ input info\n\nSAW windows can use SurfaceView which creates surfaces that don\u0027t have\nassociated windows, so they get the default BLOCK_UNTRUSTED occlusion\nmode. This end up blocking touches as part of go/untrusted-touches even\nif they are opacity compliant.\n\nTo fix this, traverse parent pointers in case the surface doesn\u0027t have\ninput info associated until we find one parent that has and inherit the\nocclusion mode from them, if no such parent is found nothing changes.\n\nBug: 175369159\nTest: Create SAW window w/ a SurfaceView, FLAG_NOT_TOUCHABLE and\n      alpha \u003d 0.5, verify touches are not blocked\nTest: atest android.server.wm.WindowUntrustedTouchTest\nChange-Id: Id3b1a557ccb86a282f51ad5ed8a0ee17ffeceb5e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a7c870483bf13f7db778216b6dbefd20c80f5a65",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Layer.cpp",
      "new_id": "be52fbf50aae9c45430c6bf4dc9c52a3d3f06ac7",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Layer.cpp"
    },
    {
      "type": "modify",
      "old_id": "66d70185a788a78f1dcb503a4270f20b8561cc2b",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Layer.h",
      "new_id": "6a49d30fa827f682ef3b8ce637662d62a513a61f",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Layer.h"
    }
  ]
}
