Skip to content

Version 4.0 #1311

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

Merged
merged 111 commits into from
May 24, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
5109b4c
Super basic infinite scroll
samtstern Feb 21, 2018
cbaaca7
Make it kinda actually work
samtstern Mar 1, 2018
8e08336
Actual bidirectional unloading
samtstern Mar 1, 2018
75240b7
Some cleanup
samtstern Mar 1, 2018
4d68a56
Separate demo
samtstern Mar 1, 2018
6af779c
Some cleanup
samtstern Mar 1, 2018
2a5f554
Make lint pass
samtstern Mar 2, 2018
51c0d95
Basic JavaDoc
samtstern Mar 2, 2018
09f6a6d
Break out Page
samtstern Mar 2, 2018
a7153be
Space before a semicolon? That's a paddlin
samtstern Mar 2, 2018
11668e2
Experimenting with the support Paging Library, comitting just for safety
samtstern Mar 19, 2018
db39ddf
Move to alpha6, remove home-grown bits
samtstern Mar 19, 2018
efc0095
Real adapter and options classes
samtstern Mar 19, 2018
45901b7
Delete Page
samtstern Mar 19, 2018
706d539
Add support for Firebase backed silent sign-in
SUPERCILEX Mar 25, 2018
a3fbdd8
Add documentation
SUPERCILEX Mar 25, 2018
ff2814d
Cleanup
SUPERCILEX Mar 25, 2018
fbd3c9e
Merge remote-tracking branch 'upstream/version-3.3.0-dev' into silent…
SUPERCILEX Mar 26, 2018
29c0944
Fix merge mistakes
SUPERCILEX Mar 26, 2018
cb25def
Merge remote-tracking branch 'upstream/master' into silent-sign-in
SUPERCILEX Mar 29, 2018
0dd5ea5
Improve silent sign-in API
SUPERCILEX Mar 29, 2018
4a684f3
Merge branch 'version-3.3.1-dev' into firestore-infinite-scroll
samtstern Mar 29, 2018
754f945
alpha7 update
samtstern Mar 29, 2018
1ea8834
Expose Loading State
samtstern Mar 29, 2018
aa8e43b
Merge remote-tracking branch 'upstream/version-3.3.1-dev' into silent…
SUPERCILEX Mar 29, 2018
623bee5
Add more docs and cleanup
SUPERCILEX Mar 29, 2018
0393a69
Tidy docs
SUPERCILEX Mar 29, 2018
bcb873b
Fix possible memory leak
SUPERCILEX Mar 29, 2018
11f49ac
Add clarifying comment
SUPERCILEX Mar 29, 2018
23fc78a
Remove pointless checks
SUPERCILEX Mar 29, 2018
eddcbed
Reduce complexity of factory
samtstern Apr 2, 2018
276f677
Make build pass
samtstern Apr 2, 2018
ea8144c
Address nits
samtstern Apr 4, 2018
9216282
Merge remote-tracking branch 'upstream/version-3.3.1-dev' into silent…
SUPERCILEX Apr 10, 2018
75e206a
Paging library went to beta
samtstern Apr 11, 2018
cef8528
More feedback
samtstern Apr 11, 2018
154ecde
Move diff callback to options
samtstern Apr 11, 2018
5391e97
Add retry() in the data source
samtstern Apr 11, 2018
c749cf4
Finish retry piping
samtstern Apr 12, 2018
877fb21
Address review feedback
samtstern Apr 13, 2018
202857d
Add some tests
samtstern Apr 13, 2018
85967cb
Add documentation
samtstern Apr 13, 2018
e199385
Merge branch 'version-3.3.1-dev' into firestore-infinite-scroll
samtstern Apr 13, 2018
bf0ac33
Build fix
samtstern Apr 13, 2018
4eca145
Begin development for 3.4.0
samtstern Apr 13, 2018
6f7780d
Merge branch 'master' into version-3.4.0-dev
samtstern Apr 16, 2018
8bede03
Doc updates (review feedback)
samtstern Apr 16, 2018
a081a7f
Handle final page
samtstern Apr 16, 2018
fb64181
Fix typo
samtstern Apr 16, 2018
00a4818
Merge branch 'version-3.4.0-dev' into firestore-infinite-scroll
samtstern Apr 16, 2018
1e02f0e
Typo fixes
samtstern Apr 16, 2018
0f3e51e
Firestore paging adapter (#1178)
samtstern Apr 16, 2018
96b3467
Fix view model crashes when long-running task finishes after model is…
SUPERCILEX Apr 16, 2018
b1c958b
Merge remote-tracking branch 'upstream/version-3.4.0-dev' into silent…
SUPERCILEX Apr 17, 2018
a0794ab
Address review feedback
SUPERCILEX Apr 17, 2018
a234df1
More feedback
SUPERCILEX Apr 17, 2018
50a4ec7
Add support for Firebase backed silent sign-in (#1212)
samtstern Apr 17, 2018
d8c82c8
Prevent back-button state loss bug with phone verification (#1260)
samtstern Apr 18, 2018
1696cbd
Update dependencies
SUPERCILEX Apr 21, 2018
36a086d
Fix another proguard bug
SUPERCILEX Apr 21, 2018
2b44c5b
Update dependencies (#1263)
samtstern Apr 23, 2018
8d1eb08
Add line breaks in auth README (#1262)
SUPERCILEX Apr 23, 2018
d23c763
Fix proguard errors when using firestore module without paging (#1264)
samtstern Apr 23, 2018
b70c675
Remove unnecessary Zygote class initialization activity when provider…
SUPERCILEX Apr 27, 2018
f7282bd
Remove unnecessary Zygote class initialization activity when provider…
samtstern Apr 27, 2018
9b8a06d
Fix issue 1278
samtstern May 2, 2018
633da76
Remove mistake
samtstern May 2, 2018
2fec554
Start removing progress dialogs
samtstern May 3, 2018
d688455
Remove dialog from welcomeback screens
samtstern May 3, 2018
4b363d4
Finish the check and register email flows
samtstern May 3, 2018
863746e
Theme the spinner
samtstern May 3, 2018
f7486a5
Break up firebase/play versions (#1285)
samtstern May 4, 2018
2a71671
Remove all deprecated APIs
SUPERCILEX May 4, 2018
b3a71d9
Make all builders final
SUPERCILEX May 4, 2018
122dbcf
Begin development on v4.0.0
samtstern May 4, 2018
4e51a45
Upgrade to Firestore 16.0 (#1288)
SUPERCILEX May 4, 2018
ccf31df
Init in static block
samtstern May 4, 2018
47e9da7
Dead comment
samtstern May 4, 2018
c49486e
Fix issue 1278 (#1279)
samtstern May 4, 2018
ee7f6dd
Merge branch 'version-4.0.0-dev' into dialog-investigate
samtstern May 4, 2018
526529c
Move to 3p material progress bar library
samtstern May 4, 2018
957f7af
Remove all deprecated APIs (#1286)
samtstern May 4, 2018
704df98
AuthMethodPicker
samtstern May 4, 2018
939485b
Fix potential account linking sign-in failure due to recursive sign-i…
SUPERCILEX May 8, 2018
1cf2652
Add rules to prevent provider availability false negatives
SUPERCILEX May 8, 2018
8a8fd8d
Paging 1.0.0 released (#1295)
samtstern May 9, 2018
f35be2c
JavaDoc for paging adapter
samtstern May 10, 2018
7edd9d1
Review feedback
samtstern May 10, 2018
7c0e2dc
JavaDoc for paging adapter (#1298)
samtstern May 10, 2018
f221717
Merge branch 'master' into version-4.0.0-dev
samtstern May 11, 2018
ae1e29e
Add rules to prevent provider availability false negatives (#1301)
samtstern May 14, 2018
a97a918
Merge branch 'version-4.0.0-dev' into dialog-investigate
samtstern May 15, 2018
f24d3a7
Simple review feedback
samtstern May 16, 2018
23b5600
Clarifying comments
samtstern May 16, 2018
2a3dbc1
gone --> invisible
samtstern May 16, 2018
6b740bc
Added main ToS/PP (#1300)
lsirac May 17, 2018
4d80006
Merge branch 'version-4.0.0-dev' into dialog-investigate
samtstern May 17, 2018
66be717
Remove progress dialogs (#1280)
samtstern May 17, 2018
208659d
Added ToS/Pp footer to all screens in log in flow (#1303)
lsirac May 17, 2018
3e86988
4.0.0 docs
samtstern May 18, 2018
451e5d8
4.0.0 docs (#1304)
samtstern May 18, 2018
37fb402
Translations for 4.0
samtstern May 22, 2018
29ced71
Translations for 4.0 (#1309)
samtstern May 22, 2018
14ea1ea
Remove unused resources
samtstern May 22, 2018
3ea4433
Remove unused resources (#1312)
samtstern May 22, 2018
0737678
Update Firebase Versions
samtstern May 23, 2018
60cafe9
Tests pass now?
samtstern May 23, 2018
3a6c6b8
Extra line
samtstern May 23, 2018
270fc96
Trade testing hacks
samtstern May 24, 2018
fa4c6ed
Update Firebase Versions (#1313)
samtstern May 24, 2018
2d7f098
Version 4.0
samtstern May 22, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .opensource/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
"storage/README.md",
"firestore/README.md",
"docs/upgrade-to-2.0.md",
"docs/upgrade-to-3.0.md"
"docs/upgrade-to-3.0.md",
"docs/upgrade-to-4.0.md"
],

// Related projects on Github, in the format $owner/$repo[/$subproject]
Expand Down
37 changes: 17 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,16 @@ libraries.
```groovy
dependencies {
// FirebaseUI for Firebase Realtime Database
implementation 'com.firebaseui:firebase-ui-database:3.3.1'
implementation 'com.firebaseui:firebase-ui-database:4.0.0'

// FirebaseUI for Cloud Firestore
implementation 'com.firebaseui:firebase-ui-firestore:3.3.1'
implementation 'com.firebaseui:firebase-ui-firestore:4.0.0'

// FirebaseUI for Firebase Auth
implementation 'com.firebaseui:firebase-ui-auth:3.3.1'
implementation 'com.firebaseui:firebase-ui-auth:4.0.0'

// FirebaseUI for Cloud Storage
implementation 'com.firebaseui:firebase-ui-storage:3.3.1'
implementation 'com.firebaseui:firebase-ui-storage:4.0.0'
}
```

Expand All @@ -70,6 +70,7 @@ After the project is synchronized, we're ready to start using Firebase functiona
If you are using an old version of FirebaseUI and upgrading, please see the appropriate
migration guide:

* [Upgrade from 3.3.1 to 4.x.x](./docs/upgrade-to-4.0.md)
* [Upgrade from 2.3.0 to 3.x.x](./docs/upgrade-to-3.0.md)
* [Upgrade from 1.2.0 to 2.x.x](./docs/upgrade-to-2.0.md)

Expand All @@ -93,24 +94,20 @@ firebase-ui-storage
|--- com.google.firebase:firebase-storage
```

Each version of FirebaseUI has dependency on a fixed version of these libraries, defined as the variable `firebase_version`
in `common/constants.gradle`. If you are using any dependencies in your app of the form
`implementation 'com.google.firebase:firebase-*:x.y.z'` or
`implementation 'com.google.android.gms:play-services-*:x.y.z'`
you need to make sure that you use the same version that your chosen version of FirebaseUI requires.
As of version `15.0.0`, Firebase and Google Play services libraries have independent, semantic
versions. This means that FirebaseUI has independent dependencies on each of the libraries above.
For best results, your app should depend on a version of each dependency with the same major
version number as the version used by FirebaseUI.

For convenience, here are some recent examples:

| FirebaseUI Version | Firebase/Play Services Version |
|--------------------|--------------------------------|
| 3.3.1 | 15.0.0 |
| 3.3.0 | 12.0.1 |
| 3.2.2 | 11.8.0 |
| 3.1.3 | 11.8.0 |
| 3.0.0 | 11.4.2 |
| 2.4.0 | 11.4.0 |
| 1.1.1 | 10.0.0 or 10.0.1 |
As of version `4.0.0`, FirebaseUI has the following dependency versions:

| Library | Version |
|----------------------|--------------------------------|
| `firebase-auth` | 15.1.0 |
| `play-services-auth` | 15.0.1 |
| `firebase-database` | 15.0.1 |
| `firebase-firestore` | 16.0.0 |
| `firebase-storage` | 15.0.2 |

### Upgrading dependencies

Expand Down
11 changes: 7 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ android {
}

dependencies {
implementation "com.google.firebase:firebase-core:$firebaseVersion"
implementation "com.google.firebase:firebase-core:$coreVersion"
implementation "com.android.support:design:$supportLibraryVersion"
implementation 'com.android.support:multidex:1.0.3'

Expand All @@ -45,14 +45,17 @@ dependencies {
implementation project(path: ':database')
implementation project(path: ':storage')

implementation 'com.facebook.android:facebook-login:4.31.0'
implementation 'com.facebook.android:facebook-login:4.32.0'
// Needed to override Facebook
implementation "com.android.support:cardview-v7:$supportLibraryVersion"
implementation "com.android.support:customtabs:$supportLibraryVersion"
implementation("com.twitter.sdk.android:twitter-core:3.1.1@aar") { transitive = true }

implementation 'com.github.bumptech.glide:glide:4.6.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
implementation 'com.github.bumptech.glide:glide:4.7.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'

// Used for FirestorePagingActivity
implementation "android.arch.paging:runtime:$pagingVersion"

// The following dependencies are not required to use the Firebase UI library.
// They are used to make some aspects of the demo app implementation simpler for
Expand Down
5 changes: 5 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@
android:name=".database.firestore.FirestoreChatActivity"
android:label="@string/title_firestore_activity" />

<!-- Firestore paging demo -->
<activity
android:name=".database.firestore.FirestorePagingActivity"
android:label="@string/title_firestore_paging_activity" />

<!-- Realtime database demo -->
<activity
android:name=".database.realtime.RealtimeDbChatActivity"
Expand Down
4 changes: 4 additions & 0 deletions app/src/main/java/com/firebase/uidemo/ChooserActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@

import com.firebase.uidemo.auth.AuthUiActivity;
import com.firebase.uidemo.database.firestore.FirestoreChatActivity;
import com.firebase.uidemo.database.firestore.FirestorePagingActivity;
import com.firebase.uidemo.database.realtime.RealtimeDbChatActivity;
import com.firebase.uidemo.storage.ImageActivity;

Expand All @@ -53,20 +54,23 @@ private static class ActivityChooserAdapter extends RecyclerView.Adapter<Activit
private static final Class[] CLASSES = new Class[]{
AuthUiActivity.class,
FirestoreChatActivity.class,
FirestorePagingActivity.class,
RealtimeDbChatActivity.class,
ImageActivity.class,
};

private static final int[] DESCRIPTION_NAMES = new int[]{
R.string.title_auth_activity,
R.string.title_firestore_activity,
R.string.title_firestore_paging_activity,
R.string.title_realtime_database_activity,
R.string.title_storage_activity
};

private static final int[] DESCRIPTION_IDS = new int[]{
R.string.desc_auth,
R.string.desc_firestore,
R.string.desc_firestore_paging,
R.string.desc_realtime_database,
R.string.desc_storage
};
Expand Down
21 changes: 19 additions & 2 deletions app/src/main/java/com/firebase/uidemo/auth/AuthUiActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.DrawableRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
import android.support.annotation.StyleRes;
Expand All @@ -26,7 +27,6 @@
import android.support.v7.app.AppCompatDelegate;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
Expand All @@ -39,6 +39,9 @@
import com.firebase.ui.auth.IdpResponse;
import com.firebase.uidemo.R;
import com.google.android.gms.common.Scopes;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;

import java.util.ArrayList;
Expand All @@ -60,7 +63,6 @@ public class AuthUiActivity extends AppCompatActivity {
private static final int RC_SIGN_IN = 100;

@BindView(R.id.root) View mRootView;
@BindView(R.id.sign_in) Button mSignIn;

@BindView(R.id.google_provider) CheckBox mUseGoogleProvider;
@BindView(R.id.facebook_provider) CheckBox mUseFacebookProvider;
Expand Down Expand Up @@ -166,6 +168,21 @@ public void signIn(View view) {
RC_SIGN_IN);
}

@OnClick(R.id.sign_in_silent)
public void silentSignIn(View view) {
AuthUI.getInstance().silentSignIn(this, getSelectedProviders())
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
startSignedInActivity(null);
} else {
showSnackbar(R.string.sign_in_failed);
}
}
});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Expand Down
Loading