# API compatibility report for the firebase-ui-auth library between 3.3.1 and 4.0.0 versions

Binary
Compatibility Source
Compatibility

## Test Info

Library Name | firebase-ui-auth
Version #1 | 3.3.1
Version #2 | 4.0.0
Subject | Binary Compatibility

## Test Results

Total JARs | 1
Total Methods / Classes | 105 / 31
Compatibility | 74.5%

## Problem Summary

| Severity | Count
--- | --- | ---
Added Methods | - | 3
Removed Methods | High | 9
Problems with Data Types | High | 3
Medium | 2
Low | 1
Problems with Methods | High | 1
Medium | 0
Low | 0

## Added Methods 3

classes.jar, CountryListSpinner.class
package com.firebase.ui.auth.ui.phone
CountryListSpinner.getSelectedCountryInfo ( ) : CountryInfo
com/firebase/ui/auth/ui/phone/CountryListSpinner.getSelectedCountryInfo:()Lcom/firebase/ui/auth/data/model/CountryInfo;
CountryListSpinner.onRestoreInstanceState ( Parcelable state ) : void
com/firebase/ui/auth/ui/phone/CountryListSpinner.onRestoreInstanceState:(Landroid/os/Parcelable;)V
CountryListSpinner.onSaveInstanceState ( ) : Parcelable
com/firebase/ui/auth/ui/phone/CountryListSpinner.onSaveInstanceState:()Landroid/os/Parcelable;
to the top

## Removed Methods 9

classes.jar, Builder.class
package com.firebase.ui.auth
AuthUI.IdpConfig.Builder.setParams ( Bundle params ) : AuthUI.IdpConfig.Builder *DEPRECATED*
com/firebase/ui/auth/AuthUI.IdpConfig.Builder.setParams:(Landroid/os/Bundle;)Lcom/firebase/ui/auth/AuthUI$IdpConfig$Builder;
AuthUI.IdpConfig.Builder.setPermissions ( List<String> permissions ) : AuthUI.IdpConfig.Builder *DEPRECATED*
com/firebase/ui/auth/AuthUI.IdpConfig.Builder.setPermissions:(Ljava/util/List;)Lcom/firebase/ui/auth/AuthUI$IdpConfig$Builder;
classes.jar, FacebookBuilder.class
package com.firebase.ui.auth
AuthUI.IdpConfig.FacebookBuilder.setPermissions ( List p1 ) : AuthUI.IdpConfig.Builder
com/firebase/ui/auth/AuthUI.IdpConfig.FacebookBuilder.setPermissions:(Ljava/util/List;)Lcom/firebase/ui/auth/AuthUI$IdpConfig$Builder;
classes.jar, IdpConfig.class
package com.firebase.ui.auth
AuthUI.IdpConfig.getScopes ( ) : List<String> *DEPRECATED*
com/firebase/ui/auth/AuthUI.IdpConfig.getScopes:()Ljava/util/List;
classes.jar, IdpResponse.class
package com.firebase.ui.auth
IdpResponse.getErrorCode ( ) : int *DEPRECATED*
com/firebase/ui/auth/IdpResponse.getErrorCode:()I
classes.jar, PlayServicesHelper.class
package com.firebase.ui.auth.util
PlayServicesHelper.getGoogleApiAvailability ( ) [static] : GoogleApiAvailability *DEPRECATED*
com/firebase/ui/auth/util/PlayServicesHelper.getGoogleApiAvailability:()Lcom/google/android/gms/common/GoogleApiAvailability;
PlayServicesHelper.makePlayServicesAvailable ( Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener ) [static] : boolean *DEPRECATED*
com/firebase/ui/auth/util/PlayServicesHelper.makePlayServicesAvailable:(Landroid/app/Activity;ILandroid/content/DialogInterface$OnCancelListener;)Z
PlayServicesHelper.PlayServicesHelper ( )
com/firebase/ui/auth/util/PlayServicesHelper."<init>":()V
classes.jar, SignInIntentBuilder.class
package com.firebase.ui.auth
AuthUI.SignInIntentBuilder.setAllowNewEmailAccounts ( boolean enabled ) : AuthUI.SignInIntentBuilder *DEPRECATED*
com/firebase/ui/auth/AuthUI.SignInIntentBuilder.setAllowNewEmailAccounts:(Z)Lcom/firebase/ui/auth/AuthUI$SignInIntentBuilder;
to the top

## Problems with Data Types, High Severity 3

classes.jar
package com.firebase.ui.auth
[+] class AuthUI.IdpConfig 1

| Change | Effect
--- | --- | ---
1 | This class became final. | A client program may be interrupted by VerifyError exception.

[+] affected methods: 11 (10.5%)
AuthUI.IdpConfig.Builder.build ( )
Return value of this method is of type 'AuthUI.IdpConfig'.
AuthUI.IdpConfig.describeContents ( )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.equals ( Object o )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.getParams ( )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.getProviderId ( )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.GoogleBuilder.build ( )
Return value of this method is of type 'AuthUI.IdpConfig'.
AuthUI.IdpConfig.hashCode ( )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.toString ( )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.writeToParcel ( Parcel parcel, int i )
This method is from 'AuthUI.IdpConfig' class.
data.remote.GoogleSignInHandler.Params.GoogleSignInHandler.Params ( AuthUI.IdpConfig config )
1st parameter 'config' of this method is of type 'AuthUI.IdpConfig'.
...
[+] class ResultCodes 1

| Change | Effect
--- | --- | ---
1 | This class has been removed. | A client program may be interrupted by NoClassDefFoundError exception.

classes.jar
package com.firebase.ui.auth.util
[+] class PlayServicesHelper 1

| Change | Effect
--- | --- | ---
1 | This class has been removed. | A client program may be interrupted by NoClassDefFoundError exception.

[+] affected methods: 3 (2.9%)
PlayServicesHelper.PlayServicesHelper ( )
This constructor is from 'PlayServicesHelper' class.
PlayServicesHelper.getGoogleApiAvailability ( )
This method is from 'PlayServicesHelper' class.
PlayServicesHelper.makePlayServicesAvailable ( Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener )
This method is from 'PlayServicesHelper' class.
to the top

## Problems with Methods, High Severity 1

classes.jar, Builder.class
package com.firebase.ui.auth
[+] AuthUI.IdpConfig.Builder.AuthUI.IdpConfig.Builder ( String providerId ) *DEPRECATED* 1
com/firebase/ui/auth/AuthUI.IdpConfig.Builder."<init>":(Ljava/lang/String;)V

| Change | Effect
--- | --- | ---
1 | Access level has been changed from public to protected. | A client program may be interrupted by IllegalAccessError exception.

to the top

## Problems with Data Types, Medium Severity 2

classes.jar
package com.firebase.ui.auth.ui.credentials
[+] class CredentialSaveActivity 1

| Change | Effect
--- | --- | ---
1 | Superclass has been changed from com.firebase.ui.auth.ui.HelperActivityBase to com.firebase.ui.auth.ui.InvisibleActivityBase. | 1) Access of a client program to the fields or methods of the old super-class may be interrupted by NoSuchFieldError or NoSuchMethodError exceptions. 2) A static field from a super-interface of a client class may hide a field (with the same name) inherited from new super-class and cause IncompatibleClassChangeError exception.

[+] affected methods: 4 (3.8%)
CredentialSaveActivity.CredentialSaveActivity ( )
This constructor is from 'CredentialSaveActivity' class.
CredentialSaveActivity.createIntent ( Context context, FlowParameters flowParams, Credential credential, IdpResponse response )
This method is from 'CredentialSaveActivity' class.
CredentialSaveActivity.onActivityResult ( int requestCode, int resultCode, Intent data )
This method is from 'CredentialSaveActivity' class.
CredentialSaveActivity.onCreate ( Bundle savedInstanceState )
This method is from 'CredentialSaveActivity' class.
classes.jar
package com.firebase.ui.auth.ui.idp
[+] class SingleSignInActivity 1

| Change | Effect
--- | --- | ---
1 | Superclass has been changed from com.firebase.ui.auth.ui.HelperActivityBase to com.firebase.ui.auth.ui.InvisibleActivityBase. | 1) Access of a client program to the fields or methods of the old super-class may be interrupted by NoSuchFieldError or NoSuchMethodError exceptions. 2) A static field from a super-interface of a client class may hide a field (with the same name) inherited from new super-class and cause IncompatibleClassChangeError exception.

[+] affected methods: 4 (3.8%)
SingleSignInActivity.SingleSignInActivity ( )
This constructor is from 'SingleSignInActivity' class.
SingleSignInActivity.createIntent ( Context context, FlowParameters flowParams, User user )
This method is from 'SingleSignInActivity' class.
SingleSignInActivity.onActivityResult ( int requestCode, int resultCode, Intent data )
This method is from 'SingleSignInActivity' class.
SingleSignInActivity.onCreate ( Bundle savedInstanceState )
This method is from 'SingleSignInActivity' class.
to the top

## Problems with Data Types, Low Severity 1

classes.jar
package com.firebase.ui.auth
[+] class BuildConfig 1

| Change | Effect
--- | --- | ---
1 | Value of final field VERSION_NAME of type java.lang.String has been changed from "3.3.1" to "4.0.0-SNAPSHOT". | Old value of the field will be inlined to the client code at compile-time and will be used instead of a new one.

[+] affected methods: 1 (1%)
BuildConfig.BuildConfig ( )
This constructor is from 'BuildConfig' class.
to the top

## Java Archives 1

classes.jar
to the top

## Test Info

Library Name | firebase-ui-auth
Version #1 | 3.3.1
Version #2 | 4.0.0
Subject | Source Compatibility

## Test Results

Total JARs | 1
Total Methods / Classes | 105 / 31
Compatibility | 74.5%

## Problem Summary

| Severity | Count
--- | --- | ---
Added Methods | - | 3
Removed Methods | High | 9
Problems with Data Types | High | 3
Medium | 2
Low | 0
Problems with Methods | High | 1
Medium | 0
Low | 0

## Added Methods 3

classes.jar, CountryListSpinner.class
package com.firebase.ui.auth.ui.phone
CountryListSpinner.getSelectedCountryInfo ( ) : CountryInfo
com/firebase/ui/auth/ui/phone/CountryListSpinner.getSelectedCountryInfo:()Lcom/firebase/ui/auth/data/model/CountryInfo;
CountryListSpinner.onRestoreInstanceState ( Parcelable state ) : void
com/firebase/ui/auth/ui/phone/CountryListSpinner.onRestoreInstanceState:(Landroid/os/Parcelable;)V
CountryListSpinner.onSaveInstanceState ( ) : Parcelable
com/firebase/ui/auth/ui/phone/CountryListSpinner.onSaveInstanceState:()Landroid/os/Parcelable;
to the top

## Removed Methods 9

classes.jar, Builder.class
package com.firebase.ui.auth
AuthUI.IdpConfig.Builder.setParams ( Bundle params ) : AuthUI.IdpConfig.Builder *DEPRECATED*
com/firebase/ui/auth/AuthUI.IdpConfig.Builder.setParams:(Landroid/os/Bundle;)Lcom/firebase/ui/auth/AuthUI$IdpConfig$Builder;
AuthUI.IdpConfig.Builder.setPermissions ( List<String> permissions ) : AuthUI.IdpConfig.Builder *DEPRECATED*
com/firebase/ui/auth/AuthUI.IdpConfig.Builder.setPermissions:(Ljava/util/List;)Lcom/firebase/ui/auth/AuthUI$IdpConfig$Builder;
classes.jar, FacebookBuilder.class
package com.firebase.ui.auth
AuthUI.IdpConfig.FacebookBuilder.setPermissions ( List p1 ) : AuthUI.IdpConfig.Builder
com/firebase/ui/auth/AuthUI.IdpConfig.FacebookBuilder.setPermissions:(Ljava/util/List;)Lcom/firebase/ui/auth/AuthUI$IdpConfig$Builder;
classes.jar, IdpConfig.class
package com.firebase.ui.auth
AuthUI.IdpConfig.getScopes ( ) : List<String> *DEPRECATED*
com/firebase/ui/auth/AuthUI.IdpConfig.getScopes:()Ljava/util/List;
classes.jar, IdpResponse.class
package com.firebase.ui.auth
IdpResponse.getErrorCode ( ) : int *DEPRECATED*
com/firebase/ui/auth/IdpResponse.getErrorCode:()I
classes.jar, PlayServicesHelper.class
package com.firebase.ui.auth.util
PlayServicesHelper.getGoogleApiAvailability ( ) [static] : GoogleApiAvailability *DEPRECATED*
com/firebase/ui/auth/util/PlayServicesHelper.getGoogleApiAvailability:()Lcom/google/android/gms/common/GoogleApiAvailability;
PlayServicesHelper.makePlayServicesAvailable ( Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener ) [static] : boolean *DEPRECATED*
com/firebase/ui/auth/util/PlayServicesHelper.makePlayServicesAvailable:(Landroid/app/Activity;ILandroid/content/DialogInterface$OnCancelListener;)Z
PlayServicesHelper.PlayServicesHelper ( )
com/firebase/ui/auth/util/PlayServicesHelper."<init>":()V
classes.jar, SignInIntentBuilder.class
package com.firebase.ui.auth
AuthUI.SignInIntentBuilder.setAllowNewEmailAccounts ( boolean enabled ) : AuthUI.SignInIntentBuilder *DEPRECATED*
com/firebase/ui/auth/AuthUI.SignInIntentBuilder.setAllowNewEmailAccounts:(Z)Lcom/firebase/ui/auth/AuthUI$SignInIntentBuilder;
to the top

## Problems with Data Types, High Severity 3

classes.jar
package com.firebase.ui.auth
[+] class AuthUI.IdpConfig 1

| Change | Effect
--- | --- | ---
1 | This class became final. | Recompilation of a client program may be terminated with the message: cannot inherit from final AuthUI.IdpConfig.

[+] affected methods: 11 (10.5%)
AuthUI.IdpConfig.Builder.build ( )
Return value of this method is of type 'AuthUI.IdpConfig'.
AuthUI.IdpConfig.describeContents ( )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.equals ( Object o )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.getParams ( )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.getProviderId ( )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.GoogleBuilder.build ( )
Return value of this method is of type 'AuthUI.IdpConfig'.
AuthUI.IdpConfig.hashCode ( )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.toString ( )
This method is from 'AuthUI.IdpConfig' class.
AuthUI.IdpConfig.writeToParcel ( Parcel parcel, int i )
This method is from 'AuthUI.IdpConfig' class.
data.remote.GoogleSignInHandler.Params.GoogleSignInHandler.Params ( AuthUI.IdpConfig config )
1st parameter 'config' of this method is of type 'AuthUI.IdpConfig'.
...
[+] class ResultCodes 1

| Change | Effect
--- | --- | ---
1 | This class has been removed. | Recompilation of a client program may be terminated with the message: cannot find class ResultCodes.

classes.jar
package com.firebase.ui.auth.util
[+] class PlayServicesHelper 1

| Change | Effect
--- | --- | ---
1 | This class has been removed. | Recompilation of a client program may be terminated with the message: cannot find class PlayServicesHelper.

[+] affected methods: 3 (2.9%)
PlayServicesHelper.PlayServicesHelper ( )
This constructor is from 'PlayServicesHelper' class.
PlayServicesHelper.getGoogleApiAvailability ( )
This method is from 'PlayServicesHelper' class.
PlayServicesHelper.makePlayServicesAvailable ( Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener )
This method is from 'PlayServicesHelper' class.
to the top

## Problems with Methods, High Severity 1

classes.jar, Builder.class
package com.firebase.ui.auth
[+] AuthUI.IdpConfig.Builder.AuthUI.IdpConfig.Builder ( String providerId ) *DEPRECATED* 1
com/firebase/ui/auth/AuthUI.IdpConfig.Builder."<init>":(Ljava/lang/String;)V

| Change | Effect
--- | --- | ---
1 | Access level has been changed from public to protected. | Recompilation of a client program may be terminated with the message: AuthUI.IdpConfig.Builder ( String ) has protected access in AuthUI.IdpConfig.Builder.

to the top

## Problems with Data Types, Medium Severity 2

classes.jar
package com.firebase.ui.auth.ui.credentials
[+] class CredentialSaveActivity 1

| Change | Effect
--- | --- | ---
1 | Superclass has been changed from com.firebase.ui.auth.ui.HelperActivityBase to com.firebase.ui.auth.ui.InvisibleActivityBase. | 1) Recompilation of a client program may be terminated with the message: cannot find variable (or method) in CredentialSaveActivity. 2) A static field from a super-interface of a client class may hide a field (with the same name) inherited from new super-class. Recompilation of a client class may be terminated with the message: reference to variable is ambiguous.

[+] affected methods: 4 (3.8%)
CredentialSaveActivity.CredentialSaveActivity ( )
This constructor is from 'CredentialSaveActivity' class.
CredentialSaveActivity.createIntent ( Context context, FlowParameters flowParams, Credential credential, IdpResponse response )
This method is from 'CredentialSaveActivity' class.
CredentialSaveActivity.onActivityResult ( int requestCode, int resultCode, Intent data )
This method is from 'CredentialSaveActivity' class.
CredentialSaveActivity.onCreate ( Bundle savedInstanceState )
This method is from 'CredentialSaveActivity' class.
classes.jar
package com.firebase.ui.auth.ui.idp
[+] class SingleSignInActivity 1

| Change | Effect
--- | --- | ---
1 | Superclass has been changed from com.firebase.ui.auth.ui.HelperActivityBase to com.firebase.ui.auth.ui.InvisibleActivityBase. | 1) Recompilation of a client program may be terminated with the message: cannot find variable (or method) in SingleSignInActivity. 2) A static field from a super-interface of a client class may hide a field (with the same name) inherited from new super-class. Recompilation of a client class may be terminated with the message: reference to variable is ambiguous.

[+] affected methods: 4 (3.8%)
SingleSignInActivity.SingleSignInActivity ( )
This constructor is from 'SingleSignInActivity' class.
SingleSignInActivity.createIntent ( Context context, FlowParameters flowParams, User user )
This method is from 'SingleSignInActivity' class.
SingleSignInActivity.onActivityResult ( int requestCode, int resultCode, Intent data )
This method is from 'SingleSignInActivity' class.
SingleSignInActivity.onCreate ( Bundle savedInstanceState )
This method is from 'SingleSignInActivity' class.
to the top

## Java Archives 1

classes.jar
to the top