From 024b6ed1c83027ce18b6a05a188114beff9f6440 Mon Sep 17 00:00:00 2001 From: Ally Date: Mon, 6 Oct 2014 13:29:16 +0900 Subject: [PATCH 1/5] Update plugin.xml Bumped version to attempt fix for PhoneGap Build error `A plugin already exists with that plugin id and version` --- plugin.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.xml b/plugin.xml index df7f049a9..45310073f 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ + version="0.8.1"> Facebook Connect From 1f0fdc545364ae9359bd27fa0ffce4e771dc25fe Mon Sep 17 00:00:00 2001 From: Bixev Date: Fri, 17 Oct 2014 10:42:25 +0200 Subject: [PATCH 2/5] share_open_graph dialog --- .../cordova/facebook/ConnectPlugin.java | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java b/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java index 811ca7534..213e7efa1 100644 --- a/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java +++ b/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java @@ -399,7 +399,45 @@ public void run() { } }; cordova.getActivity().runOnUiThread(runnable); - } else if (this.method.equalsIgnoreCase("share") || this.method.equalsIgnoreCase("share_open_graph")) { + } else if (this.method.equalsIgnoreCase("share_open_graph")) { + if (FacebookDialog.canPresentOpenGraphActionDialog(me.cordova.getActivity(), FacebookDialog.OpenGraphActionDialogFeature.OG_ACTION_DIALOG)) { + Runnable runnable = new Runnable() { + public void run() { + OpenGraphAction ogAction = GraphObject.Factory.create(OpenGraphAction.class); + ogAction.setType(paramBundle.getString("action_type")); + String previewPropertyName = null; + try{ + JSONObject ogActionProperties = new JSONObject(paramBundle.getString("action_properties")); + Iterator iter = ogActionProperties.keys(); + while (iter.hasNext()) { + String key = (String) iter.next(); + if(previewPropertyName==null){ + previewPropertyName = key; + } + ogAction.setProperty(key.toString(), ogActionProperties.getString(key).toString()); + } + } catch (JSONException e) { + e.printStackTrace(); + } + + FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(me.cordova.getActivity(),ogAction,previewPropertyName) + .build(); + uiHelper.trackPendingDialogCall(shareDialog.present()); + } + }; + this.trackingPendingCall = true; + cordova.getActivity().runOnUiThread(runnable); + } else { + // Fallback. For example, publish the post using the Feed Dialog + Runnable runnable = new Runnable() { + public void run() { + WebDialog feedDialog = (new WebDialog.FeedDialogBuilder(me.cordova.getActivity(), Session.getActiveSession(), paramBundle)).setOnCompleteListener(dialogCallback).build(); + feedDialog.show(); + } + }; + cordova.getActivity().runOnUiThread(runnable); + } + } else if (this.method.equalsIgnoreCase("share")) { if (FacebookDialog.canPresentShareDialog(me.cordova.getActivity(), FacebookDialog.ShareDialogFeature.SHARE_DIALOG)) { Runnable runnable = new Runnable() { public void run() { From 5ce035e4b807a24c674e70f4186b037bf172017b Mon Sep 17 00:00:00 2001 From: Bixev Date: Tue, 28 Oct 2014 16:22:37 +0100 Subject: [PATCH 3/5] add missing import --- .../android/src/org/apache/cordova/facebook/ConnectPlugin.java | 1 + 1 file changed, 1 insertion(+) diff --git a/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java b/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java index 213e7efa1..6a02efcb9 100644 --- a/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java +++ b/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java @@ -39,6 +39,7 @@ import com.facebook.UiLifecycleHelper; import com.facebook.model.GraphObject; import com.facebook.model.GraphUser; +import com.facebook.model.OpenGraphAction; import com.facebook.widget.FacebookDialog; import com.facebook.widget.WebDialog; import com.facebook.widget.WebDialog.OnCompleteListener; From f2272da948b3bfbf8fb30aced7fa243790d8ddf6 Mon Sep 17 00:00:00 2001 From: Bixev Date: Tue, 28 Oct 2014 16:24:20 +0100 Subject: [PATCH 4/5] spaces --- .../src/org/apache/cordova/facebook/ConnectPlugin.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java b/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java index 6a02efcb9..03c06a10a 100644 --- a/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java +++ b/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java @@ -407,12 +407,12 @@ public void run() { OpenGraphAction ogAction = GraphObject.Factory.create(OpenGraphAction.class); ogAction.setType(paramBundle.getString("action_type")); String previewPropertyName = null; - try{ + try { JSONObject ogActionProperties = new JSONObject(paramBundle.getString("action_properties")); Iterator iter = ogActionProperties.keys(); while (iter.hasNext()) { String key = (String) iter.next(); - if(previewPropertyName==null){ + if (previewPropertyName==null) { previewPropertyName = key; } ogAction.setProperty(key.toString(), ogActionProperties.getString(key).toString()); @@ -426,7 +426,7 @@ public void run() { uiHelper.trackPendingDialogCall(shareDialog.present()); } }; - this.trackingPendingCall = true; + this.trackingPendingCall = true; cordova.getActivity().runOnUiThread(runnable); } else { // Fallback. For example, publish the post using the Feed Dialog From b6da2bd6ecc2911776a0502ab0e07e96bc334358 Mon Sep 17 00:00:00 2001 From: Bixev Date: Tue, 28 Oct 2014 16:25:45 +0100 Subject: [PATCH 5/5] space --- .../android/src/org/apache/cordova/facebook/ConnectPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java b/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java index 03c06a10a..90110933e 100644 --- a/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java +++ b/platforms/android/src/org/apache/cordova/facebook/ConnectPlugin.java @@ -406,7 +406,7 @@ public void run() { public void run() { OpenGraphAction ogAction = GraphObject.Factory.create(OpenGraphAction.class); ogAction.setType(paramBundle.getString("action_type")); - String previewPropertyName = null; + String previewPropertyName = null; try { JSONObject ogActionProperties = new JSONObject(paramBundle.getString("action_properties")); Iterator iter = ogActionProperties.keys();