@@ -5,7 +5,7 @@ import { ad as AndroidUtils, layout } from "tns-core-modules/utils/utils";
55import lazy from "tns-core-modules/utils/lazy" ;
66import { topmost } from "tns-core-modules/ui/frame" ;
77import { File } from "tns-core-modules/file-system" ;
8- import { firestore , User } from "./firebase" ;
8+ import { firestore , User } from "./firebase" ;
99
1010declare const android , com , org : any ;
1111
@@ -20,7 +20,6 @@ let fbCallbackManager = null;
2020const GOOGLE_SIGNIN_INTENT_ID = 123 ;
2121const REQUEST_INVITE_INTENT_ID = 48 ;
2222
23- // const gson = lazy(() => typeof(com.google.gson) === "undefined" ? null : new com.google.gson.Gson());
2423const messagingEnabled = lazy ( ( ) => typeof ( com . google . firebase . messaging ) !== "undefined" ) ;
2524const dynamicLinksEnabled = lazy ( ( ) => typeof ( com . google . android . gms . appinvite ) !== "undefined" ) ;
2625
@@ -199,21 +198,7 @@ firebase.toValue = val => {
199198 return returnVal ;
200199} ;
201200
202- // no longer using Gson as fi Firestore's DocumentReference isn't serialized (also removed it from the dependencies)
203201firebase . toJsObject = javaObj => {
204- // if (gson() !== null) {
205- // try {
206- // return JSON.parse(gson().toJson(javaObj)); // this may fail if fi a DocumentReference is encountered
207- // } catch (ignore) {
208- // return firebase.toJsObjectLegacy(javaObj);
209- // }
210- // } else {
211- // fallback for folks not having fetched gson yet in their build for some reason
212- return firebase . toJsObjectLegacy ( javaObj ) ;
213- // }
214- } ;
215-
216- firebase . toJsObjectLegacy = javaObj => {
217202 if ( javaObj === null || typeof javaObj !== "object" ) {
218203 return javaObj ;
219204 }
@@ -242,7 +227,7 @@ firebase.toJsObjectLegacy = javaObj => {
242227 case 'java.util.ArrayList' :
243228 node = [ ] ;
244229 for ( let i = 0 ; i < javaObj . size ( ) ; i ++ ) {
245- node [ i ] = firebase . toJsObjectLegacy ( javaObj . get ( i ) ) ;
230+ node [ i ] = firebase . toJsObject ( javaObj . get ( i ) ) ;
246231 }
247232 break ;
248233 default :
@@ -251,7 +236,7 @@ firebase.toJsObjectLegacy = javaObj => {
251236 const iterator = javaObj . entrySet ( ) . iterator ( ) ;
252237 while ( iterator . hasNext ( ) ) {
253238 const item = iterator . next ( ) ;
254- node [ item . getKey ( ) ] = firebase . toJsObjectLegacy ( item . getValue ( ) ) ;
239+ node [ item . getKey ( ) ] = firebase . toJsObject ( item . getValue ( ) ) ;
255240 }
256241 } catch ( e ) {
257242 console . log ( "PLEASE REPORT THIS AT https://github.com/NativeScript/NativeScript/issues: Tried to serialize an unsupported type: javaObj.getClass().getName(), error: " + e ) ;
@@ -316,7 +301,7 @@ firebase.init = arg => {
316301 const user = fbAuth . getCurrentUser ( ) ;
317302 arg . onAuthStateChanged ( {
318303 loggedIn : user !== null ,
319- user : toLoginResult ( user , null )
304+ user : toLoginResult ( user )
320305 } ) ;
321306 }
322307 } ) ;
@@ -330,7 +315,7 @@ firebase.init = arg => {
330315 const user = fbAuth . getCurrentUser ( ) ;
331316 firebase . notifyAuthStateListeners ( {
332317 loggedIn : user !== null ,
333- user : toLoginResult ( user , null )
318+ user : toLoginResult ( user )
334319 } ) ;
335320 }
336321 } ) ;
@@ -882,7 +867,7 @@ firebase.getCurrentUser = arg => {
882867 const firebaseAuth = com . google . firebase . auth . FirebaseAuth . getInstance ( ) ;
883868 const user = firebaseAuth . getCurrentUser ( ) ;
884869 if ( user !== null ) {
885- resolve ( toLoginResult ( user , null ) ) ;
870+ resolve ( toLoginResult ( user ) ) ;
886871 } else {
887872 reject ( ) ;
888873 }
@@ -974,7 +959,7 @@ firebase.getAuthToken = arg => {
974959 } ) ;
975960} ;
976961
977- function toLoginResult ( user , additionalUserInfo ) : User {
962+ function toLoginResult ( user , additionalUserInfo ? ) : User {
978963 if ( user === null ) {
979964 return null ;
980965 }
@@ -992,33 +977,33 @@ function toLoginResult(user, additionalUserInfo): User {
992977 }
993978 }
994979
995- const loginResult : User = {
996- uid : user . getUid ( ) ,
997- name : user . getDisplayName ( ) ,
998- email : user . getEmail ( ) ,
999- emailVerified : user . isEmailVerified ( ) ,
1000- // provider: user.getProviderId(), // always 'firebase'
1001- providers : providers ,
1002- anonymous : user . isAnonymous ( ) ,
1003- isAnonymous : user . isAnonymous ( ) ,
1004- phoneNumber : user . getPhoneNumber ( ) ,
1005- profileImageURL : user . getPhotoUrl ( ) ? user . getPhotoUrl ( ) . toString ( ) : null ,
1006- metadata : {
1007- creationTimestamp : new Date ( user . getMetadata ( ) . getCreationTimestamp ( ) as number ) ,
1008- lastSignInTimestamp : new Date ( user . getMetadata ( ) . getLastSignInTimestamp ( ) as number )
1009- }
1010- } ;
980+ const loginResult : User = {
981+ uid : user . getUid ( ) ,
982+ name : user . getDisplayName ( ) ,
983+ email : user . getEmail ( ) ,
984+ emailVerified : user . isEmailVerified ( ) ,
985+ // provider: user.getProviderId(), // always 'firebase'
986+ providers : providers ,
987+ anonymous : user . isAnonymous ( ) ,
988+ isAnonymous : user . isAnonymous ( ) ,
989+ phoneNumber : user . getPhoneNumber ( ) ,
990+ profileImageURL : user . getPhotoUrl ( ) ? user . getPhotoUrl ( ) . toString ( ) : null ,
991+ metadata : {
992+ creationTimestamp : new Date ( user . getMetadata ( ) . getCreationTimestamp ( ) as number ) ,
993+ lastSignInTimestamp : new Date ( user . getMetadata ( ) . getLastSignInTimestamp ( ) as number )
994+ }
995+ } ;
1011996
1012- if ( additionalUserInfo !== null ) {
1013- loginResult . additionalUserInfo = {
1014- profile : additionalUserInfo . getProfile ( ) ,
1015- providerId : additionalUserInfo . getProviderId ( ) ,
1016- username : additionalUserInfo . getUsername ( ) ,
1017- isNewUser : additionalUserInfo . isNewUser ( )
1018- } ;
997+ if ( additionalUserInfo ) {
998+ loginResult . additionalUserInfo = {
999+ providerId : additionalUserInfo . getProviderId ( ) ,
1000+ username : additionalUserInfo . getUsername ( ) ,
1001+ isNewUser : additionalUserInfo . isNewUser ( ) ,
1002+ profile : firebase . toJsObject ( additionalUserInfo . getProfile ( ) )
10191003 }
1004+ }
10201005
1021- return loginResult ;
1006+ return loginResult ;
10221007}
10231008
10241009firebase . login = arg => {
@@ -1086,7 +1071,7 @@ firebase.login = arg => {
10861071 }
10871072
10881073 const actionCodeSettings = com . google . firebase . auth . ActionCodeSettings . newBuilder ( )
1089- // URL you want to redirect back to. The domain must be whitelisted in the Firebase Console.
1074+ // URL you want to redirect back to. The domain must be whitelisted in the Firebase Console.
10901075 . setUrl ( arg . emailLinkOptions . url )
10911076 . setHandleCodeInApp ( true )
10921077 . setIOSBundleId ( arg . emailLinkOptions . iOS ? arg . emailLinkOptions . iOS . bundleId : appModule . android . context . getPackageName ( ) )
@@ -1122,7 +1107,7 @@ firebase.login = arg => {
11221107
11231108 if ( user && firebase . _alreadyLinkedToAuthProvider ( user , "phone" ) ) {
11241109 // skip sending an SMS if user is already linked to the phone-provider
1125- resolve ( toLoginResult ( user , null ) ) ;
1110+ resolve ( toLoginResult ( user ) ) ;
11261111 return ;
11271112 }
11281113
0 commit comments