Rxjava 2.0 wrapper on Google's Android Firebase library.
This release update the Firebase dependencies of the library and adds a null control to the addDocument
method in RxFirestore
to avoid an NPE when there is no permission to read the desired document. On that cases, Firebase calls onSuccess
listener but the result is null.
This release includes:
This release add a basic supports for Cloud functions method though RxFirebaseFunctions
instance and update the dependencies of the actual project.
Hello everyone,
after talk with some people that is already using the library we saw that when using methods such as get, set, update
that should work when the device is offline, the Rx calls(onComplete, OnSuccess) were not called because the tasks never call onSuccess
until the data is correctly uploaded to the server.
To make this more easy to work with, new methods called setDocumentOffline
, updateDocumentOffline
, addDocumentOffline
anddeleteDocumentOffline
have been added to the library. All of them will execute their respective calls without wait for the Task
to be completed.
Thank you so much for the support !
Hello everyone!
Well this is a minor release where the dependencies have been updated and a new methods have been added regarding the new methods added on the last release of Firebase.
FirebaseMetadata
dependencies to the new versionupdateCurrentUser
method to RxFirebaseAuthatomicOperation
method to support operate with multiple batches at once on RxFirestorefetchEmailsForUsers
updated to fetchSignInMethodsForEmail
Thank you everyone for your support, feel totally free about do PR's propose changes and open improvements for it.
Firebase!
Hello everyone, new release here. After some suggestions from the users I added all the methods regarding the Query
and QuerySnapshot
references to allow everyone to use the library for make their queries using all the possibilities.
Together with that a bug related with the QUERY_EXIST_PREDICATE have been fixed, and finally there are new unitary testing part regarding the RxFirestore part of the library to avoid this minor bugs in the future.
Thank you everyone for your support, feel totally free about do PR's propose changes and open improvements for it.
Firebase!
Hello everyone, new release here. There are a few changes regarding the usage of some parts of the library(like RxFirebaseStorage) and Firestore is not on beta anymore, so there is no reason to keep two separated target versions.
The changes of this version are:
RxFirestore is 100% implemented in the standard library
RxStorage has suffer a refactor to allow the download and upload task be cancelled when calling .dispose()
on the disposable
.
ObserveValueEventListener now emits all the dataSnapshots, even if they doesn't exist. There was some bugs because it was not emitting the events afte delete the last children of a parent or a whole tree. This was caused because the snapshot doesn't exist anymore. In case that you are working with a .map()
the DATA_SNAPSHOT_EXISTENCE_PREDICATE
will avoid to emit that one across the matcher to avoid NPE. Be care of it if you wanna listen possible "empty" snapshots to update realtime lists.
New checkStyle rules added to the project to avoid unnecessary indentation when PR's from other users are opened.
In all the onFailure
calls now there is a check regarding if the emitter is disposed or not. This is needed because if we are working with zips
or merge
of multiple Observables
If one of them crash, the flowable
finish and everything is disposed
, but, if there was more than an error, the error is propagated and disposed emitters try to emit onError
calls.
Remember that this library is also yours, feel totally free about do PR's propose changes and open improvements for it.
Firebase!
Updated the dependencies of the library to Firebase 11.6.0 and added checks of emitter.isDisposed
in all the onError
calls. This was caused a UncaughtException
in cases where multiple onError
were called at once and they are already disposed.
For example a disposables zip
or merge
where one of them fail. The first one call the whole onError
for the disposable
but each one of the single Observables
will be disposed
, and after that their onError
will be called. Caused an UncaughtException
As you possibly know, yesterday Google released their new fully-managed NoSQL document database for mobile and web app development aka Firestore Database. It include a lot of new features regarding the data storage in the cloud. I just wrap all the new methods in a pre-release for you all.
This way you will be able to experiment with Firestore without needing of mixing normal Firebase API
and Rx2Firebase
. This pre-release is also a Beta, so please, any error, suggestion or change that you see viable, don't doubt in launch a PR to the firestore-beta
branch. The tests will be added in the future, but if you want to add a bit of security and mockito work, feel free to do it :+1:
If you don't know nothing about Firestore
yet, read the next posts to learn about it:
https://developers.googleblog.com/2017/10/introducing-cloud-firestore-our-new.html
https://firebase.googleblog.com/2017/10/cloud-firestore-for-rtdb-developers.html
Enjoy!
Hello everyone, this release just make a rollback to observeOnSingleValueEvent
calling onSuccess when the emitted snapshot. Perhaps, now the mapper use a custom predicate to avoid NPE when the snapshot is empty.
Enjoy!