Upgrading to FirebaseUI 2.0
This document outlines the
breaking
changes made between versions 1.2.0 and 2.0.0 as well as
suggested upgrade paths. This is not a comprehensive list of all features or bug fixes, please
reference the release note for that information.
For a full, machine-generated compatibility report see the
docs/compat_reports
folder.
- Facebook and Twitter dependencies
- FirebaseUI no longer directly depends on the Facebook
or Twitter SDKs. If you plan to enable either of these providers you should include the
appropriate SDK in your app to avoid a crash. This saves space for developers only using
Google/Email/Phone authentication.
- Sign out and delete
- The
AuthUI#delete(Activity)
and
AuthUI#signOut(Activity)
methods have been removed, please use the versions that accept
FragmentActivity
.
- Error codes
-
ResultCodes.RESULT_NO_NETWORK
has been removed. Instead you should use
IdpResponse.fromResultIntent(data)
to get the response from the
AuthUI
intent and then
check if
IdpResponse#getErrorCode()
is
ErrorCodes.NO_NETWORK
.
- Choosing providers
-
setProviders
has been deprecated, please use
setAvailableProviders
which now respects the order in which you provide them. The varargs version of
setProviders
has been removed completely.
- Facebook and Google scopes
- setting scopes via
string
resources is no longer supported,
please set scopes in code using
IdpConfig
.
- Themes
- AppCompat theme properties such as
colorPrimary
and
colorAccent
are now used
to style FirebaseUI automatically without any need for customization. Unless your auth UI
needs a different theme than the rest of your app, please remove
AuthUI.SignInIntentBuilder#setTheme(int)
and its related xml theme from your auth intent
builder and check to make sure that the auth UI has been themed correctly.
- Smart Lock for passwords
-
setIsSmartLockEnabled
has added a two-argument overload.
There are now separate flags for enabling the hint select and enabling
the saving/retrieving of full credentials from the API. Setting the same value for each flag
will emulate the previous single-flag behavior.
- Change events
- the signature of
ChangeEventListener#onChildChanged
has been modified
to include a
DataSnapshot
argument.
- Snapshot parsing
- the
parseSnapshot
method of the adapters has been removed. Instead,
you should pass a custom
SnapshotParser
to the adapter constructor.
- Method visibility
- the
onDataChanged
method has changed from
protected
to
public
,
which will require a change in your code if you are overriding this method.
No breaking changes.