From 16185243086fd9ca97d321b3ecf8607726a5e803 Mon Sep 17 00:00:00 2001 From: Billy Brawner Date: Mon, 29 Apr 2019 19:32:41 -0700 Subject: [PATCH] Remove Samsung and admob dependencies --- IAP5Helper/build.gradle | 20 - IAP5Helper/proguard-rules.pro | 17 - IAP5Helper/src/main/AndroidManifest.xml | 34 - .../com/samsung/android/iap/IAPConnector.aidl | 17 - .../android/iap/IAPServiceCallback.aidl | 7 - .../sdk/iap/lib/activity/BaseActivity.java | 272 -------- .../ConsumePurchasedItemsActivity.java | 136 ---- .../lib/activity/OwnedProductActivity.java | 141 ---- .../sdk/iap/lib/activity/PaymentActivity.java | 324 --------- .../sdk/iap/lib/activity/ProductActivity.java | 107 --- .../sdk/iap/lib/helper/HelperDefine.java | 159 ----- .../iap/lib/helper/HelperListenerManager.java | 113 ---- .../sdk/iap/lib/helper/HelperUtil.java | 241 ------- .../android/sdk/iap/lib/helper/IapHelper.java | 631 ------------------ .../sdk/iap/lib/helper/task/BaseTask.java | 159 ----- .../task/ConsumePurchasedItemsTask.java | 120 ---- .../iap/lib/helper/task/GetOwnedListTask.java | 120 ---- .../helper/task/GetProductsDetailsTask.java | 122 ---- .../OnConsumePurchasedItemsListener.java | 22 - .../lib/listener/OnGetOwnedListListener.java | 22 - .../OnGetProductsDetailsListener.java | 22 - .../iap/lib/listener/OnIapBindListener.java | 13 - .../iap/lib/listener/OnPaymentListener.java | 16 - .../android/sdk/iap/lib/vo/BaseVo.java | 167 ----- .../android/sdk/iap/lib/vo/ConsumeVo.java | 80 --- .../android/sdk/iap/lib/vo/ErrorVo.java | 45 -- .../sdk/iap/lib/vo/OwnedProductVo.java | 116 ---- .../android/sdk/iap/lib/vo/ProductVo.java | 128 ---- .../android/sdk/iap/lib/vo/PurchaseVo.java | 159 ----- .../sdk/iap/lib/vo/VerificationVo.java | 132 ---- ...w_widget_progressbar_effect_holo_light.png | Bin 3462 -> 0 bytes .../tw_widget_progressbar_holo_light.png | Bin 5042 -> 0 bytes ...w_widget_progressbar_effect_holo_light.png | Bin 3462 -> 0 bytes .../tw_widget_progressbar_holo_light.png | Bin 5042 -> 0 bytes ...w_widget_progressbar_effect_holo_light.png | Bin 4351 -> 0 bytes .../tw_widget_progressbar_holo_light.png | Bin 4466 -> 0 bytes ...w_widget_progressbar_effect_holo_light.png | Bin 6121 -> 0 bytes .../tw_widget_progressbar_holo_light.png | Bin 7152 -> 0 bytes .../res/drawable/dialog_full_holo_light.9.png | Bin 2237 -> 0 bytes .../main/res/drawable/progressbar_middle.xml | 19 - ...w_widget_progressbar_effect_holo_light.png | Bin 3462 -> 0 bytes .../tw_widget_progressbar_holo_light.png | Bin 5042 -> 0 bytes .../src/main/res/layout/progress_dialog.xml | 32 - IAP5Helper/src/main/res/values-ar/strings.xml | 39 -- IAP5Helper/src/main/res/values-as/strings.xml | 39 -- .../src/main/res/values-az-rAZ/strings.xml | 39 -- .../src/main/res/values-be-rBY/strings.xml | 39 -- IAP5Helper/src/main/res/values-bg/strings.xml | 39 -- .../src/main/res/values-bn-rBD/strings.xml | 39 -- .../src/main/res/values-bn-rIN/strings.xml | 39 -- IAP5Helper/src/main/res/values-bo/strings.xml | 39 -- IAP5Helper/src/main/res/values-bs/strings.xml | 39 -- IAP5Helper/src/main/res/values-ca/strings.xml | 39 -- IAP5Helper/src/main/res/values-cs/strings.xml | 39 -- IAP5Helper/src/main/res/values-da/strings.xml | 39 -- IAP5Helper/src/main/res/values-de/strings.xml | 39 -- IAP5Helper/src/main/res/values-el/strings.xml | 39 -- .../src/main/res/values-en-rCA/strings.xml | 39 -- .../src/main/res/values-en-rPH/strings.xml | 39 -- .../src/main/res/values-en-rUS/strings.xml | 39 -- .../src/main/res/values-en-rZG/strings.xml | 39 -- IAP5Helper/src/main/res/values-en/strings.xml | 39 -- .../src/main/res/values-es-rES/strings.xml | 39 -- .../src/main/res/values-es-rUS/strings.xml | 39 -- .../src/main/res/values-et-rEE/strings.xml | 39 -- .../src/main/res/values-eu-rES/strings.xml | 39 -- IAP5Helper/src/main/res/values-fa/strings.xml | 39 -- IAP5Helper/src/main/res/values-fi/strings.xml | 39 -- .../src/main/res/values-fr-rCA/strings.xml | 39 -- IAP5Helper/src/main/res/values-fr/strings.xml | 39 -- IAP5Helper/src/main/res/values-ga/strings.xml | 39 -- .../src/main/res/values-gl-rES/strings.xml | 39 -- .../src/main/res/values-gu-rIN/strings.xml | 39 -- IAP5Helper/src/main/res/values-hi/strings.xml | 39 -- IAP5Helper/src/main/res/values-hr/strings.xml | 39 -- IAP5Helper/src/main/res/values-hu/strings.xml | 39 -- .../src/main/res/values-hy-rAM/strings.xml | 39 -- IAP5Helper/src/main/res/values-in/strings.xml | 39 -- .../src/main/res/values-is-rIS/strings.xml | 39 -- IAP5Helper/src/main/res/values-it/strings.xml | 39 -- IAP5Helper/src/main/res/values-iw/strings.xml | 39 -- IAP5Helper/src/main/res/values-ja/strings.xml | 39 -- .../src/main/res/values-ka-rGE/strings.xml | 39 -- .../src/main/res/values-kk-rKZ/strings.xml | 39 -- .../src/main/res/values-km-rKH/strings.xml | 39 -- .../src/main/res/values-kn-rIN/strings.xml | 39 -- IAP5Helper/src/main/res/values-ko/strings.xml | 39 -- .../src/main/res/values-ky-rKG/strings.xml | 39 -- .../src/main/res/values-lo-rLA/strings.xml | 39 -- IAP5Helper/src/main/res/values-lt/strings.xml | 39 -- IAP5Helper/src/main/res/values-lv/strings.xml | 39 -- IAP5Helper/src/main/res/values-mg/strings.xml | 39 -- .../src/main/res/values-mk-rMK/strings.xml | 39 -- .../src/main/res/values-ml-rIN/strings.xml | 39 -- .../src/main/res/values-mn-rMN/strings.xml | 39 -- .../src/main/res/values-mr-rIN/strings.xml | 39 -- .../src/main/res/values-ms-rMY/strings.xml | 39 -- .../src/main/res/values-my-rMM/strings.xml | 39 -- .../src/main/res/values-my-rZG/strings.xml | 39 -- IAP5Helper/src/main/res/values-nb/strings.xml | 39 -- .../src/main/res/values-ne-rNP/strings.xml | 39 -- IAP5Helper/src/main/res/values-ne/strings.xml | 39 -- IAP5Helper/src/main/res/values-nl/strings.xml | 39 -- IAP5Helper/src/main/res/values-or/strings.xml | 39 -- .../src/main/res/values-pa-rIN/strings.xml | 39 -- .../src/main/res/values-pl-rSP/strings.xml | 39 -- IAP5Helper/src/main/res/values-pl/strings.xml | 39 -- .../src/main/res/values-pt-rBR/strings.xml | 39 -- .../src/main/res/values-pt-rPT/strings.xml | 39 -- IAP5Helper/src/main/res/values-ro/strings.xml | 39 -- IAP5Helper/src/main/res/values-ru/strings.xml | 39 -- .../src/main/res/values-si-rLK/strings.xml | 39 -- IAP5Helper/src/main/res/values-si/strings.xml | 39 -- IAP5Helper/src/main/res/values-sk/strings.xml | 39 -- IAP5Helper/src/main/res/values-sl/strings.xml | 39 -- .../src/main/res/values-sq-rAL/strings.xml | 39 -- IAP5Helper/src/main/res/values-sr/strings.xml | 39 -- IAP5Helper/src/main/res/values-sv/strings.xml | 39 -- .../src/main/res/values-ta-rIN/strings.xml | 39 -- .../src/main/res/values-te-rIN/strings.xml | 39 -- IAP5Helper/src/main/res/values-tg/strings.xml | 39 -- IAP5Helper/src/main/res/values-th/strings.xml | 39 -- IAP5Helper/src/main/res/values-tk/strings.xml | 39 -- IAP5Helper/src/main/res/values-tl/strings.xml | 39 -- IAP5Helper/src/main/res/values-tr/strings.xml | 39 -- IAP5Helper/src/main/res/values-uk/strings.xml | 39 -- .../src/main/res/values-ur-rPK/strings.xml | 39 -- .../src/main/res/values-uz-rUZ/strings.xml | 39 -- IAP5Helper/src/main/res/values-vi/strings.xml | 39 -- IAP5Helper/src/main/res/values-xh/strings.xml | 39 -- .../src/main/res/values-zh-rCN/strings.xml | 39 -- .../src/main/res/values-zh-rHK/strings.xml | 39 -- .../src/main/res/values-zh-rTW/strings.xml | 39 -- IAP5Helper/src/main/res/values-zu/strings.xml | 39 -- IAP5Helper/src/main/res/values/dimen.xml | 4 - IAP5Helper/src/main/res/values/strings.xml | 19 - IAP5Helper/src/main/res/values/styles.xml | 40 -- app/build.gradle | 14 +- .../view/activity/MainActivity.java | 26 - app/src/main/res/layout/activity_main.xml | 57 +- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 +- settings.gradle | 3 +- 143 files changed, 25 insertions(+), 7406 deletions(-) delete mode 100644 IAP5Helper/build.gradle delete mode 100644 IAP5Helper/proguard-rules.pro delete mode 100644 IAP5Helper/src/main/AndroidManifest.xml delete mode 100644 IAP5Helper/src/main/aidl/com/samsung/android/iap/IAPConnector.aidl delete mode 100644 IAP5Helper/src/main/aidl/com/samsung/android/iap/IAPServiceCallback.aidl delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/BaseActivity.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/ConsumePurchasedItemsActivity.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/OwnedProductActivity.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/PaymentActivity.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/ProductActivity.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperDefine.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperListenerManager.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperUtil.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/IapHelper.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/BaseTask.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/ConsumePurchasedItemsTask.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/GetOwnedListTask.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/GetProductsDetailsTask.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnConsumePurchasedItemsListener.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnGetOwnedListListener.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnGetProductsDetailsListener.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnIapBindListener.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnPaymentListener.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/BaseVo.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ConsumeVo.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ErrorVo.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/OwnedProductVo.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ProductVo.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/PurchaseVo.java delete mode 100644 IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/VerificationVo.java delete mode 100644 IAP5Helper/src/main/res/drawable-hdpi/tw_widget_progressbar_effect_holo_light.png delete mode 100644 IAP5Helper/src/main/res/drawable-hdpi/tw_widget_progressbar_holo_light.png delete mode 100644 IAP5Helper/src/main/res/drawable-mdpi/tw_widget_progressbar_effect_holo_light.png delete mode 100644 IAP5Helper/src/main/res/drawable-mdpi/tw_widget_progressbar_holo_light.png delete mode 100644 IAP5Helper/src/main/res/drawable-xhdpi/tw_widget_progressbar_effect_holo_light.png delete mode 100644 IAP5Helper/src/main/res/drawable-xhdpi/tw_widget_progressbar_holo_light.png delete mode 100644 IAP5Helper/src/main/res/drawable-xxhdpi/tw_widget_progressbar_effect_holo_light.png delete mode 100644 IAP5Helper/src/main/res/drawable-xxhdpi/tw_widget_progressbar_holo_light.png delete mode 100644 IAP5Helper/src/main/res/drawable/dialog_full_holo_light.9.png delete mode 100644 IAP5Helper/src/main/res/drawable/progressbar_middle.xml delete mode 100644 IAP5Helper/src/main/res/drawable/tw_widget_progressbar_effect_holo_light.png delete mode 100644 IAP5Helper/src/main/res/drawable/tw_widget_progressbar_holo_light.png delete mode 100644 IAP5Helper/src/main/res/layout/progress_dialog.xml delete mode 100644 IAP5Helper/src/main/res/values-ar/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-as/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-az-rAZ/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-be-rBY/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-bg/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-bn-rBD/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-bn-rIN/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-bo/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-bs/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ca/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-cs/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-da/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-de/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-el/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-en-rCA/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-en-rPH/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-en-rUS/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-en-rZG/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-en/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-es-rES/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-es-rUS/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-et-rEE/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-eu-rES/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-fa/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-fi/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-fr-rCA/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-fr/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ga/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-gl-rES/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-gu-rIN/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-hi/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-hr/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-hu/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-hy-rAM/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-in/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-is-rIS/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-it/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-iw/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ja/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ka-rGE/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-kk-rKZ/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-km-rKH/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-kn-rIN/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ko/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ky-rKG/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-lo-rLA/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-lt/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-lv/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-mg/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-mk-rMK/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ml-rIN/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-mn-rMN/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-mr-rIN/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ms-rMY/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-my-rMM/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-my-rZG/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-nb/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ne-rNP/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ne/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-nl/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-or/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-pa-rIN/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-pl-rSP/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-pl/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-pt-rBR/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-pt-rPT/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ro/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ru/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-si-rLK/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-si/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-sk/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-sl/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-sq-rAL/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-sr/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-sv/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ta-rIN/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-te-rIN/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-tg/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-th/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-tk/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-tl/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-tr/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-uk/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-ur-rPK/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-uz-rUZ/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-vi/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-xh/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-zh-rCN/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-zh-rHK/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-zh-rTW/strings.xml delete mode 100644 IAP5Helper/src/main/res/values-zu/strings.xml delete mode 100644 IAP5Helper/src/main/res/values/dimen.xml delete mode 100644 IAP5Helper/src/main/res/values/strings.xml delete mode 100644 IAP5Helper/src/main/res/values/styles.xml diff --git a/IAP5Helper/build.gradle b/IAP5Helper/build.gradle deleted file mode 100644 index 4febbb5..0000000 --- a/IAP5Helper/build.gradle +++ /dev/null @@ -1,20 +0,0 @@ -apply plugin: 'com.android.library' -android { - compileSdkVersion 28 - buildToolsVersion '28.0.3' - - defaultConfig { - minSdkVersion 14 - targetSdkVersion 28 - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' - } - } -} - -dependencies { -} \ No newline at end of file diff --git a/IAP5Helper/proguard-rules.pro b/IAP5Helper/proguard-rules.pro deleted file mode 100644 index 41afecb..0000000 --- a/IAP5Helper/proguard-rules.pro +++ /dev/null @@ -1,17 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in D:\Android\sdk/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/IAP5Helper/src/main/AndroidManifest.xml b/IAP5Helper/src/main/AndroidManifest.xml deleted file mode 100644 index 4c863a8..0000000 --- a/IAP5Helper/src/main/AndroidManifest.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/IAP5Helper/src/main/aidl/com/samsung/android/iap/IAPConnector.aidl b/IAP5Helper/src/main/aidl/com/samsung/android/iap/IAPConnector.aidl deleted file mode 100644 index cb379bc..0000000 --- a/IAP5Helper/src/main/aidl/com/samsung/android/iap/IAPConnector.aidl +++ /dev/null @@ -1,17 +0,0 @@ -package com.samsung.android.iap; - -import com.samsung.android.iap.IAPServiceCallback; - -interface IAPConnector { - - boolean requestCmd(IAPServiceCallback callback, in Bundle bundle); - - boolean unregisterCallback(IAPServiceCallback callback); - - ///////////////////////////// IAP 5.0 - Bundle getProductsDetails(String packageName, String itemIds, int pagingIndex, int mode); - - Bundle getOwnedList(String packageName, String itemType, int pagingIndex, int mode); - - Bundle consumePurchasedItems(String packageName, String purchaseIds, int mode); -} diff --git a/IAP5Helper/src/main/aidl/com/samsung/android/iap/IAPServiceCallback.aidl b/IAP5Helper/src/main/aidl/com/samsung/android/iap/IAPServiceCallback.aidl deleted file mode 100644 index c371233..0000000 --- a/IAP5Helper/src/main/aidl/com/samsung/android/iap/IAPServiceCallback.aidl +++ /dev/null @@ -1,7 +0,0 @@ -package com.samsung.android.iap; - -import android.os.Bundle; - -interface IAPServiceCallback { - oneway void responseCallback(in Bundle bundle); -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/BaseActivity.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/BaseActivity.java deleted file mode 100644 index dd8858d..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/BaseActivity.java +++ /dev/null @@ -1,272 +0,0 @@ -package com.samsung.android.sdk.iap.lib.activity; - -import java.util.ArrayList; - -import android.app.Activity; -import android.app.Dialog; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.Signature; -import android.net.Uri; -import android.os.Bundle; -import android.provider.Settings; -import android.util.Log; - -import com.samsung.android.sdk.iap.lib.R; -import com.samsung.android.sdk.iap.lib.helper.HelperDefine; -import com.samsung.android.sdk.iap.lib.helper.HelperUtil; -import com.samsung.android.sdk.iap.lib.helper.IapHelper; -import com.samsung.android.sdk.iap.lib.listener.OnIapBindListener; -import com.samsung.android.sdk.iap.lib.vo.ConsumeVo; -import com.samsung.android.sdk.iap.lib.vo.ErrorVo; -import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo; -import com.samsung.android.sdk.iap.lib.vo.ProductVo; -import com.samsung.android.sdk.iap.lib.vo.PurchaseVo; - - -public abstract class BaseActivity extends Activity -{ - private static final String TAG = BaseActivity.class.getSimpleName(); - - protected ErrorVo mErrorVo = new ErrorVo(); - protected PurchaseVo mPurchaseVo = null; - protected ArrayList mProductsDetails = null; - protected ArrayList mOwnedList = null; - protected ArrayList mConsumeList = null; - private Dialog mProgressDialog = null; - - /** - * Helper Class between IAPService and 3rd Party Application - */ - IapHelper mIapHelper = null; - - /** Flag value to show successful pop-up. Error pop-up appears whenever it fails or not. */ - protected boolean mShowSuccessDialog = true; - protected boolean mShowErrorDialog = true; - - @Override - protected void onCreate( Bundle savedInstanceState ) - { - // 1. Store IapMode passed by Intent - // ==================================================================== - Intent intent = getIntent(); - - // ==================================================================== - - // 2. IapHelper Instance creation - // To test on development, set mode to test mode using - // use IapHelper.IAP_MODE_TEST_SUCCESS or - // IapHelper.IAP_MODE_TEST_FAIL constants. - // ==================================================================== - mIapHelper = IapHelper.getInstance( this ); - // ==================================================================== - - // 3. This activity is invisible excepting progress bar as default. - // ==================================================================== - try - { - if( mProgressDialog != null ) - { - mProgressDialog.dismiss(); - mProgressDialog = null; - } - mProgressDialog = new Dialog(this, R.style.Theme_Empty); - mProgressDialog.setContentView(R.layout.progress_dialog); - mProgressDialog.setCancelable(false); - mProgressDialog.show(); - } - catch( Exception e ) - { - e.printStackTrace(); - } - // ==================================================================== - - super.onCreate( savedInstanceState ); - } - - public void setProductsDetails(ArrayList _productsDetails ) - { - mProductsDetails = _productsDetails; - } - - public void setOwnedList(ArrayList _ownedList ) - { - mOwnedList = _ownedList; - } - - public void setPurchaseVo( PurchaseVo _purchaseVo ) - { - mPurchaseVo = _purchaseVo; - } - - public void setConsumeList( ArrayList _consumeList ) - { - mConsumeList = _consumeList; - } - - public void setErrorVo( ErrorVo _errorVo ) - { - mErrorVo = _errorVo; - } - - public boolean checkAppsPackage() - { - Log.d(TAG, "checkAppsPackage: pos0"); - // 1. If Billing Package is installed in your device - // ==================================================================== - if(HelperUtil.isInstalledAppsPackage(this)) { - Log.d(TAG, "checkAppsPackage: pos1"); - // 1) If Billing package installed in your device is valid - // ================================================================ - if (!HelperUtil.isEnabledAppsPackage(this)) { - Log.d(TAG, "checkAppsPackage: pos2"); - - Runnable runnable = new Runnable() { - @Override - public void run() { - Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); - intent.setData(Uri.parse("package:" + HelperDefine.GALAXY_PACKAGE_NAME)); - startActivityForResult(intent, HelperDefine.REQUEST_CODE_IS_ENABLE_BILLING); - } - }; - Log.d(TAG, "checkAppsPackage: pos3"); - //// TODO: 2017-08-16 need to set the error string - HelperUtil.showIapDialogIfNeeded(this, - getString(R.string.mids_sapps_header_samsung_in_app_purchase_abb), - getString(R.string.mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg), - false, - runnable, - true); - - } else if (HelperUtil.isValidAppsPackage(this)) { - Log.d(TAG, "checkAppsPackage: pos4"); - return true; - - // ================================================================ - // 2) If IAP package installed in your device is not valid - // ================================================================ - } else { - Log.d(TAG, "checkAppsPackage: pos5"); - // Set error to notify result to third-party application - // ------------------------------------------------------------ - //// TODO: 2017-08-16 need to set the error string - mErrorVo.setError(HelperDefine.IAP_ERROR_COMMON, - getString(R.string.mids_sapps_pop_an_invalid_installation_of_in_app_purchase_has_been_detected_check_and_try_again)); - // ------------------------------------------------------------ - // show alert dialog if IAP Package is invalid - // ------------------------------------------------------------ - HelperUtil.showIapDialogIfNeeded( - this, - getString(R.string.mids_sapps_header_samsung_in_app_purchase_abb), - getString(R.string.mids_sapps_pop_an_invalid_installation_of_in_app_purchase_has_been_detected_check_and_try_again), - true, - null, - mShowErrorDialog); - // ------------------------------------------------------------ - } - // ================================================================ - - // ==================================================================== - // 2. If IAP Package is not installed in your device - // ==================================================================== - } else { - Log.d(TAG, "checkAppsPackage: pos6"); - HelperUtil.installAppsPackage( this ); - } - // ==================================================================== - Log.d(TAG, "checkAppsPackage: pos7"); - return false; - } - - /** - * Binding to IAPService - * Once IAPService bound successfully, invoke succeedBind() method. - */ - public void bindIapService() - { - Log.i( TAG, "start Bind... "); - - // 1. Bind to IAPService - // ==================================================================== - mIapHelper.bindIapService( new OnIapBindListener() - { - @Override - public void onBindIapFinished( int _result ) - { - Log.i( TAG, "Binding OK... "); - - // 1) If IAPService is bound successfully. - // ============================================================ - if( _result == HelperDefine.IAP_RESPONSE_RESULT_OK ) - { - succeedBind(); - } - // ============================================================ - // 2) If IAPService is not bound. - // ============================================================ - else - { - // a) Set error for notifying result to third-party - // application - // -------------------------------------------------------- - mErrorVo.setError( HelperDefine.IAP_ERROR_COMMON, - getString(R.string.mids_sapps_pop_unknown_error_occurred) ); - // -------------------------------------------------------- - // b) show alert dialog when bind is failed - // -------------------------------------------------------- - HelperUtil.showIapDialogIfNeeded( BaseActivity.this, - getString(R.string.mids_sapps_header_samsung_in_app_purchase_abb), - getString(R.string.mids_sapps_pop_unknown_error_occurred) - + "[Lib_Bind]", - true, - null, - mShowErrorDialog); - // -------------------------------------------------------- - } - // ============================================================ - } - }); - // ==================================================================== - } - - /** - * dispose IapHelper {@link ConsumePurchasedItemsActivity}, {@link OwnedProductActivity},{@link PaymentActivity} - * and {@link ProductActivity} - * To do that, preDestory must be invoked at first in onDestory of each child activity - */ - protected void preDestory() - { - // 1. Invoke dispose Method to unbind service and release inprogress flag - // ==================================================================== - if( null != mIapHelper ) - { - mIapHelper.dispose(); - mIapHelper = null; - } - } - - @Override - protected void onDestroy() - { - // 1. dismiss ProgressDialog - // ==================================================================== - try - { - if( mProgressDialog != null ) - { - mProgressDialog.dismiss(); - mProgressDialog = null; - } - } - catch( Exception e ) - { - e.printStackTrace(); - } - // ==================================================================== - - super.onDestroy(); - } - - abstract void succeedBind(); -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/ConsumePurchasedItemsActivity.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/ConsumePurchasedItemsActivity.java deleted file mode 100644 index 5e23d18..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/ConsumePurchasedItemsActivity.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.samsung.android.sdk.iap.lib.activity; - -import android.content.Intent; -import android.os.Bundle; -import android.util.Log; -import android.widget.Toast; - -import com.samsung.android.sdk.iap.lib.R; -import com.samsung.android.sdk.iap.lib.helper.HelperDefine; -import com.samsung.android.sdk.iap.lib.helper.HelperListenerManager; -import com.samsung.android.sdk.iap.lib.helper.HelperUtil; -import com.samsung.android.sdk.iap.lib.helper.IapHelper; -import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener; - -public class ConsumePurchasedItemsActivity extends BaseActivity -{ - @SuppressWarnings("unused") - private static final String TAG = ConsumePurchasedItemsActivity.class.getSimpleName(); - - /** - * Product Type - * Item : 00 {@link HelperDefine#ITEM_TYPE_CONSUMABLE} - * Subscription : 01 {@link HelperDefine#ITEM_TYPE_SUBSCRIPTION} - * All : 10 {@link HelperDefine#ITEM_TYPE_ALL} - */ - private String mPurchaseIds = ""; - - @Override - protected void onCreate( Bundle savedInstanceState ) - { - super.onCreate( savedInstanceState ); - - // 1. save StartNum, EndNum and ItemType passed by Intent - // ==================================================================== - Intent intent = getIntent(); - - if( intent != null && intent.getExtras() != null - && intent.getExtras().containsKey("PurchaseIds")) - { - Bundle extras = intent.getExtras(); - mPurchaseIds = extras.getString("PurchaseIds"); - mShowErrorDialog = extras.getBoolean( "ShowErrorDialog", true ); - Log.d(TAG, "onCreate: PurchaseIds [" + mPurchaseIds + "]"); - } - else - { - Toast.makeText( this, - R.string.mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase, - Toast.LENGTH_LONG ).show(); - - // Set error to notify result to third-party application - // ---------------------------------------------------------------- - mErrorVo.setError( HelperDefine.IAP_ERROR_COMMON, - getString(R.string.mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase) ); - // ---------------------------------------------------------------- - - finish(); - return; - } - - // ==================================================================== - // 2. If IAP package is installed and valid, start SamsungAccount - // authentication activity to start purchase. - // ==================================================================== - if( checkAppsPackage() == true ) - { - Log.i( TAG, "Samsung Account Login..." ); - - HelperUtil.startAccountActivity( this ); - } - // ==================================================================== - } - - @Override - protected void onDestroy() - { - super.preDestory(); - Log.d(TAG, "onDestroy: "); - OnConsumePurchasedItemsListener onConsumePurchasedItemsListener - = HelperListenerManager.getInstance().getOnConsumePurchasedItemsListener(); - HelperListenerManager.getInstance().setOnConsumePurchasedItemsListener(null); - if( null != onConsumePurchasedItemsListener ) - { - onConsumePurchasedItemsListener.onConsumePurchasedItems(mErrorVo, mConsumeList); - } - super.onDestroy(); - } - - @Override - protected void onActivityResult(int _requestCode, int _resultCode, Intent intent) { - Log.d(TAG, "onActivityResult>> requestCode : " + _requestCode + ", resultCode : " + _resultCode); - switch(_requestCode) { - case HelperDefine.REQUEST_CODE_IS_ACCOUNT_CERTIFICATION : - Log.i(TAG, "REQUEST_CODE_IS_ACCOUNT_CERTIFICATION Result : " + _resultCode); - // 1) If SamsungAccount authentication is succeed - // ------------------------------------------------------------ - if( RESULT_OK == _resultCode ) - { - // bind to IAPService - // -------------------------------------------------------- - bindIapService(); - // -------------------------------------------------------- - } - // ------------------------------------------------------------ - // 2) If SamsungAccount authentication is cancelled - // ------------------------------------------------------------ - else - { - mErrorVo.setError( HelperDefine.IAP_ERROR_COMMON, - getString( R.string.mids_sapps_pop_unknown_error_occurred ) ); - } - break; - case HelperDefine.REQUEST_CODE_IS_ENABLE_BILLING: - Log.i(TAG, "REQUEST_CODE_IS_ENABLE_BILLING Result : " + _resultCode); - if(checkAppsPackage()) { - bindIapService(); - } - break; - } - } - - /** - * If binding to IAPService is successful, this method is invoked. - * This method loads the item list through IAPService. - */ - protected void succeedBind() - { - Log.d(TAG, "succeedBind: "); - if ( mIapHelper != null ) - { - mIapHelper.safeConsumePurchasedItems( ConsumePurchasedItemsActivity.this, - mPurchaseIds, - mShowErrorDialog ); - } - } -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/OwnedProductActivity.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/OwnedProductActivity.java deleted file mode 100644 index bb21023..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/OwnedProductActivity.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.samsung.android.sdk.iap.lib.activity; - -import android.content.Intent; -import android.os.Bundle; -import android.util.Log; -import android.widget.Toast; - -import com.samsung.android.sdk.iap.lib.R; -import com.samsung.android.sdk.iap.lib.helper.HelperDefine; -import com.samsung.android.sdk.iap.lib.helper.HelperListenerManager; -import com.samsung.android.sdk.iap.lib.helper.HelperUtil; -import com.samsung.android.sdk.iap.lib.helper.IapHelper; -import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener; - -public class OwnedProductActivity extends BaseActivity -{ - @SuppressWarnings("unused") - private static final String TAG = OwnedProductActivity.class.getSimpleName(); - - /** - * Product Type - * Item : 00 {@link HelperDefine#ITEM_TYPE_CONSUMABLE} - * Subscription : 01 {@link HelperDefine#ITEM_TYPE_SUBSCRIPTION} - * All : 10 {@link HelperDefine#ITEM_TYPE_ALL} - */ - private String mProductType ; - - @Override - protected void onCreate( Bundle savedInstanceState ) - { - super.onCreate( savedInstanceState ); - - // 1. save StartNum, EndNum and ItemType passed by Intent - // ==================================================================== - Intent intent = getIntent(); - - if( intent != null && intent.getExtras() != null - && intent.getExtras().containsKey( "ProductType" ) ) - { - Bundle extras = intent.getExtras(); - mProductType = extras.getString( "ProductType" ); - mShowErrorDialog = extras.getBoolean( "ShowErrorDialog", true ); - Log.d(TAG, "onCreate: ItemType [" + mProductType +"]"); - } - else - { - Toast.makeText( this, - R.string.mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase, - Toast.LENGTH_LONG ).show(); - - // Set error to notify result to third-party application - // ---------------------------------------------------------------- - mErrorVo.setError( HelperDefine.IAP_ERROR_COMMON, - getString(R.string.mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase) ); - // ---------------------------------------------------------------- - - finish(); - return; - } - - // ==================================================================== - // 2. If IAP package is installed and valid, start SamsungAccount - // authentication activity to start purchase. - // ==================================================================== - if( checkAppsPackage() == true ) - { - Log.i( TAG, "Samsung Account Login..." ); - HelperUtil.startAccountActivity( this ); - } - // ==================================================================== - } - - @Override - protected void onDestroy() - { - super.preDestory(); - Log.d(TAG, "onDestroy: "); - OnGetOwnedListListener onOwnedListListener - = HelperListenerManager.getInstance().getOnGetOwnedListListener(); - HelperListenerManager.getInstance().setOnGetOwnedListListener(null); - if( null != onOwnedListListener ) - { - onOwnedListListener.onGetOwnedProducts(mErrorVo, mOwnedList); - } - super.onDestroy(); - } - - @Override - protected void onActivityResult(int _requestCode, int _resultCode, Intent intent) { - Log.d(TAG, "onActivityResult>> requestCode : " + _requestCode + ", resultCode : " + _resultCode); - switch(_requestCode) { - case HelperDefine.REQUEST_CODE_IS_ACCOUNT_CERTIFICATION : - Log.i(TAG, "REQUEST_CODE_IS_ACCOUNT_CERTIFICATION Result : " + _resultCode); - // 1) If SamsungAccount authentication is succeed - // ------------------------------------------------------------ - if( RESULT_OK == _resultCode ) - { - // bind to IAPService - // -------------------------------------------------------- - bindIapService(); - // -------------------------------------------------------- - } - // ------------------------------------------------------------ - // 2) If SamsungAccount authentication is cancelled - // ------------------------------------------------------------ - else - { - mErrorVo.setError( HelperDefine.IAP_ERROR_COMMON, - getString( R.string.mids_sapps_pop_unknown_error_occurred ) ); - HelperUtil.showIapDialogIfNeeded( this, - getString( R.string.mids_sapps_header_samsung_in_app_purchase_abb ), - getString( R.string.mids_sapps_pop_payment_canceled ), - true, - null, - false ); - } - break; - case HelperDefine.REQUEST_CODE_IS_ENABLE_BILLING: - Log.i(TAG, "REQUEST_CODE_IS_ENABLE_BILLING Result : " + _resultCode); - if(checkAppsPackage()) { - bindIapService(); - } - break; - } - } - - /** - * If binding to IAPService is successful, this method is invoked. - * This method loads the item list through IAPService. - */ - protected void succeedBind() - { - Log.d(TAG, "succeedBind: "); - if ( mIapHelper != null ) - { - mIapHelper.safeGetOwnedList( OwnedProductActivity.this, - mProductType, - mShowErrorDialog ); - } - } -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/PaymentActivity.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/PaymentActivity.java deleted file mode 100644 index 9e3e3c5..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/PaymentActivity.java +++ /dev/null @@ -1,324 +0,0 @@ -package com.samsung.android.sdk.iap.lib.activity; - -import android.app.Activity; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.util.Log; -import android.widget.Toast; - -import com.samsung.android.sdk.iap.lib.R; -import com.samsung.android.sdk.iap.lib.helper.HelperDefine; -import com.samsung.android.sdk.iap.lib.helper.HelperListenerManager; -import com.samsung.android.sdk.iap.lib.helper.HelperUtil; -import com.samsung.android.sdk.iap.lib.helper.IapHelper; -import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener; -import com.samsung.android.sdk.iap.lib.vo.PurchaseVo; - -public class PaymentActivity extends BaseActivity -{ - private static final String TAG = PaymentActivity.class.getSimpleName(); - - /** Item ID */ - private String mItemId = null; - private String mPassThroughParam = ""; - private int mMode = HelperDefine.IAP_MODE_PRODUCTION; - @Override - protected void onCreate( Bundle savedInstanceState ) - { - super.onCreate( savedInstanceState ); - - // 1. Save ItemId, ShowSuccessDialog passed by Intent - // ==================================================================== - Intent intent = getIntent(); - - if( intent != null && intent.getExtras() != null - && intent.getExtras().containsKey( "ItemId" ) ) - { - Bundle extras = intent.getExtras(); - - mItemId = extras.getString( "ItemId" ); - mPassThroughParam = extras.getString( "PassThroughParam" ); - mShowSuccessDialog = extras.getBoolean( "ShowSuccessDialog", true ); - mShowErrorDialog = extras.getBoolean( "ShowErrorDialog", true ); - mMode = extras.getInt("OperationMode", HelperDefine.IAP_MODE_PRODUCTION); - } - else - { - Toast.makeText( this, - R.string.mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase, - Toast.LENGTH_LONG ).show(); - - // Set error to pass result to third-party application - // ---------------------------------------------------------------- - mErrorVo.setError( HelperDefine.IAP_ERROR_COMMON, - getString(R.string.mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase) ); - // ---------------------------------------------------------------- - - finish(); - } - // ==================================================================== - - - // 2. If IAP package is installed and valid, start SamsungAccount - // authentication activity to start purchase. - // ==================================================================== - if( checkAppsPackage() == true ) - { - Log.i( TAG, "Samsung Account Login..." ); - HelperUtil.startAccountActivity( this ); - } - // ==================================================================== - } - - @Override - protected void onDestroy() - { - super.preDestory(); - Log.d(TAG, "onDestroy: "); - OnPaymentListener onPaymentListener = - HelperListenerManager.getInstance().getOnPaymentListener(); - HelperListenerManager.getInstance().setOnPaymentListener(null); - if( null != onPaymentListener ) - { - onPaymentListener.onPayment(mErrorVo, mPurchaseVo); - } - super.onDestroy(); - } - - protected void succeedBind() - { - if ( mIapHelper != null ) - { - startPaymentActivity( - PaymentActivity.this, - HelperDefine.REQUEST_CODE_IS_IAP_PAYMENT, - mItemId, - mPassThroughParam, - mMode); - } - } - - /** - * Handle SamsungAccount authentication result and purchase result. - */ - @Override - protected void onActivityResult - ( - int _requestCode, - int _resultCode, - Intent _intent - ) - { - switch( _requestCode ) - { - // 1. Handle result of purchase - // ================================================================ - case HelperDefine.REQUEST_CODE_IS_IAP_PAYMENT: - { - // 1) If payment is finished - // ------------------------------------------------------------ - if( RESULT_OK == _resultCode ) - { - finishPurchase( _intent ); - } - // ------------------------------------------------------------ - // 2) If payment is cancelled - // ------------------------------------------------------------ - else if( RESULT_CANCELED == _resultCode ) - { - mErrorVo.setError( HelperDefine.IAP_PAYMENT_IS_CANCELED, - getString(R.string.mids_sapps_pop_payment_canceled)); - - HelperUtil.showIapDialogIfNeeded( this, - getString( R.string.mids_sapps_header_samsung_in_app_purchase_abb ), - mErrorVo.getErrorString(), - true, - null, - mShowErrorDialog ); - - break; - } - // ------------------------------------------------------------ - - break; - } - // ================================================================ - - // 2. Handle result of SamsungAccount authentication - // ================================================================ - case HelperDefine.REQUEST_CODE_IS_ACCOUNT_CERTIFICATION : - { - Log.i( TAG, "Samsung Account Result : " + _resultCode ); - - // 1) If SamsungAccount authentication is succeed - // ------------------------------------------------------------ - if( RESULT_OK == _resultCode ) - { - // bind to IAPService - // -------------------------------------------------------- - bindIapService(); - // -------------------------------------------------------- - } - // ------------------------------------------------------------ - // 2) If SamsungAccount authentication is cancelled - // ------------------------------------------------------------ - else - { - mErrorVo.setError( HelperDefine.IAP_PAYMENT_IS_CANCELED, - getString( R.string.mids_sapps_pop_payment_canceled ) ); - - HelperUtil.showIapDialogIfNeeded( this, - getString( R.string.mids_sapps_header_samsung_in_app_purchase_abb ), - getString( R.string.mids_sapps_pop_payment_canceled ), - true, - null, - mShowErrorDialog ); - } - // ------------------------------------------------------------ - - break; - } - // ================================================================ - - case HelperDefine.REQUEST_CODE_IS_ENABLE_BILLING: - if(checkAppsPackage()) { - Log.i( TAG, "Samsung Account Login..." ); - HelperUtil.startAccountActivity(this); - } - break; - } - } - - /** - * Invoked when payment has been finished. - * @param _intent - */ - private void finishPurchase( Intent _intent ) - { - // 1. If there is bundle passed from IAP - // ==================================================================== - if( null != _intent && null != _intent.getExtras() ) - { - Bundle extras = _intent.getExtras(); - - mErrorVo.setError( extras.getInt( HelperDefine.KEY_NAME_STATUS_CODE ), - extras.getString( HelperDefine.KEY_NAME_ERROR_STRING ) ); - - // 1) If the purchase is successful, - // ---------------------------------------------------------------- - if( mErrorVo.getErrorCode() == HelperDefine.IAP_ERROR_NONE ) - { - //verification Checking is deleted - // a) Create PurcahseVo with data in Intent - // ------------------------------------------------------------ - mPurchaseVo = new PurchaseVo( extras.getString( - HelperDefine.KEY_NAME_RESULT_OBJECT ) ); - Log.d(TAG, "finishPurchase: " + mPurchaseVo.dump()); - // ------------------------------------------------------------ - - /* - // b) Validate the purchase - // ------------------------------------------------------------ - mIapHelper.verifyPurchaseResult( PaymentActivity.this, - mPurchaseVo, - mShowSuccessDialog, - mShowErrorDialog ); - // ------------------------------------------------------------ - */ - - mErrorVo.setError( - HelperDefine.IAP_ERROR_NONE , - getString( R.string.dlg_msg_payment_success ) ); - - HelperUtil.showIapDialogIfNeeded( this, - getString( R.string.mids_sapps_header_samsung_in_app_purchase_abb ), - mErrorVo.getErrorString(), - true, - null, - mShowSuccessDialog ); - - } - // ---------------------------------------------------------------- - // 2) If the purchase is failed - // ---------------------------------------------------------------- - else - { - HelperUtil.showIapDialogIfNeeded( this, - getString( R.string.mids_sapps_header_samsung_in_app_purchase_abb ), - mErrorVo.getErrorString(), - true, - null, - mShowErrorDialog); - } - // ---------------------------------------------------------------- - } - // ==================================================================== - // 2. If there is no bundle passed from IAP - // ==================================================================== - else - { - mErrorVo.setError( HelperDefine.IAP_ERROR_COMMON, - getString( R.string.mids_sapps_pop_unknown_error_occurred ) ); - - HelperUtil.showIapDialogIfNeeded( this, - getString( R.string.mids_sapps_header_samsung_in_app_purchase_abb ), - getString( R.string.mids_sapps_pop_unknown_error_occurred ) - + "[Lib_Payment]", - true, - null, - mShowErrorDialog ); - - return; - } - // ==================================================================== - } - - /** - * Start payment. - * @param _activity - * @param _requestCode - * @param _itemId - * @param _passThroughParam - */ - static private void startPaymentActivity - ( - Activity _activity, - int _requestCode, - String _itemId, - String _passThroughParam, - int _mode - ) - { - try - { - Context context = _activity.getApplicationContext(); - Bundle bundle = new Bundle(); - bundle.putString( HelperDefine.KEY_NAME_THIRD_PARTY_NAME, - context.getPackageName() ); - - bundle.putString( HelperDefine.KEY_NAME_ITEM_ID, _itemId ); - if(_passThroughParam != null) - bundle.putString( HelperDefine.KEY_NAME_PASSTHROUGH_ID, _passThroughParam); - bundle.putInt(HelperDefine.KEY_NAME_OPERATION_MODE, _mode); - - ComponentName com = new ComponentName( HelperDefine.GALAXY_PACKAGE_NAME, - HelperDefine.IAP_PACKAGE_NAME + ".activity.PaymentMethodListActivity" ); - - Intent intent = new Intent( Intent.ACTION_MAIN ); - intent.addCategory( Intent.CATEGORY_LAUNCHER ); - intent.setComponent( com ); - - intent.putExtras( bundle ); - - if(intent.resolveActivity(context.getPackageManager()) != null) { - _activity.startActivityForResult(intent, _requestCode); - } - } - catch( Exception e ) - { - e.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/ProductActivity.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/ProductActivity.java deleted file mode 100644 index 8e79769..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/activity/ProductActivity.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.samsung.android.sdk.iap.lib.activity; - -import android.content.Intent; -import android.os.Bundle; -import android.util.Log; -import android.widget.Toast; - -import com.samsung.android.sdk.iap.lib.R; -import com.samsung.android.sdk.iap.lib.helper.HelperDefine; -import com.samsung.android.sdk.iap.lib.helper.HelperListenerManager; -import com.samsung.android.sdk.iap.lib.helper.IapHelper; -import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener; - -public class ProductActivity extends BaseActivity -{ - @SuppressWarnings("unused") - private static final String TAG = ProductActivity.class.getSimpleName(); - - /** - * Product Type - * Item : 00 {@link HelperDefine#ITEM_TYPE_CONSUMABLE} - * Subscription : 01 {@link HelperDefine#ITEM_TYPE_SUBSCRIPTION} - * All : 10 {@link HelperDefine#ITEM_TYPE_ALL} - */ - private String mProductIds = null; - - @Override - protected void onCreate( Bundle savedInstanceState ) - { - super.onCreate( savedInstanceState ); - - // 1. save StartNum, EndNum and ItemType passed by Intent - // ==================================================================== - Intent intent = getIntent(); - - if( intent != null && intent.getExtras() != null - && intent.getExtras().containsKey("ProductIds") ) - { - Bundle extras = intent.getExtras(); - mProductIds = extras.getString("ProductIds"); - mShowErrorDialog = extras.getBoolean( "ShowErrorDialog", true ); - Log.d(TAG, "onCreate: mProductIds [" + mProductIds + "]"); - } - else - { - Toast.makeText( this, - R.string.mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase, - Toast.LENGTH_LONG ).show(); - - // Set error to notify result to third-party application - // ---------------------------------------------------------------- - mErrorVo.setError( HelperDefine.IAP_ERROR_COMMON, - getString(R.string.mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase) ); - // ---------------------------------------------------------------- - - finish(); - return; - } - // ==================================================================== - - // 2. If IAP package is installed and valid, - // bind to IAPService to load item list. - // ==================================================================== - if( checkAppsPackage() == true ) - { - bindIapService(); - } - // ==================================================================== - } - - @Override - protected void onDestroy() - { - super.preDestory(); - Log.d(TAG, "onDestroy: "); - OnGetProductsDetailsListener onProductsDetailsListener - = HelperListenerManager.getInstance().getOnGetProductsDetailsListener(); - HelperListenerManager.getInstance().setOnGetProductsDetailsListener(null); - if( null != onProductsDetailsListener ) - { - onProductsDetailsListener.onGetProducts(mErrorVo, mProductsDetails); - } - super.onDestroy(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent intent) { - switch(requestCode) { - case HelperDefine.REQUEST_CODE_IS_ENABLE_BILLING: - if(checkAppsPackage()) { - bindIapService(); - } - break; - } - } - - /** - * If binding to IAPService is successful, this method is invoked. - * This method loads the item list through IAPService. - */ - protected void succeedBind() - { - mIapHelper.safeGetProductsDetails( ProductActivity.this, - mProductIds, - mShowErrorDialog ); - } -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperDefine.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperDefine.java deleted file mode 100644 index ffcdbd9..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperDefine.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.samsung.android.sdk.iap.lib.helper; - -/** - * Created by sangbum7.kim on 2017-07-17. - */ - -public class HelperDefine { - protected static final int HONEYCOMB_MR1 = 12; - protected static final int FLAG_INCLUDE_STOPPED_PACKAGES = 32; - - // IAP Signature HashCode - Used to validate IAP package - // ======================================================================== - public static final int APPS_SIGNATURE_HASHCODE = 0x79998D13; - public static final int APPS_PACKAGE_VERSION = 421400000; - - // ======================================================================== - - // Name of IAP Package and Service - // ======================================================================== - public static final String GALAXY_PACKAGE_NAME = "com.sec.android.app.samsungapps";//"android.samsung.com.myapplication";//"com.samsung.android.iap"; - public static final String IAP_PACKAGE_NAME = "com.samsung.android.iap"; - public static final String IAP_SERVICE_NAME = - "com.samsung.android.iap.service.IAPService"; - // ======================================================================== - - // result code for binding to IAPService - // ======================================================================== - public static final int IAP_RESPONSE_RESULT_OK = 0; - public static final int IAP_RESPONSE_RESULT_UNAVAILABLE = 2; - // ======================================================================== - - // BUNDLE KEY - // ======================================================================== - public static final String KEY_NAME_THIRD_PARTY_NAME = "THIRD_PARTY_NAME"; - public static final String KEY_NAME_STATUS_CODE = "STATUS_CODE"; - public static final String KEY_NAME_ERROR_STRING = "ERROR_STRING"; - public static final String KEY_NAME_IAP_UPGRADE_URL = "IAP_UPGRADE_URL"; - public static final String KEY_NAME_ITEM_GROUP_ID = "ITEM_GROUP_ID"; - public static final String KEY_NAME_ITEM_ID = "ITEM_ID"; - public static final String KEY_NAME_PASSTHROUGH_ID = "PASSTHROUGH_ID"; - public static final String KEY_NAME_RESULT_LIST = "RESULT_LIST"; - public static final String KEY_NAME_OPERATION_MODE = "OPERATION_MODE"; - public static final String KEY_NAME_RESULT_OBJECT = "RESULT_OBJECT"; - public static final String NEXT_PAGING_INDEX = "NEXT_PAGING_INDEX"; - // ======================================================================== - - // Item Type - // ------------------------------------------------------------------------ - // Consumable : 00 - // Non Consumable : 01 - // Subscription : 02 - // All : 10 - // ======================================================================== - public static final String ITEM_TYPE_CONSUMABLE = "00"; - public static final String ITEM_TYPE_NON_CONSUMABLE = "01"; - public static final String ITEM_TYPE_SUBSCRIPTION = "02"; - public static final String ITEM_TYPE_AUTO_RECURRING_SUBSCRIPTIONS = "03"; - public static final String ITEM_TYPE_ALL = "10"; - // ======================================================================== - public static final String PRODUCT_TYPE_ITEM = "item"; - public static final String PRODUCT_TYPE_SUBSCRIPTION = "subscription"; - public static final String PRODUCT_TYPE_ALL = "all"; - - // Define request code to IAPService. - // ======================================================================== - public static final int REQUEST_CODE_IS_IAP_PAYMENT = 1; - public static final int REQUEST_CODE_IS_ACCOUNT_CERTIFICATION = 2; - public static final int REQUEST_CODE_IS_ENABLE_BILLING = 3; - // ======================================================================== - - // Define request parameter to IAPService - // ======================================================================== - public static final int PASSTHROGUH_MAX_LENGTH = 255; - // ======================================================================== - - // Define status code notify to 3rd-party application - // ======================================================================== - /** Success */ - final public static int IAP_ERROR_NONE = 0; - - /** Payment is cancelled */ - final public static int IAP_PAYMENT_IS_CANCELED = 1; - - /** IAP initialization error */ - final public static int IAP_ERROR_INITIALIZATION = -1000; - - /** IAP need to be upgraded */ - final public static int IAP_ERROR_NEED_APP_UPGRADE = -1001; - - /** Common error */ - final public static int IAP_ERROR_COMMON = -1002; - - /** Repurchase NON-CONSUMABLE item */ - final public static int IAP_ERROR_ALREADY_PURCHASED = -1003; - - /** When PaymentMethodList Activity is called without Bundle data */ - final public static int IAP_ERROR_WHILE_RUNNING = -1004; - - /** does not exist item or item group id */ - final public static int IAP_ERROR_PRODUCT_DOES_NOT_EXIST = -1005; - - /** - * After purchase request not received the results can not be determined - * whether to buy. So, the confirmation of purchase list is needed. - */ - final public static int IAP_ERROR_CONFIRM_INBOX = -1006; - - /** Error when item group id does not exist */ - public static final int IAP_ERROR_ITEM_GROUP_DOES_NOT_EXIST = -1007; - - /** Error when network is not available */ - public static final int IAP_ERROR_NETWORK_NOT_AVAILABLE = -1008; - - /**IOException*/ - public static final int IAP_ERROR_IOEXCEPTION_ERROR = -1009; - - /**SocketTimeoutException*/ - public static final int IAP_ERROR_SOCKET_TIMEOUT = -1010; - - /**ConnectTimeoutException*/ - public static final int IAP_ERROR_CONNECT_TIMEOUT = -1011; - - /** The Item is not for sale in the country */ - public static final int IAP_ERROR_NOT_EXIST_LOCAL_PRICE = -1012; - - /** IAP is not serviced in the country */ - public static final int IAP_ERROR_NOT_AVAILABLE_SHOP = -1013; - // ======================================================================== - - // IAP Mode - // ======================================================================== - /** Test mode for development. Always return true. */ - final public static int IAP_MODE_TEST = 1; - - /** Test mode for development. Always return failed. */ - final public static int IAP_MODE_TEST_FAILURE = -1; - - /** Production mode. Set mode to this to charge for your item. */ - final public static int IAP_MODE_PRODUCTION = 0; - - - - /** initial state */ - protected static final int STATE_TERM = 0; - - /** state of bound to IAPService successfully */ - protected static final int STATE_BINDING = 1; - - /** state of InitIapTask successfully finished */ - protected static final int STATE_READY = 2; // - // ======================================================================== - - public enum OperationMode{ - OPERATION_MODE_TEST_FAILURE, - OPERATION_MODE_PRODUCTION, - OPERATION_MODE_TEST - }; - -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperListenerManager.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperListenerManager.java deleted file mode 100644 index 073c5b2..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperListenerManager.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.samsung.android.sdk.iap.lib.helper; - -import android.content.Context; - -import com.samsung.android.sdk.iap.lib.helper.task.ConsumePurchasedItemsTask; -import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask; -import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask; -import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener; -import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener; -import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener; -import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener; - -/** - * Created by sangbum7.kim on 2017-08-29. - */ - -public class HelperListenerManager { - private static HelperListenerManager mInstance = null; - - private OnGetProductsDetailsListener mOnGetProductsDetailsListener = null; - private OnGetOwnedListListener mOnGetOwnedListListener = null; - private OnConsumePurchasedItemsListener mOnConsumePurchasedItemsListener = null; - private OnPaymentListener mOnPaymentListener = null; - - /** - * HelperListenerManager singleton reference method - */ - public static HelperListenerManager getInstance( ) - { - if( mInstance == null) - mInstance = new HelperListenerManager(); - return mInstance; - } - - public static void destroy() - { - mInstance = null; - } - - /** - * HelperListenerManager constructor - */ - private HelperListenerManager( ) - { - mOnGetProductsDetailsListener = null; - mOnGetOwnedListListener = null; - mOnConsumePurchasedItemsListener = null; - mOnPaymentListener = null; - } - - /** - * Register {@link OnGetProductsDetailsListener} callback interface to be invoked - * when {@link GetProductsDetailsTask} has been finished. - * @param _onGetProductsDetailsListener - */ - public void setOnGetProductsDetailsListener( OnGetProductsDetailsListener _onGetProductsDetailsListener ) - { - mOnGetProductsDetailsListener = _onGetProductsDetailsListener; - } - - public OnGetProductsDetailsListener getOnGetProductsDetailsListener( ) - { - return mOnGetProductsDetailsListener; - } - - - /** - * Register {@link OnGetOwnedListListener} callback interface to be invoked - * when {@link GetOwnedListTask} has been finished. - * @param _onGetOwnedListListener - */ - public void setOnGetOwnedListListener( OnGetOwnedListListener _onGetOwnedListListener ) - { - mOnGetOwnedListListener = _onGetOwnedListListener; - } - - public OnGetOwnedListListener getOnGetOwnedListListener( ) - { - return mOnGetOwnedListListener; - } - - - /** - * Register {@link OnConsumePurchasedItemsListener} callback interface to be invoked - * when {@link ConsumePurchasedItemsTask} has been finished. - * @param _onConsumePurchasedItemsListener - */ - public void setOnConsumePurchasedItemsListener( OnConsumePurchasedItemsListener _onConsumePurchasedItemsListener ) - { - mOnConsumePurchasedItemsListener = _onConsumePurchasedItemsListener; - } - - public OnConsumePurchasedItemsListener getOnConsumePurchasedItemsListener( ) - { - return mOnConsumePurchasedItemsListener; - } - - - /** - * Register a callback interface to be invoked - * when Purchase Process has been finished. - * @param _onPaymentListener - */ - public void setOnPaymentListener( OnPaymentListener _onPaymentListener ) - { - mOnPaymentListener = _onPaymentListener; - } - - public OnPaymentListener getOnPaymentListener() - { - return mOnPaymentListener; - } -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperUtil.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperUtil.java deleted file mode 100644 index 4962004..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/HelperUtil.java +++ /dev/null @@ -1,241 +0,0 @@ -package com.samsung.android.sdk.iap.lib.helper; - -import android.app.Activity; -import android.app.AlertDialog; -import android.content.ComponentName; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.content.pm.Signature; -import android.net.Uri; -import android.os.Build; -import android.util.Log; - -import com.samsung.android.sdk.iap.lib.R; -import com.samsung.android.sdk.iap.lib.activity.BaseActivity; -import com.samsung.android.sdk.iap.lib.vo.ErrorVo; - -/** - * Created by sangbum7.kim on 2017-08-17. - */ - -public class HelperUtil { - private static final String TAG = HelperUtil.class.getSimpleName(); - /** - * show dialog - * @param _title - * @param _message - */ - public static void showIapDialogIfNeeded - ( - final Activity _activity, - String _title, - String _message, - final boolean _finishActivity, - final Runnable _onClickRunable, - boolean _showDialog - ) - { - if( _showDialog == false ) - { - if( _finishActivity == true ) - { - try{ _activity.finish(); } - catch( Exception _e ){ _e.printStackTrace(); } - } - - return; - } - - AlertDialog.Builder alert = new AlertDialog.Builder( _activity ); - - alert.setTitle( _title ); - alert.setMessage( _message ); - - alert.setPositiveButton( android.R.string.ok, - new DialogInterface.OnClickListener() - { - @Override - public void onClick( DialogInterface _dialog, int _which ) - { - if( null != _onClickRunable ) - { - _onClickRunable.run(); - } - - _dialog.dismiss(); - - if( true == _finishActivity ) - { - _activity.finish(); - } - } - } ); - - if( true == _finishActivity ) - { - alert.setOnCancelListener( new DialogInterface.OnCancelListener() - { - @Override - public void onCancel( DialogInterface dialog ) - { - _activity.finish(); - } - }); - } - - try - { - alert.show(); - } - catch( Exception e ) - { - e.printStackTrace(); - } - } - - /** - * Check that Apps package is installed - * @param _context Context - * @return If it is true Billing package is installed. otherwise, not installed. - */ - static public boolean isInstalledAppsPackage( Context _context ) - { - PackageManager pm = _context.getPackageManager(); - try - { - //// TODO: 2017-08-16 Make sure the packageInfo is normal and set the version code - PackageInfo packageInfo = pm.getPackageInfo(HelperDefine.GALAXY_PACKAGE_NAME, PackageManager.GET_META_DATA); - Log.d(TAG, "isInstalledAppsPackage: versionCode " + packageInfo.versionCode); - return packageInfo.versionCode >= HelperDefine.APPS_PACKAGE_VERSION; - - } - catch( PackageManager.NameNotFoundException e ) - { - e.printStackTrace(); - return false; - } - } - - static public boolean isEnabledAppsPackage(Context context) { - //// TODO: 2017-08-16 Make sure the status is normal - int status = context.getPackageManager().getApplicationEnabledSetting(HelperDefine.GALAXY_PACKAGE_NAME); - Log.d(TAG, "isEnabledAppsPackage: status " + status); - return !((status == PackageManager.COMPONENT_ENABLED_STATE_DISABLED) || (status == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER)); - } - - - /** - * check validation of installed Billing package in your device - * @param _context - * @return If it is true Billing package is valid. otherwise, is not valid. - */ - static public boolean isValidAppsPackage( Context _context ) - { - boolean result = true; - try - { - Signature[] sigs = _context.getPackageManager().getPackageInfo( - HelperDefine.GALAXY_PACKAGE_NAME, - PackageManager.GET_SIGNATURES ).signatures; - Log.d(TAG, "isValidAppsPackage: HASHCODE : " + sigs[0].hashCode()); - if( sigs[0].hashCode() != HelperDefine.APPS_SIGNATURE_HASHCODE ) - { - result = false; - } - } - catch( Exception e ) - { - e.printStackTrace(); - result = false; - } - - return result; - } - - /** - * SamsungAccount authentication - * @param _activity - */ - static public void startAccountActivity( final Activity _activity ) - { - ComponentName com = new ComponentName( HelperDefine.GALAXY_PACKAGE_NAME, - HelperDefine.IAP_PACKAGE_NAME + ".activity.AccountActivity" ); - Context context = _activity.getApplicationContext(); - - Intent intent = new Intent(); - intent.setComponent( com ); - - if(intent.resolveActivity(context.getPackageManager()) != null) - { - _activity.startActivityForResult(intent, - HelperDefine.REQUEST_CODE_IS_ACCOUNT_CERTIFICATION); - } - } - - /** - * go to about page of SamsungApps in order to install IAP package. - */ - static public void installAppsPackage( final BaseActivity _activity ) - { - // 1. When user click the OK button on the dialog, - // go to SamsungApps IAP Detail page - // ==================================================================== - - Runnable OkBtnRunnable = new Runnable() - { - @Override - public void run() - { - Context context = _activity.getApplicationContext(); - - // Link of SamsungApps for IAP install - // ------------------------------------------------------------ - Uri appsDeepLink = Uri.parse( - "samsungapps://StoreVersionInfo/"); - // ------------------------------------------------------------ - - Intent intent = new Intent(); - intent.setData( appsDeepLink ); - - if( Build.VERSION.SDK_INT >= HelperDefine.HONEYCOMB_MR1 ) - { - intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK | - Intent.FLAG_ACTIVITY_CLEAR_TOP | - HelperDefine.FLAG_INCLUDE_STOPPED_PACKAGES ); - } - else - { - intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK | - Intent.FLAG_ACTIVITY_CLEAR_TOP ); - } - - if(intent.resolveActivity(context.getPackageManager()) != null) { - context.startActivity(intent); - } - } - }; - // ==================================================================== - - // 2. Set error in order to notify result to third-party application. - // ==================================================================== - ErrorVo errorVo = new ErrorVo(); - _activity.setErrorVo( errorVo ); - - errorVo.setError( HelperDefine.IAP_PAYMENT_IS_CANCELED, - _activity.getString(R.string.mids_sapps_pop_payment_canceled) ); - // ==================================================================== - - // 3. Show information dialog - // ==================================================================== - HelperUtil.showIapDialogIfNeeded( _activity, - _activity.getString( R.string.mids_sapps_header_update_galaxy_apps ), - _activity.getString( R.string.mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase ), - true, - OkBtnRunnable, - true ); - // ==================================================================== - } -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/IapHelper.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/IapHelper.java deleted file mode 100644 index 9052db0..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/IapHelper.java +++ /dev/null @@ -1,631 +0,0 @@ -package com.samsung.android.sdk.iap.lib.helper; - -import android.app.Activity; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.content.ServiceConnection; -import android.os.AsyncTask.Status; -import android.os.Bundle; -import android.os.IBinder; -import android.util.Base64; -import android.util.Log; - -import com.samsung.android.iap.IAPConnector; -import com.samsung.android.sdk.iap.lib.R; -import com.samsung.android.sdk.iap.lib.activity.BaseActivity; -import com.samsung.android.sdk.iap.lib.activity.ConsumePurchasedItemsActivity; -import com.samsung.android.sdk.iap.lib.activity.OwnedProductActivity; -import com.samsung.android.sdk.iap.lib.activity.PaymentActivity; -import com.samsung.android.sdk.iap.lib.activity.ProductActivity; -import com.samsung.android.sdk.iap.lib.helper.task.ConsumePurchasedItemsTask; -import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask; -import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask; -import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener; -import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener; -import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener; -import com.samsung.android.sdk.iap.lib.listener.OnIapBindListener; -import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener; - -public class IapHelper extends HelperDefine -{ - private static final String TAG = IapHelper.class.getSimpleName(); - - /** - * When you release a application, - * this Mode must be set to {@link HelperDefine#IAP_MODE_PRODUCTION} - * Please double-check this mode before release. - */ - private int mMode = HelperDefine.IAP_MODE_PRODUCTION; - // ======================================================================== - - private Context mContext = null; - - private IAPConnector mIapConnector = null; - private ServiceConnection mServiceConn = null; - - // AsyncTask for API - // ======================================================================== - private GetProductsDetailsTask mGetProductsDetailsTask = null; - private GetOwnedListTask mGetOwnedListTask = null; - private ConsumePurchasedItemsTask mConsumePurchasedItemsTask = null; - // ======================================================================== - - // API listener - private HelperListenerManager mListenerInstance = null; - - private static IapHelper mInstance = null; - - // State of IAP Service - // ======================================================================== - private int mState = HelperDefine.STATE_TERM; - private final static Object mOperationLock = new Object(); - static boolean mOperationRunningFlag = false; - - - // ######################################################################## - // ######################################################################## - // 1. SamsungIAPHeler object create and reference - // ######################################################################## - // ######################################################################## - - /** - * IapHelper constructor - * @param _context - */ - private IapHelper(Context _context ) - { - _setContextAndMode( _context ); - _setListenerInstance(); - } - - /** - * IapHelper singleton reference method - * @param _context Context - */ - public static IapHelper getInstance(Context _context ) - { - if( null == mInstance ) - { - Log.d(TAG, "getInstance new: mContext " + _context ); - mInstance = new IapHelper( _context ); - } - else - { - Log.d(TAG, "getInstance old: mContext " + _context ); - mInstance._setContextAndMode( _context ); - } - - return mInstance; - } - - public void setOperationMode(OperationMode _mode) - { - if(_mode == OperationMode.OPERATION_MODE_TEST) - mMode = HelperDefine.IAP_MODE_TEST; - else if(_mode == OperationMode.OPERATION_MODE_TEST_FAILURE) - mMode = HelperDefine.IAP_MODE_TEST_FAILURE; - else - mMode = HelperDefine.IAP_MODE_PRODUCTION; - } - - private void _setContextAndMode( Context _context ) - { - mContext = _context.getApplicationContext(); - } - - private void _setListenerInstance() - { - if(mListenerInstance != null) { - mListenerInstance.destroy(); - mListenerInstance = null; - } - mListenerInstance = HelperListenerManager.getInstance(); - } - - - // ######################################################################## - // ######################################################################## - // 2. Binding for IAPService - // ######################################################################## - // ######################################################################## - - /** - * bind to IAPService - * - * @param _listener The listener that receives notifications - * when bindIapService method is finished. - */ - public void bindIapService( final OnIapBindListener _listener ) - { - // exit If already bound - // ==================================================================== - if( mState >= HelperDefine.STATE_BINDING ) - { - if( _listener != null ) - { - _listener.onBindIapFinished( HelperDefine.IAP_RESPONSE_RESULT_OK ); - } - - return; - } - // ==================================================================== - - // Connection to IAP service - // ==================================================================== - mServiceConn = new ServiceConnection() - { - @Override - public void onServiceDisconnected( ComponentName _name ) - { - Log.d( TAG, "IAP Service Disconnected..." ); - - mState = HelperDefine.STATE_TERM; - mIapConnector = null; - mServiceConn = null; - } - - @Override - public void onServiceConnected - ( - ComponentName _name, - IBinder _service - ) - { - mIapConnector = IAPConnector.Stub.asInterface( _service ); - - if( _listener != null ) { - if (mIapConnector != null) { - mState = HelperDefine.STATE_BINDING; - - _listener.onBindIapFinished(HelperDefine.IAP_RESPONSE_RESULT_OK); - } else { - mState = HelperDefine.STATE_TERM; - - _listener.onBindIapFinished( - HelperDefine.IAP_RESPONSE_RESULT_UNAVAILABLE); - } - } - } - }; - // ==================================================================== - Intent serviceIntent = new Intent(); - serviceIntent.setComponent(new ComponentName(HelperDefine.GALAXY_PACKAGE_NAME, HelperDefine.IAP_SERVICE_NAME)); -// IAP_PACKAGE_NAME + ".service.IAPService")); - // bind to IAPService - // ==================================================================== - mContext.bindService( serviceIntent, - mServiceConn, - Context.BIND_AUTO_CREATE ); - // ==================================================================== - } - - - /* ######################################################################## - * ######################################################################## - * 3. Method using IAP APIs. - * ( GetProductsDetailsTask, GetProductsDetailsTask, getInbox ) - * ######################################################################## - * ##################################################################### */ - /////////////////////////////////////////////////////////////////////////// - // 3.1) getProductsDetails /////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////////////////// - /** - *
-     * This load item list by starting productActivity in this library,
-     * and the result will be sent to {@link OnGetProductsDetailsListener} Callback interface.
-     * To do that, {@link ProductActivity} must be described in AndroidManifest.xml of third-party application
-     * as below.
-     *
-     * <activity android:name="com.sec.android.iap.lib.activity.productActivity"
-     *      android:theme="@style/Theme.Empty"
-     *      android:configChanges="orientation|screenSize"/>
-     * 
- * - * @param _productIds - * @param _onGetProductsDetailsListener - */ - public void getProductsDetails - ( - String _productIds, - OnGetProductsDetailsListener _onGetProductsDetailsListener - ) - { - try - { - IapStartInProgressFlag(); - if( null == _onGetProductsDetailsListener ) - { - throw new Exception( "_onGetProductsDetailsListener is null" ); - } - - mListenerInstance.setOnGetProductsDetailsListener( _onGetProductsDetailsListener ); - - Intent intent = new Intent( mContext, ProductActivity.class ); - intent.putExtra( "ProductIds", _productIds ); - intent.putExtra( "ShowErrorDialog", true ); - intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); - - mContext.startActivity( intent ); - } - catch (IapInProgressException e) { - e.printStackTrace(); - } - catch( Exception e ) - { - e.printStackTrace(); - } - } - - /** - * execute GetProductsDetailsTask - */ - public void safeGetProductsDetails - ( - BaseActivity _activity, - String _productIDs, - boolean _showErrorDialog - ) - { - try - { - if( mGetProductsDetailsTask != null && - mGetProductsDetailsTask.getStatus() != Status.FINISHED ) - { - mGetProductsDetailsTask.cancel( true ); - } - - mGetProductsDetailsTask = new GetProductsDetailsTask( _activity, - mIapConnector, - _productIDs, - _showErrorDialog, - mMode); - mGetProductsDetailsTask.execute(); - } - catch( Exception e ) - { - if( null != _activity ) - { - _activity.finish(); - } - - e.printStackTrace(); - } - } - - - /////////////////////////////////////////////////////////////////////////// - // 3.2) getOwnedList /////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////////////////// - /** - *
-     * This load owned product list by starting OwnedListActivity in this library,
-     * and the result will be sent to {@link OnGetOwnedListListener} Callback interface.
-     * To do that, {@link OwnedProductActivity} must be described in AndroidManifest.xml of third-party application
-     * as below.
-     *
-     * <activity android:name="com.sec.android.iap.lib.activity.OwnedProductActivity"
-     *      android:theme="@style/Theme.Empty"
-     *      android:configChanges="orientation|screenSize"/>
-     * 
- * - * @param _productType - * @param _onGetOwnedListListener - */ - public void getOwnedList - ( - String _productType, - OnGetOwnedListListener _onGetOwnedListListener - ) - { - try - { - IapStartInProgressFlag(); - if( null == _onGetOwnedListListener ) - { - throw new Exception( "_onGetOwnedListListener is null" ); - } - - mListenerInstance.setOnGetOwnedListListener( _onGetOwnedListListener ); - - Log.d(TAG, "getOwnedList: " + mContext); - Intent intent = new Intent( mContext, OwnedProductActivity.class ); - - if(_productType==null) - intent.putExtra( "ProductType", ""); - else - intent.putExtra( "ProductType", _productType ); - intent.putExtra( "ShowErrorDialog", true ); - intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); - - mContext.startActivity( intent ); - } - catch (IapInProgressException e) - { - e.printStackTrace(); - } - catch( Exception e ) - { - e.printStackTrace(); - } - } - - /** - * execute GetOwnedListTask - */ - public void safeGetOwnedList - ( - BaseActivity _activity, - String _productType, - boolean _showErrorDialog - ) - { - try - { - if( mGetOwnedListTask != null && - mGetOwnedListTask.getStatus() != Status.FINISHED ) - { - mGetOwnedListTask.cancel( true ); - } - - mGetOwnedListTask = new GetOwnedListTask( _activity, - mIapConnector, - _productType, - _showErrorDialog, - mMode); - mGetOwnedListTask.execute(); - } - catch( Exception e ) - { - if( null != _activity ) - { - _activity.finish(); - } - - e.printStackTrace(); - } - } - - /////////////////////////////////////////////////////////////////////////// - // 3.3) consumePurchasedItems /////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////////////////// - /** - *
-     * This load item list by starting OwnedListActivity in this library,
-     * and the result will be sent to {@link OnConsumePurchasedItemsListener} Callback interface.
-     * To do that, {@link OwnedProductActivity} must be described in AndroidManifest.xml of third-party application
-     * as below.
-     *
-     * <activity android:name="com.sec.android.iap.lib.activity.OwnedListActivity"
-     *      android:theme="@style/Theme.Empty"
-     *      android:configChanges="orientation|screenSize"/>
-     * 
- * - * @param _purchaseIds - * @param _onConsumePurchasedItemsListener - */ - public void consumePurchasedItems - ( - String _purchaseIds, - OnConsumePurchasedItemsListener _onConsumePurchasedItemsListener - ) - { - try - { - IapStartInProgressFlag(); - if( null == _onConsumePurchasedItemsListener ) - { - throw new Exception( "_onConsumePurchasedItemsListener is null" ); - } - if( null == _purchaseIds ) throw new Exception( "_purchaseIds is null" ); - if( _purchaseIds.length() == 0 ) throw new Exception( "_purchaseIds is empty" ); - - - mListenerInstance.setOnConsumePurchasedItemsListener( _onConsumePurchasedItemsListener ); - - Intent intent = new Intent( mContext, ConsumePurchasedItemsActivity.class ); - - intent.putExtra( "PurchaseIds", _purchaseIds ); - intent.putExtra( "ShowErrorDialog", true ); - - intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); - - mContext.startActivity( intent ); - } - catch (IapInProgressException e) - { - e.printStackTrace(); - } - catch( Exception e ) - { - e.printStackTrace(); - } - } - - /** - * execute ConsumePurchasedItemsTask - */ - public void safeConsumePurchasedItems - ( - BaseActivity _activity, - String _purchaseIds, - boolean _showErrorDialog - ) - { - try - { - if( mConsumePurchasedItemsTask != null && - mConsumePurchasedItemsTask.getStatus() != Status.FINISHED ) - { - mConsumePurchasedItemsTask.cancel( true ); - } - - mConsumePurchasedItemsTask = new ConsumePurchasedItemsTask( _activity, - mIapConnector, - _purchaseIds, - _showErrorDialog, - mMode); - mConsumePurchasedItemsTask.execute(); - } - catch( Exception e ) - { - if( null != _activity ) - { - _activity.finish(); - } - - e.printStackTrace(); - } - } - - - /////////////////////////////////////////////////////////////////////////// - // 3.2) startPurchase / /////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////////////////// - /** - *
-     * Start payment process by starting {@link PaymentActivity} in this library,
-     * and result will be sent to {@link OnPaymentListener} interface.
-     * To do that, PaymentActivity must be described in AndroidManifest.xml of third-party application
-     * as below.
-     *
-     * <activity android:name="com.sec.android.iap.lib.activity.PaymentActivity"
-     *      android:theme="@style/Theme.Empty"
-     *      android:configChanges="orientation|screenSize"/>
-     * 
- * - * @param _itemId - * @param _passThroughParam - * @param _showSuccessDialog If it is true, dialog of payment success is - * shown. otherwise it will not be shown. - * @param _onPaymentListener - */ - public void startPayment - ( - String _itemId, - String _passThroughParam, - boolean _showSuccessDialog, - OnPaymentListener _onPaymentListener - ) - { - try - { - IapStartInProgressFlag(); - if( null == _onPaymentListener ) - { - throw new Exception( "OnPaymentListener is null" ); - } - if( _passThroughParam != null && _passThroughParam.getBytes().length > HelperDefine.PASSTHROGUH_MAX_LENGTH ) - throw new Exception( "PassThroughParam length exceeded (MAX " + HelperDefine.PASSTHROGUH_MAX_LENGTH +")" ); - mListenerInstance.setOnPaymentListener( _onPaymentListener ); - - Intent intent = new Intent( mContext, PaymentActivity.class ); - intent.putExtra( "ItemId", _itemId ); - String encodedPassThroughParam = ""; - if(_passThroughParam!=null) - encodedPassThroughParam = Base64.encodeToString(_passThroughParam.getBytes(),0); - intent.putExtra( "PassThroughParam", encodedPassThroughParam); - intent.putExtra( "ShowSuccessDialog", _showSuccessDialog ); - intent.putExtra( "ShowErrorDialog", true ); - intent.putExtra( "OperationMode", mMode ); - Log.d(TAG, "startPayment: " + mMode); - - intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); - - mContext.startActivity( intent ); - } - catch (IapInProgressException e) - { - e.printStackTrace(); - } - catch( Exception e ) - { - e.printStackTrace(); - } - } - - - // ######################################################################## - // ######################################################################## - // 4. etc - // ######################################################################## - // ######################################################################## - - /** - * Stop running task, {@link GetProductsDetailsTask}, {@link ConsumePurchasedItemsTask} - * or {@link GetOwnedListTask} } before dispose(). - */ - private void stopTasksIfNotFinished() - { - if( mGetProductsDetailsTask != null ) - { - if ( mGetProductsDetailsTask.getStatus() != Status.FINISHED ) - { - Log.e(TAG, "stopTasksIfNotFinished: mGetProductsDetailsTask Status > " + mGetProductsDetailsTask.getStatus()); - mGetProductsDetailsTask.cancel( true ); - } - } - - if( mGetOwnedListTask != null ) - { - if ( mGetOwnedListTask.getStatus() != Status.FINISHED ) - { - Log.e(TAG, "stopTasksIfNotFinished: mGetOwnedListTask Status > "+ mGetOwnedListTask.getStatus()); - mGetOwnedListTask.cancel( true ); - } - } - - if( mConsumePurchasedItemsTask != null ) - { - if ( mConsumePurchasedItemsTask.getStatus() != Status.FINISHED ) - { - Log.e(TAG, "stopTasksIfNotFinished: mConsumePurchasedItemsTask Status > " + mConsumePurchasedItemsTask.getStatus()); - mConsumePurchasedItemsTask.cancel( true ); - } - } - } - - /** - * Unbind from IAPService and release used resources. - */ - public void dispose() - { - stopTasksIfNotFinished(); - - if( mContext != null && mServiceConn != null ) - { - mContext.unbindService( mServiceConn ); - } - - mState = HelperDefine.STATE_TERM; - mServiceConn = null; - mIapConnector = null; - IapEndInProgressFlag(); - } - - void IapStartInProgressFlag() throws IapInProgressException { - Log.d(TAG, "IapStartInProgressFlag: "); - synchronized (mOperationLock) - { - if(mOperationRunningFlag) - { - throw new IapInProgressException("another operation is running"); - } - mOperationRunningFlag = true; - - } - } - void IapEndInProgressFlag() { - Log.d(TAG, "IapEndInProgressFlag: "); - synchronized (mOperationLock) - { - mOperationRunningFlag = false; - } - } - - public static class IapInProgressException extends Exception { - public IapInProgressException( String message ) { - super(message); - } - } -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/BaseTask.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/BaseTask.java deleted file mode 100644 index 38880cb..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/BaseTask.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.samsung.android.sdk.iap.lib.helper.task; - -import android.content.ActivityNotFoundException; -import android.content.Intent; -import android.net.Uri; -import android.os.AsyncTask; -import android.text.TextUtils; -import android.util.Log; - -import com.samsung.android.iap.IAPConnector; -import com.samsung.android.sdk.iap.lib.R; -import com.samsung.android.sdk.iap.lib.activity.BaseActivity; -import com.samsung.android.sdk.iap.lib.helper.HelperDefine; -import com.samsung.android.sdk.iap.lib.helper.HelperUtil; -import com.samsung.android.sdk.iap.lib.vo.ErrorVo; - -/** - * Created by sangbum7.kim on 2017-09-01. - */ - -public class BaseTask extends AsyncTask -{ - private static final String TAG = BaseTask.class.getSimpleName(); - - protected BaseActivity mActivity = null; - protected IAPConnector mIapConnector = null; - protected int mMode = HelperDefine.IAP_MODE_PRODUCTION; - protected boolean mShowErrorDialog = true; - - protected ErrorVo mErrorVo = new ErrorVo(); - - public BaseTask(BaseActivity _activity, - IAPConnector _iapConnector, - boolean _showErrorDialog, - int _mode) - { - - mActivity = _activity; - mIapConnector = _iapConnector; - mShowErrorDialog = _showErrorDialog; - mMode = _mode; - - mActivity.setErrorVo( mErrorVo ); - } - - @Override - protected Boolean doInBackground( String... params ) { - return true; - } - - @Override - protected void onPostExecute( Boolean _result ) - { - // 1. If result is true - // ================================================================ - if( true == _result ) - { - // 1) If list of product is successfully loaded - // ============================================================ - if( mErrorVo.getErrorCode() == HelperDefine.IAP_ERROR_NONE ) - { - // finish Activity in order to notify the result to - // third-party application immediately. - // -------------------------------------------------------- - if( mActivity != null ) - { - mActivity.finish(); - } - // -------------------------------------------------------- - } - // ============================================================ - // 2) If the IAP package needs to be upgraded - // ============================================================ - else if( mErrorVo.getErrorCode() == HelperDefine.IAP_ERROR_NEED_APP_UPGRADE ) - { - // a) When user click the OK button on the dialog, - // go to SamsungApps IAP Detail page. - // -------------------------------------------------------- - Runnable OkBtnRunnable = new Runnable() - { - @Override - public void run() - { - if( true == TextUtils.isEmpty( - mErrorVo.getExtraString() ) ) - { - return; - } - - Intent intent = new Intent(Intent.ACTION_VIEW); - - intent.setData( - Uri.parse( mErrorVo.getExtraString() ) ); - - intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); - - try - { - mActivity.startActivity( intent ); - } - catch( ActivityNotFoundException e ) - { - e.printStackTrace(); - } - } - }; - // -------------------------------------------------------- - - // b) Pop-up shows that the IAP package needs to be updated. - // -------------------------------------------------------- - HelperUtil.showIapDialogIfNeeded( mActivity, - mActivity.getString( R.string.mids_sapps_header_samsung_in_app_purchase_abb ), - mErrorVo.getErrorString(), - true, - OkBtnRunnable, - true ); - // -------------------------------------------------------- - - Log.e( TAG, mErrorVo.getErrorString() ); - } - // ============================================================ - // 3) If error is occurred during loading list of product - // ============================================================ - else - { - HelperUtil.showIapDialogIfNeeded( mActivity, - mActivity.getString( R.string.mids_sapps_header_samsung_in_app_purchase_abb ), - mErrorVo.getErrorString(), - true, - null, - mShowErrorDialog ); - - Log.e( TAG, mErrorVo.getErrorString() ); - } - // ============================================================ - } - // ================================================================ - // 2. If result is false - // ================================================================ - else - { - HelperUtil.showIapDialogIfNeeded( mActivity, - mActivity.getString( R.string.mids_sapps_header_samsung_in_app_purchase_abb ), - mActivity.getString( R.string.mids_sapps_pop_unknown_error_occurred ) - + "[Lib_ProductsDetails]", - true, - null, - mShowErrorDialog ); - } - // ================================================================ - } - - @Override - protected void onCancelled() - { - Log.e(TAG, "onCancelled: task cancelled" ); - mActivity.finish(); - } -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/ConsumePurchasedItemsTask.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/ConsumePurchasedItemsTask.java deleted file mode 100644 index c6b4f59..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/ConsumePurchasedItemsTask.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.samsung.android.sdk.iap.lib.helper.task; - -import android.os.Bundle; -import android.util.Log; - -import com.samsung.android.iap.IAPConnector; -import com.samsung.android.sdk.iap.lib.R; -import com.samsung.android.sdk.iap.lib.activity.BaseActivity; -import com.samsung.android.sdk.iap.lib.helper.HelperDefine; -import com.samsung.android.sdk.iap.lib.vo.ConsumeVo; -import com.samsung.android.sdk.iap.lib.vo.ErrorVo; - -import java.util.ArrayList; - -/** - * Asynchronized Task to load a list of items - */ -public class ConsumePurchasedItemsTask extends BaseTask -{ - private static final String TAG = GetOwnedListTask.class.getSimpleName(); - private String mPurchaseIds = ""; - - ArrayList mConsumeList = new ArrayList(); - - public ConsumePurchasedItemsTask - ( - BaseActivity _activity, - IAPConnector _iapConnector, - String _purchaseIds, - boolean _showErrorDialog, - int _mode - ) - { - super(_activity,_iapConnector,_showErrorDialog,_mode); - mPurchaseIds = _purchaseIds; - - mActivity.setConsumeList(mConsumeList); - } - - @Override - protected Boolean doInBackground( String... params ) - { - try - { - // 1) call getItemList() method of IAPService - // ============================================================ - Bundle bundle = mIapConnector.consumePurchasedItems( - mActivity.getPackageName(), - mPurchaseIds, - mMode ); - // ============================================================ - - // 2) save status code, error string and extra String. - // ============================================================ - if (bundle != null) { - mErrorVo.setError(bundle.getInt(HelperDefine.KEY_NAME_STATUS_CODE), - bundle.getString(HelperDefine.KEY_NAME_ERROR_STRING)); - - mErrorVo.setExtraString(bundle.getString( - HelperDefine.KEY_NAME_IAP_UPGRADE_URL)); - } else { - mErrorVo.setError( - HelperDefine.IAP_ERROR_COMMON, - mActivity.getString( - R.string.mids_sapps_pop_unknown_error_occurred ) ); - } - // ============================================================ - - // 3) If item list is loaded successfully, - // make item list by Bundle data - // ============================================================ - // ============================================================ - - // 3) If item list is loaded successfully, - // make item list by Bundle data - // ============================================================ - if( mErrorVo.getErrorCode() == HelperDefine.IAP_ERROR_NONE ) - { - if(bundle != null) { - Log.d(TAG, "doInBackground: success"); - ArrayList consumePurchasedItemsStringList = - bundle.getStringArrayList( HelperDefine.KEY_NAME_RESULT_LIST ); - - if( consumePurchasedItemsStringList != null ) - { - for( String consumePurchasedItemString : consumePurchasedItemsStringList ) - { - ConsumeVo consumeVo = new ConsumeVo( consumePurchasedItemString ); - mConsumeList.add( consumeVo ); - } - } - else - { - Log.d( TAG, "Bundle Value 'RESULT_LIST' is null." ); - } - } - } - // ============================================================ - // 4) If failed, print log. - // ============================================================ - else - { - Log.d( TAG, mErrorVo.getErrorString() ); - } - // ============================================================ - } - catch( Exception e ) - { - mErrorVo.setError( - HelperDefine.IAP_ERROR_COMMON, - mActivity.getString( - R.string.mids_sapps_pop_unknown_error_occurred ) ); - - e.printStackTrace(); - return false; - } - - return true; - } -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/GetOwnedListTask.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/GetOwnedListTask.java deleted file mode 100644 index 27388f2..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/GetOwnedListTask.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.samsung.android.sdk.iap.lib.helper.task; - -import android.os.Bundle; -import android.util.Log; - -import com.samsung.android.iap.IAPConnector; -import com.samsung.android.sdk.iap.lib.R; -import com.samsung.android.sdk.iap.lib.activity.BaseActivity; -import com.samsung.android.sdk.iap.lib.helper.HelperDefine; -import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo; - -import java.util.ArrayList; - -/** - * Asynchronized Task to load a list of items - */ -public class GetOwnedListTask extends BaseTask -{ - private static final String TAG = GetOwnedListTask.class.getSimpleName(); - private String mProductType = ""; - - ArrayList mOwnedList = new ArrayList(); - - public GetOwnedListTask - ( - BaseActivity _activity, - IAPConnector _iapConnector, - String _productType, - boolean _showErrorDialog, - int _mode - ) - { - super(_activity,_iapConnector,_showErrorDialog,_mode); - mProductType = _productType; - - mActivity.setOwnedList( mOwnedList ); - } - - @Override - protected Boolean doInBackground( String... params ) - { - Log.d(TAG, "doInBackground: start"); - try - { - int pagingIndex = 1; - do { - Log.d(TAG, "doInBackground: pagingIndex = " + pagingIndex); - // 1) call getItemList() method of IAPService - // ============================================================ - Bundle bundle = mIapConnector.getOwnedList( - mActivity.getPackageName(), - mProductType, - pagingIndex, - mMode); - // ============================================================ - - // 2) save status code, error string and extra String. - // ============================================================ - if (bundle != null) { - mErrorVo.setError(bundle.getInt(HelperDefine.KEY_NAME_STATUS_CODE), - bundle.getString(HelperDefine.KEY_NAME_ERROR_STRING)); - - mErrorVo.setExtraString(bundle.getString( - HelperDefine.KEY_NAME_IAP_UPGRADE_URL)); - } else { - mErrorVo.setError( - HelperDefine.IAP_ERROR_COMMON, - mActivity.getString( - R.string.mids_sapps_pop_unknown_error_occurred)); - } - // ============================================================ - - // 3) If item list is loaded successfully, - // make item list by Bundle data - // ============================================================ - if (mErrorVo.getErrorCode() == HelperDefine.IAP_ERROR_NONE) { - if (bundle != null) { - String nextPagingIndex = bundle.getString(HelperDefine.NEXT_PAGING_INDEX); - if (nextPagingIndex != null && nextPagingIndex.length() > 0) - pagingIndex = Integer.parseInt(nextPagingIndex); - else - pagingIndex = -1; - - ArrayList ownedProductStringList = - bundle.getStringArrayList(HelperDefine.KEY_NAME_RESULT_LIST); - - if (ownedProductStringList != null) { - for (String ownedProductString : ownedProductStringList) { - OwnedProductVo ownedPrroductVo = new OwnedProductVo(ownedProductString); - mOwnedList.add(ownedPrroductVo); - } - } else { - Log.d(TAG, "Bundle Value 'RESULT_LIST' is null."); - } - } - } - // ============================================================ - // 4) If failed, print log. - // ============================================================ - else { - Log.d(TAG, mErrorVo.getErrorString()); - return true; - } - // ============================================================ - } while (pagingIndex > 0); - } - catch( Exception e ) - { - mErrorVo.setError( - HelperDefine.IAP_ERROR_COMMON, - mActivity.getString( - R.string.mids_sapps_pop_unknown_error_occurred ) ); - - e.printStackTrace(); - return false; - } - - return true; - } -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/GetProductsDetailsTask.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/GetProductsDetailsTask.java deleted file mode 100644 index 582f516..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/helper/task/GetProductsDetailsTask.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.samsung.android.sdk.iap.lib.helper.task; - -import android.os.Bundle; -import android.util.Log; - -import com.samsung.android.iap.IAPConnector; -import com.samsung.android.sdk.iap.lib.R; -import com.samsung.android.sdk.iap.lib.activity.BaseActivity; -import com.samsung.android.sdk.iap.lib.helper.HelperDefine; -import com.samsung.android.sdk.iap.lib.vo.ProductVo; - -import java.util.ArrayList; - -/** - * Asynchronized Task to load a list of items - */ -public class GetProductsDetailsTask extends BaseTask -{ - private static final String TAG = GetProductsDetailsTask.class.getSimpleName(); - private String mProductIds = ""; - ArrayList mProductsDetails = new ArrayList(); - - public GetProductsDetailsTask - ( - BaseActivity _activity, - IAPConnector _iapConnector, - String _productIDs, - boolean _showErrorDialog, - int _mode - ) - { - super(_activity,_iapConnector,_showErrorDialog,_mode); - mProductIds = _productIDs; - - mActivity.setProductsDetails( mProductsDetails ); - } - - @Override - protected Boolean doInBackground( String... params ) - { - try - { - int pagingIndex = 1; - do { - // 1) call getProductsDetails() method of IAPService - // ---- Order Priority ---- - // 1. if productIds is not empty, the infomations abouts products included in the productIds are returned - // 2. if productIds is empty, the infomations about all products in this package are returned on a page by page - // ============================================================ - Bundle bundle = mIapConnector.getProductsDetails( - mActivity.getPackageName(), - mProductIds, - pagingIndex, - mMode); - // ============================================================ - - // 2) save status code, error string and extra String. - // ============================================================ - if (bundle != null) { - mErrorVo.setError(bundle.getInt(HelperDefine.KEY_NAME_STATUS_CODE), - bundle.getString(HelperDefine.KEY_NAME_ERROR_STRING)); - - mErrorVo.setExtraString(bundle.getString( - HelperDefine.KEY_NAME_IAP_UPGRADE_URL)); - } else { - mErrorVo.setError( - HelperDefine.IAP_ERROR_COMMON, - mActivity.getString( - R.string.mids_sapps_pop_unknown_error_occurred)); - } - // ============================================================ - - // 3) If item list is loaded successfully, - // make item list by Bundle data - // ============================================================ - if (mErrorVo.getErrorCode() == HelperDefine.IAP_ERROR_NONE) { - if (bundle != null) { - String nextPagingIndex = bundle.getString(HelperDefine.NEXT_PAGING_INDEX); - if (nextPagingIndex != null && nextPagingIndex.length() > 0) { - pagingIndex = Integer.parseInt(nextPagingIndex); - Log.d(TAG,"PagingIndex = " + nextPagingIndex); - } - else - pagingIndex = -1; - - ArrayList productStringList = - bundle.getStringArrayList(HelperDefine.KEY_NAME_RESULT_LIST); - - if (productStringList != null) { - for (String productString : productStringList) { - ProductVo productVo = new ProductVo(productString); - mProductsDetails.add(productVo); - } - } else { - Log.d(TAG, "Bundle Value 'RESULT_LIST' is null."); - } - } - } - // ============================================================ - // 4) If failed, print log. - // ============================================================ - else { - Log.d(TAG, mErrorVo.getErrorString()); - return true; - } - // ============================================================ - }while (pagingIndex>0); - } - catch( Exception e ) - { - mErrorVo.setError( - HelperDefine.IAP_ERROR_COMMON, - mActivity.getString( - R.string.mids_sapps_pop_unknown_error_occurred ) ); - - e.printStackTrace(); - return false; - } - - return true; - } -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnConsumePurchasedItemsListener.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnConsumePurchasedItemsListener.java deleted file mode 100644 index d181906..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnConsumePurchasedItemsListener.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.samsung.android.sdk.iap.lib.listener; - -import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask; -import com.samsung.android.sdk.iap.lib.vo.ConsumeVo; -import com.samsung.android.sdk.iap.lib.vo.ErrorVo; - -import java.util.ArrayList; - -/** - * Callback Interface used with - * {@link GetOwnedListTask} - */ -public interface OnConsumePurchasedItemsListener -{ - /** - * Callback method to be invoked - * when {@link GetOwnedListTask} has been finished. - * @param _errorVO - * @param _consumeList - */ - void onConsumePurchasedItems(ErrorVo _errorVO, ArrayList _consumeList); -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnGetOwnedListListener.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnGetOwnedListListener.java deleted file mode 100644 index 2b82713..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnGetOwnedListListener.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.samsung.android.sdk.iap.lib.listener; - -import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask; -import com.samsung.android.sdk.iap.lib.vo.ErrorVo; -import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo; - -import java.util.ArrayList; - -/** - * Callback Interface used with - * {@link GetOwnedListTask} - */ -public interface OnGetOwnedListListener -{ - /** - * Callback method to be invoked - * when {@link GetOwnedListTask} has been finished. - * @param _errorVO - * @param _ownedList - */ - void onGetOwnedProducts(ErrorVo _errorVO, ArrayList _ownedList); -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnGetProductsDetailsListener.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnGetProductsDetailsListener.java deleted file mode 100644 index 495410b..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnGetProductsDetailsListener.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.samsung.android.sdk.iap.lib.listener; - -import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask; -import com.samsung.android.sdk.iap.lib.vo.ErrorVo; -import com.samsung.android.sdk.iap.lib.vo.ProductVo; - -import java.util.ArrayList; - -/** - * Callback Interface used with - * {@link GetProductsDetailsTask} - */ -public interface OnGetProductsDetailsListener -{ - /** - * Callback method to be invoked - * when {@link GetProductsDetailsTask} has been finished. - * @param _errorVO - * @param _productList - */ - void onGetProducts(ErrorVo _errorVO, ArrayList _productList); -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnIapBindListener.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnIapBindListener.java deleted file mode 100644 index 48f2a36..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnIapBindListener.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.samsung.android.sdk.iap.lib.listener; - -/** - * Callback Interface to be invoked when bind to IAPService has been finished. - */ -public interface OnIapBindListener -{ - /** - * Callback method to be invoked after binding to IAP service successfully. - * @param result - */ - public void onBindIapFinished( int result ); -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnPaymentListener.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnPaymentListener.java deleted file mode 100644 index 36b53e5..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/listener/OnPaymentListener.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.samsung.android.sdk.iap.lib.listener; - -import com.samsung.android.sdk.iap.lib.vo.ErrorVo; -import com.samsung.android.sdk.iap.lib.vo.PurchaseVo; - -/** - * Callback Interface to be invoked when payment has been finished. - */ -public interface OnPaymentListener -{ - /** - * Callback method to be invoked when payment has been finished. - * There is return data for result of financial transaction whenever it was successful or failed. - */ - void onPayment( ErrorVo _errorVO, PurchaseVo _purchaseVO ); -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/BaseVo.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/BaseVo.java deleted file mode 100644 index 699cfd5..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/BaseVo.java +++ /dev/null @@ -1,167 +0,0 @@ -package com.samsung.android.sdk.iap.lib.vo; - -import org.json.JSONException; -import org.json.JSONObject; - -import android.text.format.DateFormat; -import android.util.Base64; - -public class BaseVo -{ - private String mItemId; - private String mItemName; - private Double mItemPrice; - private String mItemPriceString; - private String mCurrencyUnit; - private String mCurrencyCode; - private String mItemDesc; - private String mType; - private Boolean mIsConsumable; - - public BaseVo(){} - - public BaseVo( String _jsonString ) - { - try - { - JSONObject jObject = new JSONObject( _jsonString ); - - setItemId( jObject.optString( "mItemId" ) ); - setItemName( jObject.optString( "mItemName" ) ); - setItemPrice( jObject.optDouble("mItemPrice" ) ); - setItemPriceString( jObject.optString( "mItemPriceString" ) ); - setCurrencyUnit( jObject.optString( "mCurrencyUnit" ) ); - setCurrencyCode(jObject.optString( "mCurrencyCode" )); - setItemDesc( jObject.optString( "mItemDesc" ) ); - setType( jObject.optString( "mType" ) ); - Boolean isConsumable = false; - if(jObject.optString( "mConsumableYN" )!=null && jObject.optString( "mConsumableYN" ).equals("Y")) - isConsumable = true; - setIsConsumable(isConsumable); - } - catch( JSONException e ) - { - e.printStackTrace(); - } - } - - public String getItemId() - { - return mItemId; - } - - public void setItemId( String _itemId ) - { - mItemId = _itemId; - } - - public String getItemName() - { - return mItemName; - } - - public void setItemName( String _itemName ) - { - mItemName = _itemName; - } - - public Double getItemPrice() - { - return mItemPrice; - } - - public void setItemPrice( Double _itemPrice ) - { - mItemPrice = _itemPrice; - } - - public String getItemPriceString() - { - return mItemPriceString; - } - - public void setItemPriceString( String _itemPriceString ) - { - mItemPriceString = _itemPriceString; - } - - public String getCurrencyUnit() - { - return mCurrencyUnit; - } - - public void setCurrencyUnit( String _currencyUnit ) - { - mCurrencyUnit = _currencyUnit; - } - - public String getCurrencyCode() { return mCurrencyCode; } - - public void setCurrencyCode( String _currencyCode ) - { - mCurrencyCode = _currencyCode; - } - - public String getItemDesc() - { - return mItemDesc; - } - - public void setItemDesc( String _itemDesc ) - { - mItemDesc = _itemDesc; - } - - public String getType() - { - return mType; - } - - public void setType( String _itemDesc ) - { - mType = _itemDesc; - } - - public Boolean getIsConsumable() - { - return mIsConsumable; - } - - public void setIsConsumable( Boolean _consumableYN ) { mIsConsumable = _consumableYN; } - - - public String dump() - { - String dump = null; - - dump = "ItemId : " + getItemId() + "\n" + - "ItemName : " + getItemName() + "\n" + - "ItemPrice : " + getItemPrice() + "\n" + - "ItemPriceString : " + getItemPriceString() + "\n" + - "ItemDesc : " + getItemDesc() + "\n" + - "CurrencyUnit : " + getCurrencyUnit() + "\n" + - "CurrencyCode : " + getCurrencyCode() + "\n" + - "IsConsumable : " + getIsConsumable() + "\n" + - "Type : " + getType(); - - return dump; - } - - protected String getDateString( long _timeMills ) - { - String result = ""; - String dateFormat = "yyyy.MM.dd HH:mm:ss"; - - try - { - result = DateFormat.format( dateFormat, _timeMills ).toString(); - } - catch( Exception e ) - { - e.printStackTrace(); - result = ""; - } - - return result; - } -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ConsumeVo.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ConsumeVo.java deleted file mode 100644 index 675d3ff..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ConsumeVo.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.samsung.android.sdk.iap.lib.vo; - -import android.util.Log; - -import org.json.JSONException; -import org.json.JSONObject; - -public class ConsumeVo -{ - private static final String TAG = ConsumeVo.class.getSimpleName(); - - private String mPurchaseId; - private String mStatusString; - private String mStatusCode; - - public ConsumeVo(String _jsonString ) - { - try - { - JSONObject jObject = new JSONObject( _jsonString ); - - Log.i( TAG, jObject.toString(4) ); - - setPurchaseId( jObject.optString( "mPurchaseId" ) ); - setStatusString( jObject.optString( "mStatusString" ) ); - setStatusCode( jObject.optString( "mStatusCode" ) ); - - Log.i( TAG, dump() ); - } - catch( JSONException e ) - { - e.printStackTrace(); - } - catch( Exception e ) - { - e.printStackTrace(); - } - } - - public String getPurchaseId() - { - return mPurchaseId; - } - - public void setPurchaseId( String _paymentId ) - { - mPurchaseId = _paymentId; - } - - public String getStatusString() - { - return mStatusString; - } - - public void setStatusString( String _statusString ) - { - mStatusString = _statusString; - } - - public String getStatusCode() - { - return mStatusCode; - } - - public void setStatusCode( String _statusCode ) - { - mStatusCode = _statusCode; - } - - public String dump() - { - String dump = null; - - dump = "PurchaseId : " + getPurchaseId() + "\n" + - "StatusString : " + getStatusString() + "\n" + - "StatusCode : " + getStatusCode(); - - return dump; - } -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ErrorVo.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ErrorVo.java deleted file mode 100644 index e580075..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ErrorVo.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.samsung.android.sdk.iap.lib.vo; - -public class ErrorVo -{ - private int mErrorCode = 0; - private String mErrorString = ""; - private String mExtraString = ""; - - public int getErrorCode() - { - return mErrorCode; - } - - public void setError( int _errorCode, String _errorString ) - { - mErrorCode = _errorCode; - mErrorString = _errorString; - } - - public String getErrorString() - { - return mErrorString; - } - - public String getExtraString() - { - return mExtraString; - } - - public void setExtraString( String _extraString ) - { - mExtraString = _extraString; - } - - public String dump() - { - String dump = ""; - - dump = "ErrorCode : " + getErrorCode() + "\n" + - "ErrorString : " + getErrorString() + "\n" + - "ExtraString : " + getExtraString(); - - return dump; - } -} diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/OwnedProductVo.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/OwnedProductVo.java deleted file mode 100644 index 4320c69..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/OwnedProductVo.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.samsung.android.sdk.iap.lib.vo; - -import android.util.Base64; -import android.util.Log; - -import org.json.JSONException; -import org.json.JSONObject; - -public class OwnedProductVo extends BaseVo -{ - private static final String TAG = OwnedProductVo.class.getSimpleName(); - - private String mPaymentId; - private String mPurchaseId; - private String mPurchaseDate; - private String mPassThroughParam; - - // Expiration date for a item which is "subscription" type - // ======================================================================== - private String mSubscriptionEndDate; - // ======================================================================== - - private String mJsonString = ""; - public OwnedProductVo() { } - - public OwnedProductVo(String _jsonString ) - { - super( _jsonString ); - - setJsonString( _jsonString ); - Log.i( TAG, mJsonString ); - - try - { - JSONObject jObject = new JSONObject( _jsonString ); - - setPaymentId( jObject.optString( "mPaymentId" ) ); - setPurchaseId( jObject.optString( "mPurchaseId" ) ); - setPurchaseDate( getDateString( jObject.optLong( "mPurchaseDate" ) ) ); - String decodedPassThroughParam = new String(Base64.decode(jObject.optString("mPassThroughParam"),0)); - setPassThroughParam( decodedPassThroughParam); - - setSubscriptionEndDate( getDateString( jObject.optLong( "mSubscriptionEndDate" ) ) ); - } - catch( JSONException e ) - { - e.printStackTrace(); - } - Log.d(TAG, "OwnedProductVo: \n"+ this.dump()); - } - - public String getPaymentId() { return mPaymentId; } - - public void setPaymentId( String _paymentId ) - { - mPaymentId = _paymentId; - } - - public String getPurchaseId() { return mPurchaseId; } - - public void setPurchaseId( String _purchaseId ) - { - mPurchaseId = _purchaseId; - } - - public String getPurchaseDate() - { - return mPurchaseDate; - } - - public void setPurchaseDate( String _purchaseDate ) { mPurchaseDate = _purchaseDate; } - - public String getSubscriptionEndDate() - { - return mSubscriptionEndDate; - } - - public void setSubscriptionEndDate( String _subscriptionEndDate ) - { - mSubscriptionEndDate = _subscriptionEndDate; - } - - public String getPassThroughParam() - { - return mPassThroughParam; - } - - public void setPassThroughParam( String _passThroughParam ) - { - mPassThroughParam = _passThroughParam; - } - - - public String getJsonString() - { - return mJsonString; - } - - public void setJsonString( String _jsonString ) - { - mJsonString = _jsonString; - } - - public String dump() - { - String dump = super.dump() + "\n"; - - dump += "PaymentID : " + getPaymentId() + "\n" + - "PurchaseID : " + getPurchaseId() + "\n" + - "PurchaseDate : " + getPurchaseDate() + "\n" + - "PassThroughParam : " + getPassThroughParam() + "\n" + - "SubscriptionEndDate : " + getSubscriptionEndDate(); - - return dump; - } -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ProductVo.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ProductVo.java deleted file mode 100644 index 3077b87..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/ProductVo.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.samsung.android.sdk.iap.lib.vo; - -import android.util.Log; - -import org.json.JSONException; -import org.json.JSONObject; - -public class ProductVo extends BaseVo -{ - private static final String TAG = ProductVo.class.getSimpleName(); - - //Subscription data - private String mSubscriptionDurationUnit; - private String mSubscriptionDurationMultiplier; - - private String mItemImageUrl; - private String mItemDownloadUrl; - private String mReserved1; - private String mReserved2; - private String mFreeTrialPeriod; - -// 미사용 -// private String mItemPricePSMS; - - private String mJsonString; - - public ProductVo(){} - - public ProductVo(String _jsonString ) - { - super( _jsonString ); - - setJsonString( _jsonString ); - Log.i( TAG, mJsonString ); - - try - { - JSONObject jObject = new JSONObject( _jsonString ); - - setSubscriptionDurationUnit( jObject.optString( "mSubscriptionDurationUnit" ) ); - - setSubscriptionDurationMultiplier( jObject.optString( "mSubscriptionDurationMultiplier" ) ); - - setItemImageUrl(jObject.optString( "mItemImageUrl" )); - setItemDownloadUrl(jObject.optString( "mItemDownloadUrl" )); - setReserved1(jObject.optString( "mReserved1" )); - setReserved2(jObject.optString( "mReserved2" )); - setFreeTrialPeriod(jObject.optString( "mFreeTrialPeriod" )); - } - catch( JSONException e ) - { - e.printStackTrace(); - } - } - - public String getSubscriptionDurationUnit() - { - return mSubscriptionDurationUnit; - } - - public void setSubscriptionDurationUnit( String _subscriptionDurationUnit ) - { - mSubscriptionDurationUnit = _subscriptionDurationUnit; - } - - public String getSubscriptionDurationMultiplier() - { - return mSubscriptionDurationMultiplier; - } - - public void setSubscriptionDurationMultiplier( - String _subscriptionDurationMultiplier ) - { - mSubscriptionDurationMultiplier = _subscriptionDurationMultiplier; - } - - public String getItemImageUrl() { return mItemImageUrl; } - public void setItemImageUrl( String _itemImageUrl ) - { - mItemImageUrl = _itemImageUrl; - } - - public String getItemDownloadUrl() { return mItemDownloadUrl; } - public void setItemDownloadUrl( String _itemDownloadUrl ) - { - mItemDownloadUrl = _itemDownloadUrl; - } - - public String getReserved1() { return mReserved1; } - public void setReserved1( String _reserved1 ) - { - mReserved1 = _reserved1; - } - - public String getReserved2() { return mReserved2; } - public void setReserved2( String _reserved2 ) - { - mReserved2 = _reserved2; - } - - public String getFreeTrialPeriod() { return mFreeTrialPeriod; } - public void setFreeTrialPeriod( String _freeTrialPeriod ){ mFreeTrialPeriod = _freeTrialPeriod; } - - public String getJsonString() - { - return mJsonString; - } - public void setJsonString( String _jsonString ) - { - mJsonString = _jsonString; - } - - public String dump() - { - String dump = super.dump() + "\n"; - - dump += "SubscriptionDurationUnit : " - + getSubscriptionDurationUnit() + "\n" + - "SubscriptionDurationMultiplier : " + - getSubscriptionDurationMultiplier() + "\n" + - "ItemImageUrl : " + getItemImageUrl() + "\n" + - "ItemDownloadUrl : " + getItemDownloadUrl() + "\n" + - "Reserved1 : " + getReserved1() + "\n" + - "Reserved2 : " + getReserved2() + "\n" + - "FreeTrialPeriod : " + getFreeTrialPeriod(); - return dump; - } -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/PurchaseVo.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/PurchaseVo.java deleted file mode 100644 index 07492a3..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/PurchaseVo.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.samsung.android.sdk.iap.lib.vo; - -import org.json.JSONException; -import org.json.JSONObject; - -import android.util.Base64; -import android.util.Log; - -public class PurchaseVo extends BaseVo -{ - private static final String TAG = PurchaseVo.class.getSimpleName(); - - private String mPaymentId; - private String mPurchaseId; - private String mPurchaseDate; - private String mVerifyUrl; - private String mPassThroughParam; - - private String mItemImageUrl; - private String mItemDownloadUrl; - private String mReserved1; - private String mReserved2; - - private String mJsonString; - - public PurchaseVo( String _jsonString ) - { - super( _jsonString ); - - setJsonString( _jsonString ); - Log.i( TAG, mJsonString ); - - try - { - JSONObject jObject = new JSONObject( _jsonString ); - - setPaymentId( jObject.optString( "mPaymentId" ) ); - setPurchaseId( jObject.optString( "mPurchaseId" ) ); - setPurchaseDate( getDateString( jObject.optLong( "mPurchaseDate" ) ) ); - String decodedPassThroughParam = new String(Base64.decode(jObject.optString("mPassThroughParam"),0)); - setPassThroughParam( decodedPassThroughParam); - - setItemImageUrl(jObject.optString( "mItemImageUrl" )); - setItemDownloadUrl(jObject.optString( "mItemDownloadUrl" )); - setReserved1(jObject.optString( "mReserved1" )); - setReserved2(jObject.optString( "mReserved2" )); - - setVerifyUrl( jObject.optString( "mVerifyUrl" ) ); - } - catch( JSONException e ) - { - e.printStackTrace(); - } - } - - public String getPaymentId() - { - return mPaymentId; - } - - public void setPaymentId( String _paymentId ) - { - mPaymentId = _paymentId; - } - - public String getPurchaseId() - { - return mPurchaseId; - } - - public void setPurchaseId( String _purchaseId ) - { - mPurchaseId = _purchaseId; - } - - public String getPurchaseDate() - { - return mPurchaseDate; - } - - public void setPurchaseDate( String _purchaseDate ) - { - mPurchaseDate = _purchaseDate; - } - - public String getVerifyUrl() - { - return mVerifyUrl; - } - - public void setVerifyUrl(String _verifyUrl) - { - mVerifyUrl = _verifyUrl; - } - - public String getPassThroughParam() - { - return mPassThroughParam; - } - - public void setPassThroughParam( String _passThroughParam ) - { - mPassThroughParam = _passThroughParam; - } - - public String getItemImageUrl() { return mItemImageUrl; } - public void setItemImageUrl( String _itemImageUrl ) - { - mItemImageUrl = _itemImageUrl; - } - - public String getItemDownloadUrl() { return mItemDownloadUrl; } - public void setItemDownloadUrl( String _itemDownloadUrl ) - { - mItemDownloadUrl = _itemDownloadUrl; - } - - public String getReserved1() { return mReserved1; } - public void setReserved1( String _reserved1 ) - { - mReserved1 = _reserved1; - } - - public String getReserved2() { return mReserved2; } - public void setReserved2( String _reserved2 ) - { - mReserved2 = _reserved2; - } - - - - - public String getJsonString() - { - return mJsonString; - } - - public void setJsonString( String _jsonString ) - { - mJsonString = _jsonString; - } - - public String dump() - { - String dump = super.dump() + "\n"; - - dump += "PaymentID : " + getPaymentId() + "\n" + - "PurchaseId : " + getPurchaseId() + "\n" + - "PurchaseDate : " + getPurchaseDate() + "\n" + - "PassThroughParam : " + getPassThroughParam() + "\n" + - "VerifyUrl : " + getVerifyUrl() + "\n" + - "ItemImageUrl : " + getItemImageUrl() + "\n" + - "ItemDownloadUrl : " + getItemDownloadUrl() + "\n" + - "Reserved1 : " + getReserved1() + "\n" + - "Reserved2 : " + getReserved2(); - - return dump; - } -} \ No newline at end of file diff --git a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/VerificationVo.java b/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/VerificationVo.java deleted file mode 100644 index 0b76aa3..0000000 --- a/IAP5Helper/src/main/java/com/samsung/android/sdk/iap/lib/vo/VerificationVo.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.samsung.android.sdk.iap.lib.vo; - -import org.json.JSONException; -import org.json.JSONObject; - -import android.util.Log; - -public class VerificationVo -{ - private static final String TAG = VerificationVo.class.getSimpleName(); - - private String mItemId; - private String mItemName; - private String mItemDesc; - private String mPurchaseDate; - private String mPaymentId; - private String mPaymentAmount; - private String mStatus; - - public VerificationVo( String _jsonString ) - { - try - { - JSONObject jObject = new JSONObject( _jsonString ); - - Log.i( TAG, jObject.toString(4) ); - - setItemId( jObject.optString( "itemId" ) ); - setItemName( jObject.optString( "itemName" ) ); - setItemDesc( jObject.optString( "itemDesc" ) ); - setPurchaseDate( jObject.optString( "purchaseDate" ) ); - setPaymentId( jObject.optString( "paymentId" ) ); - setPaymentAmount( jObject.optString( "paymentAmount" ) ); - setStatus( jObject.optString( "status" ) ); - - Log.i( TAG, dump() ); - } - catch( JSONException e ) - { - e.printStackTrace(); - } - catch( Exception e ) - { - e.printStackTrace(); - } - } - - public String getItemId() - { - return mItemId; - } - - public void setItemId( String _itemId ) - { - mItemId = _itemId; - } - - public String getItemName() - { - return mItemName; - } - - public void setItemName( String _itemName ) - { - mItemName = _itemName; - } - - public String getItemDesc() - { - return mItemDesc; - } - - public void setItemDesc( String _itemDesc ) - { - mItemDesc = _itemDesc; - } - - public String getPurchaseDate() - { - return mPurchaseDate; - } - - public void setPurchaseDate( String _purchaseDate ) - { - mPurchaseDate = _purchaseDate; - } - - public String getPaymentId() - { - return mPaymentId; - } - - public void setPaymentId( String _paymentId ) - { - mPaymentId = _paymentId; - } - - public String getPaymentAmount() - { - return mPaymentAmount; - } - - public void setPaymentAmount( String _paymentAmount ) - { - mPaymentAmount = _paymentAmount; - } - - public String getStatus() - { - return mStatus; - } - - public void setStatus( String _status ) - { - mStatus = _status; - } - - public String dump() - { - String dump = null; - - dump = "ItemId : " + getItemId() + "\n" + - "ItemName : " + getItemName() + "\n" + - "ItemDesc : " + getItemDesc() + "\n" + - "PurchaseDate : " + getPurchaseDate() + "\n" + - "PaymentId : " + getPaymentId() + "\n" + - "PaymentAmount : " + getPaymentAmount() + "\n" + - "Status : " + getStatus(); - - return dump; - } -} \ No newline at end of file diff --git a/IAP5Helper/src/main/res/drawable-hdpi/tw_widget_progressbar_effect_holo_light.png b/IAP5Helper/src/main/res/drawable-hdpi/tw_widget_progressbar_effect_holo_light.png deleted file mode 100644 index f8e90af625e08d13a7c418582e7f1239de90bbde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3462 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 diff --git a/IAP5Helper/src/main/res/drawable-mdpi/tw_widget_progressbar_effect_holo_light.png b/IAP5Helper/src/main/res/drawable-mdpi/tw_widget_progressbar_effect_holo_light.png deleted file mode 100644 index f8e90af625e08d13a7c418582e7f1239de90bbde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3462 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 diff --git a/IAP5Helper/src/main/res/drawable-xhdpi/tw_widget_progressbar_effect_holo_light.png b/IAP5Helper/src/main/res/drawable-xhdpi/tw_widget_progressbar_effect_holo_light.png deleted file mode 100644 index 2960eb02aa5be63d001b229714ced515a348aae4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4351 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 B&1L`q diff --git a/IAP5Helper/src/main/res/drawable-xhdpi/tw_widget_progressbar_holo_light.png b/IAP5Helper/src/main/res/drawable-xhdpi/tw_widget_progressbar_holo_light.png deleted file mode 100644 index 67f5018f20b2db689b172a8c76df6933e7727bfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4466 zcmaJ_c{r5q+aBvshDl`CG^ioWVx7r0%-D%B)+Eb}Ewh*zS(05LWGy0NEo6_BB`qqE zLbi~I3W-95(x>}cMsU=IcvfF;p9$q+M&hYy)R_8^4@J|pV@09+71q7%!> z$`a#6qo{iP#;Ar+=(}tHKu14>?%{Qs%z}85ef+4p(B;++D8!GX3w6}6LRis_$i9B2 zVGOcem^INW?6en}1l8Ar=!9T)1t?^e2PA|NKxJY=bfJIgVs_`hx8YF8Ul7)5UFd&I zIa%32jA#rpL_-y!;)T#eKs1r6NHujWEiGjT3V}qx5hyqkrGnJLsG%?j1my1rx*Lr_ z^2QKw#(&4!UFkx7Su8pR4i63vRt;8Dr7?WqNHiM#TLXns*+r-@L#Zr}5EUv@?vDbF z%=BXT(OG^pD&)7KhbJwFr3>A4`kxdi^nYZj%)iUDTQGQt2OW-7Mf^_b575f$|A$g2 z|Dc&H0{Opw|4(5iF_cb*6Ua@KJ#LTu(NEl6=1`3PBqYcq&+DIfGrEP@8 z;*5+D+6ZG~gpnrh4;M%C3ZjsytUp}Rf4SIy<^FC23Vk;+j?C~oLnawBXcWj_31j^J z-HX=0>ix|n{ks?Kf91k=&A@*j>;F3DKU=%K^LzSF)9x<*X?rqtx7QiFO)XqGVYhqH z=FD(dV#wH{D=p#VV^Q|1+r*heVAGpc{IJt<(FPV{*&x5n!>2^B70MbZLrUq~7Zun8 z*AJ)Q3@Hu%_MPv5_3|+Oga?I?eVy(GmQqb-kIyTEKqnU{3Mv|ld;&G!M2%T;>iWn1p#)O^P&0BTytF9^QlUc$FZzppgJFML_;$UAAU z2u#ZT24|=%k_At)s~z5*y?fN6AARuJ-hNrSV?O?F0xBAn#2Co-TDh(0p(w7zBe#`S z?z@i0*>zX3bIP3HF88X5`VkCqV6exaQnJfby#+@Tn}g$pB(_ug-Xs#Xgt8t^`+|dOd-8WhV)%P6Udg-@((+#AxVBkuX#zagk z(!xCZGn>atZ>+U%2RJ6=YnUS^Xgcn$>zP! zS#-wbO&a|;?am<6Vk%*?F!BZ$FTnQTw>`Y)6froEfqt8%W$gM$RR+QZr{w&q*VFvN z1W$NMkt_Y0i$G0K5a=Z_ZNQ7oLy@wrHG2DcJ_hM!P=NXQ8WHh<=h5w1oJsZ`hs~kK z(Oh^_T5%|!j0xSp>d|Kn#7&#wl8Ly}+n>aQnTUjyL*4DAktKox{=hE+xDOR}GkMt2 z9tT?8o)gd!!Lav1S>yfRCA&Y*y}d9~uPX1IyjE%0?P}3ISj&Tg-Kv}embhWt@5+c1 zONy?8x-uiTmj%IV0x;?mgStLYxHMTqvbktkBmZjS1gg4swv^{lRD&c-rdIDu*Y_~q z6q#?vZvJzN8e-(#k0Ux zpyyu&#NQXT-*K-S{=rV{`ms~{%Q>#1V^8-s7hoT3yRTXD+otISqJJ>uSRJ9KCCrAC zDVs9nyVMg^1oX4mv|m%X>^fbPQ`4mrv0`|zyw6>E-9UUy2R8oo+(Ah@@+p^(fH~_t zl4gL2;-KQ-Mp6BnSgeR+j2p!PR#7|xYZ;4e2$&oewV&@enX~;5W~z64?)>Ct^&~-?3bas$B>c@_p*M>C?K9!b|&+2Iz~mR_UsV zFK#Avb&+#LgPlCg4P%$(5|Wh?v)r>vsfII__Ks->a&@Dz<-zHpYwee=L??K3u(}m4 zZ;Exe?0gI4u;I;WR9O_QM_R_mHT2ZVxA6+}h|XxY)Joe4Q}fi5Ysr

oxsuL0=pw z;r9H>lM`ESPEW!_Z!W`a#CR4S4$u3GaE(0xCpzqhEA10^3(ct0c>XMy9&P}zEua+# zG`X52I#zQ*{jjg`J&NH zyY6;wxewqn;Z$*^?CtxYb%&q66Ne%SEz&uH%d@mk6eOQVBVxMfUO>@flE6@HQ7phQb{cARE8ERmIqec=!%47 zJyo$w;*(Ex<;>7NA!(L)SN>+7v&V$xSHp{iY;LFDBnezD1Vxa?`kVe zW}6BP8{MpBS8)=Yz}?w~l7iHCRs4$T={$9u>EagDwnJ^NMYgy;N`Z#J(nT=mFniDX z%1YUc7YYp#Sn8R1yR?R|*tTfh9ZQ&+zXlPeOas#fdq1(q+Vlhq?)!(B4obt^|>n*D%a* znG5bG*wm;HkBESDdQ|d;w<~9SlZm=mqv|Q!>Iy}!=a zRQhzbq8O1Up0L58czW~uBceI4C-ox=JX}`R9e#MM@3qx<#^R5TG2`f_g4hz}O5zRf}1DwK? z`EA5@k@N+kW}qyePfgy;WyO27*#TRfPm;O8vdJsj9LDdfUWW*&$JJgh9z7WqSu#lB z-FNsq)-yKivxX+)!1!7|$fbUC=hjrAgE#Q`Gpb|W7OBeRS69B&gQF&?l9f=E2LoF89H#O=9=R=xc9;Q0+xEh=wD+CA4Svv5j~-a!`uRu|}a=ge3reMlv6P-_?o(wX1!4806VNOAdzVre_DlKX7C zZ=RP=L&uWB0(!Lf@gd6)=#0kOFL{oWCqzD_J>0}|PbW6_Ruf-?@n>R(Q@?AvLPb78 ziBfH^(D`f|)uQW1YPaR|w3D4kty*`tfxXZCIdf;f9khUtaG4v|A3;E9qCry zOW--fTURb`jvkMsi_E^|k8$xcOrD7bmA^G7$?dDfMWuqx{ zGVroR%a@-nFT}YyFw1M)g4Dzqdt0!DkM1i><1Z&r06y3Fl|{=N#oCd(PSUhu(5k zb%v}I_F0}HO*Sl7$B+4I(5#xCY4zm4GCMmaEc?w`{w!6|Wu#cP%Z;sF7jLo?G`Jxt zhXS3gb9$-mw!X0(QMmUA6MoP^%$E8{Xd>QBFFF<9R22PPE$RiwO#Dn7_ReHJTz6@5 zy2cUg(9xO5B|rJfV}npSFZT(lRx^hZtVSz561ernI9n{8%XcE`(LQO*S>=(1g7d8x zWoOz;0y^`|tQ4vmy3c2cH2dM69*GA>_XiV0?p`%QUE)8Zu&=|}q0%$An#0(s;$!tTRq`OvxG+;` z+A^=6v<)S@C^-Y21l}pbTYu5mcYn!v3Z|hA!nS@KkKzDGK4}c(DdKtd`!9$Y-Wpe9 H=pOSw&pF0^ diff --git a/IAP5Helper/src/main/res/drawable-xxhdpi/tw_widget_progressbar_effect_holo_light.png b/IAP5Helper/src/main/res/drawable-xxhdpi/tw_widget_progressbar_effect_holo_light.png deleted file mode 100644 index 7e4cdecca5485dd4d8dfb58cc1e6826d22038bf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6121 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 F{{vSH>v;eG diff --git a/IAP5Helper/src/main/res/drawable/dialog_full_holo_light.9.png b/IAP5Helper/src/main/res/drawable/dialog_full_holo_light.9.png deleted file mode 100644 index e134c41a08952c062f799b69db689233f513cc62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2237 zcmaKudpHy98^gsxb*YA(tANTWI_jBFPbA7(|^W69KN)Wjf$_-W@yB9L$0r8Ho&vZBhDXO6V34?d2_^<+21Z7XD+nk6Aa=;f!48+? zzfkRztvU#DoVIcslP$0}m6k1o?NOYz1?H4E)E8$sxVt-mZ55D6r2})QJ!dMLv-52I z^0KQAnY>&9Kq%4~T3XgusO%NX7vHTHueUUL*BCSp4NhbVp5LMe1i;A2F=K0+uHmM@ zV;qYlflzMTctb{3%KB$YN~x)pmim?5GChuZUG~c!&z0TKO0c`9T^hpB;ZM+h%1m8y zUQOY?7X_4V({7EpR!O}DHaDzdbbs1WO#?~4#dxh{c}r?HjCtc0s-T@x0>6=}P(%t0 z@>cc+dL#W*nVeZ&-u{G4OYi~X%q!OhND(S0AZ$2gFNN!Icu1rL8Z8#DGRDEt8#=_J zdE%kV^bQ5jhqV_QPNI9VuXzf1tep{|2F5~xP!%ZXb-r)Dul(qH9AZE)nvij@dPd721lcd;ry$4_H|vxxVIZj=6WO^VFuq?k9X zOI4bfb8M8WJOmq>qg8NGD3m|ClwPK*^6Jk_Nu@p*k;_v5&{qR82YM2}&cAh5QByOh zF$wL%J?-yzpLo^ac>d$;?0v!R&NE=D*VR_faGcYoXeoWcMV7JZG2c2qK0dKAlb)Vl zkd`Ju*FNr2&_$Nn&YhkFe#mti@oPU2PRpVVX3ylG#U7M3?3IH(x_R?csUyw}bJ^ys zM0clI-(BNZq&8TyGf)%4He+9x{f`Q{rFfyY7JIIpvmFOn8)Koe;jCq?mEw^NNq?3)ZBw6~n}PK(9x)V*OO^Dr%_)>j*Rq@O!+xE_sJUQ;Pjj7i>lXBFbWUZl?-7*Z?SoEy`n-KRoE1AZ}8I#JGn(|?O79RH|+A? z$XKdo4DST6e+IPHQo?BN=<2@vmXj2==DsxvH{eUq(H%iPa=!%Gfie*T4RCt=;+~}L z3j3jB97zs#2en+}7wTUUweINApjfjOikf-Ss|}9v&wzilJVMlqzY7D&LCbq6Nn6wG zOXf*SGiung;t+kA7GhyC5S>LE!K0=q%$XF}aL<$RKdvrlK_tTcV%}|bqqQv{G~)Su2gru#h_)Vt zhP4@fuYR|Nl|gadxTe3YyVkYcU8L?-lVP$X4yhR;Z<{G#N8pY}l0HuYCVYy`Wkb0G z6B84#SRNW)nEuh|yG04gnAQuY_}!142_Q?W0vn-tL?0_Xb846oTmZ*U!kB8W)zJ|w z$jpzP1aI%5+lmLhw(k7#Wv`M#927mp9G6Lr*uqd^CA`E6`pN1dWage0|lm zF>1X1eowi+FN$&Ingu-@Yz1&JQyhdirWCtLER`JyPK*$Vew&q)Ah_4;3tqe zC_p&?Gy#Gu!+~%WIOqwij3nqcDFlT*RqP{>?ftk4_cEV2kPJ0koiOIiT&n1~G@ zP2=Zp>r;9yg5+LJx-#Cd}5QJD3jl?e)XV~p8kl8$m$R0nq9rn9R*h| zjg|zoBI{Db<-h5y?PfW!Z-Qb}T;>F)HK*m%d(NFsS;R?56Vl{=HKQCcI#YiO>H9lm zwwhl{`r3)23O#9g-%FB(%dO8rzT8%L9CWyHC?C38d%bN5GkKDZ-!f-WD1qi^$k?y$%eTz z7j6qJ&ssRYKTxxFO1CO8KP~6Tpr-nNXV4Y3vumG;R@M*M89i-$+&mThV12)p^zBum z2V01V2sJ*G=aT;*xZ>8zHgz@iU*cR}@U+iJrAEYw0%at^InU`jmBc0Gj$mqov;}c5 zc*iwr`uNvXtW({iZlFlTL>?cm32~l^=B^(j`J?G>UW@)nZ tq-{U=1!Wb^*#-af=LOoQuclYGB+CP&9ybzGmH594fD;nq(1Q4l^fyGZ3LO9d diff --git a/IAP5Helper/src/main/res/drawable/progressbar_middle.xml b/IAP5Helper/src/main/res/drawable/progressbar_middle.xml deleted file mode 100644 index 0dd4e41..0000000 --- a/IAP5Helper/src/main/res/drawable/progressbar_middle.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - diff --git a/IAP5Helper/src/main/res/drawable/tw_widget_progressbar_effect_holo_light.png b/IAP5Helper/src/main/res/drawable/tw_widget_progressbar_effect_holo_light.png deleted file mode 100644 index f8e90af625e08d13a7c418582e7f1239de90bbde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3462 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 diff --git a/IAP5Helper/src/main/res/layout/progress_dialog.xml b/IAP5Helper/src/main/res/layout/progress_dialog.xml deleted file mode 100644 index 77e87a3..0000000 --- a/IAP5Helper/src/main/res/layout/progress_dialog.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/IAP5Helper/src/main/res/values-ar/strings.xml b/IAP5Helper/src/main/res/values-ar/strings.xml deleted file mode 100644 index ebf5ea3..0000000 --- a/IAP5Helper/src/main/res/values-ar/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - حدث خطأ غير معلوم. - - عملية الشراء من داخل التطبيقات من Samsung - - يتعذر إجراء عملية شراء من داخل تطبيق Samsung. انتقل إلى الأذونات، ثم اسمح بالأذونات المطلوبة وحاول مجدداً. - - لشراء العناصر، يلزم تثبيت تطبيق تم شراؤه من Samsung. هل تريد التثبيت؟ - - تم تقديم قيمة غير صالحة لخدمة الشراء من داخل التطبيقات من Samsung‬. - - جارٍ الانتظار\u2026 - - تم إلغاء عملية الدفع. - - تحديث Galaxy Apps - - يتوفر إصدار جديد. سيتم تحديث Galaxy Apps إلى أحدث إصدار لإكمال عملية الشراء هذه. - diff --git a/IAP5Helper/src/main/res/values-as/strings.xml b/IAP5Helper/src/main/res/values-as/strings.xml deleted file mode 100644 index 8b23d71..0000000 --- a/IAP5Helper/src/main/res/values-as/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - অজ্ঞাত ত্ৰুটি ঘটিছে৷ - - চেমচাং ইন-এপ ক্ৰয় - - চেমচাং ইন-এপ ক্ৰয় খোলাত অক্ষম। অনুমতিলৈ যাওক, তাৰপিছত আৱশ্যকীয় অনুমতি অনুমোদন কৰক আৰু পুনঃচেষ্টা কৰক। - - আইটেমসমূহ ক্ৰয় কৰিবলৈ, আপুনি চেমচাং ইন-এপ পাৰচেজ ইনষ্টল কৰাটো প্ৰয়োজন। ইনষ্টল কৰিবনে? - - চেমচাং ইন-এপ ক্ৰয়ৰ বাবে এটা অমান্য মান প্ৰদান কৰা হৈছে৷ - - অপেক্ষাৰত\u2026 - - পৰিশোধ বাতিল কৰা হৈছে৷ - - Galaxy Apps আপডেট কৰক - - এটা নতুন সংস্কৰণ উপলব্ধ। এই ক্ৰয় সম্পূৰ্ণ কৰিবলৈ Galaxy Apps-ক শেহতীয়া সংস্কৰণলৈ আপডেট কৰা হ\'ব। - diff --git a/IAP5Helper/src/main/res/values-az-rAZ/strings.xml b/IAP5Helper/src/main/res/values-az-rAZ/strings.xml deleted file mode 100644 index 6e8ba36..0000000 --- a/IAP5Helper/src/main/res/values-az-rAZ/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Naməlum səhv baş verdi. - - Samsung In-App Purchase - - Samsung In-App Purchase-i açmaq olmadı. İcazələrə keçin və tələb edilən icazələri verib yenidən cəhd edin. - - Elementləri satın almaq üçün Samsung In-App Purchase quraşdırmalısınız. Quraşdırılsın? - - Samsung In-App Purchase üçün yalnış vahid təmin edilmişdir. - - Gözləyir\u2026 - - Ödəniş ləğv edildi. - - Galaxy Apps yenilə - - Yeni versiya mövcuddur. Bu satınalmanın tamamlanması üçün Galaxy Apps ən son versiyasına yenilənəcək. - diff --git a/IAP5Helper/src/main/res/values-be-rBY/strings.xml b/IAP5Helper/src/main/res/values-be-rBY/strings.xml deleted file mode 100644 index 8f8c1a0..0000000 --- a/IAP5Helper/src/main/res/values-be-rBY/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Адбылася невядомая памылка. - - Samsung In-App Purchase - - Немагчыма адкрыць Samsung In-App Purchase. Перайдзіце ў Дазволы, затым дайце неабходныя дазволы і паўтарыце спробу. - - Каб набываць тавары, вам неабходна ўсталяваць Samsung In-App Purchase. Усталяваць? - - Няправільнае значэнне было пададзена для Samsung In-App Purchase. - - Чаканне\u2026 - - Аплата скасавана. - - Абнавіць Galaxy Apps - - Даступна новая версія. Для завяршэння гэтай пакупкі Galaxy Apps будуць абноўлены да апошняй версіі. - diff --git a/IAP5Helper/src/main/res/values-bg/strings.xml b/IAP5Helper/src/main/res/values-bg/strings.xml deleted file mode 100644 index 94add26..0000000 --- a/IAP5Helper/src/main/res/values-bg/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Възникна неизвестна грешка. - - Покупка от прил. на Samsung - - Не може да се отвори „Покупка от приложение на Samsung“. Отидете на „Разрешения“, след което позволете необходимите разрешения и опитайте отново. - - За да закупите елементи, трябва да инсталирате Покупка от приложение на Samsung. Инсталиране? - - Предоставена е невалидна стойност за Покупка от приложение на Samsung. - - Изчакване\u2026 - - Плащането е отменено. - - Актуализиране на Galaxy Apps - - Налична е нова версия. Galaxy Apps ще се актуализира с последната версия, за да се завърши тази покупка. - diff --git a/IAP5Helper/src/main/res/values-bn-rBD/strings.xml b/IAP5Helper/src/main/res/values-bn-rBD/strings.xml deleted file mode 100644 index 2f3bb84..0000000 --- a/IAP5Helper/src/main/res/values-bn-rBD/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - অজানা ত্রুটি ঘটেছে। - - Samsung In-App Purchase - - Samsung In-App Purchase খুলতে অক্ষম৷ ‘অনুমতি’-তে যান, তারপর প্রয়োজনীয় অনুমতিগুলো দিয়ে আবার চেষ্টা করুন৷ - - আইটেম কেনার জন্য, আপনাকে Samsung In-App Purchase ইনস্টল করতে হবে৷ ইনস্টল করবেন? - - Samsung In-App Purchase-এর জন্য একটি অকার্যকর মান দেয়া হয়েছে৷ - - অপেক্ষমাণ\u2026 - - পেমেন্ট বাতিল হয়েছে৷ - - Galaxy Apps আপডেট করুন - - একটি নতুন সংস্করণ আছে৷ এই ক্রয় সম্পন্ন করতে Galaxy Apps সর্বসাম্প্রতিক সংস্করণে আপডেট করা হবে। - diff --git a/IAP5Helper/src/main/res/values-bn-rIN/strings.xml b/IAP5Helper/src/main/res/values-bn-rIN/strings.xml deleted file mode 100644 index 04acd55..0000000 --- a/IAP5Helper/src/main/res/values-bn-rIN/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - অজানা ত্রুটি ঘটেছে। - - স্যামসাং ইন-অ্যাপ পারচেস - - স্যামসাং ইন-অ্যাপ পারচেজ খুলতে অক্ষম। অনুমতিগুলিতে যান, তারপর প্রয়োজনীয় অনুমতিগুলি মঞ্জুর করুন এবং আবার চেষ্টা করুন। - - আইটেমগুলি কিনতে আপনার স্যামসাং ইন-অ্যাপ ক্রয় ইনস্টল করা প্রয়োজন৷ ইনস্টল করবেন? - - স্যামসাং ইন-অ্যাপ ক্রয়ের জন্য একটি অবৈধ মান সরবরাহিত হয়েছে। - - অপেক্ষা করা হচ্ছে\u2026 - - প্রদান বাতিল হয়েছে। - - Galaxy Apps আপডেট করুন - - একটি নতুন সংস্করণ সুলভ। এই কেনাকাটা সম্পূর্ণ করতে, Galaxy Apps সাম্প্রতিকতম সংস্করণে আপডেট হবে। - diff --git a/IAP5Helper/src/main/res/values-bo/strings.xml b/IAP5Helper/src/main/res/values-bo/strings.xml deleted file mode 100644 index f8fefc0..0000000 --- a/IAP5Helper/src/main/res/values-bo/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - རྒྱུས་མེད་ནོར་འཁྲུལ་བྱུང༌། - - Samsung In-App Purchase - - Samsung In-App Purchaseཁ་ཕྱེ་མི་ཐུབ།༼དབང་ཚད་༽ནང་ཞུགས་དགོས།དེ་རྗེས་གཤམ་གྱི་དབང་ཚད་སྤྲད་ནས་བསྐྱར་ཚོད་བྱེད་དགོས། - - གལ་ཏེ་ཉོ་སྒྲུབ་ཚོང་ཟོག།ཁྱེད་ནས་Samsung In-App Purchaseསྒྲིག་འཇུག་བྱེད་དགོས།སྒྲིག་འཇུག་བྱེད་དམ། - - Samsung In-App Purchaseལ་ཕན་མེད་གྲངས་ཞིག་ཐོབ་ཡོད། - - 请稍候\u2026 - - དངུལ་སྤྲོད་བྲིས་སུབ་གཏོང་བ། - - Galaxy་ཉེར་སྤྱོད་ཚོང་ཁང་གསར་སྒྱུར་བྱེད། - - པར་གཞི་གསར་བ་འདུགGalaxy་ཉེར་སྤྱོད་ཚོང་ཁང་གིས་པར་གཞི་གསར་ཤོས་སུ་གསར་སྒྱུར་བྱས་ནས་ཐེངས་འདིའི་དངོས་ཉོ་འགྲུབ་པར་བྱེད། - diff --git a/IAP5Helper/src/main/res/values-bs/strings.xml b/IAP5Helper/src/main/res/values-bs/strings.xml deleted file mode 100644 index 3ac8455..0000000 --- a/IAP5Helper/src/main/res/values-bs/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Unknown error occurred. - - Samsung In-App Purchase - - Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again. - - To purchase items, you need to install Samsung In-App Purchase. Install? - - An invalid value has been provided for Samsung In-App Purchase. - - Čekanje\u2026 - - Payment cancelled. - - Ažuriraj Galaxy Apps - - Dostupna je nova verzija. Prodavnica Galaxy Apps će se ažurirati na najnoviju verziju da bi se dovršila ova kupovina. - diff --git a/IAP5Helper/src/main/res/values-ca/strings.xml b/IAP5Helper/src/main/res/values-ca/strings.xml deleted file mode 100644 index e270a1a..0000000 --- a/IAP5Helper/src/main/res/values-ca/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - S\'ha produït un error desconegut - - Samsung In-App Purchase - - No es pot obrir Samsung In-App Purchase. Vagi a Permisos i, a continuació, permeti els permisos necessaris i torni-ho a intentar. - - Per comprar elements, cal que instal·li Samsung In-App Purchase. Instal·lar? - - S\'ha proporcionat un valor no vàlid per a In-App Purchase de Samsung - - En espera\u2026 - - Pagament cancel·lat - - Actualitzar Galaxy Apps - - Hi ha una versió nova disponible. S\'actualitzarà Galaxy Apps a l\'última versió per completar aquesta compra. - diff --git a/IAP5Helper/src/main/res/values-cs/strings.xml b/IAP5Helper/src/main/res/values-cs/strings.xml deleted file mode 100644 index cc2a0d6..0000000 --- a/IAP5Helper/src/main/res/values-cs/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Došlo k neznámé chybě. - - Nákup z aplikace Samsung - - Nepodařilo se spustit Nákup z aplikace Samsung. Přejděte na Oprávnění a potom povolte požadovaná oprávnění a opakujte akci. - - Chcete-li nakupovat, musíte nainstalovat modul nákupu z aplikace od společnosti Samsung. Instalovat? - - Byla poskytnuta neplatná hodnota pro nákup z aplikace Samsung. - - Čekám\u2026 - - Platba byla zrušena. - - Aktualizovat Galaxy Apps - - K dispozici je nová verze. Aby byl dokončen tento nákup, aplikace Galaxy Apps bude aktualizována na nejnovější verzi. - diff --git a/IAP5Helper/src/main/res/values-da/strings.xml b/IAP5Helper/src/main/res/values-da/strings.xml deleted file mode 100644 index 8e1360e..0000000 --- a/IAP5Helper/src/main/res/values-da/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Ukendt fejl opstod. - - Køb for. via Samsung-app - - Kan ikke åbne Køb foretaget via Samsung-app. Gå til Tilladelser, aktiver de krævede tilladelser, og prøv igen. - - For at købe elementer skal du installere Køb foretaget via Samsung-app. Installer? - - Der er angivet en ugyldig værdi for Køb foretaget via Samsung-app. - - Venter \u2026 - - Betaling annulleret. - - Opdater Galaxy Apps - - En ny version er tilgængelig. Galaxy Apps vil blive opdateret til den nyeste version, så du kan gennemføre dette køb. - diff --git a/IAP5Helper/src/main/res/values-de/strings.xml b/IAP5Helper/src/main/res/values-de/strings.xml deleted file mode 100644 index 9ab6611..0000000 --- a/IAP5Helper/src/main/res/values-de/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Unbekannter Fehler aufgetreten - - Samsung In-App Purchase - - Samsung In-App Purchase kann nicht geöffnet werden. Wechseln Sie zu „Berechtigungen“, erteilen Sie die erforderlichen Berechtigungen und versuchen Sie es anschließend erneut. - - Wenn Sie Artikel kaufen möchten, müssen Sie Samsung In-App-Kauf installieren. Installieren? - - Es wurde ein ungültiger Wert für Samsung In-App Purchase angegeben. - - Warten\u2026 - - Zahlung abgebrochen - - Aktualisieren von Galaxy Apps - - Eine neue Version ist verfügbar. Galaxy Apps wird auf die neueste Version aktualisiert, um diesen Kauf abzuschließen. - diff --git a/IAP5Helper/src/main/res/values-el/strings.xml b/IAP5Helper/src/main/res/values-el/strings.xml deleted file mode 100644 index e5547ce..0000000 --- a/IAP5Helper/src/main/res/values-el/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Παρουσιάστηκε άγνωστο σφάλμα. - - Samsung In-App Purchase - - Δεν είναι δυνατό το άνοιγμα του Samsung In-App Purchase. Μεταβείτε στα Δικαιώματα, παραχωρήστε τα παρακάτω δικαιώματα και, στη συνέχεια, δοκιμάστε ξανά. - - Πρέπει να εγκαταστήσετε το εργαλείο αγοράς εντός εφαρμογής της Samsung για να αγοράσετε στοιχεία. Να εγκατασταθεί; - - Δόθηκε μη έγκυρη τιμή για την αγορά εντός της εφαρμογής Samsung. - - Αναμονή\u2026 - - Η πληρωμή ακυρώθηκε. - - Ενημέρωση Galaxy Apps - - Υπάρχει διαθέσιμη νέα έκδοση. Για την ολοκλήρωση αυτής της αγοράς, το Galaxy Apps θα ενημερωθεί στην πιο πρόσφατη έκδοση. - diff --git a/IAP5Helper/src/main/res/values-en-rCA/strings.xml b/IAP5Helper/src/main/res/values-en-rCA/strings.xml deleted file mode 100644 index c5dbd6e..0000000 --- a/IAP5Helper/src/main/res/values-en-rCA/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Unknown error occurred. - - Samsung In-App Purchase - - Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again. - - To purchase items, you need to install Samsung In-App Purchase. Install it? - - An invalid value has been provided for Samsung In-App Purchase. - - Waiting\u2026 - - Payment cancelled. - - Update Galaxy Apps - - A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase. - diff --git a/IAP5Helper/src/main/res/values-en-rPH/strings.xml b/IAP5Helper/src/main/res/values-en-rPH/strings.xml deleted file mode 100644 index 0bf8492..0000000 --- a/IAP5Helper/src/main/res/values-en-rPH/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Unknown error occurred. - - Samsung In-App Purchase - - Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again. - - To purchase items, you need to install Samsung In-App Purchase. Install? - - An invalid value has been provided for Samsung In-App Purchase. - - Waiting\u2026 - - Payment canceled. - - Update Galaxy Apps - - A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase. - diff --git a/IAP5Helper/src/main/res/values-en-rUS/strings.xml b/IAP5Helper/src/main/res/values-en-rUS/strings.xml deleted file mode 100644 index 82f1225..0000000 --- a/IAP5Helper/src/main/res/values-en-rUS/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Unknown error occurred. - - Samsung In-App Purchase - - Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again. - - To purchase items, you need to install Samsung In-App Purchase. Install? - - An invalid value has been provided for Samsung In-App Purchase. - - Waiting\u2026 - - Payment cancelled. - - Update Galaxy Apps - - A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase. - diff --git a/IAP5Helper/src/main/res/values-en-rZG/strings.xml b/IAP5Helper/src/main/res/values-en-rZG/strings.xml deleted file mode 100644 index 82f1225..0000000 --- a/IAP5Helper/src/main/res/values-en-rZG/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Unknown error occurred. - - Samsung In-App Purchase - - Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again. - - To purchase items, you need to install Samsung In-App Purchase. Install? - - An invalid value has been provided for Samsung In-App Purchase. - - Waiting\u2026 - - Payment cancelled. - - Update Galaxy Apps - - A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase. - diff --git a/IAP5Helper/src/main/res/values-en/strings.xml b/IAP5Helper/src/main/res/values-en/strings.xml deleted file mode 100644 index 82f1225..0000000 --- a/IAP5Helper/src/main/res/values-en/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Unknown error occurred. - - Samsung In-App Purchase - - Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again. - - To purchase items, you need to install Samsung In-App Purchase. Install? - - An invalid value has been provided for Samsung In-App Purchase. - - Waiting\u2026 - - Payment cancelled. - - Update Galaxy Apps - - A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase. - diff --git a/IAP5Helper/src/main/res/values-es-rES/strings.xml b/IAP5Helper/src/main/res/values-es-rES/strings.xml deleted file mode 100644 index 42ee5d2..0000000 --- a/IAP5Helper/src/main/res/values-es-rES/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Error desconocido. - - Samsung In-App Purchase - - No se puede abrir Samsung In-App Purchase. Ve a Permisos y, a continuación, concede los permisos necesarios e inténtalo de nuevo. - - Para comprar elementos, debes instalar Samsung In-App Purchase. ¿Instalar? - - Se ha proporcionado un valor no válido para Samsung In-App Purchase. - - Esperando\u2026 - - Pago cancelado. - - Actualizar Galaxy Apps - - Hay una versión nueva disponible. Se actualizará Galaxy Apps a la versión más reciente para completar esta compra. - diff --git a/IAP5Helper/src/main/res/values-es-rUS/strings.xml b/IAP5Helper/src/main/res/values-es-rUS/strings.xml deleted file mode 100644 index 7fd5dce..0000000 --- a/IAP5Helper/src/main/res/values-es-rUS/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Error desconocido. - - Compra en aplic. Samsung - - No es posible abrir Compra desde la aplicación Samsung. Vaya a Permisos, otorgue los permisos necesarios e inténtelo de nuevo. - - Para comprar estos elementos, debe instalar Compra desde la aplicación Samsung. ¿Instalar? - - Se proporcionó un valor no válido para Compra desde la aplicación Samsung. - - Esperando\u2026 - - Pago cancelado. - - Actualizar Galaxy Apps - - Hay una versión nueva disponible. Galaxy Apps se actualizará a la versión más reciente para finalizar la compra. - diff --git a/IAP5Helper/src/main/res/values-et-rEE/strings.xml b/IAP5Helper/src/main/res/values-et-rEE/strings.xml deleted file mode 100644 index de77849..0000000 --- a/IAP5Helper/src/main/res/values-et-rEE/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Ilmnes tundmatu torge. - - Samsung In-App Purchase - - Rakendust Samsung In-App Purchase ei saa avada. Avage menüü Õigused, seejärel kinnitage vajalikud õigused ja proovige uuesti. - - Üksuste ostmiseks peate installima rakenduse Samsung In-App Purchase. Kas installida? - - Rakenduse Samsung In-App Purchase jaoks on sisestatud vale vaartus. - - Ootel\u2026 - - Makse on tühistatud. - - Rakenduse Galaxy Apps värskendamine - - Saadaval on uus versioon. Rakendus Galaxy Apps värskendatakse selle ostu sooritamiseks uusimale versioonile. - diff --git a/IAP5Helper/src/main/res/values-eu-rES/strings.xml b/IAP5Helper/src/main/res/values-eu-rES/strings.xml deleted file mode 100644 index 56f3bc0..0000000 --- a/IAP5Helper/src/main/res/values-eu-rES/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Errore ezezaguna gertatu da - - Samsung In-App Purchase - - Ezin da Samsung In-App Purchase ireki. Joan Baimenak atalera, onartu beharrezko baimenak eta saiatu berriz. - - Elementuak erosteko, Samsung In-App Erosketa instalatu behar duzu. Instalatu? - - Balio baliogabea eman da Samsung In-App erosketan - - Itxaroten\u2026 - - Ordainketa utzita - - Eguneratu Galaxy Apps - - Bertsio berri bat dago erabilgarri. Galaxy Apps bertsio berrienera eguneratuko da erosketa hau osatzearren. - diff --git a/IAP5Helper/src/main/res/values-fa/strings.xml b/IAP5Helper/src/main/res/values-fa/strings.xml deleted file mode 100644 index 9991c0a..0000000 --- a/IAP5Helper/src/main/res/values-fa/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - خطای نامشخصی رخ داد. - - خرید درون برنامه سامسونگ - - باز کردن خرید درون برنامه سامسونگ ممکن نیست. به مجوزها بروید، سپس به مجوزهای مورد نیاز اجازه داده و دوباره امتحان کنید. - - برای خرید موارد، باید خرید درون برنامه سامسونگ را نصب کنید. نصب شود؟ - - یک مقدار نادرست برای خرید درون برنامه سامسونگ ارائه شده است. - - در انتظار\u2026 - - پرداخت لغو شد. - - به‌روزرسانی Galaxy Apps - - نسخه جدیدی در دسترس است. برای تکمیل این خرید، Galaxy Apps به جدیدترین نسخه به‌روزرسانی خواهد شد. - diff --git a/IAP5Helper/src/main/res/values-fi/strings.xml b/IAP5Helper/src/main/res/values-fi/strings.xml deleted file mode 100644 index df617f2..0000000 --- a/IAP5Helper/src/main/res/values-fi/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Tuntematon virhe - - Samsung In-App Purchase - - Samsung In-App Purchasea ei voi avata. Valitse Käyttöoikeudet, myönnä tarvittavat oikeudet ja yritä uudelleen. - - Samsung In-App Purchase on asennettava tuotteiden ostamista varten. Asennetaanko? - - Samsung In-App Purchaselle on annettu virheellinen arvo. - - Odotetaan\u2026 - - Maksu on peruutettu. - - Päivitä Galaxy Apps - - Uusi versio saatavilla. Galaxy Apps päivitetään uusimpaan versioon tämän ostoksen viimeistelemiseksi. - diff --git a/IAP5Helper/src/main/res/values-fr-rCA/strings.xml b/IAP5Helper/src/main/res/values-fr-rCA/strings.xml deleted file mode 100644 index aef119a..0000000 --- a/IAP5Helper/src/main/res/values-fr-rCA/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Une erreur inconnue est survenue. - - Samsung In-App Purchase - - Impossible d\'ouvrir Samsung In-App Purchase. Accédez à Autorisations, puis accordez les autorisations requises et réessayez. - - Pour acheter des articles, vous devez installer le système Achat dans l\'application Samsung. Installer ? - - Une valeur non valide a été fournie pour Achat dans l\'application Samsung. - - Patientez\u2026 - - Paiement annulé. - - Mise à jour de Galaxy Apps - - Une nouvelle version est disponible. L\'application Galaxy Apps va être mise à jour vers la dernière version pour terminer cet achat. - diff --git a/IAP5Helper/src/main/res/values-fr/strings.xml b/IAP5Helper/src/main/res/values-fr/strings.xml deleted file mode 100644 index 801ad8d..0000000 --- a/IAP5Helper/src/main/res/values-fr/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Une erreur inconnue est survenue. - - Samsung In-App Purchase - - Impossible d\'ouvrir Samsung In-App Purchase. Accédez à Autorisations, puis accordez les autorisations requises et réessayez. - - Pour acheter des articles, vous devez installer l\'application Samsung In-App Purchase. Installer ? - - Une valeur non valide a été fournie dans Samsung In-App Purchase. - - Patientez\u2026 - - Paiement annulé - - Mise à jour de Galaxy Apps - - Une nouvelle version est disponible. L\'application Galaxy Apps va être mise à jour vers la dernière version pour terminer cet achat. - diff --git a/IAP5Helper/src/main/res/values-ga/strings.xml b/IAP5Helper/src/main/res/values-ga/strings.xml deleted file mode 100644 index 6c3b337..0000000 --- a/IAP5Helper/src/main/res/values-ga/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Tharla earráid anaithnid - - Ceann. i bhF.chlár Samsung - - Ní féidir Ceannach i bhFeidhmchlár Samsung a oscailt. Gabh chuig Ceadanna, ansin ceadaigh na ceadanna atá de dhíth agus triail arís. - - Tá Samsung In-App Purchase de dhíth ort le míreanna a cheannach. Suiteáil? - - Soláthraíodh luach neamhbhailí do Cheannach i bhFeidhmchlár Samsung - - Ag feitheamh\u2026 - - Íocaíocht curtha ar ceal. - - Nuashonraigh Galaxy Apps - - Tá leagan nua ar fáil. Nuashonrófar Galaxy Apps chuig an leagan is déanaí leis an gceannachán seo a chur i gcrích. - diff --git a/IAP5Helper/src/main/res/values-gl-rES/strings.xml b/IAP5Helper/src/main/res/values-gl-rES/strings.xml deleted file mode 100644 index 62852c2..0000000 --- a/IAP5Helper/src/main/res/values-gl-rES/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Houbo un erro descoñecido - - Samsung In-App Purchase - - Non se pode abrir Samsung In-App Purchase. Vai a Permisos e, a continuación, concede os permisos necesarios e téntao outra vez. - - Para mercar elementos, precisas instalar Compra de aplicacións interna de Samsung. Desexas instalalo? - - Forneceuse un valor non válido para Samsung In-App Purchase - - Esperando\u2026 - - Pagamento cancelado - - Actualizar Galaxy Apps - - Hai unha nova versión dispoñible. Galaxy Apps actualizarase á versión máis recente para completar esta compra. - diff --git a/IAP5Helper/src/main/res/values-gu-rIN/strings.xml b/IAP5Helper/src/main/res/values-gu-rIN/strings.xml deleted file mode 100644 index 1c8de71..0000000 --- a/IAP5Helper/src/main/res/values-gu-rIN/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - અજ્ઞાત ભૂલ થઈ છે. - - સેમસંગ ઇન-એપ ખરીદી - - સેમસંગ ઇન-એપ ખરીદી ખોલવામાં અસમર્થ. પરવાનગીઓ પર જાઓ, પછી નીચે આપેલ પરવાનગીઓની મંજૂરી આપો અને ફરી પ્રયાસ કરો. - - વસ્તુઓ ખરીદવા માટે, તમને સેમસંગ ઇન-એપ્લિકેશન પરચેઝ સ્થાપિત કરવાની આવશ્યકતા છે. સ્થાપિત કરીએ? - - સેમસંગ ઇન-એપ ખરીદી માટે એક અમાન્ય મૂલ્ય પ્રદાન કરવામાં આવ્યું છે. - - પ્રતીક્ષા કરી રહ્યું છે\u2026 - - ચૂકવણી રદ કરી. - - Galaxy Apps અપડેટ કરો - - એક નવું સંસ્કરણ ઉપલબ્ધ છે. આ ખરીદી પૂર્ણ કરવા માટે Galaxy Apps ને નવીનતમ સંસ્કરણમાં અપડેટ કરવામાં આવશે. - diff --git a/IAP5Helper/src/main/res/values-hi/strings.xml b/IAP5Helper/src/main/res/values-hi/strings.xml deleted file mode 100644 index d149d45..0000000 --- a/IAP5Helper/src/main/res/values-hi/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - अज्ञात त्रुटि पाई गई - - सैमसंग इन-एप खरीद - - सैमसंग इन-एप खरीदारी खोलने में असमर्थ। अनुमतियाँ पर जाएँ, फिर आवश्यक अनुमतियों को अनुमति दें और फिर से प्रयास करें। - - मदें खरीदने के लिए, आपको सैमसंग इन-एप परचेस़ स्थापित करना आवश्यक हैं। स्थापित करें? - - सैमसंग इन-एप परचेज के लिए कोई अमान्य मान प्रदान किया गया है। - - प्रतीक्षा कर रहा है\u2026 - - भुगतान रद्द किया गया। - - Galaxy Apps अपडेट करें - - एक नया संस्करण उपलब्ध है। यह खरीदारी पूर्ण करने के लिए Galaxy Apps को नवीनतम संस्करण पर अपडेट किया जाएगा। - diff --git a/IAP5Helper/src/main/res/values-hr/strings.xml b/IAP5Helper/src/main/res/values-hr/strings.xml deleted file mode 100644 index 8fbb9cf..0000000 --- a/IAP5Helper/src/main/res/values-hr/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Nepoznata greška - - Samsung kup. unutar apl. - - Nije moguće otvoriti Samsung kupnju unutar aplikacije. Idite na Dopuštenja, a zatim dajte potrebna dopuštenja i pokušajte ponovno. - - Da biste kupili stavke, morate instalirati Samsung kupnju unutar aplikacije. Instalirati? - - Pružena je neispravna vrijednost za Samsung kupnju unutar aplikacije. - - Čekajte\u2026 - - Plaćanje otkazano. - - Aktualizacija trgovine Galaxy Apps - - Dostupna je nova verzija. Za dovršetak kupnje trgovina Galaxy Apps aktualizirat će se na najnoviju verziju. - diff --git a/IAP5Helper/src/main/res/values-hu/strings.xml b/IAP5Helper/src/main/res/values-hu/strings.xml deleted file mode 100644 index fd4084a..0000000 --- a/IAP5Helper/src/main/res/values-hu/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Ismeretlen eredetű hiba történt. - - Samsung Beépített bolt - - Nem lehet megnyitni a Samsung Beépített bolt alkalmazást. Lépjen be az Engedélyek menüpontba, adja meg a szükséges engedélyeket, majd próbálja újra. - - Vásárláshoz telepítenie kell a Samsung beépített bolt alkalmazást. Telepíti? - - Érvénytelen érték lett megadva a Samsung Beépített bolt számára. - - Várakozás\u2026 - - Fizetés megszakítva. - - Galaxy Apps frissítése - - Rendelkezésre áll egy új verzió. A vásárlás befejezéséhez a rendszer a legújabb verzióra frissíti a Galaxy Apps alkalmazást. - diff --git a/IAP5Helper/src/main/res/values-hy-rAM/strings.xml b/IAP5Helper/src/main/res/values-hy-rAM/strings.xml deleted file mode 100644 index d65fd87..0000000 --- a/IAP5Helper/src/main/res/values-hy-rAM/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Անհայտ սխալ տեղի ունեցավ: - - Samsung In-App Purchase - - Անհնար է բացել Samsung In-App Purchase-ը: Գնացեք «Թույլտվություններ», տվեք պահանջվող թույլտվությունները և նորից փորձեք: - - Տարրեր գնելու համար հարկավոր է տեղադրել Samsung In-App Purchase. Տեղադրե՞լ: - - Անվավեր արժեք է տրամադրվել Samsung In-App Purchase-ի համար: - - Սպասում է\u2026 - - Վճարումը դադարեցվեց: - - Թարմացնել Galaxy Apps-ը - - Նոր վարկած է մատչելի: Galaxy Apps-ը կթարմացվի ամենավերջին վարկածով՝ այս գնումը կատարելու համար: - diff --git a/IAP5Helper/src/main/res/values-in/strings.xml b/IAP5Helper/src/main/res/values-in/strings.xml deleted file mode 100644 index c1eaed0..0000000 --- a/IAP5Helper/src/main/res/values-in/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Terjadi kesalahan tak dikenal. - - Samsung In-App Purchase - - Tidak dapat membuka Pembelian dalam Aplikasi Samsung. Buka Izin, lalu perbolehkan izin berikut dan coba lagi. - - Untuk membeli item, Anda perlu menginstal Samsung In-App Purchase. Instal? - - Nilai tidak valid dimasukkan ke Samsung In-App Purchase. - - Menunggu\u2026 - - Pembayaran dibatalkan. - - Perbarui Galaxy Apps - - Versi baru tersedia. Galaxy Apps akan diperbarui ke versi terbaru untuk menyelesaikan pembelian ini. - diff --git a/IAP5Helper/src/main/res/values-is-rIS/strings.xml b/IAP5Helper/src/main/res/values-is-rIS/strings.xml deleted file mode 100644 index 736cfbb..0000000 --- a/IAP5Helper/src/main/res/values-is-rIS/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Óþekkt villa kom upp. - - Samsung kaup í forriti - - Ekki er hægt að opna Samsung kaup í forriti. Opnaðu „Heimildir“, veittu síðan nauðsynlegar heimildir og reyndu aftur. - - Þú þarft að setja upp Samsung In-App Purchase til að kaupa atriði. Viltu setja það upp? - - Ógilt gildi var gefið upp fyrir Samsung kaup í forriti. - - Í bið\u2026 - - Hætt við greiðslu. - - Uppfæra Galaxy Apps - - Ný útgáfa er í boði. Galaxy Apps verður uppfært í nýjustu útgáfu til að ljúka við þessi kaup. - diff --git a/IAP5Helper/src/main/res/values-it/strings.xml b/IAP5Helper/src/main/res/values-it/strings.xml deleted file mode 100644 index 54a72a7..0000000 --- a/IAP5Helper/src/main/res/values-it/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Si è verificato un errore sconosciuto. - - Acquisti in-app Samsung - - Impossibile aprire Acquisti in-app Samsung. Andate in Autorizzazioni, quindi concedete le autorizzazioni necessarie e riprovate. - - Per acquistare degli elementi, è necessario installare l\'applicazione Acquisti in-app Samsung. Installare? - - È stato fornito un valore non valido per l\'applicazione Acquisti in-app Samsung. - - In attesa\u2026 - - Pagamento annullato. - - Aggiorna Galaxy Apps - - È disponibile una nuova versione. Per completare l\'acquisto, Galaxy Apps verrà aggiornato alla versione più recente. - diff --git a/IAP5Helper/src/main/res/values-iw/strings.xml b/IAP5Helper/src/main/res/values-iw/strings.xml deleted file mode 100644 index 86a6ef7..0000000 --- a/IAP5Helper/src/main/res/values-iw/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - ארעה שגיאה לא ידועה. - - Samsung In-App Purchase - - לא ניתן לפתוח את Samsung In-App Purchase. עבור אל \'הרשאות\', אשר את ההרשאות הנדרשות ונסה שוב. - - כדי לרכוש פריטים, עליך להתקין את \'רכישה מתוך היישום של Samsung\'. להתקין? - - סופק ערך לא תקין עבור רכישה מתוך היישום של Samsung. - - ממתין\u2026 - - התשלום בוטל. - - עדכן את Galaxy Apps - - גרסה חדשה זמינה. כדי להשלים רכישה זו, Galaxy Apps יעודכן לגרסה החדשה ביותר. - diff --git a/IAP5Helper/src/main/res/values-ja/strings.xml b/IAP5Helper/src/main/res/values-ja/strings.xml deleted file mode 100644 index 2115d13..0000000 --- a/IAP5Helper/src/main/res/values-ja/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - 不明なエラーが発生しました。 - - Samsung In-App Purchase - - Samsung In-App Purchaseを起動できません。[権限]に移動し、必要な権限を許可してから再度実行してください。 - - アイテムを購入するには、Samsung In-App Purchaseをインストールする必要があります。インストールしますか? - - 無効な値がSamsung In-App Purchaseに提供されています。 - - 待機中\u2026 - - 支払いがキャンセルされました。 - - Galaxy Appsを更新 - - 新しいバージョンが利用可能です。購入手続きを完了するために、Galaxy Appsを最新バージョンに更新します。 - diff --git a/IAP5Helper/src/main/res/values-ka-rGE/strings.xml b/IAP5Helper/src/main/res/values-ka-rGE/strings.xml deleted file mode 100644 index 435ac91..0000000 --- a/IAP5Helper/src/main/res/values-ka-rGE/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - მოხდა უცნობი შეცდომა. - - Samsung In-App Purchase - - Samsung In-App Purchase-ს გახსნა შეუძლებელია. გახსენით „ნებართვები“, შემდეგ კი დართეთ საჭირო ნებართვები და ისევ სცადეთ. - - ელემენტების შესაძენად უნდა დააინსტალიროთ Samsung In-App Purchase. დაინსტალირდეს? - - არასწორი მნიშვნელობაა მითითებული Samsung In-App Purchase სისტემაში. - - ელოდება\u2026 - - გადახდა გაუქმდა. - - Galaxy Apps-ის განახლება - - გამოვიდა ახალი ვერსია. Galaxy Apps განახლდება უახლესი ვერსიით, რომ შესრულდეს ეს შეძენა. - diff --git a/IAP5Helper/src/main/res/values-kk-rKZ/strings.xml b/IAP5Helper/src/main/res/values-kk-rKZ/strings.xml deleted file mode 100644 index 8f98457..0000000 --- a/IAP5Helper/src/main/res/values-kk-rKZ/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Белгісіз қате пайда болды. - - Samsung In-App Purchase - - Samsung In-App Purchase ашу мүмкін болмады. “Рұқсаттар” бөліміне өтіп, қажетті рұқсаттарды беріңіз, кейін әрекетті қайталаңыз. - - Элементтерді сатып алу үшін Samsung In-App Purchase бағдарламасын орнату керек. Орнату керек пе? - - Samsung In-App Purchase бағдарламасы үшін жарамсыз мән көрсетілген. - - Күтуде\u2026 - - Төлемнен бас тартылды. - - Galaxy Apps қолданбасын жаңарту - - Жаңа нұсқа қолжетімді. Осы сатып алуды аяқтау үшін, Galaxy Apps қолданбасы ең соңғы нұсқаға жаңартылады. - diff --git a/IAP5Helper/src/main/res/values-km-rKH/strings.xml b/IAP5Helper/src/main/res/values-km-rKH/strings.xml deleted file mode 100644 index bd56ddb..0000000 --- a/IAP5Helper/src/main/res/values-km-rKH/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - កំហុស​មិន​ស្គាល់​បាន​កើតឡើង។ - - Samsung In-App Purchase - - មិន​អាច​បើក Samsung In-App Purchase។ ចូលទៅ​ការអនុញ្ញាត រួច​ផ្ដល់​ការអនុញ្ញាត​ដែល​ត្រូវការ ហើយ​សាកល្បង​ម្ដងទៀត។ - - ដើម្បី​ទិញ​ធាតុនានា អ្នក​ចាំបាច់ត្រូវ​ដំឡើង Samsung In-App Purchase។ ដំឡើង? - - បាន​ផ្ដល់​តម្លៃ​អសុពលភាព​សម្រាប់​ការទិញ​ក្នុង​កម្មវិធី Samsung។ - - កំពុង​រង់ចាំ\u2026 - - បាន​បោះបង់​ការបង់ប្រាក់។ - - អាប់ដេត Galaxy Apps - - មាន​កំណែ​ថ្មី។ Galaxy Apps នឹង​ត្រូវ​បាន​អាប់ដេត​ទៅ​កំណែ​ថ្មី​បំផុត ដើម្បី​បញ្ចប់​ការទិញ​នេះ។ - diff --git a/IAP5Helper/src/main/res/values-kn-rIN/strings.xml b/IAP5Helper/src/main/res/values-kn-rIN/strings.xml deleted file mode 100644 index fa334f0..0000000 --- a/IAP5Helper/src/main/res/values-kn-rIN/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - ಅಜ್ಞಾತ ದೋಷ ಸಂಭವಿಸಿದೆ. - - ಸ್ಯಾಮ್‌ಸಂಗ್ ಇನ್-ಅನ್ವಯಿಸುವಿಕೆ ಖರೀದಿ - - Samsung ಇನ್-ಅನ್ವಯಿಸುವಿಕೆ ಖರೀದಿಯನ್ನು ತೆರೆಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಅನುಮತಿಗಳಿಗೆ ಹೋಗಿ, ನಂತರ ಕೆಳಗಿನ ಅನುಮತಿಗಳನ್ನು ಅನುಮತಿಸಿ ಹಾಗೂ ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ. - - ಅಂಶಗಳನ್ನು ಖರೀದಿಸಲು, ನೀವು ಸ್ಯಾಮ್‌ಸಂಗ್‌ ಇನ್‌-ಆಪ್‌ ಪರ್ಚೇಸ್‌ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದು ಅಗತ್ಯವಾಗಿರುತ್ತದೆ. ಸ್ಥಾಪಿಸುವುದೇ? - - ಸ್ಯಾಮ್‌ಸಂಗ್ ಇನ್-ಅನ್ವಹಿಸುವಿಕೆ ಖರೀದಿಗಾಗಿ ಅಮಾನ್ಯ ಮೌಲ್ಯವನ್ನು ಒದಗಿಸಲಾಗಿದೆ. - - ನಿರೀಕ್ಷಿಸುತ್ತಿದೆ\u2026 - - ಪಾವತಿಸುವಿಕೆ ರದ್ದಾಗಿದೆ. - - Galaxy Apps ನವೀಕರಿಸಿ - - ಒಂದು ಹೊಸ ಆವೃತ್ತಿ ಲಭ್ಯವಿದೆ. ಈ ಖರೀದಿಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು Galaxy Appsನ್ನು ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಗೆ ನವೀಕರಿಸಲಾಗುತ್ತದೆ. - diff --git a/IAP5Helper/src/main/res/values-ko/strings.xml b/IAP5Helper/src/main/res/values-ko/strings.xml deleted file mode 100644 index ce3fc0d..0000000 --- a/IAP5Helper/src/main/res/values-ko/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - 알 수 없는 오류가 발생했습니다. - - 삼성 인앱결제 - - 삼성 인앱결제를 실행할 수 없습니다. [권한]에서 다음 권한을 허용한 후 다시 시도하세요. - - 상품을 구매하려면 [삼성 인앱결제]이 필요합니다. 설치할까요? - - 삼성 인앱결제에 입력한 값이 바르지 않습니다. - - 대기 중\u2026 - - 결제를 취소합니다. - - Galaxy Apps 업데이트 - - Galaxy Apps의 새 버전이 있습니다. 구매를 완료하기 위해 Galaxy Apps를 최신 버전으로 업데이트합니다. - diff --git a/IAP5Helper/src/main/res/values-ky-rKG/strings.xml b/IAP5Helper/src/main/res/values-ky-rKG/strings.xml deleted file mode 100644 index e31b0ee..0000000 --- a/IAP5Helper/src/main/res/values-ky-rKG/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Белгисиз ката пайда болду - - Samsung In-App Purchase - - Samsung In-App Purchase\'ди ачуу мүмкүн эмес. Уруксаттарга барыңыз, андан соң төмөнкүлөргө уруксат берип, дагы аракеттениңиз. - - Нерселерди сатып алуу үчүн, сизге Samsung In-App Purchase орнотуу керек. Орнотуубу? - - Samsung In-App Purchase үчүн орунсуз нарк берилди - - Күтүүдө\u2026 - - Төлөм токтотулду - - Galaxy Apps\'ты жаңыртуу - - Жаңы нуска жеткиликтүү. Galaxy Apps эң акыркы нускасына жаңыланып, бул сатып алууну аяктайт. - diff --git a/IAP5Helper/src/main/res/values-lo-rLA/strings.xml b/IAP5Helper/src/main/res/values-lo-rLA/strings.xml deleted file mode 100644 index b9e0a75..0000000 --- a/IAP5Helper/src/main/res/values-lo-rLA/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - ເກີດຄວາມຜິດພາດບໍ່ຮູ້ຈັກຂຶ້ນ. - - Samsung In-App Purchase - - ບໍ່ສາມາດເປີດ Samsung In-App Purchase. ໄປທີ່ການອະນຸຍາດ, ຈາກນັ້ນອະນຸຍາດການອະນຸຍາດທີ່ຕ້ອງການ ແລະລອງໃໝ່ອີກ. - - ເພື່ອຊື້ລາຍການຕ່າງໆ, ທ່ານຈໍາເປັນຕ້ອງຕິດຕັ້ງການຊື້ແອບຢູ່ໃນຊໍາຊູງ. ຕິດຕັ້ງບໍ? - - ຄ່າທີ່ໃຫ້ກັບການຊື້ແອັບໃນຊໍາຊຸງໃຊ້ບໍ່ໄດ້. - - ກໍາລັງລໍຖ້າ\u2026 - - ການຊໍາລະຖືກຍົກເລີກ. - - ອັບເດດ Galaxy Apps - - ລຸ້ນໃໝ່ມີຢູ່. Galaxy Apps ຈະຖືກອັບເດດເປັນລຸ້ນຫຼ້າສຸດ ເພື່ອຊື້ອັນນີ້ໃຫ້ສໍາເລັດ. - diff --git a/IAP5Helper/src/main/res/values-lt/strings.xml b/IAP5Helper/src/main/res/values-lt/strings.xml deleted file mode 100644 index 882b012..0000000 --- a/IAP5Helper/src/main/res/values-lt/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Įvyko nežinoma klaida. - - Samsung In-App Purchase - - Negalima atidaryti „Samsung In-App Purchase“. Eikite į „Leidimai“, tada suteikite reikiamus leidimus ir bandykite dar kartą. - - Norėdami įsigyti elementų, turite įdiegti „Samsung In-App Purchase“. Įdiegti? - - „Samsung In-App Purchase“ buvo pateikta neteisinga reikšmė. - - Laukiama\u2026 - - Mokėjimas atšauktas. - - Naujinti „Galaxy Apps“ - - Yra nauja versija. Siekiant užbaigti šį pirkimą, „Galaxy Apps“ bus atnaujinta į naujausią versiją. - diff --git a/IAP5Helper/src/main/res/values-lv/strings.xml b/IAP5Helper/src/main/res/values-lv/strings.xml deleted file mode 100644 index fb75c98..0000000 --- a/IAP5Helper/src/main/res/values-lv/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Radās nezināma kļūda. - - Samsung In-App Purchase - - Nevar atvērt Samsung In-App Purchase. Izvēlieties Atļaujas, pēc tam aktivizējiet nepieciešamās atļaujas un mēģiniet vēlreiz. - - Lai iegādātos objektus, ir jāinstalē Samsung In-App Purchase. Vai instalēt? - - Izmantojot Samsung In-App Purchase funkciju, tika norādīta nederīga vērtība. - - Gaida\u2026 - - Maksājums ir atcelts. - - Atjaunināt Galaxy Apps - - Pieejama jauna versija. Lai veiktu šo pirkumu, programma Galaxy Apps tiks atjaunināta uz jaunāko versiju. - diff --git a/IAP5Helper/src/main/res/values-mg/strings.xml b/IAP5Helper/src/main/res/values-mg/strings.xml deleted file mode 100644 index 82f1225..0000000 --- a/IAP5Helper/src/main/res/values-mg/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Unknown error occurred. - - Samsung In-App Purchase - - Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again. - - To purchase items, you need to install Samsung In-App Purchase. Install? - - An invalid value has been provided for Samsung In-App Purchase. - - Waiting\u2026 - - Payment cancelled. - - Update Galaxy Apps - - A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase. - diff --git a/IAP5Helper/src/main/res/values-mk-rMK/strings.xml b/IAP5Helper/src/main/res/values-mk-rMK/strings.xml deleted file mode 100644 index 8a9842a..0000000 --- a/IAP5Helper/src/main/res/values-mk-rMK/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Дојде до непозната грешка. - - Samsung In-App Purchase - - Не може да се отвори Samsung In-App Purchase. Одете во Дозволи, а потоа овозможете ги бараните дозволи и обидете се повторно. - - За да купувате ставки, треба да го инсталирате Samsung купување во апликација. Да се инсталира? - - Дадена е неважечка вредност за Samsung In-App Purchase. - - Се чека\u2026 - - Плаќањето е одложено. - - Ажурирање на Galaxy Apps - - Достапна е нова верзија. Galaxy Apps ќе се ажурира на најновата верзија за да го завршите купувањево. - diff --git a/IAP5Helper/src/main/res/values-ml-rIN/strings.xml b/IAP5Helper/src/main/res/values-ml-rIN/strings.xml deleted file mode 100644 index cf0b675..0000000 --- a/IAP5Helper/src/main/res/values-ml-rIN/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - അജ്ഞാത പിശക് സംഭവിച്ചു. - - സാംസങ്ങ് ഇൻ-ആപ്ലിക്കേഷൻ വാങ്ങൽ - - സാംസങ്ങ് ഇൻ-ആപ്ലിക്കേഷൻ വാങ്ങൽ തുറക്കാനാവില്ല. അനുമതികൾ എന്നതിലേക്ക് പോവുക, തുടർന്ന് ആവശ്യമായ അനുമതികൾ അനുവദിച്ച ശേഷം വീണ്ടും ശ്രമിക്കുക. - - ഇനങ്ങള്‍ വാങ്ങുന്നതിന്, നിങ്ങള്‍ സാംസംഗ് ഇന്‍-ആപ്ലിക്കേഷന്‍ പര്‍ച്ചെയ്സ് ഇന്‍സ്റ്റാള്‍ ചെയ്യേണ്ടതുണ്ട്. ഇന്‍സ്റ്റാള്‍ ചെയ്യണോ? - - സാംസംഗ് ഇൻ-ആപ്ലിക്കേഷൻ വാങ്ങലിന് ലഭ്യമാക്കിയത് അസാധുവായ ഒരു മൂല്യമാണ്. - - കാക്കുന്നു\u2026 - - പണമടയ്ക്കല്‍ റദ്ദാക്കി. - - Galaxy Apps അപ്ഡേറ്റ് ചെയ്യുക - - പുതിയൊരു പതിപ്പ് ലഭ്യമാണ്. ഈ വാങ്ങൽ പൂർത്തിയാക്കുന്നതിനായി Galaxy Apps ഏറ്റവും പുതിയ പതിപ്പിലേക്ക് അപ്ഡേറ്റ് ചെയ്യപ്പെടും. - diff --git a/IAP5Helper/src/main/res/values-mn-rMN/strings.xml b/IAP5Helper/src/main/res/values-mn-rMN/strings.xml deleted file mode 100644 index 258d5cc..0000000 --- a/IAP5Helper/src/main/res/values-mn-rMN/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Үл мэдэх алдаа гарав - - Samsung In-App Purchase - - Samsung In-App Purchase-г нээх боломжгүй. Зөвшөөрөл рүү ороод шаардлагатай зөвшөөрлийг олгоод дахин оролд. - - Зүйлс худалдан авахын тулд, та Samsung In-App Purchase суулгах шаардлагатай. Суулгах уу? - - Samsung In-App Purchase-д хүчингүй утга өгөгдсөн - - Хүлээж байна\u2026 - - Төлбөр цуцалсан. - - Galaxy Apps шинэчлэх - - Шинэ хувилбар боломжтой. Энэ худалдан авалтыг дуусгахын тулд Galaxy Apps-г сүүлийн хувилбарт шинэчлэнэ. - diff --git a/IAP5Helper/src/main/res/values-mr-rIN/strings.xml b/IAP5Helper/src/main/res/values-mr-rIN/strings.xml deleted file mode 100644 index 9a289ee..0000000 --- a/IAP5Helper/src/main/res/values-mr-rIN/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - अज्ञात त्रुटी आली. - - सॅमसंग इन-ऍप खरेदी - - सॅमसंग इन-ऍप पर्चेस उघडण्यात अक्षम. परवानग्यांवर जा, नंतर आवश्यक परवानग्‍यांना अनुमती द्या आणि पुन्‍हा प्रयत्‍न करा. - - आयटेम्स खरेदी करण्यासाठी, आपण सॅमसंग इन-ऍप पर्चेस इन्स्टॉल करणे गरजेचे आहे. इन्स्टॉल करायचे? - - सॅमसंग इन-ऍप पर्चेससाठी एक अग्राह्य मूल्य पुरवले गेले आहे. - - प्रतीक्षा करत आहे\u2026 - - देय रद्द केलेले. - - Galaxy Apps अद्ययावत करा - - नवीन आवृत्ती उपलब्‍ध आहे. ही खरेदी पूर्ण करण्या साठी Galaxy Apps नवीनतम आवृत्तीत अद्ययावत केले जाईल. - diff --git a/IAP5Helper/src/main/res/values-ms-rMY/strings.xml b/IAP5Helper/src/main/res/values-ms-rMY/strings.xml deleted file mode 100644 index d302bab..0000000 --- a/IAP5Helper/src/main/res/values-ms-rMY/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Ralat tidak diketahui berlaku. - - Samsung In-App Purchase - - Tidak dapat membuka Samsung In-App Purchase. Pergi ke Kebenaran, kemudian berikan kebenaran yang diperlukan dan cuba lagi. - - Untuk membeli item, anda perlu memasang Belian Dalam Aplikasi Samsung. Pasang? - - Nilai tidak sah telah disediakan untuk Samsung In-App Purchase. - - Menunggu\u2026 - - Pembayaran dibatalkan. - - Kemas kini Galaxy Apps - - Versi baru tersedia. Galaxy Apps akan dikemas kini ke versi terkini untuk menyelesaikan pembelian ini. - diff --git a/IAP5Helper/src/main/res/values-my-rMM/strings.xml b/IAP5Helper/src/main/res/values-my-rMM/strings.xml deleted file mode 100644 index 81396fa..0000000 --- a/IAP5Helper/src/main/res/values-my-rMM/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - မသိသော အမှား ဖြစ်သွားသည်။ - - Samsung In-App ဝယ်ယူမှု - - Samsung In-App ဝယ်ယူမှုကို ဖွင့်၍မရနိုင်ပါ။ ခွင့်ပြုချက်များသို့သွားပြီးနောက် လိုအပ်သည့် ခွင့်ပြုချက်များကို ခွင့်ပြုပြီး ထပ်မံကြိုးစားပါ။ - - To purchase items, you need to install Samsung In-App Purchase. Install? - - An invalid value has been provided for Samsung In-App Purchase. - - စောင့်နေဆဲ\u2026 - - ပေးချေမှု ပယ်ဖျက်ထားသည်။ - - Galaxy Apps ကို အပ်ဒိတ်လုပ်ပါ - - ဗားရှင်း အသစ်တစ်ခု အရန်သင့် ရနိုင်ပါသည်။ ဤဝယ်ယူမှု ပြီးမြောက်စေရန် Galaxy Apps ကို နောက်ဆုံးထုတ် ဗားရှင်းသို့ အပ်ဒိတ်လုပ်ပါလိမ့်မည်။ - diff --git a/IAP5Helper/src/main/res/values-my-rZG/strings.xml b/IAP5Helper/src/main/res/values-my-rZG/strings.xml deleted file mode 100644 index c409b18..0000000 --- a/IAP5Helper/src/main/res/values-my-rZG/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - မသိရေသာ အမွား ျဖစ္ပြားသည္။ - - Samsung In-App ဝယ္ယူမႈ - - Samsung In-App ဝယ္ယူမႈကို ဖြင့္၍မရႏိုင္ပါ။ ခြင့္ျပဳခ်က္မ်ားသို႔သြားၿပီးေနာက္ လိုအပ္သည့္ ခြင့္ျပဳခ်က္မ်ားကို ခြင့္ျပဳၿပီး ထပ္မံႀကိဳးစားပါ။ - - ပစၥည္းမ်ား ဝယ္ရန္ Samsung In-App ဝယ္ယူမႈ တပ္ဆင္ဖို႔ လိုသည္။ တပ္ဆင္မည္လား? - - Samsung In-App ဝယ္ယူမႈအတြက္ အက်ဳံးမဝင္ေသာ တန္ဖိုးတစ္ခု ေပးထားသည္။ - - ေစာင့္ေနဆဲ\u2026 - - ေပးေခ်မႈ ပယ္ဖ်က္ထားသည္။ - - Galaxy Apps ကုိ အပ္ဒိတ္လုပ္ပါ - - ဗားရွင္း အသစ္တစ္ခု အရန္သင့္ ရႏိုင္ပါသည္။ ဤဝယ္ယူမႈ ၿပီးေျမာက္ေစရန္ Galaxy Apps ကို ေနာက္ဆုံးထုတ္ ဗားရွင္းသို႔ အပ္ဒိတ္လုပ္ပါလိမ့္မည္။ - diff --git a/IAP5Helper/src/main/res/values-nb/strings.xml b/IAP5Helper/src/main/res/values-nb/strings.xml deleted file mode 100644 index cdfc49e..0000000 --- a/IAP5Helper/src/main/res/values-nb/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Ukjent feil oppstod. - - Samsung In-App Purchase - - Kan ikke åpne Samsung In-App Purchase. Gå til Tillatelser, tillat de nødvendige tillatelsene, og prøv igjen. - - Du må installere Samsung In-App Purchase før du kan kjøpe noe. Installere? - - Det har blitt oppgitt en ugyldig verdi for Samsung In-App Purchase. - - Venter\u2026 - - Betaling avbrutt. - - Oppdater Galaxy Apps - - En ny versjon er tilgjengelig. Galaxy Apps blir oppdatert til den nyeste versjonen for å fullføre dette kjøpet. - diff --git a/IAP5Helper/src/main/res/values-ne-rNP/strings.xml b/IAP5Helper/src/main/res/values-ne-rNP/strings.xml deleted file mode 100644 index 0a80722..0000000 --- a/IAP5Helper/src/main/res/values-ne-rNP/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - अज्ञात त्रुटि देखियो। - - सैमसंग इन-एप खरिद - - सैमसंग इन-एप खरिद खोल्न असमर्थ। अनुमतिहरूमा जानुहोस्, त्यसपछि आवश्यक अनुमतिहरू दिनुहोस् र फेरि प्रयास गर्नुहोस्। - - वस्तुहरू खरिद गर्नको लागि, सैमसंग इन-एप पर्चेज स्थापना गर्न आवश्यक छ। स्थापना गर्ने? - - सैमसंग इन-एप खरीद को लागि एउटा अमान्य मान प्रदान गरिएको छ। - - प्रतीक्षा गर्दै\u2026 - - भुक्तानी रद्द गरियो। - - Galaxy Apps लाई अपडेट गर्नुहोस् - - एउटा नयाँ संस्करण उपलब्ध छ। यो खरिद पूरा गर्न Galaxy Apps लाई नवीनतम संस्करणमा अपडेट गरिने छ। - diff --git a/IAP5Helper/src/main/res/values-ne/strings.xml b/IAP5Helper/src/main/res/values-ne/strings.xml deleted file mode 100644 index 0a80722..0000000 --- a/IAP5Helper/src/main/res/values-ne/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - अज्ञात त्रुटि देखियो। - - सैमसंग इन-एप खरिद - - सैमसंग इन-एप खरिद खोल्न असमर्थ। अनुमतिहरूमा जानुहोस्, त्यसपछि आवश्यक अनुमतिहरू दिनुहोस् र फेरि प्रयास गर्नुहोस्। - - वस्तुहरू खरिद गर्नको लागि, सैमसंग इन-एप पर्चेज स्थापना गर्न आवश्यक छ। स्थापना गर्ने? - - सैमसंग इन-एप खरीद को लागि एउटा अमान्य मान प्रदान गरिएको छ। - - प्रतीक्षा गर्दै\u2026 - - भुक्तानी रद्द गरियो। - - Galaxy Apps लाई अपडेट गर्नुहोस् - - एउटा नयाँ संस्करण उपलब्ध छ। यो खरिद पूरा गर्न Galaxy Apps लाई नवीनतम संस्करणमा अपडेट गरिने छ। - diff --git a/IAP5Helper/src/main/res/values-nl/strings.xml b/IAP5Helper/src/main/res/values-nl/strings.xml deleted file mode 100644 index 59dca90..0000000 --- a/IAP5Helper/src/main/res/values-nl/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Onbekende netwerkfout opgetreden - - Samsung Kopen in app - - Kan Samsung Kopen in app niet openen. Ga naar Machtigingen, sta de vereiste machtigingen toe en probeer het opnieuw. - - Als u artikelen wilt kopen, moet u Samsung Kopen in app installeren. Installeren? - - Er is een ongeldige waarde opgegeven voor Samsung Kopen in app. - - Wachten\u2026 - - Betaling geannuleerd. - - Galaxy Apps bijwerken - - Er is een nieuwe versie beschikbaar. Galaxy Apps wordt bijgewerkt tot de laatste versie om deze aankoop te voltooien. - diff --git a/IAP5Helper/src/main/res/values-or/strings.xml b/IAP5Helper/src/main/res/values-or/strings.xml deleted file mode 100644 index b512502..0000000 --- a/IAP5Helper/src/main/res/values-or/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - ଅଜଣା ତ୍ରୁଟି ଘଟିଛି। - - ସାମସଙ୍ଗ ଇନ-ଆପସ୍ କ୍ରୟ - - ସାମସଙ୍ଗ ଇନ-ଆପସ୍ କ୍ରୟ ଖୋଲିବାକୁ ଅସମର୍ଥ। ଅନୁମତିଗୁଡିକୁ ଯାଆନ୍ତୁ, ତାପରେ ଆବଶ୍ୟକୀୟ ଅନୁମତିଗୁଡିକ ଅନୁମତି ଦିଅନ୍ତୁ ଏବଂ ପୁନଃଚେଷ୍ଟା କରନ୍ତୁ। - - ଆଇଟମ୍ କ୍ରୟ କରିବାକୁ, ଆପଣ ସାମ୍‌ସଙ୍ଗ ଇନ୍-ଆପ୍ କ୍ରୟସଂସ୍ଥାପନ କରିବା ଆବଶ୍ୟକ କରନ୍ତି। ସଂସ୍ଥାପନ କରିବେ? - - Samsung In-App Purchase ପାଇଁ ଏକ ଅବୈଧ ମୂଲ୍ୟ ପ୍ରଦାନ କରାଯାଇଛି। - - ଅପେକ୍ଷା କରୁଛି\u2026 - - ଦେୟ ବାତିଲ୍ ହୋଇଛି। - - Galaxy Apps ଅପଡେଟ୍‌ କରନ୍ତୁ - - ଏକ ନୂତନ ସଂସ୍କରଣ ଉପଲବ୍ଧ। Galaxy Apps ଏହି କ୍ରୟ ସମ୍ପୂର୍ଣ୍ଣ କରିବାକୁ ନବୀନତ୍ତମ ସଂସ୍କରଣକୁ ଅପଡେଟ୍‌ ହେବ। - diff --git a/IAP5Helper/src/main/res/values-pa-rIN/strings.xml b/IAP5Helper/src/main/res/values-pa-rIN/strings.xml deleted file mode 100644 index 86cec7c..0000000 --- a/IAP5Helper/src/main/res/values-pa-rIN/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - ਅਗਿਆਤ ਤਰੁੱਟੀ ਉਤਪੰਨ ਹੋਈ। - - ਸੈਮਸੰਗ ਇਨ-ਐਪ ਖਰੀਦਦਾਰੀ - - ਸੈਮਸੰਗ ਇਨ-ਐਪ ਭੁਗਤਾਨ ਨੂੰ ਖੋਲ੍ਹਣ ਵਿੱਚ ਅਸਮਰੱਥ। ਅਨੁਮਤੀਆਂ ਤੇ ਜਾਉ, ਫਿਰ ਲੋੜੀਂਦੀਆਂ ਅਨੁਮਤੀਆਂ ਨੂੰ ਆਗਿਆ ਦਿਉ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। - - ਆਈਟਮ ਖਰੀਦਣ ਦੇ ਲਈ, ਤੁਹਾਨੂੰ ਸੈਮਸੰਗ ਇਨ-ਐਪ ਪਰਚੇਜ਼ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਸਥਾਪਿਤ ਕਰੋ? - - ਸੈਮਸੰਗ ਇਨ-ਐਪ ਪਰਚੇਜ਼ ਦੇ ਲਈ ਇੱਕ ਅਵੈਧ ਮਾਨ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। - - ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ\u2026 - - ਭੁਗਤਾਨ ਰੱਦ ਕੀਤੀ ਗਈ। - - Galaxy Apps ਨੂੰ ਅਪਡੇਟ ਕਰੋ - - ਇੱਕ ਨਵਾਂ ਸੰਸਕਰਣ ਉਪਲਬਧ ਹੈ। ਇਸ ਖਰੀਦਦਾਰੀ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ Galaxy Apps ਨੂੰ ਨਵੀਨਤਮ ਸੰਸਕਰਣ ਤੇ ਅਪਡੇਟ ਕੀਤਾ ਜਾਵੇਗਾ। - diff --git a/IAP5Helper/src/main/res/values-pl-rSP/strings.xml b/IAP5Helper/src/main/res/values-pl-rSP/strings.xml deleted file mode 100644 index f976668..0000000 --- a/IAP5Helper/src/main/res/values-pl-rSP/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Zaszeł niyznany feler - - Sprowōnki rajn apl. Samsung - - Niy idzie ôdewrzić aplikacyji Sprŏwōnki we strzodku aplikacyji fyrmy Samsung. Przelyź do Uprŏwniyń, a potym załōncz wymŏgane uprŏwniynia i badnij drugi rŏz. - - Cobyś poradziōł kupować elemynty, trza zainsztalować usuga Zakupy w aplikacyji gyszeftu Samsung. Zainsztalować? - - Do usugi Zakupy w aplikacyji gyszeftu Samsung dostarczōno niyprawŏ wartość. - - Czekanie… - - Płat pociepany. - - Uaktualniynie Galaxy Apps - - Do chycynio je nowo wersyjo. Aplikacyjo Galaxy Apps bydzie uaktualniōno do nojnowszyj wersyji coby zrobić tyn sprŏwōnek. - diff --git a/IAP5Helper/src/main/res/values-pl/strings.xml b/IAP5Helper/src/main/res/values-pl/strings.xml deleted file mode 100644 index 20ded52..0000000 --- a/IAP5Helper/src/main/res/values-pl/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Wystąpił nieznany błąd. - - Zakupy wewn. apl. Samsung - - Nie można otworzyć aplikacji Zakupy wewnątrz aplikacji firmy Samsung. Przejdź do Uprawnień, a następnie włącz wymagane uprawnienia i spróbuj ponownie. - - Aby móc kupować elementy, musisz zainstalować usługę Zakupy wewnątrz aplikacji firmy Samsung. Zainstalować? - - Do usługi Zakupy wewnątrz aplikacji firmy Samsung dostarczono nieprawidłową wartość. - - Oczekiwanie\u2026 - - Płatność anulowana. - - Aktualizacja Galaxy Apps - - Dostępna jest nowa wersja. Aplikacja Galaxy Apps zostanie zaktualizowana do najnowszej wersji w celu dokonania tego zakupu. - diff --git a/IAP5Helper/src/main/res/values-pt-rBR/strings.xml b/IAP5Helper/src/main/res/values-pt-rBR/strings.xml deleted file mode 100644 index 54b6d4e..0000000 --- a/IAP5Helper/src/main/res/values-pt-rBR/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Ocorreu erro desconhecido. - - Compra no aplic. Samsung - - Não é possível abrir Compra no aplicativo Samsung. Vá para Permissões, autorize as permissões necessárias e tente novamente. - - Para comprar itens, é necessário instalar o Compra no Aplicativo Samsung. Instalar? - - Um valor inválido foi fornecido para a Compra no aplicativo Samsung. - - Aguardando\u2026 - - Pagamento cancelado. - - Atualizar o Galaxy Apps - - Uma nova versão está disponível. O Galaxy Apps será atualizado para a versão mais recente para concluir esta compra. - diff --git a/IAP5Helper/src/main/res/values-pt-rPT/strings.xml b/IAP5Helper/src/main/res/values-pt-rPT/strings.xml deleted file mode 100644 index 31b3cdb..0000000 --- a/IAP5Helper/src/main/res/values-pt-rPT/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Ocorreu erro desconhecido. - - Samsung In-App Purchase - - Impossível abrir a Samsung In-App Purchase. Aceda a Permissões, autorize as permissões necessárias e tente novamente. - - Para comprar itens, tem de instalar a Samsung In-App Purchase. Instalar? - - Foi fornecido um valor inválido para Samsung In-App Purchase. - - A aguardar\u2026 - - Pagamento cancelado. - - Actualizar Galaxy Apps - - Está disponível uma nova versão. A Galaxy Apps será actualizada para a versão mais recente, para concluir esta compra. - diff --git a/IAP5Helper/src/main/res/values-ro/strings.xml b/IAP5Helper/src/main/res/values-ro/strings.xml deleted file mode 100644 index 3ee6923..0000000 --- a/IAP5Helper/src/main/res/values-ro/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - A avut loc o eroare necunoscută. - - Achiz. Samsung din apl. - - Nu se poate deschide Achiziţionare Samsung din cadrul aplicaţiilor. Accesaţi Permisiuni, apoi acordaţi permisiunile necesare şi încercaţi din nou. - - Pentru a achiziţiona elemente, trebuie să instalaţi Achiziţionarea Samsung din cadrul aplicaţiilor. Instalaţi? - - A fost furnizată o valoare nevalidă pentru Achiziţionarea Samsung din cadrul aplicaţiilor. - - Se aşteaptă\u2026 - - Plată anulată - - Actualizare Galaxy Apps - - Este disponibilă o nouă versiune. Galaxy Apps se va actualiza la cea mai recentă versiune pentru a finaliza achiziția. - diff --git a/IAP5Helper/src/main/res/values-ru/strings.xml b/IAP5Helper/src/main/res/values-ru/strings.xml deleted file mode 100644 index 768df9a..0000000 --- a/IAP5Helper/src/main/res/values-ru/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Возникла неизвестная ошибка. - - Samsung In-App Purchase - - Невозможно открыть Samsung In-App Purchase. Перейдите в “Разрешения” и повторите попытку, предоставив необходимые разрешения. - - Для покупки необходимо установить Samsung In-App Purchase. Установить? - - Указано недопустимое значение для Samsung In-App Purchase. - - Ожидание\u2026 - - Платеж отменен. - - Обновление Galaxy Apps - - Доступна новая версия Galaxy Apps. Для завершения покупки приложение будет обновлено до последней версии. - diff --git a/IAP5Helper/src/main/res/values-si-rLK/strings.xml b/IAP5Helper/src/main/res/values-si-rLK/strings.xml deleted file mode 100644 index 2c217e2..0000000 --- a/IAP5Helper/src/main/res/values-si-rLK/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - නොදන්නා දෝෂයක් ඇතිවිය. - - සැම්සුං අ.-යෙදුම් මි. ගැ. - - සැම්සුං අන්තර්-යෙදුම් මිලට ගැනුම විවෘත කළ නොහැක. අවසර වෙත යන්න, එවිට අවශ්‍ය අවසරයන්ට ඉඩ දී නැවත උත්සාහ කරන්න. - - අයිතම මිල දී ගැනීමට ඔබ Samsung Apps-තුළ මිලදී ගැනීම ස්ථාපනය කරගත යුතුය. ස්ථාපනය කරන්නද? - - Samsung Apps-තුළ මිලදී ගැනීම් සඳහා අවලංගු අගයක් සපයා ඇත. - - රැඳී සිටිමින්\u2026 - - ගෙවීම අවලංගු විය. - - Galaxy Apps යාවත්කාලය - - නව අනුවාදයක් ඇත. මෙම මිලට ගැනුම සම්පූර්ණ කිරීමට Galaxy Apps නවතම අනුවාදයට යාවත්කාල වනු ඇත. - diff --git a/IAP5Helper/src/main/res/values-si/strings.xml b/IAP5Helper/src/main/res/values-si/strings.xml deleted file mode 100644 index 2c217e2..0000000 --- a/IAP5Helper/src/main/res/values-si/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - නොදන්නා දෝෂයක් ඇතිවිය. - - සැම්සුං අ.-යෙදුම් මි. ගැ. - - සැම්සුං අන්තර්-යෙදුම් මිලට ගැනුම විවෘත කළ නොහැක. අවසර වෙත යන්න, එවිට අවශ්‍ය අවසරයන්ට ඉඩ දී නැවත උත්සාහ කරන්න. - - අයිතම මිල දී ගැනීමට ඔබ Samsung Apps-තුළ මිලදී ගැනීම ස්ථාපනය කරගත යුතුය. ස්ථාපනය කරන්නද? - - Samsung Apps-තුළ මිලදී ගැනීම් සඳහා අවලංගු අගයක් සපයා ඇත. - - රැඳී සිටිමින්\u2026 - - ගෙවීම අවලංගු විය. - - Galaxy Apps යාවත්කාලය - - නව අනුවාදයක් ඇත. මෙම මිලට ගැනුම සම්පූර්ණ කිරීමට Galaxy Apps නවතම අනුවාදයට යාවත්කාල වනු ඇත. - diff --git a/IAP5Helper/src/main/res/values-sk/strings.xml b/IAP5Helper/src/main/res/values-sk/strings.xml deleted file mode 100644 index a23c22e..0000000 --- a/IAP5Helper/src/main/res/values-sk/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Vyskytla sa neznáma chyba. - - Nákup v aplik. Samsung - - Aplikácia Nákup v aplikáciách Samsung sa nedá otvoriť. Prejdite do menu Povolenia, udeľte potrebné povolenia a skúste to znova. - - Ak si chcete kúpiť nejaké položky, musíte si nainštalovať aplikáciu Samsung nákup v aplikáciách. Nainštalovať? - - Pre službu Nákup v aplikáciách Samsung bola poskytnutá neplatná hodnota. - - Čaká sa\u2026 - - Platba bola zrušená. - - Galaxy Apps – aktualizácia - - K dispozícii je nová verzia. Aplikácia Galaxy Apps sa aktualizuje na najnovšiu verziu, aby ste mohli dokončiť tento nákup. - diff --git a/IAP5Helper/src/main/res/values-sl/strings.xml b/IAP5Helper/src/main/res/values-sl/strings.xml deleted file mode 100644 index 3ebed4a..0000000 --- a/IAP5Helper/src/main/res/values-sl/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Prišlo je do neznane napake. - - Nakup v aplikaciji Samsung - - Aplikacije Samsung In-App Purchase ni mogoče odpreti. Pojdite v meni Dovoljenja, nato pa omogočite zahtevana dovoljenja in poskusite znova. - - Če želite kupiti izdelke, morate namestiti aplikacijo Samsung nakup v aplikaciji. Jo želite namestiti? - - Podana je neveljavna vrednost za nakup v aplikaciji Samsung. - - Čakanje \u2026 - - Plačilo je preklicano. - - Posodobite aplikacijo Galaxy Apps - - Na voljo je nova različica. Za dokončanje tega nakupa bo aplikacija Galaxy Apps posodobljena na najnovejšo različico. - diff --git a/IAP5Helper/src/main/res/values-sq-rAL/strings.xml b/IAP5Helper/src/main/res/values-sq-rAL/strings.xml deleted file mode 100644 index 63e6485..0000000 --- a/IAP5Helper/src/main/res/values-sq-rAL/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Ndodhi gabim i panjohur. - - Blerja nga app-i Samsung - - Nuk mund të hap Blerjen që nga aplikacioni Samsung. Shko te Lejet, pastaj jep lejet e nevojshme dhe provo sërish. - - Për të blerë gjëra, duhet të instalosh Blerjen që nga aplikacionet Samsung. Ta instaloj? - - Është futur një vlerë e pavlefshme për Blerjen që nga aplikacionet Samsung. - - Duke pritur\u2026 - - Pagesa u anulua. - - Përditëso Galaxy Apps - - Ka një version të ri. Për ta përfunduar këtë blerje, Galaxy Apps do të përditësohet në versionin më të fundit. - diff --git a/IAP5Helper/src/main/res/values-sr/strings.xml b/IAP5Helper/src/main/res/values-sr/strings.xml deleted file mode 100644 index 86389e3..0000000 --- a/IAP5Helper/src/main/res/values-sr/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Došlo je do nepoznate greške. - - Samsung In-App Purchase - - Nije moguće otvoriti aplikaciju Samsung In-App Purchase. Idite na Dozvole, a zatim dozvolite potrebne dozvole i pokušajte ponovo. - - Da bi kupio/la stavke, moraš da instaliraš Samsung kupovinu iz aplikacije. Instalirati? - - Neispravna vrednost je obezbeđena za uslugu Samsung In-App Purchase. - - Čekanje\u2026 - - Plaćanje je otkazano. - - Ažurirajte Galaxy Apps - - Nova verzija je dostupna. Galaxy Apps će se ažurirati na najnoviju verziju kako bi se dovršila ova kupovina. - diff --git a/IAP5Helper/src/main/res/values-sv/strings.xml b/IAP5Helper/src/main/res/values-sv/strings.xml deleted file mode 100644 index b1537a4..0000000 --- a/IAP5Helper/src/main/res/values-sv/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Okänt fel inträffade. - - Samsung-pr. f. köp i pr. - - Det går inte att öppna Samsung-appen för att köpa i appar. Öppna Behörigheter och tillåt sedan de nödvändiga behörigheterna innan du försöker igen. - - Om du vill köpa objekt måste du installera Samsung-appen för att köpa i appar. Vill du installera? - - Ett ogiltigt värde har tillhandahållits för Samsung-appen för att köpa i appar. - - Väntar \u2026 - - Betalningen avbröts. - - Uppdatera Galaxy Apps - - En ny version är tillgänglig. Galaxy Apps uppdateras till den senaste versionen så att du kan slutföra köpet. - diff --git a/IAP5Helper/src/main/res/values-ta-rIN/strings.xml b/IAP5Helper/src/main/res/values-ta-rIN/strings.xml deleted file mode 100644 index 294eafa..0000000 --- a/IAP5Helper/src/main/res/values-ta-rIN/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - தெரியாத பிழை ஏற்பட்டுள்ளது. - - சாம்சங் இன்-ஆப் வாங்குதல் - - சாம்சங் இன்-ஆப் வாங்குதலை திறக்க இயலவில்லை. அனுமதிகள் என்பதற்குச் சென்று, பிறகு தேவையான அனுமதிகளை அனுமதித்து, மீண்டும் முயலவும். - - உருப்படிகளை வாங்க சாம்சங் உள்-ப.பாட்டு வாங்குதலை நீங்கள் நிறுவ வேண்டும். நிறுவவா? - - சாம்சங் பயன்பாட்டுக்கு உள்ளான வாங்குதலுக்கு ஒரு தவறான மதிப்பு வழங்கப்பட்டது. - - காத்திருக்கிறது\u2026 - - கட்டணத்தொகை ரத்து செய்யப்பட்டது. - - Galaxy Apps-ஐ புதுப்பிக்கவும் - - புதிய பதிப்பு கிடைக்கிறது. இந்த வாங்குதலை முடிப்பதற்காக Galaxy Apps அதன் சமீபத்திய பதிப்பிற்குப் புதுப்பிக்கப்படும். - diff --git a/IAP5Helper/src/main/res/values-te-rIN/strings.xml b/IAP5Helper/src/main/res/values-te-rIN/strings.xml deleted file mode 100644 index 39a2075..0000000 --- a/IAP5Helper/src/main/res/values-te-rIN/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - తెలియని లోపం ఏర్పడింది. - - స్యామ్‌సంగ్ ఇన్-అప్లికేషన్ కొనుగోలు - - స్యామ్‌సంగ్ ఇన్-యాప్ కొనుగోలును తెరవడం సాధ్యం కాదు. అనుమతులకు వెళ్లి, ఆపై అవసరమైన అనుమతులను అనుమతించి, మళ్లీ ప్రయత్నించండి. - - ఐటెమ్‌లను కొనుగోలు చేయడానికి, మీరు స్యామ్‌సంగ్ ఇన్-యాప్ కొనుగోలును వ్యవస్థాపించాలి. వ్యవస్థాపించాలా? - - స్యామ్‌సంగ్ ఇన్-అప్లికేషన్ కొనుగోలు కోసం చెల్లని విలువ అందించబడింది. - - వేచి ఉంది\u2026 - - చెల్లింపు విఫలమైంది. - - Galaxy Appsని అప్‌డేట్ చేయి - - కొత్త వెర్షన్ అందుబాటులో ఉంది. ఈ కొనుగోలును పూర్తి చేయడం కోసం Galaxy Apps ఇటీవలి వెర్షన్‌కు అప్‌డేట్ చేయబడుతుంది. - diff --git a/IAP5Helper/src/main/res/values-tg/strings.xml b/IAP5Helper/src/main/res/values-tg/strings.xml deleted file mode 100644 index 5f2684e..0000000 --- a/IAP5Helper/src/main/res/values-tg/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Хатогии номаълум ба амал омад - - Samsung In-App Purchase - - Кушодани Samsung In-App Purchase ғайриимкон аст. Ба Иҷозатҳо гузашта, иҷозатҳои лозимро бидиҳед ва кӯшишро такрор кунед. - - Барои харидани ин ҷузъҳо шумо бояд Samsung In-App Purchase-ро насб кунед. Насб мекунед? - - Барои Samsung In-App Purchase қимати нодуруст пешниҳод карда шуд - - Интизорӣ\u2026 - - Пардохт бекор карда шуд - - Навсозии Galaxy Apps - - Версияи нав дастрас аст. Барои анҷом додани харид Galaxy Apps то версияи охирин навсозӣ карда мешавад. - diff --git a/IAP5Helper/src/main/res/values-th/strings.xml b/IAP5Helper/src/main/res/values-th/strings.xml deleted file mode 100644 index 666993a..0000000 --- a/IAP5Helper/src/main/res/values-th/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - เกิด​ข้อ​ผิด​พลาด​ที่​ไม่​รู้จัก - - การสั่งซื้อในแอพของ Samsung - - ไม่สามารถเปิดการสั่งซื้อในแอพของ Samsung ได้ ไปที่การอนุญาต แล้วให้อนุญาตดังต่อไปนี้แล้วลองอีกครั้ง: - - ในการซื้อรายการต่างๆ คุณต้องติดตั้งการสั่งซื้อในแอพของ Samsung ติดตั้ง? - - มีการระบุค่าไม่ถูกต้อง สำหรับการสั่งซื้อในแอพของ Samsung - - กำลังรอ\u2026 - - การชำระเงินถูกยกเลิก - - อัพเดท Galaxy Apps - - มีเวอร์ชั่นใหม่พร้อมใช้งาน Galaxy Apps จะถูกอัพเดทเป็นเวอร์ชั่นล่าสุด เพื่อทำการซื้อครั้งนี้ให้เสร็จสิ้น - diff --git a/IAP5Helper/src/main/res/values-tk/strings.xml b/IAP5Helper/src/main/res/values-tk/strings.xml deleted file mode 100644 index 9784924..0000000 --- a/IAP5Helper/src/main/res/values-tk/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Bilinmedik näsazlygy bar - - Samsung In-App Purchase - - Samsung In-App Purchase-i açyp bolmaýar. Rugsatlar-a baryp, gerekli rugsatlary beriň we täzeden synanyşyň. - - Elementleri satyn almak üçin Samsung Gollanmada Satyn almany guruň. Gurulsynmy? - - Samsung Gollanmada Satyn alma üçin ýalňyş ulylyk berildi - - Garaşylýar\u2026 - - Töleg ýatyryldy - - Galaxy Apps-y täzele - - Täze wersiýa elýeterli. Bu satyn alşy tamamlamak üçin, Galaxy Apps-yň iň täze wersiýasy gurnalar. - diff --git a/IAP5Helper/src/main/res/values-tl/strings.xml b/IAP5Helper/src/main/res/values-tl/strings.xml deleted file mode 100644 index b66e743..0000000 --- a/IAP5Helper/src/main/res/values-tl/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - May naganap na hindi alam na error. - - Samsung In-App Purchase - - Hindi mabuksan ang Samsung In-App Purchase. Pumunta sa Permissions, tapos payagan ang mga kailangang pahintulot at subukang muli. - - Upang bumili ng mga item, kailangan mong i-install ang Samsung In-App Purchase. I-install? - - May ibinigay na hindi tamang halaga para sa Samsung In-App Purchase. - - Naghihintay\u2026 - - Kinansela ang pagbabayad. - - I-update ang Galaxy Apps - - May bagong bersiyon na magagamit. Ia-update ang Galaxy Apps sa pinakabagong bersiyon para tapusin ang pagbili na ito. - diff --git a/IAP5Helper/src/main/res/values-tr/strings.xml b/IAP5Helper/src/main/res/values-tr/strings.xml deleted file mode 100644 index f02cd9c..0000000 --- a/IAP5Helper/src/main/res/values-tr/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Bilinmeyen hata oluştu. - - Samsung In-App Satın Alma - - Samsung In-App Satın Alma açılamıyor. İzinler bölümüne gidin, ardından gerekli izinleri verip tekrar deneyin. - - Ögeleri satın almak için Samsung In-App Satın alma\'yı kurmanız gerekir. Kurulsun mu? - - Samsung In-App Satın Alımı için geçersiz bir değer sağlandı. - - Bekliyor\u2026 - - Ödeme iptal edildi. - - Galaxy Apps\'i güncelle - - Yeni bir sürüm mevcut. Bu satın alma işlemini tamamlamak için Galaxy Apps en son sürüme güncellenecek. - diff --git a/IAP5Helper/src/main/res/values-uk/strings.xml b/IAP5Helper/src/main/res/values-uk/strings.xml deleted file mode 100644 index 33513ed..0000000 --- a/IAP5Helper/src/main/res/values-uk/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Сталася невідома помилка. - - Samsung In-App Purchase - - Неможливо відкрити Samsung In-App Purchase. Перейдіть до «Дозволи» і повторіть спробу, надавши необхідні дозволи. - - Для придбання об\'єктів потрібно встановити Samsung In-App Purchase. Установити? - - Для Samsung In-App Purchase вказано хибне значення. - - Очікування\u2026 - - Платіж скасовано. - - Оновлення Galaxy Apps - - Доступна нова версія Galaxy Apps. Для завершення покупки програму буде оновлено до останньої версії. - diff --git a/IAP5Helper/src/main/res/values-ur-rPK/strings.xml b/IAP5Helper/src/main/res/values-ur-rPK/strings.xml deleted file mode 100644 index 49ddf43..0000000 --- a/IAP5Helper/src/main/res/values-ur-rPK/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - نامعلوم غلطی واقع ہوگئی - - ‏Samsung In-App خریداری - - ‏Samsung In-App خریداری کھولنے سے قاصر۔ اجازتوں پر جائیں، پھر درکار اجازتوں کی اجازت دیں اور دوبارہ کوشش کریں۔ - - اشیا خریداری کرنے کے لئے، آپ کو Samsung In-App خریداری نصب کرنے کی ضرورت ہے۔ نصب کریں؟ - - ‏Samsung In-App خریداری کے لئے ایک غیرمجاز قیمت فراہم کی گئی ہے - - انتظار کررہا ہے\u2026 - - ادائیگی منسوخ ہوگئی۔ - - ‏Galaxy Apps اپ ڈیٹ کریں - - ایک نیا ورژن دستیاب ہے۔ یہ خریداری مکمل کرنے کے لیے Galaxy Apps کو تازہ ترین ورژن میں اپ ڈیٹ کیا جائے گا۔ - diff --git a/IAP5Helper/src/main/res/values-uz-rUZ/strings.xml b/IAP5Helper/src/main/res/values-uz-rUZ/strings.xml deleted file mode 100644 index d323ee2..0000000 --- a/IAP5Helper/src/main/res/values-uz-rUZ/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Noma’lum xato yuz berdi. - - Samsung In-App Purchase - - Samsung In-App Purchase’ni ochib bo‘lmaydi. Ruxsatlarga o‘ting, so‘ngra quyidagi ruxsatlarga ijozat bering va qayta urinib ko‘ring. - - Elementlarni xarid qilish uchun Samsung In-App Purchase-ni o‘rnating. O‘rnatilsinmi? - - Samsung In-App Purchase uchun mumkin bo‘lmagan qiymat taqdim etilgan. - - Kutilmoqda\u2026 - - To‘lov bekor qilindi. - - Galaxy Apps’ni yangilash - - Yangi versiya mavjud. Ushbu xaridni nihoyasiga yetkazish uchun Galaxy Apps eng oxirgi versiyaga yangilanadi. - diff --git a/IAP5Helper/src/main/res/values-vi/strings.xml b/IAP5Helper/src/main/res/values-vi/strings.xml deleted file mode 100644 index 1229d4a..0000000 --- a/IAP5Helper/src/main/res/values-vi/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Xảy ra lỗi. - - Mua hàng trong ứ.dụng Samsung - - Không thể mở Mua hàng trong ứng dụng Samsung. Đi đến Quyền, rồi cho phép các quyền cần thiết và thử lại. - - Để mua hàng, bạn cần cài đặt Mua hàng trong ứng dụng Samsung. Cài đặt? - - Đã cung cấp một giá trị không hợp lệ cho hình thức Mua hàng trong ứng dụng Samsung. - - Đang chờ\u2026 - - Đã hủy thanh toán. - - Cập nhật Galaxy Apps - - Đã có phiên bản mới. Galaxy Apps sẽ được cập nhật lên phiên bản mới nhất để hoàn tất giao dịch mua này. - diff --git a/IAP5Helper/src/main/res/values-xh/strings.xml b/IAP5Helper/src/main/res/values-xh/strings.xml deleted file mode 100644 index a35d420..0000000 --- a/IAP5Helper/src/main/res/values-xh/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Kwenzeke impazamo engaziwayo. - - Samsung In-App Purchase - - Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again. - - To purchase items, you need to install Samsung In-App Purchase. Install? - - An invalid value has been provided for Samsung In-App Purchase. - - Ilindile\u2026 - - Payment cancelled. - - Update Galaxy Apps - - A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase. - diff --git a/IAP5Helper/src/main/res/values-zh-rCN/strings.xml b/IAP5Helper/src/main/res/values-zh-rCN/strings.xml deleted file mode 100644 index c3fd712..0000000 --- a/IAP5Helper/src/main/res/values-zh-rCN/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - 未知错误产生 - - Samsung In-App Purchase - - 无法打开 Samsung In-App Purchase。请进入【权限】,然后允许以下权限并重试。 - - 若要购买商品,您需要安装 Samsung In-App Purchase。是否安装? - - Samsung In-App Purchase 已获取一个无效值。 - - 请稍候\u2026 - - 支付已取消。 - - 更新三星应用商店 - - 有新版本可用。三星应用商店将更新至最新版本以完成本次购物。 - diff --git a/IAP5Helper/src/main/res/values-zh-rHK/strings.xml b/IAP5Helper/src/main/res/values-zh-rHK/strings.xml deleted file mode 100644 index 8b6dd2d..0000000 --- a/IAP5Helper/src/main/res/values-zh-rHK/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - 發生未知錯誤。 - - Samsung In-App Purchase - - 無法開啟 Samsung In-App Purchase。請前往 [權限],然後允許權限並重試。 - - 若要購買項目,需安裝 Samsung In-App Purchase。安裝嗎? - - 提供給 Samsung In-App Purchase 的值無效。 - - 請稍候\u2026 - - 付款已取消。 - - 更新 Galaxy Apps - - 已有新版本可用。Galaxy Apps 將更新至最新版本以完成此購買。 - diff --git a/IAP5Helper/src/main/res/values-zh-rTW/strings.xml b/IAP5Helper/src/main/res/values-zh-rTW/strings.xml deleted file mode 100644 index b8f1f94..0000000 --- a/IAP5Helper/src/main/res/values-zh-rTW/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - 已發生未知錯誤。 - - Samsung In-App Purchase - - 無法開啟 [三星應用程式內購買]。請前往 [權限],然後允許所需權限並重試。 - - 若要購買項目,需安裝 Samsung In-App Purchase。安裝嗎? - - 提供給 Samsung In-App Purchase 的值無效。 - - 等待中\u2026 - - 付款已取消。 - - 更新 Galaxy Apps - - 有可用的新版本。Galaxy Apps 將更新至最新版本以完成此筆購買。 - diff --git a/IAP5Helper/src/main/res/values-zu/strings.xml b/IAP5Helper/src/main/res/values-zu/strings.xml deleted file mode 100644 index 5aa5031..0000000 --- a/IAP5Helper/src/main/res/values-zu/strings.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Kuvule iphutha elingaziwa. - - Samsung In-App Purchase - - Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again. - - To purchase items, you need to install Samsung In-App Purchase. Install? - - An invalid value has been provided for Samsung In-App Purchase. - - Ilindile\u2026 - - Payment cancelled. - - Update Galaxy Apps - - A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase. - diff --git a/IAP5Helper/src/main/res/values/dimen.xml b/IAP5Helper/src/main/res/values/dimen.xml deleted file mode 100644 index a0f08c4..0000000 --- a/IAP5Helper/src/main/res/values/dimen.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - 15dp - \ No newline at end of file diff --git a/IAP5Helper/src/main/res/values/strings.xml b/IAP5Helper/src/main/res/values/strings.xml deleted file mode 100644 index 53cfc04..0000000 --- a/IAP5Helper/src/main/res/values/strings.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - Unknown error occurred. - Samsung In-App Purchase - Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again. - An invalid value has been provided for Samsung In-App Purchase. - Payment cancelled. - Update Galaxy Apps - A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase. - Waiting... - - - "An invalid installation of In-App Purchase has been detected. Check and try again." - The payment was successful - - - To purchase items, you need to install Samsung In-App Purchase. Install? - - \ No newline at end of file diff --git a/IAP5Helper/src/main/res/values/styles.xml b/IAP5Helper/src/main/res/values/styles.xml deleted file mode 100644 index 3f39454..0000000 --- a/IAP5Helper/src/main/res/values/styles.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - diff --git a/app/build.gradle b/app/build.gradle index c8f9d88..1bee29a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -27,8 +27,8 @@ android { minSdkVersion 19 targetSdkVersion 28 multiDexEnabled true - versionCode 16 - versionName "0.6.0-beta1" + versionCode 17 + versionName "0.6.0-beta2" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } signingConfigs { @@ -40,23 +40,15 @@ android { } } buildTypes { - debug { - resValue "string", "adbmob_ad_unit_id", "ca-app-pub-3940256099942544/6300978111" - } release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release - resValue "string", "adbmob_ad_unit_id", "ca-app-pub-3319579963502409/4464724664" } } flavorDimensions "platform" productFlavors { standard {} - samsung { - applicationId "com.wbrawner.simplemarkdown.samsung" - minSdkVersion 21 - } } dexOptions { jumboMode true @@ -98,11 +90,9 @@ dependencies { implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' implementation 'io.reactivex.rxjava2:rxjava:2.2.6' implementation 'com.google.firebase:firebase-core:16.0.8' - implementation 'com.google.firebase:firebase-ads:17.2.0' implementation 'com.android.billingclient:billing:1.2' implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9' implementation 'com.android.support:multidex:1.0.3' - samsungImplementation project(":IAP5Helper") } apply plugin: 'com.google.gms.google-services' diff --git a/app/src/main/java/com/wbrawner/simplemarkdown/view/activity/MainActivity.java b/app/src/main/java/com/wbrawner/simplemarkdown/view/activity/MainActivity.java index 4df1820..2894ae9 100644 --- a/app/src/main/java/com/wbrawner/simplemarkdown/view/activity/MainActivity.java +++ b/app/src/main/java/com/wbrawner/simplemarkdown/view/activity/MainActivity.java @@ -17,11 +17,6 @@ import android.view.View; import android.widget.Toast; import com.crashlytics.android.Crashlytics; -import com.google.ads.mediation.admob.AdMobAdapter; -import com.google.android.gms.ads.AdListener; -import com.google.android.gms.ads.AdRequest; -import com.google.android.gms.ads.AdView; -import com.google.android.gms.ads.MobileAds; import com.wbrawner.simplemarkdown.MarkdownApplication; import com.wbrawner.simplemarkdown.R; import com.wbrawner.simplemarkdown.presentation.MarkdownPresenter; @@ -48,8 +43,6 @@ public class MainActivity extends AppCompatActivity DisableableViewPager pager; @BindView(R.id.layout_tab) TabLayout tabLayout; - @BindView(R.id.adView) - AdView adView; private boolean shouldAutoSave = true; private NewFileHandler newFileHandler; @@ -74,25 +67,6 @@ public class MainActivity extends AppCompatActivity if (getIntent().getBooleanExtra(Constants.EXTRA_EXPLORER, false)) { requestFileOp(Constants.REQUEST_OPEN_FILE); } - - // TODO: Change this to only load for users who haven't paid to remove ads - if (true) { - MobileAds.initialize(this, getString(R.string.admob_app_id)); - Bundle extras = new Bundle(); - extras.putString("npa", "1"); - AdRequest adRequest = new AdRequest.Builder() - .addTestDevice("7045AFE2F8D6C6386983BAF3D2A2377E") - .addNetworkExtrasBundle(AdMobAdapter.class, extras) - .build(); - adView.setAdListener(new AdListener() { - @Override - public void onAdFailedToLoad(int i) { - super.onAdFailedToLoad(i); - Crashlytics.logException(new RuntimeException("Failed to load ads: " + i)); - } - }); - adView.loadAd(adRequest); - } } @Override diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index e832f09..7be78a9 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,44 +1,25 @@ - + android:layout_height="match_parent"> - - - - - - - - + android:layout_gravity="top"> - + + + + + diff --git a/build.gradle b/build.gradle index a98a979..81138c3 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ buildscript { } } dependencies { - classpath 'com.android.tools.build:gradle:3.3.2' + classpath 'com.android.tools.build:gradle:3.4.0' classpath 'com.google.gms:google-services:4.2.0' classpath 'io.fabric.tools:gradle:1.26.1' } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7e23517..3a89469 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Feb 08 21:22:10 CST 2019 +#Mon Apr 29 19:14:28 MST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip diff --git a/settings.gradle b/settings.gradle index 6d5f6c6..9d495b3 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1 @@ -include ':app' -include ':IAP5Helper' \ No newline at end of file +include ':app' \ No newline at end of file