From ff64caaa8f51455b7a5d6043771d5aaf693f1c45 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 20 May 2015 13:54:27 +0200 Subject: [PATCH] Configure list of purchasable items in linphonerc --- res/raw/linphonerc_factory | 3 ++- src/org/linphone/LinphonePreferences.java | 15 +++++++++++++++ .../linphone/purchase/InAppPurchaseHelper.java | 4 +--- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/res/raw/linphonerc_factory b/res/raw/linphonerc_factory index 5aec262ee..c7b88ec41 100644 --- a/res/raw/linphonerc_factory +++ b/res/raw/linphonerc_factory @@ -33,4 +33,5 @@ log_collection_upload_server_url=https://www.linphone.org:444/lft.php user_certificates_path=/data/data/org.linphone/files [in-app-purchase] -server_url=https://www.linphone.org/inapp.php \ No newline at end of file +server_url=https://www.linphone.org/inapp.php +purchasable_items_ids=test_account_subscription \ No newline at end of file diff --git a/src/org/linphone/LinphonePreferences.java b/src/org/linphone/LinphonePreferences.java index db0d0043b..cb5d4d29d 100644 --- a/src/org/linphone/LinphonePreferences.java +++ b/src/org/linphone/LinphonePreferences.java @@ -19,6 +19,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +import java.util.ArrayList; + import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneAddress.TransportType; import org.linphone.core.LinphoneAuthInfo; @@ -1155,6 +1157,19 @@ public class LinphonePreferences { public String getInAppPurchaseValidatingServerUrl() { return getConfig().getString("in-app-purchase", "server_url", null); } + + public ArrayList getInAppPurchasables() { + ArrayList purchasables = new ArrayList(); + String list = getConfig().getString("in-app-purchase", "purchasable_items_ids", null); + if (list != null) { + for(String purchasable : list.split(";")) { + if (purchasable.length() > 0) { + purchasables.add(purchasable); + } + } + } + return purchasables; + } public String getDebugPopupAddress(){ return getConfig().getString("app", "debug_popup_magic", null); diff --git a/src/org/linphone/purchase/InAppPurchaseHelper.java b/src/org/linphone/purchase/InAppPurchaseHelper.java index 44623040e..47d72d9a9 100644 --- a/src/org/linphone/purchase/InAppPurchaseHelper.java +++ b/src/org/linphone/purchase/InAppPurchaseHelper.java @@ -55,7 +55,6 @@ import de.timroes.axmlrpc.XMLRPCServerException; */ public class InAppPurchaseHelper { public static final int API_VERSION = 3; - public static final String TEST_ITEM = "test_account_subscription"; public static final int ACTIVITY_RESULT_CODE_PURCHASE_ITEM = 11089; public static final String SKU_DETAILS_ITEM_LIST = "ITEM_ID_LIST"; @@ -182,8 +181,7 @@ public class InAppPurchaseHelper { private ArrayList getAvailableItemsForPurchase() { ArrayList products = new ArrayList(); - ArrayList skuList = new ArrayList (); - skuList.add(TEST_ITEM); + ArrayList skuList = LinphonePreferences.instance().getInAppPurchasables(); Bundle querySkus = new Bundle(); querySkus.putStringArrayList(SKU_DETAILS_ITEM_LIST, skuList);