@@ -92,12 +92,21 @@ enum SystemUiOverlay {
92
92
/// These modes mimic Android-specific display setups.
93
93
///
94
94
/// Used by [SystemChrome.setEnabledSystemUIMode] .
95
+ ///
96
+ /// Flutter apps use [SystemUiMode.edgeToEdge] by default and setting any
97
+ /// of the other [SystemUiMode] s will NOT work unless you perform the migration
98
+ /// detailed in
99
+ /// https://docs.flutter.dev/release/breaking-changes/default-systemuimode-edge-to-edge.
95
100
enum SystemUiMode {
96
101
/// Fullscreen display with status and navigation bars presentable by tapping
97
102
/// anywhere on the display.
98
103
///
99
- /// Available starting at SDK 16 or Android J. Earlier versions of Android
100
- /// will not be affected by this setting.
104
+ /// Available starting at Android SDK 4.1 (API 16). Earlier versions of Android
105
+ /// will not be affected by this setting. However, if your app targets Android
106
+ /// SDK 15 (API 35) or later (Flutter does this by default), then you must
107
+ /// migrate using the instructions in
108
+ /// https://docs.flutter.dev/release/breaking-changes/default-systemuimode-edge-to-edge
109
+ /// to use this mode.
101
110
///
102
111
/// For applications running on iOS, the status bar and home indicator will be
103
112
/// hidden for a similar fullscreen experience.
@@ -114,8 +123,12 @@ enum SystemUiMode {
114
123
/// Fullscreen display with status and navigation bars presentable through a
115
124
/// swipe gesture at the edges of the display.
116
125
///
117
- /// Available starting at SDK 19 or Android K. Earlier versions of Android
118
- /// will not be affected by this setting.
126
+ /// Available starting at Android SDK 4.4 (API 19). Earlier versions of
127
+ /// Android will not be affected by this setting. However, if your app targets
128
+ /// Android SDK 15 (API 35) or later (Flutter does this by default), then you
129
+ /// must migrate using the instructions in
130
+ /// https://docs.flutter.dev/release/breaking-changes/default-systemuimode-edge-to-edge
131
+ /// to use this mode.
119
132
///
120
133
/// For applications running on iOS, the status bar and home indicator will be
121
134
/// hidden for a similar fullscreen experience.
@@ -133,8 +146,12 @@ enum SystemUiMode {
133
146
/// Fullscreen display with status and navigation bars presentable through a
134
147
/// swipe gesture at the edges of the display.
135
148
///
136
- /// Available starting at SDK 19 or Android K. Earlier versions of Android
137
- /// will not be affected by this setting.
149
+ /// Available starting at Android SDK 4.4 (API 19). Earlier versions of
150
+ /// Android will not be affected by this setting. However, if your app targets
151
+ /// Android SDK 15 (API 35) or later (Flutter does this by default), then you
152
+ /// must migrate using the instructions in
153
+ /// https://docs.flutter.dev/release/breaking-changes/default-systemuimode-edge-to-edge
154
+ /// to use this mode.
138
155
///
139
156
/// For applications running on iOS, the status bar and home indicator will be
140
157
/// hidden for a similar fullscreen experience.
@@ -151,9 +168,13 @@ enum SystemUiMode {
151
168
/// Fullscreen display with status and navigation elements rendered over the
152
169
/// application.
153
170
///
154
- /// Available starting at SDK 29 or Android 10 . Earlier versions of Android
171
+ /// Available starting at Android SDK 10 (API 29) . Earlier versions of Android
155
172
/// will not be affected by this setting.
156
173
///
174
+ /// If your app targets Android SDK 15 (API 35) or later (Flutter does this by
175
+ /// default), then this mode is used by default on Android. This mode is also
176
+ /// used by default on iOS.
177
+ ///
157
178
/// For applications running on iOS, the status bar and home indicator will be
158
179
/// visible.
159
180
///
@@ -181,6 +202,11 @@ enum SystemUiMode {
181
202
///
182
203
/// Omitting both overlays will result in the same configuration as
183
204
/// [SystemUiMode.leanBack] .
205
+ ///
206
+ /// If your app targets Android SDK 15 (API 35) or later, then you must
207
+ /// migrate using the instructions in
208
+ /// https://docs.flutter.dev/release/breaking-changes/default-systemuimode-edge-to-edge
209
+ /// to use this mode.
184
210
manual,
185
211
}
186
212
@@ -502,6 +528,12 @@ abstract final class SystemChrome {
502
528
/// is true, the application is not fullscreen. See
503
529
/// [SystemChrome.setSystemUIChangeCallback] to respond to these changes in a
504
530
/// fullscreen application.
531
+ ///
532
+ /// If your app targets Android SDK 15 (API 35) or later (Flutter does this by
533
+ /// default), then your Flutter app uses [SystemUiMode.edgeToEdge] by default
534
+ /// on Android and setting any of the other [SystemUiMode] s will NOT work
535
+ /// unless you perform the migration detailed in
536
+ /// https://docs.flutter.dev/release/breaking-changes/default-systemuimode-edge-to-edge.
505
537
static Future <void > setEnabledSystemUIMode (SystemUiMode mode, { List <SystemUiOverlay >? overlays }) async {
506
538
if (mode != SystemUiMode .manual) {
507
539
await SystemChannels .platform.invokeMethod <void >(
0 commit comments