use of com.codename1.ui.events.ActionListener in project CodenameOne by codenameone.
the class FaceBookAccess method getPhoto.
/**
* Gets a Photo from a photoId
* This is a sync method it will block until a response it returned
* @param the photoId
* @param needAuth if this object is public needAuth can be false and no
* authentication will be performed
* @return the Photo requested
*/
public Photo getPhoto(String photoId, boolean needAuth) throws IOException {
final Photo photo = new Photo();
final Vector err = new Vector();
addResponseCodeListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
NetworkEvent ne = (NetworkEvent) evt;
err.addElement(ne);
removeResponseCodeListener(this);
}
});
getFaceBookObject(photoId, new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Vector v = (Vector) ((NetworkEvent) evt).getMetaData();
Hashtable t = (Hashtable) v.elementAt(0);
photo.copy(t);
}
}, needAuth, false);
if (err.size() > 0) {
throw new IOException(((NetworkEvent) err.elementAt(0)).getResponseCode() + ": " + ((NetworkEvent) err.elementAt(0)).getMessage());
}
return photo;
}
use of com.codename1.ui.events.ActionListener in project CodenameOne by codenameone.
the class FaceBookAccess method getUsersDetails.
/**
* Gets users requested details ((this method uses the legacy rest api see http://developers.facebook.com/docs/reference/rest/))
*
* @param usersIds the users to query
* @param fields which fields to query on the users see http://developers.facebook.com/docs/reference/rest/users.getInfo/
* @param callback the result will call the callback with the result
* to extrct the data preform the following:
* public void actionPerformed(ActionEvent evt) {
* Vector data = (Vector) ((NetworkEvent) evt).getMetaData();
* Vector users = (Vector) data.elementAt(0);
* }
*/
public void getUsersDetails(String[] usersIds, String[] fields, final ActionListener callback) throws IOException {
checkAuthentication();
final FacebookRESTService con = new FacebookRESTService(token, "https://api.facebook.com/method/users.getInfo", false);
String ids = usersIds[0];
int ulen = usersIds.length;
for (int i = 1; i < ulen; i++) {
ids += "," + usersIds[i];
}
con.addArgumentNoEncoding("uids", ids);
String fieldsStr = fields[0];
int flen = fields.length;
for (int i = 1; i < flen; i++) {
fieldsStr += "," + fields[i];
}
con.addArgumentNoEncoding("fields", fieldsStr);
con.addArgument("format", "json");
con.addResponseListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if (!con.isAlive()) {
return;
}
if (callback != null) {
callback.actionPerformed(evt);
}
}
});
if (slider != null) {
SliderBridge.bindProgress(con, slider);
}
for (int i = 0; i < responseCodeListeners.size(); i++) {
con.addResponseCodeListener((ActionListener) responseCodeListeners.elementAt(i));
}
current = con;
NetworkManager.getInstance().addToQueue(con);
}
use of com.codename1.ui.events.ActionListener in project CodenameOne by codenameone.
the class FaceBookAccess method getUserNotifications.
/**
* Gets the user notifications (this method uses the legacy rest api see http://developers.facebook.com/docs/reference/rest/)
*
* @param userId the user id
* @param startTime Indicates the earliest time to return a notification.
* This equates to the updated_time field in the notification FQL table. If not specified, this call returns all available notifications.
* @param includeRead Indicates whether to include notifications that have already been read.
* By default, notifications a user has read are not included.
* @param notifications store notifications results into the given model,
* each entry is an Hashtable Object contaning the Object data
* @param callback the callback that should be updated when the data arrives
*/
public void getUserNotifications(String userId, String startTime, boolean includeRead, DefaultListModel notifications, final ActionListener callback) throws IOException {
checkAuthentication();
final FacebookRESTService con = new FacebookRESTService(token, "https://api.facebook.com/method/notifications.getList", false);
con.addArgument("start_time", startTime);
con.addArgument("include_read", new Boolean(includeRead).toString());
con.addArgument("format", "json");
con.setResponseDestination(notifications);
con.addResponseListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if (!con.isAlive()) {
return;
}
if (callback != null) {
callback.actionPerformed(evt);
}
}
});
if (slider != null) {
SliderBridge.bindProgress(con, slider);
}
for (int i = 0; i < responseCodeListeners.size(); i++) {
con.addResponseCodeListener((ActionListener) responseCodeListeners.elementAt(i));
}
current = con;
NetworkManager.getInstance().addToQueue(con);
}
use of com.codename1.ui.events.ActionListener in project CodenameOne by codenameone.
the class FaceBookAccess method getFaceBookObject.
/**
* This method returns immediately and will call the callback when it returns with
* the FaceBook Object data.
*
* @param faceBookId the object id that we would like to query
* @param callback the callback that should be updated when the data arrives
* @param needToken if true authentication is being checked
*/
public void getFaceBookObject(String faceBookId, final ActionListener callback, boolean needToken, boolean async) throws IOException {
if (needToken) {
checkAuthentication();
}
final FacebookRESTService con = new FacebookRESTService(token, faceBookId, "", false);
con.addResponseListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if (!con.isAlive()) {
return;
}
if (callback != null) {
callback.actionPerformed(evt);
}
}
});
if (slider != null) {
SliderBridge.bindProgress(con, slider);
}
for (int i = 0; i < responseCodeListeners.size(); i++) {
con.addResponseCodeListener((ActionListener) responseCodeListeners.elementAt(i));
}
current = con;
if (async) {
NetworkManager.getInstance().addToQueue(con);
} else {
NetworkManager.getInstance().addToQueueAndWait(con);
}
}
use of com.codename1.ui.events.ActionListener in project CodenameOne by codenameone.
the class FaceBookAccess method postLike.
/**
* Post like on a given post
*
* @param postId the post Id
*/
public void postLike(String postId, ActionListener callback) throws IOException {
checkAuthentication();
FacebookRESTService con = new FacebookRESTService(token, postId, FacebookRESTService.LIKES, true);
con.addResponseListener(new Listener(con, callback));
if (slider != null) {
SliderBridge.bindProgress(con, slider);
}
for (int i = 0; i < responseCodeListeners.size(); i++) {
con.addResponseCodeListener((ActionListener) responseCodeListeners.elementAt(i));
}
current = con;
NetworkManager.getInstance().addToQueueAndWait(con);
}
Aggregations