Closed
Description
Hi,
Searched every where... and seen a lot of bugs with Transactions in Firestore pkg... but this one is new.
- Im running it on stable channel(Android Studio)
- Ive got the same error on device and emulator (Both Androids)
- All my other CRUD operations work perfectly.
CODE:
DocumentReference myDocRef = collectionRef.document("Uuid");
Firestore.instance.runTransaction((Transaction tx) async {
print("000000");
DocumentSnapshot docSnap = await tx.get(myDocRef);
int x= docSnap.data['age'];
x++;print("Age ++: $x");
await tx.update(myDocRef, <String, dynamic>{'age': x})
.catchError((e) {print("ERROR= $e");})
.whenComplete(() {print("Transaction DONE!!!");});
});
the above Document has only 2 fields: name & age. Im trying to read age... and then increment it by +1... and then update the document with the new age.
the above code fails even before it can print "000000".
> ERROR:
> PlatformException(Error performing transaction, Attempt to invoke virtual method 'void android.app.Activity.runOnUiThread(java.lang.Runnable)' on a null object reference, null)
> FULL ERROR:
> E/flutter (22677): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(Error performing transaction, Attempt to invoke virtual method 'void android.app.Activity.runOnUiThread(java.lang.Runnable)' on a null object reference, null)
> E/flutter (22677): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
> E/flutter (22677): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33)
> E/flutter (22677): <asynchronous suspension>
> E/flutter (22677): #2 MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:349:48)
> E/flutter (22677): #3 MethodChannelFirestore.runTransaction (package:cloud_firestore_platform_interface/src/method_channel/method_channel_firestore.dart:123:10)
> E/flutter (22677): #4 Firestore.runTransaction (package:cloud_firestore/src/firestore.dart:85:22)
> E/flutter (22677): #5 _MyHomePageState.UpdateTransactionRW (package:firestorecrud/main.dart:229:24)
> E/flutter (22677): #6 _MyHomePageState.build.<anonymous closure> (package:firestorecrud/main.dart:90:19)
> E/flutter (22677): #7 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:706:14)
> E/flutter (22677): #8 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:789:36)
> E/flutter (22677): #9 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
> E/flutter (22677): #10 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:486:11)
> E/flutter (22677): #11 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:264:5)
> E/flutter (22677): #12 BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:199:7)
> E/flutter (22677): #13 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:467:9)
> E/flutter (22677): #14 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:76:12)
> E/flutter (22677): #15 PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:117:9)
> E/flutter (22677): #16 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:379:8)
> E/flutter (22677): #17 PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:115:18)
> E/flutter (22677): #18 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:7)
> E/flutter (22677): #19 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19)
> E/flutter (22677): #20 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
> E/flutter (22677): #21 GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
> E/flutter (22677): #22 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
> E/flutter (22677): #23 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
> E/flutter (22677): #24 _rootRunUnary (dart:async/zone.dart:1138:13)
> E/flutter (22677): #25 _CustomZone.runUnary (dart:async/zone.dart:1031:19)
> E/flutter (22677): #26 _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)
> E/flutter (22677): #27 _invoke1 (dart:ui/hooks.dart:273:10)
> E/flutter (22677): #28 _dispatchPointerDataPacket (dart:ui/hooks.dart:182:5)
====================
flutter doctor -v
[√] Flutter (Channel stable, v1.12.13+hotfix.9, on Microsoft Windows [Version 10.0.18363.720], locale en-US)
• Flutter version 1.12.13+hotfix.9 at C:\flutterio\flutter
• Framework revision f139b11009 (4 days ago), 2020-03-30 13:57:30 -0700
• Engine revision af51afceb8
• Dart version 2.7.2
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at C:\Users\Yo\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
• All Android licenses accepted.
[√] Android Studio (version 3.6)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 44.0.2
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
[!] IntelliJ IDEA Community Edition (version 2019.2)
• IntelliJ at D:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.3
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
• For information about installing plugins, see
https://flutter.dev/intellij-setup/#installing-the-plugins
[!] VS Code (version 1.43.0)
• VS Code at C:\Users\Yo\AppData\Local\Programs\Microsoft VS Code
X Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[√] Connected device (1 available)
• AOSP on IA Emulator • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)
! Doctor found issues in 2 categories.