Comments (13)
Ohh, no issues. Generally, Positioned
is used when we use Stack
widget. Positioned
can be used to place a particular widget at a particular position over a widget.
Also, I've created a Pull Request #20 resolving the above issue. Just look into it and tell me if something's wrong, otherwise merge it. Do as you feel like.
And if everything seems fine, I think this issue can be closed.
from little_victories.
Yeah, merge has been counted in my Hacktober account. Thanks for asking.
from little_victories.
Can we close this issue now? @ScottishRoss
from little_victories.
That's weird. Can you get a video of what's happening?
Are there any error logs you can share?
from little_victories.
The video is attached to this comment :
At the end you can see the app abruptly closes.
2021_10_18_13_57_52.2.mp4
These logs are shown when I sign-in with email :
Running with sound null safety 💪
An Observatory debugger and profiler on Nokia 5 4 is available at: http://127.0.0.1:40565/KOHr89pc0T8=/
I/FLTFireBGExecutor(22351): Creating background FlutterEngine instance, with args: [--enable-dart-profiling]
I/FLTFireMsgService(22351): FlutterFirebaseMessagingBackgroundService started!
I/littlevictorie(22351): Waiting for a blocking GC ProfileSaver
Activating Dart DevTools... 2,575ms
The Flutter DevTools debugger and profiler on Nokia 5 4 is available at:
http://127.0.0.1:9100?uri=http%3A%2F%2F127.0.0.1%3A40565%2FKOHr89pc0T8%3D%2F
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following assertion was thrown while applying parent data.:
Incorrect use of ParentDataWidget.
The ParentDataWidget Positioned wants to apply ParentData of type StackParentData to a RenderObject,
which has been set up to accept ParentData of incompatible type FlexParentData.
Usually, this means that the Positioned widget has the wrong ancestor RenderObjectWidget. Typically,
Positioned widgets are placed directly inside Stack widgets.
The offending Positioned is currently placed inside a Column widget.
The ownership chain for the RenderObject that received the incompatible parent data was:
ConstrainedBox ← Container ← AnimatedContainer ← CircleAvatar ← Positioned ← Column ← Padding ←
DecoratedBox ← Padding ← Container ← ⋯
When the exception was thrown, this was the stack:
#0 RenderObjectElement._updateParentData.<anonymous closure>
(package:flutter/src/widgets/framework.dart:5723:11)
#1 RenderObjectElement._updateParentData (package:flutter/src/widgets/framework.dart:5739:6)
#2 RenderObjectElement.attachRenderObject (package:flutter/src/widgets/framework.dart:5761:7)
#3 RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5440:5)
#4 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6082:11)
... Normal element mounting (27 frames)
#31 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3611:14)
#32 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6221:36)
#33 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6232:32)
... Normal element mounting (16 frames)
#49 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3611:14)
#50 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6221:36)
#51 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6232:32)
... Normal element mounting (264 frames)
#315 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3611:14)
#316 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6221:36)
#317 Element.updateChild (package:flutter/src/widgets/framework.dart:3363:18)
#318 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5654:32)
#319 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6243:17)
#320 Element.updateChild (package:flutter/src/widgets/framework.dart:3350:15)
#321 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4599:16)
#322 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4746:11)
#323 Element.rebuild (package:flutter/src/widgets/framework.dart:4267:5)
#324 StatefulElement.update (package:flutter/src/widgets/framework.dart:4778:5)
#325 Element.updateChild (package:flutter/src/widgets/framework.dart:3350:15)
#326 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4599:16)
#327 Element.rebuild (package:flutter/src/widgets/framework.dart:4267:5)
#328 ProxyElement.update (package:flutter/src/widgets/framework.dart:4922:5)
#329 Element.updateChild (package:flutter/src/widgets/framework.dart:3350:15)
#330 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4599:16)
#331 Element.rebuild (package:flutter/src/widgets/framework.dart:4267:5)
#332 ProxyElement.update (package:flutter/src/widgets/framework.dart:4922:5)
#333 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:181:11)
#334 Element.updateChild (package:flutter/src/widgets/framework.dart:3350:15)
#335 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6090:14)
#336 Element.updateChild (package:flutter/src/widgets/framework.dart:3350:15)
#337 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4599:16)
#338 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4746:11)
#339 Element.rebuild (package:flutter/src/widgets/framework.dart:4267:5)
#340 StatefulElement.update (package:flutter/src/widgets/framework.dart:4778:5)
#341 Element.updateChild (package:flutter/src/widgets/framework.dart:3350:15)
#342 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6090:14)
#343 Element.updateChild (package:flutter/src/widgets/framework.dart:3350:15)
#344 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6090:14)
#345 Element.updateChild (package:flutter/src/widgets/framework.dart:3350:15)
#346 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4599:16)
#347 Element.rebuild (package:flutter/src/widgets/framework.dart:4267:5)
#348 ProxyElement.update (package:flutter/src/widgets/framework.dart:4922:5)
#349 Element.updateChild (package:flutter/src/widgets/framework.dart:3350:15)
#350 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4599:16)
#351 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4746:11)
#352 Element.rebuild (package:flutter/src/widgets/framework.dart:4267:5)
#353 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2582:33)
#354 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:875:21)
#355 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:328:5)
#356 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
#357 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1082:9)
#358 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998:5)
#362 _invoke (dart:ui/hooks.dart:163:10)
#363 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259:5)
#364 _drawFrame (dart:ui/hooks.dart:126:31)
(elided 3 frames from dart:async)
════════════════════════════════════════════════════════════════════════════════════════════════════
D/FirebaseAuth(22351): Notifying id token listeners about a sign-out event.
D/FirebaseAuth(22351): Notifying auth state listeners about a sign-out event.
I/flutter (22351): googleSignIn is null? : false
I/DpmTcmClient(22351): RegisterTcmMonitor from: $Proxy1
W/System (22351): Ignoring header X-Firebase-Locale because its value was null.
W/System (22351): Ignoring header X-Firebase-Locale because its value was null.
D/FirebaseAuth(22351): Notifying id token listeners about user ( 0WSI6cvbhLh7BtzW61ukf9i2lQa2 ).
D/FirebaseAuth(22351): Notifying auth state listeners about user ( 0WSI6cvbhLh7BtzW61ukf9i2lQa2 ).
I/flutter (22351): user: User(displayName: Saksham Gupta, email: [email protected], emailVerified: true, isAnonymous: false, metadata: UserMetadata(creationTime: 2021-10-18 13:58:06.395, lastSignInTime: 2021-10-18 13:58:06.396), phoneNumber: null, photoURL: https://lh3.googleusercontent.com/a-/AOh14GjJLknMgNlMrDeCcslqIAWi0mT0VB-mvLCftQVfZA=s96-c, providerData, [UserInfo(displayName: Saksham Gupta, email: [email protected], phoneNumber: null, photoURL: https://lh3.googleusercontent.com/a-/AOh14GjJLknMgNlMrDeCcslqIAWi0mT0VB-mvLCftQVfZA=s96-c, providerId: google.com, uid: 100239988858399537443)], refreshToken: , tenantId: null, uid: 0WSI6cvbhLh7BtzW61ukf9i2lQa2)
W/DynamiteModule(22351): Local module descriptor class for providerinstaller not found.
I/DynamiteModule(22351): Considering local module providerinstaller:0 and remote module providerinstaller:0
W/ProviderInstaller(22351): Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
I/littlevictorie(22351): The ClassLoaderContext is a special shared library.
I/littlevictorie(22351): The ClassLoaderContext is a special shared library.
I/TetheringManager(22351): registerTetheringEventCallback:com.saksham.littlevictories
V/NativeCrypto(22351): Registering com/google/android/gms/org/conscrypt/NativeCrypto's 294 native methods...
W/littlevictorie(22351): Accessing hidden method Ljava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String; (greylist, reflection, allowed)
I/ProviderInstaller(22351): Installed default security provider GmsCore_OpenSSL
W/littlevictorie(22351): Accessing hidden field Ljava/net/Socket;->impl:Ljava/net/SocketImpl; (greylist, reflection, allowed)
W/littlevictorie(22351): Accessing hidden method Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; (greylist,core-platform-api, linking, allowed)
W/littlevictorie(22351): Accessing hidden method Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V (greylist,core-platform-api, linking, allowed)
W/littlevictorie(22351): Accessing hidden method Ljava/security/spec/ECParameterSpec;->setCurveName(Ljava/lang/String;)V (greylist, reflection, allowed)
W/littlevictorie(22351): Accessing hidden method Ldalvik/system/BlockGuard;->getThreadPolicy()Ldalvik/system/BlockGuard$Policy; (greylist,core-platform-api, linking, allowed)
W/littlevictorie(22351): Accessing hidden method Ldalvik/system/BlockGuard$Policy;->onNetwork()V (greylist, linking, allowed)
W/Firestore(22351): (23.0.4) [WatchStream]: (46261a0) Stream closed with status: Status{code=PERMISSION_DENIED, description=Cloud Firestore API has not been used in project 840006385398 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/firestore.googleapis.com/overview?project=840006385398 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry., cause=null}.
W/Firestore(22351): (23.0.4) [OnlineStateTracker]: Could not reach Cloud Firestore backend. Connection failed 1 times. Most recent error: Status{code=PERMISSION_DENIED, description=Cloud Firestore API has not been used in project 840006385398 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/firestore.googleapis.com/overview?project=840006385398 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry., cause=null}
W/Firestore(22351): This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.
E/AndroidRuntime(22351): FATAL EXCEPTION: pool-16-thread-5
E/AndroidRuntime(22351): Process: com.saksham.littlevictories, PID: 22351
E/AndroidRuntime(22351): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/iid/Metadata;
E/AndroidRuntime(22351): at io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingPlugin.lambda$getToken$1$FlutterFirebaseMessagingPlugin(FlutterFirebaseMessagingPlugin.java:165)
E/AndroidRuntime(22351): at io.flutter.plugins.firebase.messaging.-$$Lambda$FlutterFirebaseMessagingPlugin$CIEVVSZZupyLaxqSu4HKcRkuppw.call(Unknown Source:4)
E/AndroidRuntime(22351): at com.google.android.gms.tasks.zzv.run(Unknown Source:2)
E/AndroidRuntime(22351): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/AndroidRuntime(22351): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/AndroidRuntime(22351): at java.lang.Thread.run(Thread.java:923)
E/AndroidRuntime(22351): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.iid.Metadata" on path: DexPathList[[zip file "/data/app/~~icDRMsLxc5RcHujr5BFr4Q==/com.saksham.littlevictories-tZtfFw1HTST-dwzfzKN6DA==/base.apk"],nativeLibraryDirectories=[/data/app/~~icDRMsLxc5RcHujr5BFr4Q==/com.saksham.littlevictories-tZtfFw1HTST-dwzfzKN6DA==/lib/arm64, /data/app/~~icDRMsLxc5RcHujr5BFr4Q==/com.saksham.littlevictories-tZtfFw1HTST-dwzfzKN6DA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
E/AndroidRuntime(22351): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
E/AndroidRuntime(22351): at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
E/AndroidRuntime(22351): at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
E/AndroidRuntime(22351): ... 6 more
I/Process (22351): Sending signal. PID: 22351 SIG: 9
Lost connection to device.
from little_victories.
Interesting. Do you have your own google-services.json file added to the project? I'm wondering if it's failing because it can't create a user, which is what happens automatically when you sign in with Google. Can you let me know if that is the case? If it is I can add an enhancement ticket to handle that error better.
from little_victories.
Actually I have my own google-services.json file. And it's creating the user fine in the firebase atleast.
from little_victories.
Okay, thanks for confirming that. I'll try to have a look into this, but I can't seem to replicate it myself. If you are able to find a solution for this, that would be fantastic. I've labelled it for Hacktoberfest as well.
There's no need to work on this one if you don't want to, but thank you for raising it.
from little_victories.
Cool, I'll look into it. You can assign it to me.
from little_victories.
Thanks @sudo-saksham
from little_victories.
Hey @ScottishRoss, why did you use Positioned inside Column in sign_out_of_google_modal.dart file. It's showing incorrect use of Parent Widget. Is there any specific reason to use Positioned?
from little_victories.
There is a lot of this app that needs to be rewritten which is why I thought it would be a great Hacktoberfest project for the Flutter community. This is was an app I was porting over to Flutter to learn the framework and there is a lot that isn't very good.
It's likely because I didn't use Columns/Rows correctly that I used Positioned. Feel free to fix it if you want, but if not I'll likely resolve it in my next pass of refactoring.
from little_victories.
@sudo-saksham GitHub was being weird with the merge conflicts. Can you please confirm that that Pull Request counted towards your Hacktoberfest total? If not I'll accept a one-line change to make sure you get the credit you deserve. Once I know that that's happened I will close this issue.
from little_victories.
Related Issues (20)
- Enhancement: Schedule reminders for celebrating Victories HOT 1
- Refactoring: Modals HOT 1
- Issue: Local Notification icon is black when it should be white HOT 2
- Enhancement: The ability to search for dates in View Victories Screen
- Refactoring: Create Victory model and use it
- Security: Encrypt Victories HOT 1
- Enhancement: Add switches to allow default sharing to apps.
- Modify app to work on iOS HOT 1
- Android: Change the theme for Android to Material You.
- Enhancement: Notifications allow quick creation of Victory
- Enhancement: quick_actions
- Deprecation: Share is deprecated HOT 1
- Deprecation: Twitter API is going paid HOT 2
- Feature: Add switch to turn off Confetti in settings HOT 1
- Confetti Widget is crashing the app
- Redesign: decide on a new look for Little Victories HOT 1
- Enhancement: Show time of Victory on expand HOT 1
- Enhancement: Create feedback section
- Redesign: The sharing screen doesn't look good, redesign it HOT 1
- Refactor: Change account functions to Firebase functions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from little_victories.