From d731ef5de7b6ae225119cd3dbe95d1e4544aec3b Mon Sep 17 00:00:00 2001 From: Shreyas Patil Date: Mon, 15 Jul 2019 15:32:27 +0530 Subject: [PATCH] Release v1.1. --- EasyUpiPayment/build.gradle | 1 - EasyUpiPayment/src/main/AndroidManifest.xml | 4 ++- .../EasyUpiPayment/EasyUpiPayment.java | 10 ++++-- .../EasyUpiPayment/Singleton.java | 13 ++++--- .../EasyUpiPayment/ui/PaymentUiActivity.java | 36 ++++++++++--------- .../src/main/res/drawable/ic_close.xml | 9 +++++ .../src/main/res/layout/apps_bottomsheet.xml | 15 ++++---- README.md | 2 +- app/build.gradle | 2 +- app/src/main/AndroidManifest.xml | 4 ++- .../example/easyupipayment/MainActivity.java | 4 +-- 11 files changed, 64 insertions(+), 36 deletions(-) create mode 100644 EasyUpiPayment/src/main/res/drawable/ic_close.xml diff --git a/EasyUpiPayment/build.gradle b/EasyUpiPayment/build.gradle index 2a2bb32..d34445e 100644 --- a/EasyUpiPayment/build.gradle +++ b/EasyUpiPayment/build.gradle @@ -22,7 +22,6 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } - } dependencies { diff --git a/EasyUpiPayment/src/main/AndroidManifest.xml b/EasyUpiPayment/src/main/AndroidManifest.xml index 2435544..93af29a 100644 --- a/EasyUpiPayment/src/main/AndroidManifest.xml +++ b/EasyUpiPayment/src/main/AndroidManifest.xml @@ -3,7 +3,9 @@ package="com.shreyaspatil.EasyUpiPayment"> - + \ No newline at end of file diff --git a/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/EasyUpiPayment.java b/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/EasyUpiPayment.java index 81fb005..e24e0ff 100644 --- a/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/EasyUpiPayment.java +++ b/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/EasyUpiPayment.java @@ -26,7 +26,6 @@ private EasyUpiPayment(@NonNull final Activity mActivity, @NonNull Payment mPaym /** * Starts the payment Transaction. Calling this method launches the Payment Menu * and shows installed UPI apps in device and let user choose one of them to pay. - * */ public void startPayment() { Intent payIntent = new Intent(mActivity, PaymentUiActivity.class); @@ -44,6 +43,13 @@ public void setPaymentStatusListener(@NonNull PaymentStatusListener mListener) { singleton.setListener(mListener); } + /** + * Removes the PaymentStatusListener which is already registered. + */ + public void detachListener() { + Singleton.getInstance().detachListener(); + } + /** * Builder for {@link EasyUpiPayment}. */ @@ -167,7 +173,7 @@ public Builder setDescription(@NonNull String description) { @NonNull public Builder setAmount(@NonNull String amount) { if (!amount.contains(".")) { - throw new IllegalStateException("Amount should be in decimal format XX.XX"); + throw new IllegalStateException("Amount should be in decimal format XX.XX (For e.g. 100.00)"); } payment.setAmount(amount); diff --git a/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/Singleton.java b/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/Singleton.java index d91a8d5..e65f2fb 100644 --- a/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/Singleton.java +++ b/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/Singleton.java @@ -4,7 +4,6 @@ import com.shreyaspatil.EasyUpiPayment.listener.PaymentStatusListener; - public final class Singleton { private static Singleton instance = null; @@ -19,14 +18,18 @@ public static Singleton getInstance() { @NonNull public PaymentStatusListener getListener() { - return listener; + return instance.listener; + } + + void setListener(@NonNull PaymentStatusListener listener) { + instance.listener = listener; } - public void setListener(@NonNull PaymentStatusListener listener) { - this.listener = listener; + public void detachListener() { + instance.listener = null; } public boolean isListenerRegistered() { - return (listener != null); + return (instance.listener != null); } } diff --git a/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/ui/PaymentUiActivity.java b/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/ui/PaymentUiActivity.java index 320e889..9ba1a6e 100644 --- a/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/ui/PaymentUiActivity.java +++ b/EasyUpiPayment/src/main/java/com/shreyaspatil/EasyUpiPayment/ui/PaymentUiActivity.java @@ -29,6 +29,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_upipay); + // Get instance of Singleton class singleton = Singleton.getInstance(); //Get Payment Information @@ -93,21 +94,27 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { if(response == null) { callbackTransactionCancelled(); Log.d(TAG, "Response is null"); - finish(); - } - - TransactionDetails transactionDetails = getTransactionDetails(response); - //Update Listener onTransactionCompleted() - callbackTransactionComplete(transactionDetails); - - //Check if success, submitted or failed - if (transactionDetails.getStatus().toLowerCase().equals("success")) { - callbackTransactionSuccess(); - } else if (transactionDetails.getStatus().toLowerCase().equals("submitted")) { - callbackTransactionSubmitted(); } else { - callbackTransactionFailed(); + + TransactionDetails transactionDetails = getTransactionDetails(response); + + //Update Listener onTransactionCompleted() + callbackTransactionComplete(transactionDetails); + + //Check if success, submitted or failed + try { + if (transactionDetails.getStatus().toLowerCase().equals("success")) { + callbackTransactionSuccess(); + } else if (transactionDetails.getStatus().toLowerCase().equals("submitted")) { + callbackTransactionSubmitted(); + } else { + callbackTransactionFailed(); + } + } catch (Exception e) { + callbackTransactionCancelled(); + callbackTransactionFailed(); + } } } else { Log.e(TAG, "Intent Data is null. User cancelled"); @@ -174,7 +181,4 @@ private void callbackTransactionComplete(TransactionDetails transactionDetails) singleton.getListener().onTransactionCompleted(transactionDetails); } } - - - } diff --git a/EasyUpiPayment/src/main/res/drawable/ic_close.xml b/EasyUpiPayment/src/main/res/drawable/ic_close.xml new file mode 100644 index 0000000..f50fd99 --- /dev/null +++ b/EasyUpiPayment/src/main/res/drawable/ic_close.xml @@ -0,0 +1,9 @@ + + + diff --git a/EasyUpiPayment/src/main/res/layout/apps_bottomsheet.xml b/EasyUpiPayment/src/main/res/layout/apps_bottomsheet.xml index 5034641..652fec4 100644 --- a/EasyUpiPayment/src/main/res/layout/apps_bottomsheet.xml +++ b/EasyUpiPayment/src/main/res/layout/apps_bottomsheet.xml @@ -11,9 +11,10 @@ + android:layout_height="wrap_content" + android:paddingBottom="8dp"> -