flutter-tutorials icon indicating copy to clipboard operation
flutter-tutorials copied to clipboard

Latest flutter release breaks dialog services

Open Flutter-Stack opened this issue 5 years ago • 2 comments

navigation service broke first . I commented the return statement from pop() function.

I have submitted signup form dialog service broke.

I/BiChannelGoogleApi(28776): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzaq@b450d79 W/DynamiteModule(28776): Local module descriptor class for com.google.firebase.auth not found. I/FirebaseAuth(28776): [FirebaseAuth:] Preparing to create service connection to gms implementation I/flutter (28776): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ I/flutter (28776): The following assertion was thrown building Builder(dirty): I/flutter (28776): Failed assertion: boolean expression must not be null I/flutter (28776): I/flutter (28776): The relevant error-causing widget was: I/flutter (28776): Navigator-[LabeledGlobalKey<NavigatorState>#8c231] I/flutter (28776): file:///home/suresh-kumara/projects/mobile-applications/firebase/sccm/lib/main.dart:27:36 I/flutter (28776): I/flutter (28776): When the exception was thrown, this was the stack: I/flutter (28776): #0 _DialogManagerState._showDialog. (package:get_credit_card/managers/dialog_manager.dart) I/flutter (28776): #1 Builder.build (package:flutter/src/widgets/basic.dart:6998:48) I/flutter (28776): #2 StatelessElement.build (package:flutter/src/widgets/framework.dart:4576:28) I/flutter (28776): #3 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4502:15) I/flutter (28776): #4 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5) I/flutter (28776): #5 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4481:5) I/flutter (28776): #6 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4476:5) I/flutter (28776): ... Normal element mounting (119 frames) I/flutter (28776): #125 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14) I/flutter (28776): #126 Element.updateChild (package:flutter/src/widgets/framework.dart:3214:18) I/flutter (28776): #127 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5580:32) I/flutter (28776): #128 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5957:17) I/flutter (28776): #129 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15) I/flutter (28776): #130 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16) I/flutter (28776): #131 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4675:11) I/flutter (28776): #132 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5) I/flutter (28776): #133 StatefulElement.update (package:flutter/src/widgets/framework.dart:4707:5) I/flutter (28776): #134 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15) I/flutter (28776): #135 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16) I/flutter (28776): #136 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5) I/flutter (28776): #137 ProxyElement.update (package:flutter/src/widgets/framework.dart:4862:5) I/flutter (28776): #138 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:181:11) I/flutter (28776): #139 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15) I/flutter (28776): #140 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5837:14) I/flutter (28776): #141 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15) I/flutter (28776): #142 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16) I/flutter (28776): #143 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4675:11) I/flutter (28776): #144 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5) I/flutter (28776): #145 StatefulElement.update (package:flutter/src/widgets/framework.dart:4707:5) I/flutter (28776): #146 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15) I/flutter (28776): #147 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5837:14) I/flutter (28776): #148 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15) I/flutter (28776): #149 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5837:14) I/flutter (28776): #150 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15) I/flutter (28776): #151 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16) I/flutter (28776): #152 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5) I/flutter (28776): #153 StatelessElement.update (package:flutter/src/widgets/framework.dart:4583:5) I/flutter (28776): #154 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15) I/flutter (28776): #155 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16) I/flutter (28776): #156 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4675:11) I/flutter (28776): #157 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5) I/flutter (28776): #158 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2627:33) I/flutter (28776): #159 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:883:20) I/flutter (28776): #160 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:284:5) I/flutter (28776): #161 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1113:15) I/flutter (28776): #162 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1052:9) I/flutter (28776): #163 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:968:5) I/flutter (28776): #167 _invoke (dart:ui/hooks.dart:261:10) I/flutter (28776): #168 _drawFrame (dart:ui/hooks.dart:219:3) I/flutter (28776): (elided 3 frames from dart:async) I/flutter (28776): I/flutter (28776): ════════════════════════════════════════════════════════════════════════════════════════════════════

Flutter-Stack avatar May 17 '20 10:05 Flutter-Stack

Error from this code.

void _showDialog(DialogRequest request) { var isConfirmationDialog = request.cancelTitle != null; showDialog( context: context, builder: (context) => AlertDialog( title: Text(request.title), content: Text(request.description), actions: <Widget>[ isConfirmationDialog == !null? FlatButton( child: Text(request.cancelTitle), onPressed: () { _dialogService .dialogComplete(DialogResponse(confirmed: false)); }, ) : Container(), FlatButton( child: Text(request.buttonTitle), onPressed: () { _dialogService .dialogComplete(DialogResponse(confirmed: true)); }, ), ], )); }

var isConfirmationDialog = request.cancelTitle != null;    output of this is true or false . 

and isConfirmationDialog == !null? here we are verifying not null instead of true or false

below code solved my problem

isConfirmationDialog ? FlatButton( child: Text(request.cancelTitle), onPressed: () { _dialogService .dialogComplete(DialogResponse(confirmed: false)); }, ) : Container(),

Flutter-Stack avatar May 17 '20 10:05 Flutter-Stack

This line looks crazy

isConfirmationDialog == !null?

I'm still using the same implementation in the stacked_services and it still works the same.

FilledStacks avatar May 17 '20 10:05 FilledStacks