@Override public void connected(String token, String expiresIn) { isConnected = true; long expiresInMillisFromNow = Long.valueOf(expiresIn) * 1000L; long expiresInMillisTimestamp = expiresInMillisFromNow + TimeUtils.millis(); accessToken = new GDXFacebookAccessToken(token, expiresInMillisTimestamp); storeToken(accessToken); // callback.onSuccess(new SignInResult(accessToken, "Silently logged in. AccessToken and permissions are valid.")); validatePermissions(permissions, callback); }
@Override public void connected(String token, String expiresIn) { isConnected = true; long expiresInMillisFromNow = Long.valueOf(expiresIn) * 1000L; long expiresInMillisTimestamp = expiresInMillisFromNow + TimeUtils.millis(); accessToken = new GDXFacebookAccessToken(token, expiresInMillisTimestamp); storeToken(accessToken); // callback.onSuccess(new SignInResult(accessToken, "Silently logged in. AccessToken and permissions are valid.")); validatePermissions(permissions, callback); }
private void loadAccessToken() { String token = preferences.getString("access_token", null); long expiresAt = preferences.getLong("expires_at", 0); if (token != null && expiresAt > 0) { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Loaded existing accessToken: " + token); accessToken = new GDXFacebookAccessToken(token, expiresAt); } else { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "No accessToken found."); } }
private void loadAccessToken() { String token = preferences.getString("access_token", null); long expiresAt = preferences.getLong("expires_at", 0); if (token != null && expiresAt > 0) { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Loaded existing accessToken: " + token); accessToken = new GDXFacebookAccessToken(token, expiresAt); } else { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "No accessToken found."); } }
protected void loadAccessToken() { String token = preferences.getString("access_token", null); long expiresAt = preferences.getLong("expires_at", 0); if (token != null && expiresAt > 0) { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Loaded existing accessToken: " + token); accessToken = new GDXFacebookAccessToken(token, expiresAt); } else { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Could not load existing accessToken."); } }
private void silentLogin(final Array<String> permissions, final GDXFacebookCallback<SignInResult> callback) { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Starting silent sign in."); signOut(false); JSNIFacebookSDK.FBLoginState(new StatusCallback() { @Override public void connected(String token, String expiresIn) { isConnected = true; long expiresInMillisFromNow = Long.valueOf(expiresIn) * 1000L; long expiresInMillisTimestamp = expiresInMillisFromNow + TimeUtils.millis(); accessToken = new GDXFacebookAccessToken(token, expiresInMillisTimestamp); storeToken(accessToken); // callback.onSuccess(new SignInResult(accessToken, "Silently logged in. AccessToken and permissions are valid.")); validatePermissions(permissions, callback); } @Override public void notAuthorized() { guiLogin(permissions, callback); } @Override public void disconnected() { guiLogin(permissions, callback); } }); }
protected void loadAccessToken() { String token = preferences.getString("access_token", null); long expiresAt = preferences.getLong("expires_at", 0); if (token != null && expiresAt > 0) { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Loaded existing accessToken: " + token); accessToken = new GDXFacebookAccessToken(token, expiresAt); } else { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Could not load existing accessToken."); } }
private void silentLogin(final Array<String> permissions, final GDXFacebookCallback<SignInResult> callback) { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Starting silent sign in."); signOut(false); JSNIFacebookSDK.FBLoginState(new StatusCallback() { @Override public void connected(String token, String expiresIn) { isConnected = true; long expiresInMillisFromNow = Long.valueOf(expiresIn) * 1000L; long expiresInMillisTimestamp = expiresInMillisFromNow + TimeUtils.millis(); accessToken = new GDXFacebookAccessToken(token, expiresInMillisTimestamp); storeToken(accessToken); // callback.onSuccess(new SignInResult(accessToken, "Silently logged in. AccessToken and permissions are valid.")); validatePermissions(permissions, callback); } @Override public void notAuthorized() { guiLogin(permissions, callback); } @Override public void disconnected() { guiLogin(permissions, callback); } }); }
@Override public void success(String token, String expiresIn, String gPermissions) { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "success granted: " + gPermissions); String[] parts = gPermissions.split(","); grantedPermissions.clear(); for (String s : parts) { grantedPermissions.add(s); } if (areSamePermissionsOrMore(permissions, grantedPermissions)) { isConnected = true; long expiresInMillisFromNow = Long.valueOf(expiresIn) * 1000L; long expiresInMillisTimestamp = expiresInMillisFromNow + TimeUtils.millis(); accessToken = new GDXFacebookAccessToken(token, expiresInMillisTimestamp); storeToken(accessToken); callback.onSuccess(new SignInResult(accessToken, "Login successful. AccessToken and permissions are valid.")); } else { callback.onError(new GDXFacebookError("User did not grant required permissions.")); } }
@Override public void success(String token, String expiresIn, String gPermissions) { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "success granted: " + gPermissions); String[] parts = gPermissions.split(","); grantedPermissions.clear(); for (String s : parts) { grantedPermissions.add(s); } if (areSamePermissionsOrMore(permissions, grantedPermissions)) { isConnected = true; long expiresInMillisFromNow = Long.valueOf(expiresIn) * 1000L; long expiresInMillisTimestamp = expiresInMillisFromNow + TimeUtils.millis(); accessToken = new GDXFacebookAccessToken(token, expiresInMillisTimestamp); storeToken(accessToken); callback.onSuccess(new SignInResult(accessToken, "Login successful. AccessToken and permissions are valid.")); } else { callback.onError(new GDXFacebookError("User did not grant required permissions.")); } }
private void guiLogin(final Array<String> permissions, final GDXFacebookCallback<SignInResult> callback) { signOut(false); Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Start GUI login."); // GUI LOGIN JSNIFacebookSDK.FBLogin(permissionsArrayToString(permissions), new LoginCallback() { @Override public void success(String token, String expiresIn, String gPermissions) { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "success granted: " + gPermissions); String[] parts = gPermissions.split(","); grantedPermissions.clear(); for (String s : parts) { grantedPermissions.add(s); } if (areSamePermissionsOrMore(permissions, grantedPermissions)) { isConnected = true; long expiresInMillisFromNow = Long.valueOf(expiresIn) * 1000L; long expiresInMillisTimestamp = expiresInMillisFromNow + TimeUtils.millis(); accessToken = new GDXFacebookAccessToken(token, expiresInMillisTimestamp); storeToken(accessToken); callback.onSuccess(new SignInResult(accessToken, "Login successful. AccessToken and permissions are valid.")); } else { callback.onError(new GDXFacebookError("User did not grant required permissions.")); } } @Override public void fail() { callback.onError(new GDXFacebookError("Error while trying to login. User cancelled or did not authorize.")); } }); }
private void guiLogin(final Array<String> permissions, final GDXFacebookCallback<SignInResult> callback) { signOut(false); Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Start GUI login."); // GUI LOGIN JSNIFacebookSDK.FBLogin(permissionsArrayToString(permissions), new LoginCallback() { @Override public void success(String token, String expiresIn, String gPermissions) { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "success granted: " + gPermissions); String[] parts = gPermissions.split(","); grantedPermissions.clear(); for (String s : parts) { grantedPermissions.add(s); } if (areSamePermissionsOrMore(permissions, grantedPermissions)) { isConnected = true; long expiresInMillisFromNow = Long.valueOf(expiresIn) * 1000L; long expiresInMillisTimestamp = expiresInMillisFromNow + TimeUtils.millis(); accessToken = new GDXFacebookAccessToken(token, expiresInMillisTimestamp); storeToken(accessToken); callback.onSuccess(new SignInResult(accessToken, "Login successful. AccessToken and permissions are valid.")); } else { callback.onError(new GDXFacebookError("User did not grant required permissions.")); } } @Override public void fail() { callback.onError(new GDXFacebookError("Error while trying to login. User cancelled or did not authorize.")); } }); }
@Override public void onSuccess(LoginResult loginResult) { accessToken = new GDXFacebookAccessToken(AccessToken.getCurrentAccessToken().getToken(), AccessToken.getCurrentAccessToken().getExpires().getTime()); storeNewToken(accessToken); Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Sign in successful. User token: " + accessToken.getToken()); callback.onSuccess(new SignInResult(accessToken, "Sign in successful.")); }
@Override public void signIn(SignInMode mode, Array<String> permissions, GDXFacebookCallback<SignInResult> callback) { this.callback = callback; this.permissions = permissions; this.signInMode = mode; /** * Check whether we can reuse an existing token: * * If the user has Facebook App installed * AccessToken.getCurrentAccessToken() will not be NULL * * Only when the Facebook App is not installed we need to setup the token * manually. * */ loadAccessToken(); if (accessToken == null && AccessToken.getCurrentAccessToken() != null) { accessToken = new GDXFacebookAccessToken(AccessToken.getCurrentAccessToken().getToken(), AccessToken.getCurrentAccessToken().getExpires().getTime()); } if (accessToken != null) { startSilentSignIn(); } else { startGUISignIn(); } }
@Override protected void startGUISignIn() { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Starting GUI sign in."); LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { accessToken = new GDXFacebookAccessToken(AccessToken.getCurrentAccessToken().getToken(), AccessToken.getCurrentAccessToken().getExpires().getTime()); storeNewToken(accessToken); Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Sign in successful. User token: " + accessToken.getToken()); callback.onSuccess(new SignInResult(accessToken, "Sign in successful.")); } @Override public void onCancel() { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Sign fail by user."); callback.onCancel(); } @Override public void onError(FacebookException e) { Gdx.app.debug(GDXFacebookVars.LOG_TAG, "Error while trying to sign in: " + e.getMessage()); callback.onError(new GDXFacebookError(e.getMessage())); } }); if (this.signInMode == SignInMode.PUBLISH) { LoginManager.getInstance().logInWithPublishPermissions(activity, gdxArrayToCollection(permissions)); } else { LoginManager.getInstance().logInWithReadPermissions(activity, gdxArrayToCollection(permissions)); } }