1
1
import { ILoginManager } from './common' ;
2
2
import { AndroidActivityResultEventData , AndroidApplication , Application } from '@nativescript/core' ;
3
3
4
- function setToArray < T > ( value : java . util . Set < T > , type : " string" | " number" | " boolean" ) : T [ ] {
4
+ function setToArray < T > ( value : java . util . Set < T > , type : ' string' | ' number' | ' boolean' ) : T [ ] {
5
5
const result = [ ] ;
6
6
const count = value . size ( ) ;
7
7
const nativeObjects = value . toArray ( ) ;
@@ -68,7 +68,7 @@ export class AccessToken {
68
68
69
69
get declinedPermissions ( ) {
70
70
if ( ! this . #declinedPermissions) {
71
- this . #declinedPermissions = setToArray ( this . native . getDeclinedPermissions ( ) , " string" ) ;
71
+ this . #declinedPermissions = setToArray ( this . native . getDeclinedPermissions ( ) , ' string' ) ;
72
72
}
73
73
return this . #declinedPermissions;
74
74
}
@@ -83,7 +83,7 @@ export class AccessToken {
83
83
84
84
get expiredPermissions ( ) : string [ ] {
85
85
if ( ! this . #expiredPermissions) {
86
- this . #expiredPermissions = setToArray ( this . native . getExpiredPermissions ( ) , " string" ) ;
86
+ this . #expiredPermissions = setToArray ( this . native . getExpiredPermissions ( ) , ' string' ) ;
87
87
}
88
88
return this . #expiredPermissions;
89
89
}
@@ -94,7 +94,7 @@ export class AccessToken {
94
94
95
95
get permissions ( ) : string [ ] {
96
96
if ( ! this . #permissions) {
97
- this . #permissions = setToArray ( this . native . getPermissions ( ) , " string" ) ;
97
+ this . #permissions = setToArray ( this . native . getPermissions ( ) , ' string' ) ;
98
98
}
99
99
return this . #permissions;
100
100
}
@@ -119,7 +119,6 @@ export class AccessToken {
119
119
return com . facebook . AccessToken . isCurrentAccessTokenActive ( ) ;
120
120
}
121
121
122
-
123
122
toJSON ( ) {
124
123
return {
125
124
appID : this . appID ,
@@ -133,8 +132,8 @@ export class AccessToken {
133
132
permissions : this . permissions ,
134
133
refreshDate : this . refreshDate ,
135
134
tokenString : this . tokenString ,
136
- userID : this . userID
137
- }
135
+ userID : this . userID ,
136
+ } ;
138
137
}
139
138
140
139
get native ( ) {
@@ -172,7 +171,7 @@ export class LoginResult {
172
171
return [ ] ;
173
172
}
174
173
if ( ! this . #declinedPermissions) {
175
- this . #declinedPermissions = setToArray ( this . native . getRecentlyDeniedPermissions ( ) , " string" ) ;
174
+ this . #declinedPermissions = setToArray ( this . native . getRecentlyDeniedPermissions ( ) , ' string' ) ;
176
175
}
177
176
return this . #declinedPermissions;
178
177
}
@@ -182,7 +181,7 @@ export class LoginResult {
182
181
return [ ] ;
183
182
}
184
183
if ( ! this . #grantedPermissions) {
185
- this . #grantedPermissions = setToArray ( this . native . getRecentlyGrantedPermissions ( ) , " string" ) ;
184
+ this . #grantedPermissions = setToArray ( this . native . getRecentlyGrantedPermissions ( ) , ' string' ) ;
186
185
}
187
186
return this . #grantedPermissions;
188
187
}
@@ -206,8 +205,8 @@ export class LoginResult {
206
205
declinedPermissions : this . declinedPermissions ,
207
206
grantedPermissions : this . grantedPermissions ,
208
207
isCancelled : this . isCancelled ,
209
- token : this . token
210
- }
208
+ token : this . token ,
209
+ } ;
211
210
}
212
211
213
212
get native ( ) {
@@ -222,13 +221,20 @@ export class LoginResult {
222
221
export class LoginManager implements ILoginManager {
223
222
static #native: com . facebook . login . LoginManager ;
224
223
static #callbackManager: com . facebook . CallbackManager ;
224
+ private static ensureNative ( ) {
225
+ if ( ! LoginManager . #native) {
226
+ LoginManager . #native = com . facebook . login . LoginManager . getInstance ( ) ;
227
+ }
228
+ }
225
229
226
- static init ( ) { }
230
+ static init ( ) {
231
+ LoginManager . ensureNative ( ) ;
232
+ }
227
233
228
234
static logInWithPermissions ( permissions : string [ ] , context ?: any ) : Promise < LoginResult > {
229
235
return new Promise ( ( resolve , reject ) => {
230
- if ( ! this . #native ) {
231
- this . #native = com . facebook . login . LoginManager . getInstance ( ) ;
236
+ LoginManager . ensureNative ( ) ;
237
+ if ( ! this . #callbackManager ) {
232
238
this . #callbackManager = com . facebook . CallbackManager . Factory . create ( ) ;
233
239
Application . android . on ( AndroidApplication . activityResultEvent , ( data : AndroidActivityResultEventData ) => {
234
240
this . #callbackManager. onActivityResult ( data . requestCode , data . resultCode , data . intent ) ;
@@ -253,6 +259,7 @@ export class LoginManager implements ILoginManager {
253
259
}
254
260
255
261
static logout ( ) {
262
+ LoginManager . ensureNative ( ) ;
256
263
this . #native. logOut ( ) ;
257
264
}
258
265
}
0 commit comments