)]}'
{
  "commit": "3712433349b354e2415479e99c21b3533e081cc9",
  "tree": "883a70396e71127796cfcc44f3d570e862d3ee9b",
  "parents": [
    "490acded90e427dc148465035c57db6d1bc7d40e"
  ],
  "author": {
    "name": "Tiger Huang",
    "email": "tigerhuang@google.com",
    "time": "Thu Jul 07 20:00:25 2022 +0800"
  },
  "committer": {
    "name": "Tiger Huang",
    "email": "tigerhuang@google.com",
    "time": "Tue Aug 16 12:49:31 2022 +0800"
  },
  "message": "Introduce IWindowSession#relayoutAsync\n\nIWindowSession#relayoutAsync is similar to IWindowSession#relayout, but\nthe former is an oneway method which just sends the layout attributes to\nthe server. Since the client can compute its own window frame, it just\nneeds to send attributes to the server without getting blocked for\nreceving the window frame.\n\nIn somes cases, the client still needs to obtain things from the server.\nSuch as:\n\n- When view visibility is changed. The client maybe not be able to\n  receive the latest insets state while it is INVISIBLE or GONE. In this\n  case, the client needs to obtain the frame and the insets state. Also,\n  the client need to obtain the surface control when it becomes VISIBLE.\n\n- When the insets state is stale but the config is up-to-date. This can\n  happen when WindowProcessController sends the new config to the client\n  before WindowState does. In this case, the client needs to obtain the\n  window frame from the server.\n\n- When the position and the size of the frame are both changed. This\n  will trigger a BLAST sync, and the client needs to obtain the sync seq\n  ID.\n\nFor cases above, the client needs to call the original relayout method.\n\nBug: 161810301\nBug: 175861051\nTest: Seamless rotation, fixed rotation, and regular rotation.\nMerged-In: Ifb365789fa08103773fd3180e486ba1d92042fc5\nChange-Id: Ifb365789fa08103773fd3180e486ba1d92042fc5\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c92c6340a6b4ee2f217909feff4838fa5f2372eb",
      "old_mode": 33188,
      "old_path": "apct-tests/perftests/windowmanager/src/android/wm/RelayoutPerfTest.java",
      "new_id": "fb62920681de97db34565f9a241460ba6420be64",
      "new_mode": 33188,
      "new_path": "apct-tests/perftests/windowmanager/src/android/wm/RelayoutPerfTest.java"
    },
    {
      "type": "modify",
      "old_id": "90e4e9406e533f2736f4d91ca5562c7fe6ec1f49",
      "old_mode": 33188,
      "old_path": "core/java/android/service/wallpaper/WallpaperService.java",
      "new_id": "14cfe6a6efab20bfd0ec40986e51214150bc4776",
      "new_mode": 33188,
      "new_path": "core/java/android/service/wallpaper/WallpaperService.java"
    },
    {
      "type": "modify",
      "old_id": "3016473fa040c7288454e18d815535596d7b9776",
      "old_mode": 33188,
      "old_path": "core/java/android/view/IWindowSession.aidl",
      "new_id": "afcec6639dcfa9205f5c7114ba5a17c976004ca5",
      "new_mode": 33188,
      "new_path": "core/java/android/view/IWindowSession.aidl"
    },
    {
      "type": "modify",
      "old_id": "fff6c6036601461c313815c3b1e2bfb54a98676b",
      "old_mode": 33188,
      "old_path": "core/java/android/view/ViewRootImpl.java",
      "new_id": "af57f3ba215f3f5c478368e6ac33bb724b158958",
      "new_mode": 33188,
      "new_path": "core/java/android/view/ViewRootImpl.java"
    },
    {
      "type": "modify",
      "old_id": "d55c838c3e53322bfb7a4c6e8b9d3c3df54f3741",
      "old_mode": 33188,
      "old_path": "core/java/android/view/WindowlessWindowManager.java",
      "new_id": "1ec17d00e99a50cc6e703f78eb633bc9b73f0208",
      "new_mode": 33188,
      "new_path": "core/java/android/view/WindowlessWindowManager.java"
    },
    {
      "type": "modify",
      "old_id": "b70bde3a64ee5706b6275cdbf12e045cbf192de0",
      "old_mode": 33188,
      "old_path": "libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/TaskSnapshotWindow.java",
      "new_id": "7b498e4f54ec3f3e3dd28b38343e6099c5de5670",
      "new_mode": 33188,
      "new_path": "libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/TaskSnapshotWindow.java"
    },
    {
      "type": "modify",
      "old_id": "cbe56eb0362e1db5c41f14c7a7af2a02ee7e9297",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/wm/DisplayContent.java",
      "new_id": "ecb9fe3a00ccf40ca3627f6283de204511cf5bc8",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/wm/DisplayContent.java"
    },
    {
      "type": "modify",
      "old_id": "07694065cbd7908d13022b44261ff0e7f6b3aabe",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/wm/DisplayPolicy.java",
      "new_id": "5221072f696d213b47cb077def011dba473e99b7",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/wm/DisplayPolicy.java"
    },
    {
      "type": "modify",
      "old_id": "0128c187bbddc9ce09e389d393186fd98bd12a7d",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/wm/Session.java",
      "new_id": "fb68fe666c0bf259c91c5f9ab5f84a215334b576",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/wm/Session.java"
    },
    {
      "type": "modify",
      "old_id": "1e79b0385d451c1ab126c2ed68319ff043e6ca55",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/wm/WindowManagerService.java",
      "new_id": "1d82bfc3aa88922300d039df8b7cf0681944abdc",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/wm/WindowManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "86fa3560a69e58c08830ae1bc16dd593c9788e61",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/wm/WindowState.java",
      "new_id": "41bcbf6736dcb8774262f58702feff303503f94f",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/wm/WindowState.java"
    }
  ]
}
