FirebaseUI-Android icon indicating copy to clipboard operation
FirebaseUI-Android copied to clipboard

App crash : com.firebase.ui.auth.util.ui.PreambleHandler$CustomTabsSpan.onClick

Open Abhimanyu14 opened this issue 3 years ago • 6 comments

Describe your environment

  • Android device: _____LGE
  • Android OS version: _____Android 6
  • Google Play Services version: _____
  • Firebase/Play Services SDK version: _____
  • FirebaseUI version: ____6.2.0

Describe the problem:

Got App Crash in Firebase crashlytics

Steps to reproduce:

In "PhoneActivity". Don't have the steps.

Observed Results:

Crash logs:

Fatal Exception: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=www.google.com (has extras) } at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1798) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1512) at android.app.Activity.startActivityForResult(Activity.java:3930) at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java) at android.app.Activity.startActivityForResult(Activity.java:3890) at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java) at android.app.Activity.startActivity(Activity.java:4213) at androidx.core.content.ContextCompat.startActivity(ContextCompat.java:2) at androidx.browser.customtabs.CustomTabsIntent.launchUrl(CustomTabsIntent.java:2) at com.firebase.ui.auth.util.ui.PreambleHandler$CustomTabsSpan.onClick(PreambleHandler.java:2) at android.text.method.LinkMovementMethod.onTouchEvent(LinkMovementMethod.java:217) at android.widget.TextView.onTouchEvent(TextView.java:8325) at android.view.View.dispatchTouchEvent(View.java:9300) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2403) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1737) at android.app.Activity.dispatchTouchEvent(Activity.java:2771) at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java) at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2364) at android.view.View.dispatchPointerEvent(View.java:9520) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4230) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4096) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3787) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3844) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5922) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5896) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5857) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6025) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:323) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5421) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Abhimanyu14 avatar Oct 23 '20 13:10 Abhimanyu14

We are having the same issue with latest versions:

Android device: Samsung Galaxy J6 Android OS version: Android 10 Google Play Services version: No Idea Firebase/Play Services SDK version: BOM 31.1.1 FirebaseUI version: 8.0.2

Crashlytics stack trace:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=https://example.com/... (has extras) }
       at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2071)
       at android.app.Instrumentation.execStartActivity(Instrumentation.java:1717)
       at android.app.Activity.startActivityForResult(Activity.java:5250)
       at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:597)
       at android.app.Activity.startActivityForResult(Activity.java:5208)
       at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:583)
       at android.app.Activity.startActivity(Activity.java:5579)
       at androidx.core.content.ContextCompat$Api16Impl.startActivity(ContextCompat.java:830)
       at androidx.core.content.ContextCompat.startActivity(ContextCompat.java:279)
       at androidx.browser.customtabs.CustomTabsIntent.launchUrl(CustomTabsIntent.java:376)
       at com.firebase.ui.auth.util.ui.PreambleHandler$CustomTabsSpan.onClick(PreambleHandler.java:142)
       at android.text.method.LinkMovementMethod.onTouchEvent(LinkMovementMethod.java:232)
       at android.widget.TextView.onTouchEvent(TextView.java:12022)
       at android.view.View.dispatchTouchEvent(View.java:14376)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
       at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:733)
       at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1922)
       at android.app.Activity.dispatchTouchEvent(Activity.java:4051)
       at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
       at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:691)
       at android.view.View.dispatchPointerEvent(View.java:14644)
       at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6523)
       at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6310)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5748)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5801)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5767)
       at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5923)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5775)
       at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5980)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5748)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5801)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5767)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5775)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5748)
       at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8907)
       at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8768)
       at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8721)
       at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9043)
       at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:194)
       at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
       at android.os.MessageQueue.next(MessageQueue.java:336)
       at android.os.Looper.loop(Looper.java:197)
       at android.app.ActivityThread.main(ActivityThread.java:7948)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)

sandeep5193 avatar Jan 05 '23 16:01 sandeep5193

@sandeep5193 Does your device have a browser installed?

thatfiredev avatar Jan 11 '23 13:01 thatfiredev

I have no idea about this device, this is captured by Crashlytics.

sandeep5193 avatar Jan 11 '23 13:01 sandeep5193

@sandeep5193 Thanks for the quick response. I will investigate this further. ~But in the meantime I have a workaround detailed here: https://github.com/firebase/firebase-android-sdk/issues/4006#issuecomment-1219429107~ Update: I just noticed this workaround might not work in this case.

thatfiredev avatar Jan 11 '23 13:01 thatfiredev

Yeah I am aware of that workaround. In fact, we updated the lib to v8.0.2 assuming it is handled for all instances in Auth-UI, later realized that it is for only Phone Verification sequence.

sandeep5193 avatar Jan 11 '23 13:01 sandeep5193

I am getting the same issue here.

sipersso avatar Sep 06 '23 11:09 sipersso