[tuxdroid-svn] r5759 - software_suite_v3/software/plugin/plugin-facebook/branches/october_release/s
Status: Beta
Brought to you by:
ks156
From: jerome <c2m...@c2...> - 2009-10-21 10:06:40
|
Author: jerome Date: 2009-10-21 12:06:28 +0200 (Wed, 21 Oct 2009) New Revision: 5759 Modified: software_suite_v3/software/plugin/plugin-facebook/branches/october_release/src/com/kysoh/plugins/facebook/FacebookFunctions.java software_suite_v3/software/plugin/plugin-facebook/branches/october_release/src/com/kysoh/plugins/facebook/FacebookPlugin.java Log: * Fixed a bug getting messages count by sender ( message id was taken instead of user id ). * Added a method to define current FB permissions. Modified: software_suite_v3/software/plugin/plugin-facebook/branches/october_release/src/com/kysoh/plugins/facebook/FacebookFunctions.java =================================================================== --- software_suite_v3/software/plugin/plugin-facebook/branches/october_release/src/com/kysoh/plugins/facebook/FacebookFunctions.java 2009-10-21 10:03:30 UTC (rev 5758) +++ software_suite_v3/software/plugin/plugin-facebook/branches/october_release/src/com/kysoh/plugins/facebook/FacebookFunctions.java 2009-10-21 10:06:28 UTC (rev 5759) @@ -34,6 +34,7 @@ import com.google.code.facebookapi.FacebookException; import com.google.code.facebookapi.FacebookJsonRestClient; +import com.kysoh.plugins.facebook.connection.FacebookSessionUtils; public class FacebookFunctions { @@ -283,10 +284,11 @@ public String getFacebookName(String uid) { String result = "Unknown"; - String query = "SELECT name from user WHERE uid="; + String query = "SELECT name FROM user WHERE uid="; try { + System.out.println(client.fql_query(query + uid)); JSONArray username = (JSONArray) client.fql_query(query + uid); result = username.getJSONObject( 0 ).getString("name"); @@ -337,29 +339,58 @@ public Hashtable<String, Integer> getByNames(Hashtable<String, Vector<String>> baseHash) { Hashtable<String, Integer> result = new Hashtable<String, Integer>(); - Vector<String> v = new Vector<String>(baseHash.keySet()); + Vector<String> senders = new Vector<String>(); //Handling no datas into hashtable. - if ( v.size() == 0) + if ( baseHash.keySet().size() == 0) { return null; } + Iterator<String> it = baseHash.keySet().iterator(); + + //Gettin all senders ( subject and message id are only for history stuff ). + while(it.hasNext()) + { + senders.add(baseHash.get(it.next()).get(1)); + } + //Counting by names. - for( int i = 0 ; i != v.size() ; i ++) + for( int i = 0 ; i != senders.size() ; i ++) { - if (result.containsKey(v.get(i))) + if (result.containsKey(senders.get(i))) { - Integer value = Integer.valueOf(result.get(v.get(i)) + 1); - result.remove(v.get(i)); - result.put(v.get(i), value); + Integer value = Integer.valueOf(result.get(senders.get(i)) + 1); + result.remove(senders.get(i)); + result.put(senders.get(i), value); } else { - result.put(v.get(i), Integer.valueOf(1)); + result.put(senders.get(i), Integer.valueOf(1)); } } return result; } + + + /** + * Return the current fb rights for the plugin. + * @return + */ + public Vector<String> getCurrentFBAuth() + { + Vector<String> rights = new Vector<String>(); + + try + { + System.out.println(client.permissions_checkAvailableApiAccess(FacebookSessionUtils.api_key)); + } + catch (FacebookException e) + { + ; + } + + return rights; + } } Modified: software_suite_v3/software/plugin/plugin-facebook/branches/october_release/src/com/kysoh/plugins/facebook/FacebookPlugin.java =================================================================== --- software_suite_v3/software/plugin/plugin-facebook/branches/october_release/src/com/kysoh/plugins/facebook/FacebookPlugin.java 2009-10-21 10:03:30 UTC (rev 5758) +++ software_suite_v3/software/plugin/plugin-facebook/branches/october_release/src/com/kysoh/plugins/facebook/FacebookPlugin.java 2009-10-21 10:06:28 UTC (rev 5759) @@ -104,6 +104,18 @@ { functions = new FacebookFunctions(facebook.getClient()); + //Checking first if user has fb rights. + if(!this.getCommand().equalsIgnoreCase("check")) + { + //like gmail plugin, only in run mode. + functions.getCurrentFBAuth(); + + if(false) + { + this.doConfigure(); + } + } + //Updating user status. if(this.configuration().getUpdateStatus()) { @@ -203,11 +215,11 @@ { if (emailsBySender.get(sender).intValue() == 1) { - this.throwMessage("One from {0}", functions.getFacebookName(sender)); + this.throwMessage("One from {0}", sender); } else { - this.throwMessage("{0} messages from {1}", functions.getFacebookName(sender), emailsBySender.get(sender)); + this.throwMessage("{0} messages from {1}", sender, emailsBySender.get(sender)); } } } |