Skip to content

Commit 464f511

Browse files
committed
Update dependencies, add null control for Firestore tasks
1 parent 4eef4a9 commit 464f511

File tree

3 files changed

+23
-9
lines changed

3 files changed

+23
-9
lines changed

app/build.gradle

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ buildscript {
22
ext {
33
rx_version = "2.1.10"
44
rx_android_version = "2.0.2"
5-
firebase_auth_version='16.0.5'
6-
firebase_database_version='16.0.4'
7-
firebase_storage_version='16.0.4'
8-
firebase_firestore_version='17.1.3'
5+
firebase_auth_version='16.1.0'
6+
firebase_database_version='16.0.5'
7+
firebase_storage_version='16.0.5'
8+
firebase_firestore_version='17.1.5'
99
firebase_functions_version='16.1.3'
10-
firebase_remote_version='16.1.0'
10+
firebase_remote_version='16.1.2'
1111
support_version = "28.0.3"
1212
}
1313
}

app/src/main/java/durdinapps/rxfirebase2/RxFirestore.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.util.Map;
2929
import java.util.concurrent.Executor;
3030

31+
import durdinapps.rxfirebase2.exceptions.RxFirebaseNullDataException;
3132
import io.reactivex.BackpressureStrategy;
3233
import io.reactivex.Completable;
3334
import io.reactivex.CompletableEmitter;
@@ -133,6 +134,10 @@ public void subscribe(final SingleEmitter<DocumentReference> emitter) {
133134
ref.add(data).addOnCompleteListener(new OnCompleteListener<DocumentReference>() {
134135
@Override
135136
public void onComplete(@NonNull Task<DocumentReference> task) {
137+
if (task.getResult() == null){
138+
emitter.onError(new RxFirebaseNullDataException(task.getException()));
139+
return;
140+
}
136141
emitter.onSuccess(task.getResult());
137142
}
138143
}).addOnFailureListener(new OnFailureListener() {
@@ -162,6 +167,10 @@ public void subscribe(final SingleEmitter<DocumentReference> emitter) {
162167
ref.add(pojo).addOnCompleteListener(new OnCompleteListener<DocumentReference>() {
163168
@Override
164169
public void onComplete(@NonNull Task<DocumentReference> task) {
170+
if (task.getResult() == null){
171+
emitter.onError(new RxFirebaseNullDataException(task.getException()));
172+
return;
173+
}
165174
emitter.onSuccess(task.getResult());
166175
}
167176
}).addOnFailureListener(new OnFailureListener() {
@@ -186,7 +195,7 @@ public void onFailure(@NonNull Exception e) {
186195
* @return a Single which emits the {@link DocumentReference} of the added Document.
187196
*/
188197
@NonNull
189-
private static Completable addDocumentOffline(@NonNull final CollectionReference ref,
198+
public static Completable addDocumentOffline(@NonNull final CollectionReference ref,
190199
@NonNull final Map<String, Object> data) {
191200
return Completable.create(new CompletableOnSubscribe() {
192201
@Override
@@ -212,7 +221,7 @@ public void subscribe(CompletableEmitter emitter) {
212221
* @return a Single which emits the {@link DocumentReference} of the added Document.
213222
*/
214223
@NonNull
215-
private static Completable addDocumentOffline(@NonNull final CollectionReference ref,
224+
public static Completable addDocumentOffline(@NonNull final CollectionReference ref,
216225
@NonNull final Object pojo) {
217226
return Completable.create(new CompletableOnSubscribe() {
218227
@Override
@@ -1232,7 +1241,7 @@ public static <T> Maybe<List<T>> getCollection(@NonNull final CollectionReferenc
12321241
* @param mapper specific function to map the dispatched events.
12331242
*/
12341243
@NonNull
1235-
private static <T> Maybe<List<T>> getCollection(CollectionReference ref,
1244+
public static <T> Maybe<List<T>> getCollection(CollectionReference ref,
12361245
DocumentSnapshotMapper<QuerySnapshot,
12371246
List<T>> mapper) {
12381247
return getCollection(ref)
@@ -1259,7 +1268,7 @@ public static <T> Maybe<List<T>> getCollection(@NonNull final Query query,
12591268
* @param mapper specific function to map the dispatched events.
12601269
*/
12611270
@NonNull
1262-
private static <T> Maybe<List<T>> getCollection(@NonNull Query query,
1271+
public static <T> Maybe<List<T>> getCollection(@NonNull Query query,
12631272
@NonNull DocumentSnapshotMapper<QuerySnapshot,
12641273
List<T>> mapper) {
12651274
return getCollection(query)

app/src/main/java/durdinapps/rxfirebase2/exceptions/RxFirebaseNullDataException.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33

44
import android.support.annotation.NonNull;
5+
import android.support.annotation.Nullable;
56

67
public class RxFirebaseNullDataException extends NullPointerException {
8+
private final static String DEFAULT_MESSAGE = "Task result was successfully but data was empty";
79

810
public RxFirebaseNullDataException() {
911
}
@@ -12,4 +14,7 @@ public RxFirebaseNullDataException(@NonNull String detailMessage) {
1214
super(detailMessage);
1315
}
1416

17+
public RxFirebaseNullDataException(@Nullable Exception resultException) {
18+
super(resultException != null ? resultException.getMessage() : DEFAULT_MESSAGE);
19+
}
1520
}

0 commit comments

Comments
 (0)