)]}'
{
  "commit": "f60eef88589c1b78f5c063239c46993777b625e8",
  "tree": "127fb80aa7792e26585b7adaf1308c8f2bb0f111",
  "parents": [
    "e673f1a2bf1b87fef18f9153233833f9e9a7f441"
  ],
  "author": {
    "name": "Matt Boetger",
    "email": "matt.boetger@gmail.com",
    "time": "Tue Nov 10 16:59:32 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Nov 10 16:59:32 2026 +0000"
  },
  "message": "Fix ime insets animation jump (#191453)\n\nInstead of relying on deprecated window flags for the IME insets -\nmathematically calculate the insets during the animation.\n\nTesting with [Keyboard Test\nApp](https://github.com/mboetger/keyboard_test):\nAPI 33: \n| Before | After |\n| --- | --- |\n| \u003cimg width\u003d\"272\" height\u003d\"600\" alt\u003d\"before\"\nsrc\u003d\"https://github.com/user-attachments/assets/e508d14b-5576-4e61-bef8-25b977d05dc2\"\n/\u003e | \u003cimg width\u003d\"272\" height\u003d\"600\" alt\u003d\"after\"\nsrc\u003d\"https://github.com/user-attachments/assets/575f1d31-bb33-4c72-99f4-af0e1f3504fa\"\n/\u003e |\n\nFixes: #190974, #191156\n\n## Pre-launch Checklist\n\n- [X] I read the [Contributor Guide] and followed the process outlined\nthere for submitting PRs.\n- [X] I read the [AI contribution guidelines] and understand my\nresponsibilities, or I am not using AI tools.\n- [X] I read the [Tree Hygiene] wiki page, which explains my\nresponsibilities.\n- [X] I read and followed the [Flutter Style Guide], including [Features\nwe expect every widget to implement].\n- [X] I signed the [CLA].\n- [X] I listed at least one issue that this PR fixes in the description\nabove.\n- [X] I updated/added relevant documentation (doc comments with `///`).\n- [X] I added new tests to check the change I am making, or this PR is\n[test-exempt].\n- [X] I followed the [breaking change policy] and added [Data Driven\nFixes] where supported.\n- [X] All existing and new tests are passing.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "614cf0afc9d88e5cf4977763929fbbc83274f46a",
      "old_mode": 33188,
      "old_path": ".ci.yaml",
      "new_id": "9dbcee19ab127949609c031dc0f29fe2ebdbc8c1",
      "new_mode": 33188,
      "new_path": ".ci.yaml"
    },
    {
      "type": "modify",
      "old_id": "55924b3e873950f2bb67ad45166cce3546387284",
      "old_mode": 33188,
      "old_path": "TESTOWNERS",
      "new_id": "d8c3c1722e4037b1da49bd2ad3db68287f6b3469",
      "new_mode": 33188,
      "new_path": "TESTOWNERS"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "514b557881e0f4d4aad91df9884dbc0605b203ad",
      "new_mode": 33188,
      "new_path": "dev/devicelab/bin/tasks/integration_ui_keyboard_inset_jump.dart"
    },
    {
      "type": "modify",
      "old_id": "59996c128500623126813c3b72475d0c3699b32e",
      "old_mode": 33188,
      "old_path": "dev/devicelab/lib/tasks/integration_tests.dart",
      "new_id": "2edb431dd5b57761cb453f22edb472db4503edd9",
      "new_mode": 33188,
      "new_path": "dev/devicelab/lib/tasks/integration_tests.dart"
    },
    {
      "type": "modify",
      "old_id": "364f593002cf23e1fe19b072128492d9ea2638a3",
      "old_mode": 33188,
      "old_path": "dev/integration_tests/ui/README.md",
      "new_id": "4b85c1e779e40ca69eecda06ebb2618eb30f4338",
      "new_mode": 33188,
      "new_path": "dev/integration_tests/ui/README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fc800e6fa98a3c54dfe89970cd34155d9853196b",
      "new_mode": 33188,
      "new_path": "dev/integration_tests/ui/lib/keyboard_inset_jump.dart"
    },
    {
      "type": "modify",
      "old_id": "a69b486bfc61441cafb739f116c0b2d142a23ac8",
      "old_mode": 33188,
      "old_path": "dev/integration_tests/ui/lib/keys.dart",
      "new_id": "0c186e646670063b35ca7e3cec54daf6f4b84c0a",
      "new_mode": 33188,
      "new_path": "dev/integration_tests/ui/lib/keys.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "53627848d013403bc63f16aefbe4d04304496aea",
      "new_mode": 33188,
      "new_path": "dev/integration_tests/ui/test_driver/keyboard_inset_jump_test.dart"
    },
    {
      "type": "modify",
      "old_id": "694993a884f46ff3435313c1ef8cbc8ee6ae4326",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/android/io/flutter/plugin/editing/ImeSyncDeferringInsetsCallback.java",
      "new_id": "bace70ae7050f8a0132233664890cecee2df7dc8",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/android/io/flutter/plugin/editing/ImeSyncDeferringInsetsCallback.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d073f989feb75b2984cb6b4102e95b2034343d30",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/ImeSyncDeferringInsetsCallbackTest.java"
    },
    {
      "type": "modify",
      "old_id": "fd3b63c935bcbff6b282689a2edc394120387ea2",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/TextInputPluginTest.java",
      "new_id": "83fdecfebd17879683c99e44ca4561f66418c11c",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/TextInputPluginTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e13ae34c1314b5a6bae50c06d514209c9e467d2c",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/widgets/ime_insets_animation_layout_test.dart"
    }
  ]
}
