From e01e5d62f82b8e8f4d4ce8cfeb40765e308cb6d9 Mon Sep 17 00:00:00 2001 From: Renemari Padillo Date: Wed, 13 Apr 2016 14:29:34 +0800 Subject: [PATCH] [FEAT] Added custom share text option. --- README.md | 4 ++++ src/android/io/branch/BranchSDK.java | 8 ++++---- testbed/www/js/index.js | 2 +- www/branch.js | 11 +++++++++-- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 654c7a8f..32727ace 100644 --- a/README.md +++ b/README.md @@ -445,6 +445,8 @@ The Branch iOS SDK includes a wrapper on the UIActivityViewController, that will | $blackberry_url | `string` | The URL for Blackberry | $windows_phone_url | `string` | The URL for Windows phone +**shareText**: `string` - Custom share text + ##### Usage ```js branchUniversalObj.showShareSheet({ @@ -456,6 +458,8 @@ branchUniversalObj.showShareSheet({ }, { // put your control parameters here "$desktop_url" : "http://desktop-url.com", +}, { + 'Custom share text: ' }); ``` diff --git a/src/android/io/branch/BranchSDK.java b/src/android/io/branch/BranchSDK.java index 88259c35..29449f85 100644 --- a/src/android/io/branch/BranchSDK.java +++ b/src/android/io/branch/BranchSDK.java @@ -187,8 +187,8 @@ public boolean execute(String action, JSONArray args, CallbackContext callbackCo return false; } } else if (action.equals("showShareSheet")) { - if (args.length() == 3) { - this.showShareSheet(args.getInt(0), args.getJSONObject(1), args.getJSONObject(2)); + if (args.length() == 4) { + this.showShareSheet(args.getInt(0), args.getJSONObject(1), args.getJSONObject(2), args.getString(3)); return true; } else { @@ -466,12 +466,12 @@ private void createBranchUniversalObject(JSONObject options, CallbackContext cal * @param options A {@link JSONObject} value to set URL options. * @param controlParams A {@link JSONObject} value to set the URL control parameters. */ - private void showShareSheet(int instanceIdx, JSONObject options, JSONObject controlParams) throws JSONException + private void showShareSheet(int instanceIdx, JSONObject options, JSONObject controlParams, String shareText) throws JSONException { Log.d(LCAT, "start showShareSheet()"); - ShareSheetStyle shareSheetStyle = new ShareSheetStyle(this.activity, "Check this out!", "This stuff is awesome: ") + ShareSheetStyle shareSheetStyle = new ShareSheetStyle(this.activity, "Check this out!", shareText) .setCopyUrlStyle(this.activity.getResources().getDrawable(android.R.drawable.ic_menu_send), "Copy", "Added to clipboard") .setMoreOptionStyle(this.activity.getResources().getDrawable(android.R.drawable.ic_menu_search), "Show More") .addPreferredSharingOption(SharingHelper.SHARE_WITH.FACEBOOK) diff --git a/testbed/www/js/index.js b/testbed/www/js/index.js index a53e067e..22894fa1 100644 --- a/testbed/www/js/index.js +++ b/testbed/www/js/index.js @@ -264,7 +264,7 @@ function ShowShareSheet() console.log('Channel selected: ' + JSON.stringify(res)); }); - branchUniversalObj.showShareSheet(properties, controlParams); + branchUniversalObj.showShareSheet(properties, controlParams, 'Custom Text'); } diff --git a/www/branch.js b/www/branch.js index 4d050948..b6ed7a4f 100644 --- a/www/branch.js +++ b/www/branch.js @@ -248,6 +248,7 @@ Branch.prototype.createBranchUniversalObject = function (options) { * * @param (Object) options * @param (Object) controlParameters + * @param (String) shareText [OPTIONAL] * * @return (Promise) * @@ -276,9 +277,13 @@ Branch.prototype.createBranchUniversalObject = function (options) { * | $windows_phone_url | String | Kindle Fire URL | * ------------------------------------------------------- */ - obj.showShareSheet = function (options, controlParameters) { + obj.showShareSheet = function (options, controlParameters, shareText) { - return execute('showShareSheet', [obj.instanceId, options, controlParameters]); + if ( ! shareText) { + shareText = 'This stuff is awesome: '; + } + + return execute('showShareSheet', [obj.instanceId, options, controlParameters, shareText]); }; @@ -333,7 +338,9 @@ Branch.prototype.createBranchUniversalObject = function (options) { * List item on Spotlight (iOS Only). */ obj.listOnSpotlight = function () { + return execute('listOnSpotlight'); + }; resolve(obj);