@@ -92,12 +92,21 @@ enum SystemUiOverlay {
9292/// These modes mimic Android-specific display setups.
9393///
9494/// 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.
95100enum SystemUiMode {
96101 /// Fullscreen display with status and navigation bars presentable by tapping
97102 /// anywhere on the display.
98103 ///
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.
101110 ///
102111 /// For applications running on iOS, the status bar and home indicator will be
103112 /// hidden for a similar fullscreen experience.
@@ -114,8 +123,12 @@ enum SystemUiMode {
114123 /// Fullscreen display with status and navigation bars presentable through a
115124 /// swipe gesture at the edges of the display.
116125 ///
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.
119132 ///
120133 /// For applications running on iOS, the status bar and home indicator will be
121134 /// hidden for a similar fullscreen experience.
@@ -133,8 +146,12 @@ enum SystemUiMode {
133146 /// Fullscreen display with status and navigation bars presentable through a
134147 /// swipe gesture at the edges of the display.
135148 ///
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.
138155 ///
139156 /// For applications running on iOS, the status bar and home indicator will be
140157 /// hidden for a similar fullscreen experience.
@@ -151,9 +168,13 @@ enum SystemUiMode {
151168 /// Fullscreen display with status and navigation elements rendered over the
152169 /// application.
153170 ///
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
155172 /// will not be affected by this setting.
156173 ///
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+ ///
157178 /// For applications running on iOS, the status bar and home indicator will be
158179 /// visible.
159180 ///
@@ -181,6 +202,11 @@ enum SystemUiMode {
181202 ///
182203 /// Omitting both overlays will result in the same configuration as
183204 /// [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.
184210 manual,
185211}
186212
@@ -502,6 +528,12 @@ abstract final class SystemChrome {
502528 /// is true, the application is not fullscreen. See
503529 /// [SystemChrome.setSystemUIChangeCallback] to respond to these changes in a
504530 /// 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.
505537 static Future <void > setEnabledSystemUIMode (SystemUiMode mode, { List <SystemUiOverlay >? overlays }) async {
506538 if (mode != SystemUiMode .manual) {
507539 await SystemChannels .platform.invokeMethod <void >(
0 commit comments