)]}'
{
  "commit": "c39f2f26f7e74c516060fa3475876de21c38bbf3",
  "tree": "34d9b54cb79e85a3a276d0e0bfc522d0f03b9f04",
  "parents": [
    "65069ed4de646b8775de99a1408030ae720f1d80"
  ],
  "author": {
    "name": "amirh",
    "email": "amirh@users.noreply.github.com",
    "time": "Thu Jun 21 15:51:21 2018 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jun 21 15:51:21 2018 -0700"
  },
  "message": "Move the notch computation from the FAB to the BAB. (#18372)\n\nMove the notch computation from the FAB to the BAB.\r\n\r\nThe notch in the BAB (bottom action bar) for the FAB (floating action button) was previously kept as part of the FAB\u0027s implementation. This was done to keep the shape of the FAB and the shape of the notch coupled.\r\nThat approach resulted in a somewhat complex and \u0027non Fluttery\u0027 mechanism for propagating the notch computation from the FAB to the BAB.\r\n\r\nThis CL uncouples the FAB and the notch computation.\r\nWith the new API the BAB computes its overall shape including the notch using a NotchedShape delegate.\r\n\r\nThis includes multiple breaking changes:\r\n  * Scaffold.setFloatingActionButtonNotchFor is deleted.\r\n  * The ComputeNotch type is deleted.\r\n  * The hasNotch property of BottomAppBar is deleted.\r\n  * The notchMargin property of FloatingActionButton is deleted.\r\n\r\nQuick migration guide from the previous API:\r\n\r\n| Previous API | New API |\r\n| ------------------|-------------|\r\n| BottomAppBar(hasNotch: false) | BottomAppBar() |\r\n| Using a FloatingActionButton with: BottomAppBar() / BottomAppBar(hasNotch: true) | BottomAppBar(shape: CircularNotchedRectangle()) |\r\n| Scaffold.setFloatingActionButtonNotchFor(..) | No longer supported |",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "19a0a857cfdaefabb0ff6dc0f09cbfbf401732a3",
      "old_mode": 33188,
      "old_path": "examples/flutter_gallery/lib/demo/material/bottom_app_bar_demo.dart",
      "new_id": "d5ef25663aff5921f935da3443cc1530043c73c7",
      "new_mode": 33188,
      "new_path": "examples/flutter_gallery/lib/demo/material/bottom_app_bar_demo.dart"
    },
    {
      "type": "modify",
      "old_id": "b673f6cf13e6d7afa5d86989e383b5a068224c93",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/painting.dart",
      "new_id": "e1d202b96b235828d900c220a33c7cbdf9bddc1b",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/painting.dart"
    },
    {
      "type": "modify",
      "old_id": "ad4ad563efb4877bd9d046115a5ff08e80394f98",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/material/bottom_app_bar.dart",
      "new_id": "1bd406b2fcd4dec587ada844ac64319230588518",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/material/bottom_app_bar.dart"
    },
    {
      "type": "modify",
      "old_id": "ac92c4f0c5978038a51839531d4538c0e9e28205",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/material/floating_action_button.dart",
      "new_id": "86f93e42686433506e8ed351a8023a800c0cb779",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/material/floating_action_button.dart"
    },
    {
      "type": "modify",
      "old_id": "45e5d3e42e20d16ab4e47c4b94428d23ea6b88ff",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/material/scaffold.dart",
      "new_id": "e30d4f11e062ef6d398e22fdee21f91ccb500455",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/material/scaffold.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "23789120ebdce53302afddfcfb2cd5695a1fa1d1",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/painting/notched_shapes.dart"
    },
    {
      "type": "modify",
      "old_id": "492694c8ded3aa8b85968f0514a3c1efd2828d82",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/material/bottom_app_bar_test.dart",
      "new_id": "3963cb6c58dde8fc28085d5dc1303d1e024b5f08",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/material/bottom_app_bar_test.dart"
    },
    {
      "type": "modify",
      "old_id": "85621f8ecba5f3f3fa0b58f3e798637c612a65b0",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/material/floating_action_button_test.dart",
      "new_id": "df98c447b4693353e76c8ce1eb56d9ab32f9356b",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/material/floating_action_button_test.dart"
    },
    {
      "type": "modify",
      "old_id": "eb300a78f886bc2b7b4667b9b0609ecc0b213ee0",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/material/scaffold_test.dart",
      "new_id": "9d0d79c89abed8b3c11c71da7d7f6ffc03888e1b",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/material/scaffold_test.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4c624f0c2ea8af130585a76f019fc27827251d1a",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/painting/notched_shapes_test.dart"
    }
  ]
}
