|
1 | 1 | import { firebase, QuerySnapshot } from "./firebase-common"; |
2 | 2 | import * as appModule from "tns-core-modules/application"; |
| 3 | +import { AndroidActivityResultEventData } from "tns-core-modules/application"; |
3 | 4 | import * as utils from "tns-core-modules/utils/utils"; |
4 | 5 | import lazy from "tns-core-modules/utils/lazy"; |
5 | 6 | import * as frame from "tns-core-modules/ui/frame"; |
6 | 7 | import * as fs from "tns-core-modules/file-system"; |
7 | | -import { AndroidActivityResultEventData } from "tns-core-modules/application"; |
8 | 8 | import { firestore } from "./firebase"; |
9 | 9 |
|
10 | 10 | declare const com, org: any; |
@@ -200,18 +200,25 @@ firebase.init = arg => { |
200 | 200 |
|
201 | 201 | arg = arg || {}; |
202 | 202 |
|
203 | | - firebase.ServerValue = { |
204 | | - TIMESTAMP: firebase.toJsObject(com.google.firebase.database.ServerValue.TIMESTAMP) |
205 | | - }; |
| 203 | + if (typeof(com.google.firebase.firestore) === "undefined") { |
| 204 | + firebase.ServerValue = { |
| 205 | + TIMESTAMP: firebase.toJsObject(com.google.firebase.database.ServerValue.TIMESTAMP) |
| 206 | + }; |
206 | 207 |
|
207 | | - const fDatabase = com.google.firebase.database.FirebaseDatabase; |
208 | | - if (arg.persist) { |
209 | | - fDatabase.getInstance().setPersistenceEnabled(true); |
| 208 | + const fDatabase = com.google.firebase.database.FirebaseDatabase; |
| 209 | + if (arg.persist) { |
| 210 | + fDatabase.getInstance().setPersistenceEnabled(true); |
| 211 | + } |
| 212 | + firebase.instance = fDatabase.getInstance().getReference(); |
| 213 | + } else { |
| 214 | + // Firestore has offline persistence enabled by default |
| 215 | + if (!arg.persist) { |
| 216 | + com.google.firebase.firestore.FirebaseFirestore.getInstance().setFirestoreSettings( |
| 217 | + new com.google.firebase.firestore.FirebaseFirestoreSettings.Builder() |
| 218 | + .setPersistenceEnabled(false) |
| 219 | + .build()); |
| 220 | + } |
210 | 221 | } |
211 | | - // the URL is picked up from google-services.json, so you can use it like this: |
212 | | - firebase.instance = fDatabase.getInstance().getReference(); |
213 | | - // it is however still possible to pass the URL programmatically (which we'll do for now): |
214 | | - // firebase.instance = fDatabase.getInstance().getReferenceFromUrl(arg.url); |
215 | 222 |
|
216 | 223 | const firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance(); |
217 | 224 |
|
|
0 commit comments