koji-1009 / flutter_auth_ui

A Flutter plugin for using the Firebase Auth UI with Dart in Flutter apps. (not official plugin.)
https://pub.dev/packages/flutter_auth_ui
36 stars 10 forks source link

Flutter auth ui 2.4.2 causing app to crush on Android 12 #91

Closed BTonny closed 2 years ago

BTonny commented 2 years ago

Package works well on all other android versions. But upon installing the release version of the app depending on it on android 12, it crashes when Auth ui is launched. Below is my flutter doctor output

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.3, on macOS 12.3 21E230 darwin-x64, locale
    en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.65.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

• No issues found!
koji-1009 commented 2 years ago

Hi @BTonny,

Sorry, I can't reproduce the crash. Could you attach an Android stack trace of the crash?

Also, flutter_auth_ui is in a situation where it can't be updated until Flutter resolves the AGP 7 unavailability issue. https://github.com/flutter/flutter/issues/87649

If this cannot be resolved soon, please consider using flutterfire_ui. https://pub.dev/packages/flutterfire_ui

BTonny commented 2 years ago

Thank you for your quick response.

Unfortunately, the problem only comes up in the release build and i can't easily get the Android stack trace from the release on the particular device, since i don't have direct access.

About using flutterfire_ui, i tried it and don't like their flow and UI yet. its still lacking a lot. So i decided to stick to this more stable package and much better in my opinion.

Could it be possible to release a minor update using the current gradle, but only adding the support for android 12?

The fix for applications is usually adding android:exported="true" to the AndroidManifest.xml. And also adding implementation 'androidx.work:work-runtime-ktx:2.7.0' in the dependencies section of my app level build.gradle. I'm not so sure if the same could apply for a package.

Could that also help add the support here?

koji-1009 commented 2 years ago

Unfortunately, the problem only comes up in the release build and i can't easily get the Android stack trace from the release on the particular device, since i don't have direct access.

I Understood. We are currently unable to determine the cause of the crashes and would be happy to obtain logs from Firebase Crashlytics or Android Vitals in the Google Play Console.


flutter_auth_ui doesn't have activities.

https://github.com/koji-1009/flutter_auth_ui/blob/main/flutter_auth_ui/android/src/main/AndroidManifest.xml

And firebaseui-android's activities are already set 'exported` param.

https://github.com/firebase/FirebaseUI-Android/blob/7.2.0/auth/src/main/AndroidManifest.xml#L100 https://github.com/koji-1009/flutter_auth_ui/blob/2.4.2/flutter_auth_ui/android/build.gradle#L41


https://pub.dev/packages/flutter_auth_ui/versions/3.0.0-dev.0

A version that supports AGP 7.0 has been uploaded to pub.dev. This one uses firebaseui-android 8.0.0. It just works in my emulator, but I have not done a lot of testing.

BTonny commented 2 years ago

Hello @koji-1009 Ive been able to get access to a device running android 12, and was able to reproduce the crash in debug mode. Attached below is the stack trace for the crush. upon starting the authentication.

Launching lib/main.dart on SM G985F in debug mode...
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
✓  Built build/app/outputs/flutter-apk/app-debug.apk.
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
Connecting to VM Service at ws://127.0.0.1:52227/V8ERKzVWLKw=/ws
I/ug.cbsfm.cbs(17950): Compiler allocated 4546KB to compile void android.view.ViewRootImpl.performTraversals()
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/FirebaseApp(17950): Device unlocked: initializing all Firebase APIs for app [DEFAULT]
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/FirebaseAuth(17950): [FirebaseAuth:] Preparing to create service connection to fallback implementation
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
I/Gralloc4(17950): mapper 4.x is not supported
W/Gralloc3(17950): mapper 3.x is not supported
I/gralloc (17950): Arm Module v1.0
W/Gralloc4(17950): allocator 4.x is not supported
W/Gralloc3(17950): allocator 3.x is not supported
I/ViewRootImpl@a394288[MainActivity](17950): [DP] cancelDraw null isViewVisible: true
D/ViewRootImpl@a394288[MainActivity](17950): Creating frameCompleteCallback mNextDrawUseBlastSync=false mReportNextDraw=true commitCallbacks size=0
I/SurfaceView@7e1b517(17950): uSP: rtp = Rect(0, 0 - 1080, 2358) rtsw = 1080 rtsh = 2358
I/SurfaceView@7e1b517(17950): onSSPAndSRT: pl = 0 pt = 0 sx = 1.0 sy = 1.0
D/ViewRootImpl@a394288[MainActivity](17950): Received frameCompleteCallback frameNum=1
I/ViewRootImpl@a394288[MainActivity](17950): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$createFrameCompleteCallback$3$ViewRootImpl:4847 android.view.ViewRootImpl$$ExternalSyntheticLambda15.run:6 android.os.Handler.handleCallback:938
I/ViewRootImpl@a394288[MainActivity](17950): [DP] rdf()
D/ViewRootImpl@a394288[MainActivity](17950): reportDrawFinished (fn: -1)
I/ViewRootImpl@a394288[MainActivity](17950): MSG_WINDOW_FOCUS_CHANGED 1 1
D/InputMethodManager(17950): startInputInner - Id : 0
I/InputMethodManager(17950): startInputInner - mService.startInputOrWindowGainedFocus
D/InputMethodManager(17950): startInputInner - Id : 0
I/ViewRootImpl@a394288[MainActivity](17950): ViewPostIme pointer 0
I/ViewRootImpl@a394288[MainActivity](17950): ViewPostIme pointer 1
I/DecorView(17950): [INFO] isPopOver=false, config=true
I/DecorView(17950): updateCaptionType >> DecorView@171e550[], isFloating=true, isApplication=true, hasWindowControllerCallback=true, hasWindowDecorCaption=false
D/DecorView(17950): setCaptionType = 0, this = DecorView@171e550[]
W/ug.cbsfm.cbs(17950): Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (unsupported, reflection, allowed)
W/ug.cbsfm.cbs(17950): Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (unsupported, reflection, allowed)
I/MSHandlerLifeCycle(17950): isMultiSplitHandlerRequested: ignored. pkg=ug.cbsfm.cbs parent=null callers=com.android.internal.policy.DecorView.setVisibility:4224 android.app.ActivityThread.handleResumeActivity:5294 android.app.servertransaction.ResumeActivityItem.execute:54 android.app.servertransaction.ActivityTransactionItem.execute:45 android.app.servertransaction.TransactionExecutor.executeLifecycleState:176
I/MSHandlerLifeCycle(17950): removeMultiSplitHandler: no exist. decor=DecorView@171e550[]
I/ViewRootImpl@cacf453[KickoffActivity](17950): setView = com.android.internal.policy.DecorView@171e550 TM=true
I/MSHandlerLifeCycle(17950): isMultiSplitHandlerRequested: windowingMode=1 isFullscreen=false isPopOver=false isHidden=false skipActivityType=false isHandlerType=true this: DecorView@171e550[KickoffActivity]
I/MSHandlerLifeCycle(17950): isMultiSplitHandlerRequested: ignored. pkg=ug.cbsfm.cbs callers=com.android.internal.policy.DecorView.setVisibility:4224 android.app.Activity.makeVisible:6485 android.app.ActivityThread.handleResumeActivity:5359 android.app.servertransaction.ResumeActivityItem.execute:54 android.app.servertransaction.ActivityTransactionItem.execute:45
I/MSHandlerLifeCycle(17950): removeMultiSplitHandler: no exist. decor=DecorView@171e550[KickoffActivity]
I/ViewRootImpl@cacf453[KickoffActivity](17950): Resizing android.view.ViewRootImpl@44c3a89: frame=[472,1156][608,1275] reportDraw=true forceLayout=false backDropFrame=Rect(0, 0 - 136, 119)
I/ViewRootImpl@cacf453[KickoffActivity](17950): Relayout returned: old=(0,73,1080,2358) new=(472,1156,608,1275) req=(136,119)0 dur=11 res=0x7 s={true 505106227168} ch=true fn=-1
D/OpenGLRenderer(17950): eglCreateWindowSurface
I/ViewRootImpl@cacf453[KickoffActivity](17950): [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11264 android.view.ViewRootImpl.performTraversals:4089 android.view.ViewRootImpl.doTraversal:2833
D/ViewRootImpl@cacf453[KickoffActivity](17950): Creating frameCompleteCallback mNextDrawUseBlastSync=false mReportNextDraw=true commitCallbacks size=0
D/ViewRootImpl@cacf453[KickoffActivity](17950): Received frameCompleteCallback frameNum=1
I/ViewRootImpl@cacf453[KickoffActivity](17950): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$createFrameCompleteCallback$3$ViewRootImpl:4847 android.view.ViewRootImpl$$ExternalSyntheticLambda15.run:6 android.os.Handler.handleCallback:938
I/ViewRootImpl@cacf453[KickoffActivity](17950): [DP] rdf()
D/ViewRootImpl@cacf453[KickoffActivity](17950): reportDrawFinished (fn: -1)
I/ViewRootImpl@cacf453[KickoffActivity](17950): handleResized, msg = 5 frames=ClientWindowFrames{frame=[472,1156][608,1275] display=[0,73][1080,2358] backdrop=[0,0][136,119]} forceNextWindowRelayout=false displayId=0 frameChanged=false backdropFrameChanged=true configChanged=false displayChanged=false mNextDrawUseBlastSync=false mergedConfiguration={mGlobalConfig={0.9 641mcc1mnc [en_GB] ldltr sw384dp w384dp h812dp 450dpi nrml long hdr widecg port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1080, 2400) mAppBounds=Rect(0, 73 - 1080, 2358) mMaxBounds=Rect(0, 0 - 1080, 2400) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=undefined mAlwaysOnTop=undefined mRotation=ROTATION_0 mFreeformTaskPinningState=unpinned} s.2357 fontWeightAdjustment=0 ff=0 bf=0 bts=0 desktop/d dm/n dc/d ?dcui ?dcaf enb/d themeSeq=0} mOverrideConfig={0.9 641mcc1mnc [en_GB] ldltr sw384dp w384dp h812dp 450dpi nrml long hdr widecg port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1080, 2400) mAppBounds=Rect(0, 73 - 1080, 2358) mMaxBounds=Rect(0, 0 - 1080, 2400) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=standard mAlwaysOnTop=undefined mRotation=ROTATION_0 mFreeformTaskPinningState=unpinned} s.1 fontWeightAdjustment=0 ff=0 bf=0 bts=0 desktop/d dm/n dc/d ?dcui ?dcaf enb/d themeSeq=0}}
I/ViewRootImpl@cacf453[KickoffActivity](17950): [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11264 android.view.ViewRootImpl.handleResized:2159 android.view.ViewRootImpl.access$1000:290
D/ViewRootImpl@cacf453[KickoffActivity](17950): Creating frameCompleteCallback mNextDrawUseBlastSync=false mReportNextDraw=true commitCallbacks size=0
D/ViewRootImpl@cacf453[KickoffActivity](17950): Received frameCompleteCallback frameNum=2
I/ViewRootImpl@cacf453[KickoffActivity](17950): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$createFrameCompleteCallback$3$ViewRootImpl:4847 android.view.ViewRootImpl$$ExternalSyntheticLambda15.run:6 android.os.Handler.handleCallback:938
I/ViewRootImpl@cacf453[KickoffActivity](17950): [DP] rdf()
D/ViewRootImpl@cacf453[KickoffActivity](17950): reportDrawFinished (fn: -1)
I/DecorView(17950): [INFO] isPopOver=false, config=true
I/DecorView(17950): updateCaptionType >> DecorView@bdf033e[], isFloating=false, isApplication=true, hasWindowControllerCallback=true, hasWindowDecorCaption=false
D/DecorView(17950): setCaptionType = 0, this = DecorView@bdf033e[]
I/DecorView(17950): getCurrentDensityDpi: from real metrics. densityDpi=450 msg=resources_loaded
D/CompatibilityChangeReporter(17950): Compat change id reported: 171228096; UID 10428; state: ENABLED
D/ScrollView(17950): initGoToTop
D/AndroidRuntime(17950): Shutting down VM
E/AndroidRuntime(17950): FATAL EXCEPTION: main
E/AndroidRuntime(17950): Process: ug.cbsfm.cbs, PID: 17950
E/AndroidRuntime(17950): java.lang.IllegalArgumentException: ug.cbsfm.cbs: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
E/AndroidRuntime(17950): Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
E/AndroidRuntime(17950):    at android.app.PendingIntent.checkFlags(PendingIntent.java:382)
E/AndroidRuntime(17950):    at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:465)
E/AndroidRuntime(17950):    at android.app.PendingIntent.getActivity(PendingIntent.java:451)
E/AndroidRuntime(17950):    at android.app.PendingIntent.getActivity(PendingIntent.java:415)
E/AndroidRuntime(17950):    at com.google.android.gms.internal.auth-api.zzr.zzc(com.google.android.gms:play-services-auth@@19.0.0:19)
E/AndroidRuntime(17950):    at com.google.android.gms.auth.api.credentials.CredentialsClient.getHintPickerIntent(com.google.android.gms:play-services-auth@@19.0.0:10)
E/AndroidRuntime(17950):    at com.firebase.ui.auth.ui.phone.CheckPhoneHandler.fetchCredential(CheckPhoneHandler.java:28)
E/AndroidRuntime(17950):    at com.firebase.ui.auth.ui.phone.CheckPhoneNumberFragment.setDefaultCountryForSpinner(CheckPhoneNumberFragment.java:246)
E/AndroidRuntime(17950):    at com.firebase.ui.auth.ui.phone.CheckPhoneNumberFragment.onActivityCreated(CheckPhoneNumberFragment.java:130)
E/AndroidRuntime(17950):    at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2985)
E/AndroidRuntime(17950):    at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:580)
E/AndroidRuntime(17950):    at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:285)
E/AndroidRuntime(17950):    at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
E/AndroidRuntime(17950):    at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
E/AndroidRuntime(17950):    at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
E/AndroidRuntime(17950):    at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3134)
E/AndroidRuntime(17950):    at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3068)
E/AndroidRuntime(17950):    at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
E/AndroidRuntime(17950):    at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:501)
E/AndroidRuntime(17950):    at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:210)
E/AndroidRuntime(17950):    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1461)
E/AndroidRuntime(17950):    at android.app.Activity.performStart(Activity.java:8307)
E/AndroidRuntime(17950):    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4056)
E/AndroidRuntime(17950):    at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
E/AndroidRuntime(17950):    at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
E/AndroidRuntime(17950):    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
E/AndroidRuntime(17950):    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
E/AndroidRuntime(17950):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2434)
E/AndroidRuntime(17950):    at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(17950):    at android.os.Looper.loopOnce(Looper.java:226)
E/AndroidRuntime(17950):    at android.os.Looper.loop(Looper.java:313)
E/AndroidRuntime(17950):    at android.app.ActivityThread.main(ActivityThread.java:8633)
E/AndroidRuntime(17950):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(17950):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
E/AndroidRuntime(17950):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
I/Process (17950): Sending signal. PID: 17950 SIG: 9
Lost connection to device.
Exited (sigterm)

Thank you.

koji-1009 commented 2 years ago

Thanks.

Perhaps there is a problem of https://github.com/firebase/FirebaseUI-Android/issues/1999 .

BTonny commented 2 years ago

Indeed looking through i'm also thinking it might be a problem with them. Thanks for the help so far.

PS: in my app, i'm only using Phone Auth Provider at the moment.

koji-1009 commented 2 years ago

If the use of https://pub.dev/packages/flutter_auth_ui/versions/3.0.0-dev.0 and updating firebase_auth does not solve the problem, I recommend setting the target sdk to 30.

The PendingIntent behavior is the one that takes effect when the target sdk is changed to 31. https://developer.android.com/about/versions/12/behavior-changes-12#pending-intent-mutability

BTonny commented 2 years ago

Sorry for the late response. So i was able to use the work around of using target sdk 30, and it worked like a charm. For the time being, i will close the issue. Thanks a lot for the help.