v7lin

fix: android edge to edge

@@ -7,14 +7,15 @@ import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; @@ -7,14 +7,15 @@ import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';
7 class AvatarBottomSheet extends StatelessWidget { 7 class AvatarBottomSheet extends StatelessWidget {
8 final Widget child; 8 final Widget child;
9 final Animation<double> animation; 9 final Animation<double> animation;
  10 + final SystemUiOverlayStyle? overlayStyle;
10 11
11 - const AvatarBottomSheet({Key? key, required this.child, required this.animation}) 12 + const AvatarBottomSheet({Key? key, required this.child, required this.animation, this.overlayStyle})
12 : super(key: key); 13 : super(key: key);
13 14
14 @override 15 @override
15 Widget build(BuildContext context) { 16 Widget build(BuildContext context) {
16 return AnnotatedRegion<SystemUiOverlayStyle>( 17 return AnnotatedRegion<SystemUiOverlayStyle>(
17 - value: SystemUiOverlayStyle.light, 18 + value: overlayStyle ?? SystemUiOverlayStyle.light,
18 child: Column( 19 child: Column(
19 mainAxisSize: MainAxisSize.min, 20 mainAxisSize: MainAxisSize.min,
20 crossAxisAlignment: CrossAxisAlignment.start, 21 crossAxisAlignment: CrossAxisAlignment.start,
@@ -81,6 +82,7 @@ Future<T?> showAvatarModalBottomSheet<T>({ @@ -81,6 +82,7 @@ Future<T?> showAvatarModalBottomSheet<T>({
81 bool isDismissible = true, 82 bool isDismissible = true,
82 bool enableDrag = true, 83 bool enableDrag = true,
83 Duration? duration, 84 Duration? duration,
  85 + SystemUiOverlayStyle? overlayStyle,
84 }) async { 86 }) async {
85 assert(debugCheckHasMediaQuery(context)); 87 assert(debugCheckHasMediaQuery(context));
86 assert(debugCheckHasMaterialLocalizations(context)); 88 assert(debugCheckHasMaterialLocalizations(context));
@@ -90,6 +92,7 @@ Future<T?> showAvatarModalBottomSheet<T>({ @@ -90,6 +92,7 @@ Future<T?> showAvatarModalBottomSheet<T>({
90 containerBuilder: (_, animation, child) => AvatarBottomSheet( 92 containerBuilder: (_, animation, child) => AvatarBottomSheet(
91 child: child, 93 child: child,
92 animation: animation, 94 animation: animation,
  95 + overlayStyle: overlayStyle,
93 ), 96 ),
94 bounce: bounce, 97 bounce: bounce,
95 secondAnimationController: secondAnimation, 98 secondAnimationController: secondAnimation,
@@ -14,6 +14,7 @@ class BarBottomSheet extends StatelessWidget { @@ -14,6 +14,7 @@ class BarBottomSheet extends StatelessWidget {
14 final Clip? clipBehavior; 14 final Clip? clipBehavior;
15 final double? elevation; 15 final double? elevation;
16 final ShapeBorder? shape; 16 final ShapeBorder? shape;
  17 + final SystemUiOverlayStyle? overlayStyle;
17 18
18 const BarBottomSheet({ 19 const BarBottomSheet({
19 Key? key, 20 Key? key,
@@ -22,12 +23,13 @@ class BarBottomSheet extends StatelessWidget { @@ -22,12 +23,13 @@ class BarBottomSheet extends StatelessWidget {
22 this.clipBehavior, 23 this.clipBehavior,
23 this.shape, 24 this.shape,
24 this.elevation, 25 this.elevation,
  26 + this.overlayStyle,
25 }) : super(key: key); 27 }) : super(key: key);
26 28
27 @override 29 @override
28 Widget build(BuildContext context) { 30 Widget build(BuildContext context) {
29 return AnnotatedRegion<SystemUiOverlayStyle>( 31 return AnnotatedRegion<SystemUiOverlayStyle>(
30 - value: SystemUiOverlayStyle.light, 32 + value: overlayStyle ?? SystemUiOverlayStyle.light,
31 child: Column( 33 child: Column(
32 mainAxisSize: MainAxisSize.min, 34 mainAxisSize: MainAxisSize.min,
33 crossAxisAlignment: CrossAxisAlignment.center, 35 crossAxisAlignment: CrossAxisAlignment.center,
@@ -88,6 +90,7 @@ Future<T?> showBarModalBottomSheet<T>({ @@ -88,6 +90,7 @@ Future<T?> showBarModalBottomSheet<T>({
88 bool enableDrag = true, 90 bool enableDrag = true,
89 Widget? topControl, 91 Widget? topControl,
90 Duration? duration, 92 Duration? duration,
  93 + SystemUiOverlayStyle? overlayStyle,
91 }) async { 94 }) async {
92 assert(debugCheckHasMediaQuery(context)); 95 assert(debugCheckHasMediaQuery(context));
93 assert(debugCheckHasMaterialLocalizations(context)); 96 assert(debugCheckHasMaterialLocalizations(context));
@@ -102,6 +105,7 @@ Future<T?> showBarModalBottomSheet<T>({ @@ -102,6 +105,7 @@ Future<T?> showBarModalBottomSheet<T>({
102 clipBehavior: clipBehavior, 105 clipBehavior: clipBehavior,
103 shape: shape, 106 shape: shape,
104 elevation: elevation, 107 elevation: elevation,
  108 + overlayStyle: overlayStyle,
105 ), 109 ),
106 secondAnimationController: secondAnimation, 110 secondAnimationController: secondAnimation,
107 expanded: expand, 111 expanded: expand,
@@ -91,6 +91,7 @@ Future<T?> showCupertinoModalBottomSheet<T>({ @@ -91,6 +91,7 @@ Future<T?> showCupertinoModalBottomSheet<T>({
91 RouteSettings? settings, 91 RouteSettings? settings,
92 Color? transitionBackgroundColor, 92 Color? transitionBackgroundColor,
93 BoxShadow? shadow, 93 BoxShadow? shadow,
  94 + SystemUiOverlayStyle? overlayStyle,
94 }) async { 95 }) async {
95 assert(debugCheckHasMediaQuery(context)); 96 assert(debugCheckHasMediaQuery(context));
96 final hasMaterialLocalizations = 97 final hasMaterialLocalizations =
@@ -126,7 +127,8 @@ Future<T?> showCupertinoModalBottomSheet<T>({ @@ -126,7 +127,8 @@ Future<T?> showCupertinoModalBottomSheet<T>({
126 previousRouteAnimationCurve: previousRouteAnimationCurve, 127 previousRouteAnimationCurve: previousRouteAnimationCurve,
127 duration: duration, 128 duration: duration,
128 settings: settings, 129 settings: settings,
129 - transitionBackgroundColor: transitionBackgroundColor ?? Colors.black), 130 + transitionBackgroundColor: transitionBackgroundColor ?? Colors.black,
  131 + overlayStyle: overlayStyle),
130 ); 132 );
131 return result; 133 return result;
132 } 134 }
@@ -142,6 +144,7 @@ class CupertinoModalBottomSheetRoute<T> extends ModalBottomSheetRoute<T> { @@ -142,6 +144,7 @@ class CupertinoModalBottomSheetRoute<T> extends ModalBottomSheetRoute<T> {
142 // Background color behind all routes 144 // Background color behind all routes
143 // Black by default 145 // Black by default
144 final Color? transitionBackgroundColor; 146 final Color? transitionBackgroundColor;
  147 + final SystemUiOverlayStyle? overlayStyle;
145 148
146 CupertinoModalBottomSheetRoute({ 149 CupertinoModalBottomSheetRoute({
147 required WidgetBuilder builder, 150 required WidgetBuilder builder,
@@ -165,6 +168,7 @@ class CupertinoModalBottomSheetRoute<T> extends ModalBottomSheetRoute<T> { @@ -165,6 +168,7 @@ class CupertinoModalBottomSheetRoute<T> extends ModalBottomSheetRoute<T> {
165 this.transitionBackgroundColor, 168 this.transitionBackgroundColor,
166 this.topRadius = _kDefaultTopRadius, 169 this.topRadius = _kDefaultTopRadius,
167 this.previousRouteAnimationCurve, 170 this.previousRouteAnimationCurve,
  171 + this.overlayStyle,
168 }) : super( 172 }) : super(
169 closeProgressThreshold: closeProgressThreshold, 173 closeProgressThreshold: closeProgressThreshold,
170 scrollController: scrollController, 174 scrollController: scrollController,
@@ -217,6 +221,7 @@ class CupertinoModalBottomSheetRoute<T> extends ModalBottomSheetRoute<T> { @@ -217,6 +221,7 @@ class CupertinoModalBottomSheetRoute<T> extends ModalBottomSheetRoute<T> {
217 animationCurve: previousRouteAnimationCurve, 221 animationCurve: previousRouteAnimationCurve,
218 topRadius: topRadius, 222 topRadius: topRadius,
219 backgroundColor: transitionBackgroundColor ?? Colors.black, 223 backgroundColor: transitionBackgroundColor ?? Colors.black,
  224 + overlayStyle: overlayStyle,
220 ); 225 );
221 } 226 }
222 } 227 }
@@ -227,6 +232,7 @@ class _CupertinoModalTransition extends StatelessWidget { @@ -227,6 +232,7 @@ class _CupertinoModalTransition extends StatelessWidget {
227 final Curve? animationCurve; 232 final Curve? animationCurve;
228 final Color backgroundColor; 233 final Color backgroundColor;
229 final BoxShadow? boxShadow; 234 final BoxShadow? boxShadow;
  235 + final SystemUiOverlayStyle? overlayStyle;
230 236
231 final Widget body; 237 final Widget body;
232 238
@@ -238,6 +244,7 @@ class _CupertinoModalTransition extends StatelessWidget { @@ -238,6 +244,7 @@ class _CupertinoModalTransition extends StatelessWidget {
238 this.backgroundColor = Colors.black, 244 this.backgroundColor = Colors.black,
239 this.animationCurve, 245 this.animationCurve,
240 this.boxShadow, 246 this.boxShadow,
  247 + this.overlayStyle,
241 }) : super(key: key); 248 }) : super(key: key);
242 249
243 @override 250 @override
@@ -255,10 +262,7 @@ class _CupertinoModalTransition extends StatelessWidget { @@ -255,10 +262,7 @@ class _CupertinoModalTransition extends StatelessWidget {
255 ); 262 );
256 263
257 return AnnotatedRegion<SystemUiOverlayStyle>( 264 return AnnotatedRegion<SystemUiOverlayStyle>(
258 - value: SystemUiOverlayStyle(  
259 - statusBarIconBrightness: Brightness.light,  
260 - statusBarBrightness: Brightness.dark,  
261 - ), 265 + value: overlayStyle ?? SystemUiOverlayStyle.light,
262 child: AnimatedBuilder( 266 child: AnimatedBuilder(
263 animation: curvedAnimation, 267 animation: curvedAnimation,
264 child: body, 268 child: body,
@@ -319,12 +323,14 @@ class CupertinoScaffold extends StatefulWidget { @@ -319,12 +323,14 @@ class CupertinoScaffold extends StatefulWidget {
319 final Widget body; 323 final Widget body;
320 final Radius topRadius; 324 final Radius topRadius;
321 final Color transitionBackgroundColor; 325 final Color transitionBackgroundColor;
  326 + final SystemUiOverlayStyle? overlayStyle;
322 327
323 const CupertinoScaffold({ 328 const CupertinoScaffold({
324 Key? key, 329 Key? key,
325 required this.body, 330 required this.body,
326 this.topRadius = _kDefaultTopRadius, 331 this.topRadius = _kDefaultTopRadius,
327 this.transitionBackgroundColor = Colors.black, 332 this.transitionBackgroundColor = Colors.black,
  333 + this.overlayStyle,
328 }) : super(key: key); 334 }) : super(key: key);
329 335
330 @override 336 @override
@@ -346,6 +352,7 @@ class CupertinoScaffold extends StatefulWidget { @@ -346,6 +352,7 @@ class CupertinoScaffold extends StatefulWidget {
346 Duration? duration, 352 Duration? duration,
347 RouteSettings? settings, 353 RouteSettings? settings,
348 BoxShadow? shadow, 354 BoxShadow? shadow,
  355 + SystemUiOverlayStyle? overlayStyle,
349 }) async { 356 }) async {
350 assert(debugCheckHasMediaQuery(context)); 357 assert(debugCheckHasMediaQuery(context));
351 final isCupertinoApp = 358 final isCupertinoApp =
@@ -378,6 +385,7 @@ class CupertinoScaffold extends StatefulWidget { @@ -378,6 +385,7 @@ class CupertinoScaffold extends StatefulWidget {
378 previousRouteAnimationCurve: previousRouteAnimationCurve, 385 previousRouteAnimationCurve: previousRouteAnimationCurve,
379 duration: duration, 386 duration: duration,
380 settings: settings, 387 settings: settings,
  388 + overlayStyle: overlayStyle,
381 )); 389 ));
382 return result; 390 return result;
383 } 391 }
@@ -409,6 +417,7 @@ class _CupertinoScaffoldState extends State<CupertinoScaffold> @@ -409,6 +417,7 @@ class _CupertinoScaffoldState extends State<CupertinoScaffold>
409 body: widget.body, 417 body: widget.body,
410 topRadius: widget.topRadius, 418 topRadius: widget.topRadius,
411 backgroundColor: widget.transitionBackgroundColor, 419 backgroundColor: widget.transitionBackgroundColor,
  420 + overlayStyle: widget.overlayStyle,
412 ), 421 ),
413 ); 422 );
414 } 423 }