Skip to content

Fix for #1416: set the classloader at Intent creation time. #1470

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

dimipaun
Copy link
Contributor

@dimipaun dimipaun commented Oct 6, 2018

This is because the exception happens before we get to
read the FlowParameters from the extras/bundle.

Hey there! So you want to contribute to FirebaseUI? Before you file this pull request, follow these steps:

  • Read the contribution guidelines.
  • Run ./gradlew check to ensure the Travis build passes.
  • If this has been discussed in an issue, make sure to mention the issue number here. If not, go file an issue about this to make sure this is a desirable change.
  • If this is a new feature please co-ordinate with someone on FirebaseUI-iOS to make sure that we can implement this on both platforms and maintain feature parity.

This is because the exception happens _before_ we get to
read the FlowParameters from the extras/bundle.
@dimipaun dimipaun requested a review from samtstern as a code owner October 6, 2018 00:31
Copy link
Collaborator

@SUPERCILEX SUPERCILEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you know if it works?

@dimipaun
Copy link
Contributor Author

dimipaun commented Oct 6, 2018

I'm trying it right now. Sorry, I was away for a few days, I tried to get it in now when I had a few mins...

@dimipaun
Copy link
Contributor Author

dimipaun commented Oct 7, 2018

I'm sorry, I've tried a few times but I can't seem to get the compilation to work with the local build:

AGPBI: {"kind":"error","text":"Program type already present: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity$2","sources":[{}],"tool":"D8"}
java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/0, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/1, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/2, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/3, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/4, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/5, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/6, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/7, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/8, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/9, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/10, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/11, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/12, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/13, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/14, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/15, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/16, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/17, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/18, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/19, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/20, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/21, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/22, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/23, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/24, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/25, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/26, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/27, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/28, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/29, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/30, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/31, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/32, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/33, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/34, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/35, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/36, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/37, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/38, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/39, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/40, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/41, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/42, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/43, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/44, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/45, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/46, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/47, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/48, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/49, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/50, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/51, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/52, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/53, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/54, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/55, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/56, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/57, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/58, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/59, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/60, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/61, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/62, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/63, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/64, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/65, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/66, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/67, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/68, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/69, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/70, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/71, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/72, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/73, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/74, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/75, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/76, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/77, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/78, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/79, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/80, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/81, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/82, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/83, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/84, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/85, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/86, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/87, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/88, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/89, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/90, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/91, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/92, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/93, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/94, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/95, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/96, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/97, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/98, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/99, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/100, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/101, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/102, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/103, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/104, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/105, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/106, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/107, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/108, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/109, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/110, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/111, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/112, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/113, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/114, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/115, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/116, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/117, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/118, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/119, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/120, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/121, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/122, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/123, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/124, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/125, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/126, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/127, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/128, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/129, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/130, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/131, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/132, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/133, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/134, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/135, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/136, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/137, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/138, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/139, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/140, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/141, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/142, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/143, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/144, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/145, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/146, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/147, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/148, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/149, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/150, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/151, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/152, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/153, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/154, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/155, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/156, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/157, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/158, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/159, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/160, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/161, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/162, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/163, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/164, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/165, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/166, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/167, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/168, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/169, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/170, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/171, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/172, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/173, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/174, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/175, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/176, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/177, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/178, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/199, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/200, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/201
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity$2
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593)
	at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677)
	at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:720)
	at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:406)
	at com.android.build.gradle.internal.transforms.DexMergerTransform.transform(DexMergerTransform.java:233)
	at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:239)
	at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:235)
	at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
	at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:230)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
	at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:124)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:113)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:95)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:73)
	at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
	at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
	at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
	at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:256)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:249)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:238)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:663)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:597)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/0, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/1, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/2, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/3, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/4, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/5, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/6, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/7, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/8, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/9, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/10, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/11, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/12, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/13, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/14, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/15, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/16, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/17, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/18, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/19, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/20, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/21, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/22, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/23, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/24, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/25, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/26, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/27, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/28, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/29, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/30, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/31, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/32, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/33, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/34, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/35, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/36, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/37, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/38, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/39, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/40, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/41, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/42, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/43, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/44, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/45, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/46, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/47, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/48, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/49, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/50, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/51, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/52, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/53, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/54, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/55, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/56, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/57, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/58, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/59, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/60, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/61, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/62, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/63, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/64, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/65, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/66, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/67, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/68, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/69, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/70, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/71, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/72, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/73, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/74, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/75, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/76, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/77, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/78, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/79, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/80, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/81, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/82, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/83, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/84, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/85, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/86, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/87, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/88, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/89, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/90, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/91, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/92, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/93, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/94, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/95, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/96, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/97, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/98, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/99, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/100, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/101, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/102, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/103, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/104, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/105, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/106, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/107, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/108, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/109, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/110, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/111, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/112, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/113, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/114, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/115, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/116, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/117, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/118, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/119, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/120, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/121, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/122, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/123, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/124, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/125, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/126, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/127, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/128, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/129, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/130, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/131, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/132, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/133, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/134, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/135, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/136, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/137, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/138, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/139, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/140, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/141, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/142, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/143, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/144, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/145, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/146, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/147, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/148, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/149, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/150, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/151, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/152, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/153, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/154, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/155, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/156, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/157, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/158, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/159, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/160, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/161, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/162, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/163, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/164, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/165, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/166, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/167, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/168, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/169, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/170, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/171, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/172, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/173, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/174, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/175, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/176, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/177, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/178, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/199, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/200, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/201
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity$2
	at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1431)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/0, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/1, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/2, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/3, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/4, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/5, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/6, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/7, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/8, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/9, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/10, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/11, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/12, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/13, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/14, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/15, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/16, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/17, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/18, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/19, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/20, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/21, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/22, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/23, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/24, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/25, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/26, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/27, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/28, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/29, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/30, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/31, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/32, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/33, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/34, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/35, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/36, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/37, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/38, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/39, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/40, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/41, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/42, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/43, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/44, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/45, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/46, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/47, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/48, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/49, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/50, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/51, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/52, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/53, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/54, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/55, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/56, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/57, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/58, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/59, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/60, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/61, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/62, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/63, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/64, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/65, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/66, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/67, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/68, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/69, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/70, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/71, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/72, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/73, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/74, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/75, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/76, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/77, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/78, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/79, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/80, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/81, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/82, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/83, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/84, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/85, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/86, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/87, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/88, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/89, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/90, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/91, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/92, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/93, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/94, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/95, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/96, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/97, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/98, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/99, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/100, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/101, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/102, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/103, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/104, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/105, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/106, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/107, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/108, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/109, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/110, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/111, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/112, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/113, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/114, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/115, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/116, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/117, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/118, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/119, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/120, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/121, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/122, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/123, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/124, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/125, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/126, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/127, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/128, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/129, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/130, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/131, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/132, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/133, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/134, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/135, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/136, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/137, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/138, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/139, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/140, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/141, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/142, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/143, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/144, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/145, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/146, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/147, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/148, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/149, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/150, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/151, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/152, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/153, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/154, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/155, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/156, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/157, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/158, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/159, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/160, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/161, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/162, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/163, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/164, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/165, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/166, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/167, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/168, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/169, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/170, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/171, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/172, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/173, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/174, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/175, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/176, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/177, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/178, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/199, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/200, /Users/dimi/git.lattica/EdgeAndroid/mobile/build/intermediates/transforms/dexBuilder/backstage/preprod/201
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity$2
	at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:132)
	at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:117)
	at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:101)
	at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:36)
	at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
	... 4 more
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
	at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:65)
	at com.android.tools.r8.utils.ExceptionUtils.withD8CompilationHandler(ExceptionUtils.java:43)
	at com.android.tools.r8.D8.run(D8.java:90)
	at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:115)
	... 7 more
Caused by: com.android.tools.r8.utils.AbortException: Error: Program type already present: com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity$2
	at com.android.tools.r8.utils.Reporter.failIfPendingErrors(Reporter.java:116)
	at com.android.tools.r8.utils.Reporter.fatalError(Reporter.java:74)
	at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:59)
	... 10 more

@SUPERCILEX
Copy link
Collaborator

Oh, did you forget to remove the real FUI dependency? 😁

@dimipaun
Copy link
Contributor Author

dimipaun commented Oct 7, 2018

Not at all (excerpt from my build.gradle):

    implementation 'com.firebaseui:firebase-ui-auth:4.2.1-SNAPSHOT'
    implementation 'com.firebaseui:firebase-ui-database:4.2.1-SNAPSHOT'

@SUPERCILEX
Copy link
Collaborator

Hmmm, and you're sure that's the only time you declare those dependencies? Maybe try a ./gradlew clean?

@dimipaun
Copy link
Contributor Author

dimipaun commented Oct 7, 2018

Yes, I'm 100% sure:

$ grep com.firebaseui:firebase-ui mobile/build.gradle 
    implementation 'com.firebaseui:firebase-ui-auth:4.2.1-SNAPSHOT'
    implementation 'com.firebaseui:firebase-ui-database:4.2.1-SNAPSHOT'

And yes, I did a ./gradlew clean, but didn't help.

@SUPERCILEX
Copy link
Collaborator

Huh, well I guess we might as well give it another go.

PS: I hope you at least get a shirt out of all this. 😂

@dimipaun
Copy link
Contributor Author

dimipaun commented Oct 8, 2018

Lol -- I'd be ecstatic with a working patch.... :)

@samtstern
Copy link
Contributor

@dimipaun thanks!

Rather than blind-merge, I compiled an m2repo for you (attached). You can do:

unzip -d $HOME/.m2/repository firebaseui-1470.zip

That will let you resolve the 4.2.2-SNAPSHOT version (I changed it manually) of each library and check the fix. Make sure you have mavenLocal() in your repositories.
firebaseui-1470.zip

@dimipaun
Copy link
Contributor Author

dimipaun commented Oct 9, 2018

Thank you, I'll give it a shot now.

@dimipaun
Copy link
Contributor Author

dimipaun commented Oct 9, 2018

Sooo,
I've just tried it in the emulator (Pixel 2 API 28):

  • the error is gone (👍)
  • the login method screen is still empty (👎)

Here's a bit from the logcat:

2018-10-09 11:06:46.457 1883-1894/? I/ActivityManager: START u0 {cmp=co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity (has extras)} from uid 10085
2018-10-09 11:06:46.471 6479-6479/co.edgeapp.backstage W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@81c8cb5
2018-10-09 11:06:46.495 6479-6479/co.edgeapp.backstage I/FirebasePerformance: Session ID - 69d721b0412648119f104a7cc87fbc7f
2018-10-09 11:06:46.521 1612-2366/? I/chatty: uid=1000(system) HwBinder:1612_3 identical 1 line
2018-10-09 11:06:46.540 6272-7022/? E/NetworkScheduler: Invalid component specified.
2018-10-09 11:06:46.582 6680-6680/? I/GoogleInputMethod: onFinishInput() : Dummy InputConnection bound
2018-10-09 11:06:46.582 6680-6680/? I/GoogleInputMethod: onStartInput() : Dummy InputConnection bound
2018-10-09 11:06:46.583 1883-1906/? I/ActivityManager: Displayed co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity: +112ms
2018-10-09 11:06:46.600 6272-7022/? E/NetworkScheduler: Invalid component specified.
2018-10-09 11:06:46.601 1883-4011/? I/ActivityManager: START u0 {cmp=co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity (has extras)} from uid 10085
2018-10-09 11:06:46.624 6479-6479/co.edgeapp.backstage W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@5087675
2018-10-09 11:06:46.676 6479-6479/co.edgeapp.backstage I/FirebasePerformance: Session ID - 69d721b0412648119f104a7cc87fbc7f
2018-10-09 11:06:46.772 6272-7302/? E/NetworkScheduler: Invalid component specified.
2018-10-09 11:06:46.824 1609-5040/? I/WVCdm: [cdm_engine.cpp(480):QueryStatus] CdmEngine::QueryStatus
2018-10-09 11:06:46.824 1609-7551/? I/WVCdm: [(0):] Level3 Library 4464 Apr 20 2018 14:54:35
2018-10-09 11:06:46.825 1883-1906/? I/ActivityManager: Displayed co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity: +196ms
2018-10-09 11:06:46.825 6680-6680/? I/GoogleInputMethod: onFinishInput() : Dummy InputConnection bound
2018-10-09 11:06:46.825 6680-6680/? I/GoogleInputMethod: onStartInput() : Dummy InputConnection bound

@samtstern
Copy link
Contributor

@dimipaun the login screen is empty? Like no sign in method buttons appear at all?

I also can't figure out how you're reproducing this. I've been using a Pixel emulator for years (and a real Pixel) and I've never had issues with the Intent extras like this.

@dimipaun
Copy link
Contributor Author

dimipaun commented Oct 9, 2018

Yes it's crazy. I've also tried on the original device where I've identified the problem (Samsung S9+, Android 8.0.0 API 26). Same results:

  • the ClassNotFoundException is GONE! (👍 - so that fix is good, we can merge).
  • the Login screen is empty

Here is the relevant part from Logcat:

2018-10-09 11:26:29.108 1449-3191/? I/ActivityManager: START u0 {act=null typ=null flg=0x0 cmp=ComponentInfo{co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity}} from uid 10421
2018-10-09 11:26:29.128 1449-1689/? I/WifiTrafficPoller: mCpuCoreBooster Lock
2018-10-09 11:26:29.133 679-679/? I/sensors-hal: batch:187, android.sensor.accelerometer/5, period=200000000, max_latency=0
2018-10-09 11:26:29.136 679-679/? I/sensors-hal: batch:196, android.sensor.accelerometer/5, period=200000000, max_latency=0 request completed
2018-10-09 11:26:29.149 667-11879/? I/msm8974_platform: platform_check_and_set_codec_backend_cfg:becf: afe: bitwidth 16, samplerate 48000 channels 2, backend_idx 0 usecase = 1 device (speaker)
2018-10-09 11:26:29.149 667-11879/? I/msm8974_platform: platform_check_and_set_codec_backend_cfg: new_snd_devices[0] is 2
2018-10-09 11:26:29.149 667-11879/? I/msm8974_platform: platform_check_codec_backend_cfg:becf: afe: bitwidth 16, samplerate 48000 channels 2, backend_idx 0 usecase = 1 device (speaker)
2018-10-09 11:26:29.149 667-11879/? I/msm8974_platform: platform_check_codec_backend_cfg:becf: afe: Codec selected backend: 0 updated bit width: 16 and sample rate: 48000
2018-10-09 11:26:29.149 667-11879/? E/msm8974_platform: platform_check_backends_match: Invalid snd_device = 
2018-10-09 11:26:29.149 667-11879/? E/msm8974_platform: platform_check_backends_match: Invalid snd_device = 
2018-10-09 11:26:29.149 667-11879/? I/soundtrigger: audio_extn_sound_trigger_update_device_status: device 0x2 of type 0 for Event 1, with Raise=0
2018-10-09 11:26:29.150 667-11879/? I/audio_hw_utils: send_app_type_cfg_for_device PLAYBACK app_type 69936, acdb_dev_id 13, sample_rate 48000, snd_device_be_idx 39
2018-10-09 11:26:29.151 2403-2403/? I/SemPersonaManager: SecureFolder personaId = 150
2018-10-09 11:26:29.168 9366-9366/co.edgeapp.backstage I/FirebasePerformance: Session ID - 44f38ecb463c4f989d0d72cfe08c40af
2018-10-09 11:26:29.172 1449-3221/? I/SensorService: createSensorEventConnection package name com.facebook.marketing.ViewIndexingTrigger
2018-10-09 11:26:29.173 679-679/? I/sensors-hal: batch:187, android.sensor.accelerometer/5, period=66667000, max_latency=0
2018-10-09 11:26:29.175 679-679/? I/sensors-hal: batch:196, android.sensor.accelerometer/5, period=66667000, max_latency=0 request completed
2018-10-09 11:26:29.175 679-679/? I/sensors-hal: flush:216, android.sensor.accelerometer/5
2018-10-09 11:26:29.177 679-679/? I/sensors-hal: flush:222, android.sensor.accelerometer/5 completed
2018-10-09 11:26:29.189 723-723/? I/SurfaceFlinger: id=1422 createSurf (168x185),1 flag=4, co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity#0
2018-10-09 11:26:29.228 9366-9366/co.edgeapp.backstage I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
2018-10-09 11:26:29.231 2119-2119/? I/InputMethodWrapper:  call dispatchStartInputWithToken
2018-10-09 11:26:29.231 2119-2119/? I/InputMethodService: dispatchStartInputWithToken
2018-10-09 11:26:29.231 1449-1524/? I/ActivityManager: Displayed co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity: +85ms
2018-10-09 11:26:29.231 1449-1524/? E/ANDR-PERF-JNI: com_qualcomm_qtiperformance_native_perf_io_prefetch_start
2018-10-09 11:26:29.232 684-684/? E/ANDR-IOP: IOP HAL: Received pkg_name = co.edgeapp.backstage pid = 9366
2018-10-09 11:26:29.232 684-704/? E/ANDR-IOP: io prefetch Capture is deactivated 
2018-10-09 11:26:29.239 2502-7966/? E/NetworkScheduler: Invalid component specified.
2018-10-09 11:26:29.279 723-723/? I/SurfaceFlinger: Display 0 HWC layers:
        type    |    handle    | flag |  format   |   source crop (l,t,r,b)    |         frame       | name 
    ------------+--------------+------+-----------+----------------------------+---------------------+------
     SolidColor |              | 0002 |  Unknown  |   0.0    0.0   -1.0   -1.0 |    0   84 1440 2960 | Background for - SurfaceView - co.ed[...]art.SplashscreenActivity@9094aae@3#0
         Device | 0x717de39200 | 0000 | RGBA_8888 |   0.0    0.0 1440.0 2960.0 |    0    0 1440 2960 | co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity#0
     SolidColor |              | 0000 |  Unknown  |  -0.2   -0.2   -0.8   -0.8 |    0    0 1440 2960 | DimLayerController/Stack=0#0
         Device | 0x717b045b00 | 0000 | RGBA_8888 |   0.0    0.0 1440.0   84.0 |    0    0 1440   84 | StatusBar#0
         Device | 0x717e4c0700 | 0000 | RGBA_8888 |   0.0    0.0   67.0  607.0 | 1372 2185 1439 2792 | com.samsung.android.app.cocktailbars[...]ktailbarservice.CocktailBarService#0
2018-10-09 11:26:29.279 2502-7966/? E/NetworkScheduler: Invalid component specified.
2018-10-09 11:26:29.288 3067-4133/? I/Auth.Api.Credentials: [v1.CredentialStore] Query by account <ELLIDED:20049142> and applicationUrl <ELLIDED:-1835756028> (from device).
2018-10-09 11:26:29.299 3067-5965/? I/Auth.Api.Credentials: [v1.CredentialStore] Query by account <ELLIDED:555546531> and applicationUrl <ELLIDED:-1835756028> (from device).
2018-10-09 11:26:29.305 3067-4133/? I/Auth.Api.Credentials: [v1.CredentialStore] Query by account <ELLIDED:-1201083699> and applicationUrl <ELLIDED:-1835756028> (from device).
2018-10-09 11:26:29.315 1449-3221/? I/ActivityManager: START u0 {act=null typ=null flg=0x0 cmp=ComponentInfo{co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity}} from uid 10421
2018-10-09 11:26:29.327 679-679/? I/sensors-hal: batch:187, android.sensor.accelerometer/5, period=200000000, max_latency=0
2018-10-09 11:26:29.333 679-679/? I/sensors-hal: batch:196, android.sensor.accelerometer/5, period=200000000, max_latency=0 request completed
2018-10-09 11:26:29.335 1449-3221/? W/CAE: unregisterCallback(ContextAwareService.java:217) - [unregi 01] Mutex is locked for AUTO_ROTATION
2018-10-09 11:26:29.336 1449-3221/? I/CAE: sendCmdToSensorHub(SensorHubCommManager.java:158) - -78, 7, 0, 0,
2018-10-09 11:26:29.336 679-679/? I/sensors-hal: inject_sensor_data:248, sensorhubs_handle:6
2018-10-09 11:26:29.336 679-679/? I/sensors-hal: inject_sensor_data:257, handle 6 send inject
2018-10-09 11:26:29.336 679-679/? I/sensors-hal: sendContextData:168, sensor hal 4, (b2, 7, 0)
2018-10-09 11:26:29.336 679-679/? I/sensors-hal: sendContextData:210, enable:178, handle:1, algo:331778
2018-10-09 11:26:29.337 679-679/? I/sensors-hal: deactivate:162, disconnect qmi to disable sensor
2018-10-09 11:26:29.337 1449-3221/? I/CAE: notifyCmdProcessResultObserver(ContextProvider.java:627) - CheckResult = 0, Cause = Success
2018-10-09 11:26:29.345 723-723/? I/SurfaceFlinger: Display 0 HWC layers:
        type    |    handle    | flag |  format   |   source crop (l,t,r,b)    |         frame       | name 
    ------------+--------------+------+-----------+----------------------------+---------------------+------
     SolidColor |              | 0002 |  Unknown  |   0.0    0.0   -1.0   -1.0 |    0   84 1440 2960 | Background for - SurfaceView - co.ed[...]art.SplashscreenActivity@9094aae@3#0
         Device | 0x717de39200 | 0000 | RGBA_8888 |   0.0    0.0 1440.0 2960.0 |    0    0 1440 2960 | co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity#0
     SolidColor |              | 0000 |  Unknown  |  -0.2   -0.2   -0.8   -0.8 |    0    0 1440 2960 | DimLayerController/Stack=0#0
         Device | 0x717de39100 | 0000 | RGBA_8888 |   0.0    0.0  168.0  353.0 | 1200 1345 1368 1698 | co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity#0
         Device | 0x717b045b00 | 0000 | RGBA_8888 |   0.0    0.0 1440.0   84.0 |    0    0 1440   84 | StatusBar#0
         Device | 0x717e4c0700 | 0000 | RGBA_8888 | 
2018-10-09 11:26:29.345 723-723/? I/SurfaceFlinger:   0.0    0.0   67.0  607.0 | 1372 2185 1439 2792 | com.samsung.android.app.cocktailbars[...]ktailbarservice.CocktailBarService#0
2018-10-09 11:26:29.349 1449-3221/? I/CAE: displayUsedCountForService(ContextAwareService.java:536) - totalCnt = 0, serviceCount = 0, subCollectionCount = 0
2018-10-09 11:26:29.349 1449-3221/? I/CAE: showListenerList(ContextAwareService.java:386) - Listener : com.samsung.android.contextaware.manager.ContextAwareService$Listener@4514633, Service : SLOCATION_RUNNER(1)
2018-10-09 11:26:29.349 1449-3221/? I/CAE: showListenerList(ContextAwareService.java:386) - Listener : com.samsung.android.contextaware.manager.ContextAwareService$Listener@f1df42a, Service : ACTIVITY_TRACKER_BATCH(1)
2018-10-09 11:26:29.349 1449-3221/? I/CAE: showListenerList(ContextAwareService.java:386) - Listener : com.samsung.android.contextaware.manager.ContextAwareService$Listener@d98502b, Service : ANY_MOTION_DETECTOR_RUNNER(1)
2018-10-09 11:26:29.349 1449-3221/? I/CAE: showListenerList(ContextAwareService.java:386) - Listener : com.samsung.android.contextaware.manager.ContextAwareService$Listener@d3d6f8b, Service : AUTO_BRIGHTNESS(1)
2018-10-09 11:26:29.349 1449-3221/? W/CAE: unregisterCallback(ContextAwareService.java:252) - [unregi 02] Mutex is unlocked for AUTO_ROTATION
2018-10-09 11:26:29.353 2502-2515/? I/zygote64: Background concurrent copying GC freed 264202(10MB) AllocSpace objects, 15(396KB) LOS objects, 50% free, 17MB/35MB, paused 784us total 103.837ms
2018-10-09 11:26:29.363 2403-2403/? I/SemPersonaManager: SecureFolder personaId = 150
2018-10-09 11:26:29.387 9366-9366/co.edgeapp.backstage I/FirebasePerformance: Session ID - 44f38ecb463c4f989d0d72cfe08c40af
2018-10-09 11:26:29.390 1449-3191/? I/SensorService: createSensorEventConnection package name com.facebook.marketing.ViewIndexingTrigger
2018-10-09 11:26:29.391 679-679/? I/sensors-hal: batch:187, android.sensor.accelerometer/5, period=66667000, max_latency=0
2018-10-09 11:26:29.394 679-679/? I/sensors-hal: batch:196, android.sensor.accelerometer/5, period=66667000, max_latency=0 request completed
2018-10-09 11:26:29.395 679-679/? I/sensors-hal: flush:216, android.sensor.accelerometer/5
2018-10-09 11:26:29.397 679-679/? I/sensors-hal: flush:222, android.sensor.accelerometer/5 completed
2018-10-09 11:26:29.417 723-723/? I/SurfaceFlinger: id=1423 createSurf (1440x2960),1 flag=404, co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity#0
2018-10-09 11:26:29.429 2502-7958/? E/NetworkScheduler: Invalid component specified.
2018-10-09 11:26:29.455 9366-9366/co.edgeapp.backstage I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
2018-10-09 11:26:29.455 1449-1524/? I/ActivityManager: Displayed co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity: +116ms
2018-10-09 11:26:29.455 1449-1524/? E/ANDR-PERF-JNI: com_qualcomm_qtiperformance_native_perf_io_prefetch_start
2018-10-09 11:26:29.455 684-684/? E/ANDR-IOP: IOP HAL: Received pkg_name = co.edgeapp.backstage pid = 9366
2018-10-09 11:26:29.455 684-704/? E/ANDR-IOP: io prefetch Capture is deactivated 
2018-10-09 11:26:29.456 2119-2119/? I/InputMethodWrapper:  call dispatchStartInputWithToken
2018-10-09 11:26:29.456 2119-2119/? I/InputMethodService: dispatchStartInputWithToken
2018-10-09 11:26:29.461 723-723/? I/SurfaceFlinger: id=1424 createSurf (1440x2960),-1 flag=20004, co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity_dim#0
2018-10-09 11:26:29.482 723-723/? I/SurfaceFlinger: Display 0 HWC layers:
        type    |    handle    | flag |  format   |   source crop (l,t,r,b)    |         frame       | name 
    ------------+--------------+------+-----------+----------------------------+---------------------+------
     SolidColor |              | 0000 |  Unknown  |  -0.2   -0.2   -0.8   -0.8 |    0    0 1440 2960 | animation background stackId=1#0
     SolidColor |              | 0002 |  Unknown  |   0.0    0.0   -1.0   -1.0 |    0   84 1440 2960 | Background for - SurfaceView - co.ed[...]art.SplashscreenActivity@9094aae@3#0
         Device | 0x717de39200 | 0000 | RGBA_8888 |   0.0    0.0 1440.0 2960.0 |    0    0 1440 2960 | co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity#0
     SolidColor |              | 0000 |  Unknown  |  -0.2   -0.2   -0.8   -0.8 |    0    0 1440 2960 | DimLayerController/Stack=0#0
         Device | 0x717de39780 | 0000 | RGBA_8888 |   0.0    0.0  168.0  353.0 |  636 1345  804 1698 | co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity#0
         Device | 0x717b306e00 
2018-10-09 11:26:29.482 723-723/? I/SurfaceFlinger: | 0002 | RGBA_8888 |   0.0    0.0   61.0 2960.0 | 1379    0 1440 2960 | co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity#0
         Device | 0x717b045b00 | 0000 | RGBA_8888 |   0.0    0.0 1440.0   84.0 |    0    0 1440   84 | StatusBar#0
         Device | 0x717e4c0700 | 0000 | RGBA_8888 |   0.0    0.0   67.0  607.0 | 1372 2185 1439 2792 | com.samsung.android.app.cocktailbars[...]ktailbarservice.CocktailBarService#0
2018-10-09 11:26:29.496 723-723/? I/SurfaceFlinger: Display 0 HWC layers:
        type    |    handle    | flag |  format   |   source crop (l,t,r,b)    |         frame       | name 
    ------------+--------------+------+-----------+----------------------------+---------------------+------
     SolidColor |              | 0000 |  Unknown  |  -0.2   -0.2   -0.8   -0.8 |    0    0 1440 2960 | animation background stackId=1#0
     SolidColor |              | 0002 |  Unknown  |  -0.0    0.0   -1.0   -1.0 |    0   84 1438 2960 | Background for - SurfaceView - co.ed[...]art.SplashscreenActivity@9094aae@3#0
         Device | 0x717de39200 | 0000 | RGBA_8888 |   2.0    0.0 1440.0 2960.0 |    0    0 1438 2960 | co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity#0
     SolidColor |              | 0000 |  Unknown  |  -0.2   -0.2   -0.8   -0.8 |    0    0 1440 2960 | DimLayerController/Stack=0#0
         Device | 0x717de39780 | 0000 | RGBA_8888 |   0.0    0.0  168.0  353.0 |  634 1345  802 1698 | co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity#0
     SolidColor |              
2018-10-09 11:26:29.496 723-723/? I/SurfaceFlinger: | 0000 |  Unknown  |   0.0    0.0   -1.0   -1.0 |    0    0 1440 2960 | co.edgeapp.backstage/com.firebase.ui[...]i.idp.AuthMethodPickerActivity_dim#0
         Device | 0x717b306e00 | 0002 | RGBA_8888 |   0.0    0.0  135.0 2960.0 | 1305    0 1440 2960 | co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity#0
         Device | 0x717b045b00 | 0000 | RGBA_8888 |   0.0    0.0 1440.0   84.0 |    0    0 1440   84 | StatusBar#0
         Device | 0x717e4c0700 | 0000 | RGBA_8888 |   0.0    0.0   67.0  607.0 | 1372 2185 1439 2792 | com.samsung.android.app.cocktailbars[...]ktailbarservice.CocktailBarService#0
2018-10-09 11:26:29.497 9366-9377/co.edgeapp.backstage I/zygote64: Compiler allocated 8MB to compile void android.view.ViewRootImpl.performTraversals()
2018-10-09 11:26:29.581 723-723/? I/SurfaceFlinger: Display 0 HWC layers:
        type    |    handle    | flag |  format   |   source crop (l,t,r,b)    |         frame       | name 
    ------------+--------------+------+-----------+----------------------------+---------------------+------
     SolidColor |              | 0000 |  Unknown  |  -0.2   -0.2   -0.8   -0.8 |    0    0 1440 2960 | animation background stackId=1#0
     SolidColor |              | 0002 |  Unknown  |  -0.0    0.0   -1.0   -1.0 |    0   84 1420 2960 | Background for - SurfaceView - co.ed[...]art.SplashscreenActivity@9094aae@3#0
         Device | 0x717de39200 | 0000 | RGBA_8888 |  20.0    0.0 1440.0 2960.0 |    0    0 1420 2960 | co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity#0
     SolidColor |              | 0000 |  Unknown  |  -0.2   -0.2   -0.8   -0.8 |    0    0 1440 2960 | DimLayerController/Stack=0#0
     SolidColor |              | 0000 |  Unknown  |   0.0    0.0   -1.0   -1.0 |    0    0 1440 2960 | co.edgeapp.backstage/com.firebase.ui[...]i.idp.AuthMethodPickerActivity_dim#0
         Devi
2018-10-09 11:26:29.581 723-723/? I/SurfaceFlinger: ce | 0x717b306e00 | 0002 | RGBA_8888 |   0.0    0.0  876.0 2960.0 |  564    0 1440 2960 | co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity#0
         Device | 0x717b045b00 | 0000 | RGBA_8888 |   0.0    0.0 1440.0   84.0 |    0    0 1440   84 | StatusBar#0
         Device | 0x717e4c0700 | 0000 | RGBA_8888 |   0.0    0.0   67.0  607.0 | 1372 2185 1439 2792 | com.samsung.android.app.cocktailbars[...]ktailbarservice.CocktailBarService#0
2018-10-09 11:26:29.712 723-723/? I/SurfaceFlinger: Display 0 HWC layers:
        type    |    handle    | flag |  format   |   source crop (l,t,r,b)    |         frame       | name 
    ------------+--------------+------+-----------+----------------------------+---------------------+------
     SolidColor |              | 0000 |  Unknown  |  -0.2   -0.2   -0.8   -0.8 |    0    0 1440 2960 | animation background stackId=1#0
     SolidColor |              | 0002 |  Unknown  |  -0.0    0.0   -1.0   -1.0 |    0   84 1371 2960 | Background for - SurfaceView - co.ed[...]art.SplashscreenActivity@9094aae@3#0
         Device | 0x717de39200 | 0000 | RGBA_8888 |  69.0    0.0 1440.0 2960.0 |    0    0 1371 2960 | co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity#0
     SolidColor |              | 0000 |  Unknown  |   0.0    0.0   -1.0   -1.0 |    0    0 1440 2960 | co.edgeapp.backstage/com.firebase.ui[...]i.idp.AuthMethodPickerActivity_dim#0
         Device | 0x717b306e00 | 0002 | RGBA_8888 |   0.0    0.0 1386.0 2960.0 |   54    0 1440 2960 | co.edgeapp.backstage/com.firebase.ui.a
2018-10-09 11:26:29.712 723-723/? I/SurfaceFlinger: uth.ui.idp.AuthMethodPickerActivity#0
         Device | 0x717b045b00 | 0000 | RGBA_8888 |   0.0    0.0 1440.0   84.0 |    0    0 1440   84 | StatusBar#0
         Device | 0x717e4c0700 | 0000 | RGBA_8888 |   0.0    0.0   67.0  607.0 | 1372 2185 1439 2792 | com.samsung.android.app.cocktailbars[...]ktailbarservice.CocktailBarService#0
2018-10-09 11:26:29.825 682-682/? I/[email protected]: getLinkLayerStats
2018-10-09 11:26:29.863 723-723/? I/SurfaceFlinger: Display 0 HWC layers:
        type    |    handle    | flag |  format   |   source crop (l,t,r,b)    |         frame       | name 
    ------------+--------------+------+-----------+----------------------------+---------------------+------
         Device | 0x717b306e00 | 0002 | RGBA_8888 |   0.0    0.0 1440.0 2960.0 |    0    0 1440 2960 | co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity#0
         Device | 0x717b045b00 | 0000 | RGBA_8888 |   0.0    0.0 1440.0   84.0 |    0    0 1440   84 | StatusBar#0
         Device | 0x717e4c0700 | 0000 | RGBA_8888 |   0.0    0.0   67.0  607.0 | 1372 2185 1439 2792 | com.samsung.android.app.cocktailbars[...]ktailbarservice.CocktailBarService#0
2018-10-09 11:26:29.875 1449-1592/? I/WindowManager: Destroying surface Surface(name=co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity_dim) called by com.android.server.wm.WindowStateAnimator.destroyTransitionDimSurface:2697 com.android.server.wm.WindowState.onExitAnimationDone:5222 com.android.server.wm.AppWindowAnimator.stepAnimationLocked:508 com.android.server.wm.AppWindowToken.stepAppWindowsAnimation:1659 com.android.server.wm.WindowContainer.stepAppWindowsAnimation:521 com.android.server.wm.WindowContainer.stepAppWindowsAnimation:521 com.android.server.wm.TaskStack.stepAppWindowsAnimation:1948 com.android.server.wm.WindowContainer.stepAppWindowsAnimation:521 
2018-10-09 11:26:29.875 723-781/? I/SurfaceFlinger: id=1424 Removed co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity_dim#0 (5/10)
2018-10-09 11:26:29.876 723-1656/? I/SurfaceFlinger: id=1424 Removed co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity_dim#0 (-2/10)
2018-10-09 11:26:29.892 723-723/? I/Layer: id=1424 onRemoved co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity_dim#0 
2018-10-09 11:26:29.895 1449-3221/? I/WindowManager: Destroying surface Surface(name=co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity) called by com.android.server.wm.WindowStateAnimator.destroySurface:2465 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:967 com.android.server.wm.WindowState.destroyOrSaveSurfaceUnchecked:3652 com.android.server.wm.WindowState.destroySurface:3600 com.android.server.wm.AppWindowToken.destroySurfaces:722 com.android.server.wm.AppWindowToken.destroySurfaces:706 com.android.server.wm.AppWindowToken.notifyAppStopped:751 com.android.server.wm.AppWindowContainerController.notifyAppStopped:824 
2018-10-09 11:26:29.895 723-1656/? I/SurfaceFlinger: id=1418 Removed co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity#0 (2/9)
2018-10-09 11:26:29.895 723-1656/? I/SurfaceFlinger: id=1418 Removed co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity#0 (-2/9)
2018-10-09 11:26:29.897 1449-3221/? I/WindowManager: Destroying surface Surface(name=co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity) called by com.android.server.wm.WindowStateAnimator.destroySurface:2465 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:967 com.android.server.wm.WindowState.destroyOrSaveSurfaceUnchecked:3652 com.android.server.wm.WindowState.destroySurface:3600 com.android.server.wm.AppWindowToken.destroySurfaces:722 com.android.server.wm.AppWindowToken.destroySurfaces:706 com.android.server.wm.AppWindowToken.notifyAppStopped:751 com.android.server.wm.AppWindowContainerController.notifyAppStopped:824 
2018-10-09 11:26:29.897 723-1656/? I/SurfaceFlinger: id=1422 Removed co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity#0 (3/8)
2018-10-09 11:26:29.897 723-1656/? I/SurfaceFlinger: id=1422 Removed co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity#0 (-2/8)
2018-10-09 11:26:29.908 723-723/? I/Layer: id=1422 onRemoved co.edgeapp.backstage/com.firebase.ui.auth.KickoffActivity#0 
2018-10-09 11:26:29.909 723-723/? I/Layer: id=1418 onRemoved co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity#0 
2018-10-09 11:26:29.909 723-723/? I/Layer: id=1420 onRemoved Background for - SurfaceView - co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity@9094aae@3#0 
2018-10-09 11:26:29.909 723-723/? I/Layer: id=1419 onRemoved SurfaceView - co.edgeapp.backstage/co.edgeapp.android.start.SplashscreenActivity@9094aae@3#0 

@samtstern
Copy link
Contributor

@dimipaun thanks for the testing. Clearly we're still missing something, and this fix is not enough. I don't feel comfortable moving forward until we understand what's different about your project or environment that causes the issue, but to be honest I am not even sure where to start!

@dimipaun
Copy link
Contributor Author

@samtstern I agree that something is odd. I've been able to reproduce this empty screen in the emulator, the S9+, and some other devices (like a Nexus 6 iirc).

Now, the ClassNotFoundException seems to be particular to certain devices like my Samsung S9+, and my latest fix seems obviously correct (compared to all the others floating around the internet for the same problem). This is because without it we don't event get to start the AuthMethodPickerActivity activity. Now this works, so I think it's safe to merge it.

The second part is why is it still empty once we are in the AuthMethodPickerActivity, since now we seem to be starting it properly.

@dimipaun
Copy link
Contributor Author

@samtstern Here's some more info:

I've modified AuthMethodPickerActivity locally to log a bit more:

--- a/auth/src/main/java/com/firebase/ui/auth/ui/idp/AuthMethodPickerActivity.java
+++ b/auth/src/main/java/com/firebase/ui/auth/ui/idp/AuthMethodPickerActivity.java
@@ -31,6 +31,7 @@ import android.widget.ImageView;
 import android.widget.ProgressBar;
 import android.widget.TextView;
 import android.widget.Toast;
+import android.util.Log;
 
 import com.firebase.ui.auth.AuthUI;
 import com.firebase.ui.auth.AuthUI.IdpConfig;
@@ -150,6 +151,7 @@ public class AuthMethodPickerActivity extends AppCompatBase {
             @LayoutRes int buttonLayout;
 
             final String providerId = idpConfig.getProviderId();
+            Log.w("AuthMethodPickerActivity", "providerId=" + providerId);
             switch (providerId) {
                 case GoogleAuthProvider.PROVIDER_ID:
                     GoogleSignInHandler google = supplier.get(GoogleSignInHandler.class);
@@ -239,6 +241,7 @@ public class AuthMethodPickerActivity extends AppCompatBase {
                 }
             });
 
+            Log.w("AuthMethodPickerActivity", "buttonLayout=" + buttonLayout);
             View loginButton = getLayoutInflater().inflate(buttonLayout, mProviderHolder, false);
             loginButton.setOnClickListener(new View.OnClickListener() {
                 @Override
@@ -246,6 +249,7 @@ public class AuthMethodPickerActivity extends AppCompatBase {
                     provider.startSignIn(AuthMethodPickerActivity.this);
                 }
             });
+            Log.w("AuthMethodPickerActivity", "adding button " + loginButton);
             mProviderHolder.addView(loginButton);
         }
     }

I can confirm that the buttons are correctly added:

2018-10-11 21:08:17.362 1449-3205/? I/ActivityManager: START u0 {act=null typ=null flg=0x0 cmp=ComponentInfo{co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity}} from uid 10423
2018-10-11 21:08:17.403 5025-5125/? I/TrayUsageStatesWatcher: noteResumeComponent : ComponentInfo{co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity}
2018-10-11 21:08:17.430 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: providerId=facebook.com
2018-10-11 21:08:17.430 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: buttonLayout=2131427473
2018-10-11 21:08:17.432 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: adding button com.firebase.ui.auth.util.ui.SupportVectorDrawablesButton{dcc3f96 VFED..C.. ......I. 0,0-0,0}
2018-10-11 21:08:17.432 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: providerId=password
2018-10-11 21:08:17.432 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: buttonLayout=2131427479
2018-10-11 21:08:17.433 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: adding button com.firebase.ui.auth.util.ui.SupportVectorDrawablesButton{493107a VFED..C.. ......I. 0,0-0,0 #7f090130 app:id/email_button}
2018-10-11 21:08:17.433 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: providerId=google.com
2018-10-11 21:08:17.433 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: buttonLayout=2131427475
2018-10-11 21:08:17.434 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: adding button com.firebase.ui.auth.util.ui.SupportVectorDrawablesButton{537cc1e VFED..C.. ......I. 0,0-0,0}
2018-10-11 21:08:17.434 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: providerId=twitter.com
2018-10-11 21:08:17.435 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: buttonLayout=2131427476
2018-10-11 21:08:17.436 734-734/co.edgeapp.backstage W/AuthMethodPickerActivity: adding button com.firebase.ui.auth.util.ui.SupportVectorDrawablesButton{99a7682 VFED..C.. ......I. 0,0-0,0}
2018-10-11 21:08:17.468 723-723/? I/SurfaceFlinger: id=4495 createSurf (1440x2960),1 flag=404, co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity#0
2018-10-11 21:08:17.515 723-723/? I/SurfaceFlinger: id=4496 createSurf (1440x2960),-1 flag=20004, co.edgeapp.backstage/com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity_dim#0

The screen looks empty (expect for the TOS and PP at the bottom). I was also able to capture the layout via the Layout Inspector:
layout

@dimipaun
Copy link
Contributor Author

dimipaun commented Oct 12, 2018

@samtstern @SUPERCILEX ... and if I tweak a bit the layout:

diff --git a/auth/src/main/res/layout/fui_auth_method_picker_layout.xml b/auth/src/main/res/layout/fui_auth_method_picker_layout.xml
index 4bac31ba..8eb77a87 100644
--- a/auth/src/main/res/layout/fui_auth_method_picker_layout.xml
+++ b/auth/src/main/res/layout/fui_auth_method_picker_layout.xml
@@ -33,10 +33,11 @@
 
     <ScrollView
         android:id="@+id/container"
-        android:layout_width="wrap_content"
-        android:layout_height="0dp"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
         android:layout_marginBottom="@dimen/fui_field_padding_vert"
         android:fillViewport="true"
+        android:background="#bfbfbf"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintTop_toBottomOf="@+id/logo"

Then I get this result:
screenshot_20181011-213852_youkno

So there seems to be an issue with the layout. I'm not a Android layout expert, any thoughts?

@samtstern
Copy link
Contributor

@dimipaun ah ok now we're getting somewhere! If this PR fixes the crash and reduces it to a layout bug, then I think we should merge. Can you file a new issue with everything you know about the layout bug?

@samtstern samtstern merged commit b5658c8 into firebase:version-4.2.1-dev Oct 12, 2018
@samtstern samtstern added this to the 4.2.1 milestone Oct 12, 2018
@SUPERCILEX
Copy link
Collaborator

@dimipaun can you open a PR to remove the other two changes? Would be nice to not have dead code hanging around.

@dimipaun
Copy link
Contributor Author

OK, so this is merged, thanks guys!

Thank you @samtstern for reverting those patches. I would have kept 1f3b18e in as it does seem to fix some problems (judging by others reporting similar issues), but it may be that this patch addresses them too.

So let's try without it and see where we land.

@samtstern
Copy link
Contributor

@dimipaun yeah I think this fix alone will do everything that the Bundle hack did, but if not we can always add it back!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants