It looks like it is thrown in this line.
Try-catch like below can't catch it and the app stops there, which is critical...
I'm not 100% sure in what condition it occurs, but as far as I can see, there's no problem if a GDPR dialog is shown outside EEA using your "user_messaging_platform" plugin with the debug options (geography: DebugGeography.EEA, testDeviceIds: xxxxx
) set, and the exception occurs when currentConsentInfo()
is executed after the dialog is skipped without the debug options.
E/flutter (18850): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: type 'Null' is not a subtype of type 'int' in type cast
E/flutter (18850): #0 new ConsentInfo.parseRawInfo (package:iabtcf_consent_info/iabtcf_consent_info.dart:112:46)
E/flutter (18850): #1 IabtcfConsentInfo._onConsentInfoListen.<anonymous closure> (package:iabtcf_consent_info/iabtcf_consent_info.dart:206:31)
E/flutter (18850): #2 _MapStream._handleData (dart:async/stream_pipe.dart:213:31)
E/flutter (18850): #3 _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:153:13)
E/flutter (18850): #4 _rootRunUnary (dart:async/zone.dart:1362:47)
E/flutter (18850): #5 _CustomZone.runUnary (dart:async/zone.dart:1265:19)
E/flutter (18850): #6 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7)
E/flutter (18850): #7 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)
E/flutter (18850): #8 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
E/flutter (18850): #9 _ForwardingStreamSubscription._add (dart:async/stream_pipe.dart:123:11)
E/flutter (18850): #10 _MapStream._handleData (dart:async/stream_pipe.dart:218:10)
E/flutter (18850): #11 _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:153:13)
E/flutter (18850): #12 _rootRunUnary (dart:async/zone.dart:1362:47)
E/flutter (18850): #13 _CustomZone.runUnary (dart:async/zone.dart:1265:19)
E/flutter (18850): #14 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7)
E/flutter (18850): #15 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)
E/flutter (18850): #16 _DelayedData.perform (dart:async/stream_impl.dart:591:14)
E/flutter (18850): #17 _StreamImplEvents.handleNext (dart:async/stream_impl.dart:706:11)
E/flutter (18850): #18 _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:663:7)
E/flutter (18850): #19 _rootRun (dart:async/zone.dart:1346:47)
E/flutter (18850): #20 _CustomZone.run (dart:async/zone.dart:1258:19)
E/flutter (18850): #21 _CustomZone.runGuarded (dart:async/zone.dart:1162:7)
E/flutter (18850): #22 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1202:23)
E/flutter (18850): #23 _rootRun (dart:async/zone.dart:1354:13)
E/flutter (18850): #24 _CustomZone.run (dart:async/zone.dart:1258:19)
E/flutter (18850): #25 _CustomZone.runGuarded (dart:async/zone.dart:1162:7)
E/flutter (18850): #26 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1202:23)
E/flutter (18850): #27 _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
E/flutter (18850): #28 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
E/flutter (18850):