-
Notifications
You must be signed in to change notification settings - Fork 29.1k
Closed
Labels
P0Critical issues such as a build break or regressionCritical issues such as a build break or regressiona: state restorationRestorationManager and related APIsRestorationManager and related APIsf: cupertinoflutter/packages/flutter/cupertino repositoryflutter/packages/flutter/cupertino repositoryf: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.
Description
Split from #6827.
Migrating Widgets and Example Apps
Will start with the following widgets (in order of priority):
- Scrollables (e.g. ListView, PageView, etc), PR: Make Scrollables restorable #63131
- ListWheelScrollView
- NestedScrollView
- PageView
- ScrollView
- CustomScrollView
- BoxScrollView
- ListView
- GridView
- Scrollable
- SingleChildScrollView
- Textfields, PR: Make textfields restorable #63401
- CupertinoTextField
- TextField
- EditableText (uses a Scrollable)
- Navigator, PR: Make Navigator restorable (inkl. WidgetsApp, MaterialApp, CupertinoApp) #65658
- Root-level app widgets, PR: Make Navigator restorable (inkl. WidgetsApp, MaterialApp, CupertinoApp) #65658
- WidgetsApp
- CupertinoApp
- MaterialApp
- Migrate Veggie Seasons App (required for State Restoration support for Veggie Seasons app samples#433)
- CupertinoTabView, PR: Make CupertinoTabView restorable #67169
- CupertinoTabScaffold, PR: Make CupertinoTabScaffold restorable #67770
- Widgets for the Flutter Gallery app to make the app restorable
- [Reply] State restorable pages, PR: [State Restoration] [Reply] Partially State Restorable Pages gallery#368, OpenContainer not supported
- Gallery Demo Pages, PR: [State Restoration] Restorable Material Code Samples - Part 1/3 gallery#378, [State Restoration] Restorable Material Code Samples - Part 2/3 gallery#379, [State Restoration] Restorable Material Code Samples - Part 3/3 gallery#382, [State Restoration] Material Dialogs, Cupertino Dialogs, CupertinoTabScaffold/TabView, CupertinoTextFields gallery#409, [State Restoration] Cupertino Widgets gallery#408
- RestorableBoolN for Checkbox: PR - [State Restoration] RestorableBoolN #71653, [State Restoration] Use RestorableBoolN for checkbox tristate gallery#388
- TextFormField/Form: [State Restoration] DatePicker, DateRangePicker, TextFormField gallery#476
- Dialog/Pickers: [State Restoration] showDialog/showGeneralDialog not state restorable #70918, [State Restoration] DatePicker, DateRangePicker, TextFormField gallery#476
- DataTable (selected row count data): [State Restoration] DataTable selected index/counts #70916
- Drawer/endDrawer: [State Restoration] Drawer not restorable #70925
- Other mini apps:
- Shrine: [State Restoration] Shrine gallery#389
- Fortnightly: [State Restoration] Fortnightly app gallery#390
- Rally: [State Restoration] Rally gallery#394,
OpenContainer
not supported - Crane: [State Restoration] Crane app gallery#392,
StaggeredGridView not state restorable yet - Starter: [State Restoration] Starter app gallery#391, Drawer is not state restorable yet
Could be simpler:
- FloatingActionButton contains constants for different configurations, but it's not an enum so it's not easily accessible for state restoration unless a List/Map of some sort from String/int index-to-location is created.
Documentation
- Hot reload/restart doesn't work with state restoration
Integration with other platforms
- enable state restoration for iOS (Enable State Restoration in iOS embedder #62915)
Punted:
- integrate state restoration with Nav 2.0 for the web (see also Navigator 2.0 Remaining Work #65776)
- PageStorage (used by some
Scrollable
s to retain page state): [State Restoration] PageStorage #70520 - Support state restoration for
OpenContainer
in animations package: [animations] OpenContainer does not support state restoration #69924 - BottomSheet: [State Restoration] Bottom Sheet #70915
- Time Picker: [State Restoration] Material Time Picker #80564
mono0926, miquelbeltran, budde377, lukaspili, vanlooverenkoen and 16 more
Metadata
Metadata
Assignees
Labels
P0Critical issues such as a build break or regressionCritical issues such as a build break or regressiona: state restorationRestorationManager and related APIsRestorationManager and related APIsf: cupertinoflutter/packages/flutter/cupertino repositoryflutter/packages/flutter/cupertino repositoryf: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.