From 46133566ff833b26d4561a7e699b55a09e2dc77c Mon Sep 17 00:00:00 2001 From: Michael Obi <58430556+michael-paystack@users.noreply.github.com> Date: Tue, 21 Nov 2023 10:14:29 +0100 Subject: [PATCH 1/5] Deprecate SDK public API --- .../main/java/co/paystack/android/Constants.kt | 4 ++++ .../main/java/co/paystack/android/Paystack.java | 15 ++++++++++++++- .../java/co/paystack/android/PaystackSdk.java | 9 +++++++++ .../java/co/paystack/android/Transaction.java | 4 ++++ .../co/paystack/android/TransactionManager.java | 5 ++++- .../co/paystack/android/api/ChargeApiCallback.kt | 4 +++- .../exceptions/AuthenticationException.java | 5 +++++ .../android/exceptions/CardException.java | 5 +++++ .../android/exceptions/ChargeException.java | 5 +++++ .../exceptions/ExpiredAccessCodeException.java | 5 +++++ .../exceptions/InvalidAmountException.java | 5 +++++ .../android/exceptions/InvalidEmailException.java | 5 +++++ .../PaystackActivityNotFoundException.java | 5 +++++ .../android/exceptions/PaystackException.java | 5 +++++ .../PaystackSdkNotInitializedException.java | 5 +++++ .../android/exceptions/ProcessingException.java | 5 +++++ .../android/exceptions/TokenException.java | 5 +++++ .../android/exceptions/ValidateException.java | 5 +++++ .../java/co/paystack/android/utils/CardUtils.java | 7 ++++++- .../java/co/paystack/android/utils/Crypto.java | 4 ++++ .../java/co/paystack/android/utils/Logger.java | 7 ++++++- .../co/paystack/android/utils/StringUtils.java | 4 ++++ 22 files changed, 118 insertions(+), 5 deletions(-) create mode 100644 paystack/src/main/java/co/paystack/android/Constants.kt diff --git a/paystack/src/main/java/co/paystack/android/Constants.kt b/paystack/src/main/java/co/paystack/android/Constants.kt new file mode 100644 index 0000000..626c6fc --- /dev/null +++ b/paystack/src/main/java/co/paystack/android/Constants.kt @@ -0,0 +1,4 @@ +package co.paystack.android + +const val DEPRECATION_MESSAGE = + "This SDK has been deprecated, Please refer to our new SDK: https://github.com/PaystackHQ/paystack-sdk-android" diff --git a/paystack/src/main/java/co/paystack/android/Paystack.java b/paystack/src/main/java/co/paystack/android/Paystack.java index ad308f9..4d0bc25 100644 --- a/paystack/src/main/java/co/paystack/android/Paystack.java +++ b/paystack/src/main/java/co/paystack/android/Paystack.java @@ -1,5 +1,7 @@ package co.paystack.android; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + import android.app.Activity; import co.paystack.android.exceptions.AuthenticationException; @@ -7,6 +9,7 @@ import co.paystack.android.model.Charge; import co.paystack.android.model.PaystackModel; import co.paystack.android.utils.Utils; +import kotlin.Deprecated; /** * This is the Paystack model class.\n @@ -16,6 +19,7 @@ * * @author {androidsupport@paystack.co} on 9/16/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class Paystack extends PaystackModel { private String publicKey; @@ -53,6 +57,7 @@ private void validatePublicKey(String publicKey) throws AuthenticationException } + @Deprecated(message = DEPRECATION_MESSAGE) void chargeCard(Activity activity, Charge charge, TransactionCallback transactionCallback) { chargeCard(activity, charge, publicKey, transactionCallback); } @@ -79,11 +84,19 @@ private void chargeCard(Activity activity, Charge charge, String publicKey, Tran private interface BaseCallback { } + @Deprecated(message = DEPRECATION_MESSAGE) public interface TransactionCallback extends BaseCallback { + @Deprecated(message = DEPRECATION_MESSAGE) void onSuccess(Transaction transaction); + + @Deprecated(message = DEPRECATION_MESSAGE) void beforeValidate(Transaction transaction); + + @Deprecated(message = DEPRECATION_MESSAGE) void showLoading(Boolean isProcessing); + + @Deprecated(message = DEPRECATION_MESSAGE) void onError(Throwable error, Transaction transaction); } -} \ No newline at end of file +} diff --git a/paystack/src/main/java/co/paystack/android/PaystackSdk.java b/paystack/src/main/java/co/paystack/android/PaystackSdk.java index 2eaa3c0..6d3f153 100644 --- a/paystack/src/main/java/co/paystack/android/PaystackSdk.java +++ b/paystack/src/main/java/co/paystack/android/PaystackSdk.java @@ -1,5 +1,7 @@ package co.paystack.android; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + import android.app.Activity; import android.content.Context; import android.content.pm.ApplicationInfo; @@ -8,6 +10,7 @@ import co.paystack.android.exceptions.PaystackSdkNotInitializedException; import co.paystack.android.model.Charge; import co.paystack.android.utils.Utils; +import kotlin.Deprecated; /** * This is the overall paystack sdk manager class. @@ -72,11 +75,13 @@ private static synchronized void initialize(Context applicationContext, SdkIniti * * @param context - Application Context */ + @Deprecated(message = DEPRECATION_MESSAGE) public static synchronized void initialize(Context context) { initialize(context, null); } + @Deprecated(message = DEPRECATION_MESSAGE) public static boolean isSdkInitialized() { return sdkInitialized; } @@ -87,6 +92,7 @@ public static boolean isSdkInitialized() { * @return public key * @throws PaystackSdkNotInitializedException if the sdk hasn't been initialized */ + @Deprecated(message = DEPRECATION_MESSAGE) public static String getPublicKey() throws PaystackSdkNotInitializedException { //validate that the sdk has been initialized Utils.Validate.validateSdkInitialized(); @@ -99,6 +105,7 @@ public static String getPublicKey() throws PaystackSdkNotInitializedException { * * @param publicKey - App Developer's public key */ + @Deprecated(message = DEPRECATION_MESSAGE) public static void setPublicKey(String publicKey) { PaystackSdk.publicKey = publicKey; } @@ -137,6 +144,7 @@ private static void performChecks() { Utils.Validate.hasPublicKey(); } + @Deprecated(message = DEPRECATION_MESSAGE) public static void chargeCard(Activity activity, Charge charge, Paystack.TransactionCallback transactionCallback) { if (BuildConfig.DEBUG && (activity == null)) { throw new AssertionError("activity must not be null"); @@ -151,6 +159,7 @@ public static void chargeCard(Activity activity, Charge charge, Paystack.Transac paystack.chargeCard(activity, charge, transactionCallback); } + @Deprecated(message = DEPRECATION_MESSAGE) public interface SdkInitializeCallback { void onInitialized(); } diff --git a/paystack/src/main/java/co/paystack/android/Transaction.java b/paystack/src/main/java/co/paystack/android/Transaction.java index 5a50e92..198f3d3 100644 --- a/paystack/src/main/java/co/paystack/android/Transaction.java +++ b/paystack/src/main/java/co/paystack/android/Transaction.java @@ -1,7 +1,11 @@ package co.paystack.android; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + import co.paystack.android.api.model.TransactionApiResponse; +import kotlin.Deprecated; +@Deprecated(message = DEPRECATION_MESSAGE) public class Transaction { private String id; private String reference; diff --git a/paystack/src/main/java/co/paystack/android/TransactionManager.java b/paystack/src/main/java/co/paystack/android/TransactionManager.java index 801e7bb..f285695 100644 --- a/paystack/src/main/java/co/paystack/android/TransactionManager.java +++ b/paystack/src/main/java/co/paystack/android/TransactionManager.java @@ -1,5 +1,6 @@ package co.paystack.android; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; import static co.paystack.android.Transaction.EMPTY_TRANSACTION; import android.app.Activity; @@ -38,7 +39,9 @@ import co.paystack.android.ui.PinSingleton; import co.paystack.android.utils.Crypto; import co.paystack.android.utils.StringUtils; +import kotlin.Deprecated; +@Deprecated(message = DEPRECATION_MESSAGE) class TransactionManager { private static final String LOG_TAG = TransactionManager.class.getSimpleName(); @@ -468,4 +471,4 @@ protected void onPostExecute(Address address) { } } } -} \ No newline at end of file +} diff --git a/paystack/src/main/java/co/paystack/android/api/ChargeApiCallback.kt b/paystack/src/main/java/co/paystack/android/api/ChargeApiCallback.kt index d83bcbf..af50101 100644 --- a/paystack/src/main/java/co/paystack/android/api/ChargeApiCallback.kt +++ b/paystack/src/main/java/co/paystack/android/api/ChargeApiCallback.kt @@ -1,10 +1,12 @@ package co.paystack.android.api +import co.paystack.android.DEPRECATION_MESSAGE import co.paystack.android.api.model.ChargeResponse import co.paystack.android.api.request.ChargeParams +@Deprecated(message = DEPRECATION_MESSAGE) interface ChargeApiCallback { fun onSuccess(params: ChargeParams, response: ChargeResponse) fun onError(exception: Throwable, reference: String?) -} \ No newline at end of file +} diff --git a/paystack/src/main/java/co/paystack/android/exceptions/AuthenticationException.java b/paystack/src/main/java/co/paystack/android/exceptions/AuthenticationException.java index 500f7a0..342c914 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/AuthenticationException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/AuthenticationException.java @@ -1,8 +1,13 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + +import kotlin.Deprecated; + /** * @author {androidsupport@paystack.co} on 9/16/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class AuthenticationException extends PaystackException { public AuthenticationException(String message) { super(message); diff --git a/paystack/src/main/java/co/paystack/android/exceptions/CardException.java b/paystack/src/main/java/co/paystack/android/exceptions/CardException.java index 1cfb597..4788952 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/CardException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/CardException.java @@ -1,8 +1,13 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + +import kotlin.Deprecated; + /** * @author {androidsupport@paystack.co} on 9/13/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class CardException extends PaystackException { public CardException(String message) { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/ChargeException.java b/paystack/src/main/java/co/paystack/android/exceptions/ChargeException.java index 032e41b..53a7003 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/ChargeException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/ChargeException.java @@ -1,8 +1,13 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + +import kotlin.Deprecated; + /** * @author {androidsupport@paystack.co} on 9/25/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class ChargeException extends PaystackException { public ChargeException(String message) { super(message); diff --git a/paystack/src/main/java/co/paystack/android/exceptions/ExpiredAccessCodeException.java b/paystack/src/main/java/co/paystack/android/exceptions/ExpiredAccessCodeException.java index 49fc573..2967c5f 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/ExpiredAccessCodeException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/ExpiredAccessCodeException.java @@ -1,8 +1,13 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + +import kotlin.Deprecated; + /** * @author {androidsupport@paystack.co} on 9/25/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class ExpiredAccessCodeException extends PaystackException { public ExpiredAccessCodeException(String message) { super(message); diff --git a/paystack/src/main/java/co/paystack/android/exceptions/InvalidAmountException.java b/paystack/src/main/java/co/paystack/android/exceptions/InvalidAmountException.java index 81c2967..0314232 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/InvalidAmountException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/InvalidAmountException.java @@ -1,8 +1,13 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + +import kotlin.Deprecated; + /** * Created by i on 24/08/2016. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class InvalidAmountException extends PaystackException { private int amount; diff --git a/paystack/src/main/java/co/paystack/android/exceptions/InvalidEmailException.java b/paystack/src/main/java/co/paystack/android/exceptions/InvalidEmailException.java index ba60b4b..60ea9ed 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/InvalidEmailException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/InvalidEmailException.java @@ -1,8 +1,13 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + +import kotlin.Deprecated; + /** * Created by i on 24/08/2016. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class InvalidEmailException extends PaystackException { private String email; diff --git a/paystack/src/main/java/co/paystack/android/exceptions/PaystackActivityNotFoundException.java b/paystack/src/main/java/co/paystack/android/exceptions/PaystackActivityNotFoundException.java index 8396cfd..ef492f1 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/PaystackActivityNotFoundException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/PaystackActivityNotFoundException.java @@ -1,8 +1,13 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + +import kotlin.Deprecated; + /** * @author {androidsupport@paystack.co} on 9/22/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class PaystackActivityNotFoundException extends PaystackException { public PaystackActivityNotFoundException(String message) { super(message); diff --git a/paystack/src/main/java/co/paystack/android/exceptions/PaystackException.java b/paystack/src/main/java/co/paystack/android/exceptions/PaystackException.java index ef6734b..96d63b9 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/PaystackException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/PaystackException.java @@ -1,12 +1,17 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + import java.io.Serializable; +import kotlin.Deprecated; + /** * Base class for exceptions * * @author {androidsupport@paystack.co} on 9/13/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class PaystackException extends RuntimeException implements Serializable { public PaystackException(String message) { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/PaystackSdkNotInitializedException.java b/paystack/src/main/java/co/paystack/android/exceptions/PaystackSdkNotInitializedException.java index 49aff68..f632422 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/PaystackSdkNotInitializedException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/PaystackSdkNotInitializedException.java @@ -1,8 +1,13 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + +import kotlin.Deprecated; + /** * @author {androidsupport@paystack.co} on 9/22/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class PaystackSdkNotInitializedException extends PaystackException { public PaystackSdkNotInitializedException(String message) { super(message); diff --git a/paystack/src/main/java/co/paystack/android/exceptions/ProcessingException.java b/paystack/src/main/java/co/paystack/android/exceptions/ProcessingException.java index 0aad910..d2bfbe7 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/ProcessingException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/ProcessingException.java @@ -1,8 +1,13 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + +import kotlin.Deprecated; + /** * @author {androidsupport@paystack.co} on 9/25/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class ProcessingException extends ChargeException { public ProcessingException() { super("A transaction is currently processing, please wait till it concludes before attempting a new charge."); diff --git a/paystack/src/main/java/co/paystack/android/exceptions/TokenException.java b/paystack/src/main/java/co/paystack/android/exceptions/TokenException.java index a902a3f..b1f7f47 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/TokenException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/TokenException.java @@ -1,8 +1,13 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + +import kotlin.Deprecated; + /** * @author {androidsupport@paystack.co} on 9/20/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class TokenException extends PaystackException { public TokenException(String message) { super(message); diff --git a/paystack/src/main/java/co/paystack/android/exceptions/ValidateException.java b/paystack/src/main/java/co/paystack/android/exceptions/ValidateException.java index 4f8b5c1..7c130fc 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/ValidateException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/ValidateException.java @@ -1,8 +1,13 @@ package co.paystack.android.exceptions; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + +import kotlin.Deprecated; + /** * Created by i on 24/08/2016. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class ValidateException extends PaystackException { public ValidateException(String message) { super(message); diff --git a/paystack/src/main/java/co/paystack/android/utils/CardUtils.java b/paystack/src/main/java/co/paystack/android/utils/CardUtils.java index 21f3c58..f09c483 100644 --- a/paystack/src/main/java/co/paystack/android/utils/CardUtils.java +++ b/paystack/src/main/java/co/paystack/android/utils/CardUtils.java @@ -1,16 +1,21 @@ package co.paystack.android.utils; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + import java.util.Calendar; import java.util.Locale; +import kotlin.Deprecated; + /** * Utils used with the Card model. * * @author {androidsupport@paystack.co} on 9/13/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class CardUtils { - public static boolean isWholePositiveNumber(String value) { + public static boolean isWholePositiveNumber(String value) { if (value == null) { return false; } diff --git a/paystack/src/main/java/co/paystack/android/utils/Crypto.java b/paystack/src/main/java/co/paystack/android/utils/Crypto.java index e830bf1..ea576c3 100644 --- a/paystack/src/main/java/co/paystack/android/utils/Crypto.java +++ b/paystack/src/main/java/co/paystack/android/utils/Crypto.java @@ -1,5 +1,7 @@ package co.paystack.android.utils; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + import android.util.Base64; import java.security.KeyFactory; @@ -12,6 +14,7 @@ import javax.crypto.Cipher; import co.paystack.android.exceptions.AuthenticationException; +import kotlin.Deprecated; /** @@ -19,6 +22,7 @@ * * @author {androidsupport@paystack.co} on 8/10/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class Crypto { private static final String PAYSTACK_RSA_PUBLIC_KEY = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALhZs/7hP0g0+hrqTq0hFyGVxgco0NMxZD8nPS6ihxap0yNFjzdyUuZED6P4/aK9Ezl5ajEI9pcx5/1BrEE+F3kCAwEAAQ=="; private static String ALGORITHM = "RSA"; diff --git a/paystack/src/main/java/co/paystack/android/utils/Logger.java b/paystack/src/main/java/co/paystack/android/utils/Logger.java index 9941034..0784cfc 100644 --- a/paystack/src/main/java/co/paystack/android/utils/Logger.java +++ b/paystack/src/main/java/co/paystack/android/utils/Logger.java @@ -1,15 +1,20 @@ package co.paystack.android.utils; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + import android.util.Log; +import kotlin.Deprecated; + /** * Logger util class * * @author {androidsupport@paystack.co} on 9/18/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class Logger { - public static boolean DEBUG_ON = false; + public static boolean DEBUG_ON = false; public static String DEFAULT_TAG = "Paystack"; public static void d(String tag, String message) { diff --git a/paystack/src/main/java/co/paystack/android/utils/StringUtils.java b/paystack/src/main/java/co/paystack/android/utils/StringUtils.java index 3d7bb95..dd9c208 100644 --- a/paystack/src/main/java/co/paystack/android/utils/StringUtils.java +++ b/paystack/src/main/java/co/paystack/android/utils/StringUtils.java @@ -1,13 +1,17 @@ package co.paystack.android.utils; +import static co.paystack.android.ConstantsKt.DEPRECATION_MESSAGE; + import co.paystack.android.exceptions.CardException; import co.paystack.android.model.Card; +import kotlin.Deprecated; /** * String utility methods * * @author {androidsupport@paystack.co} on 9/13/15. */ +@Deprecated(message = DEPRECATION_MESSAGE) public class StringUtils { public static final String CARD_CONCATENATOR = "*"; From 93f752eeffac52acf65e7c29db74c900b3dfa5b9 Mon Sep 17 00:00:00 2001 From: Peter-John Date: Tue, 25 Jun 2024 14:58:45 +0200 Subject: [PATCH 2/5] Updated deprecation message to new Android SDK documentation --- paystack/src/main/java/co/paystack/android/Constants.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paystack/src/main/java/co/paystack/android/Constants.kt b/paystack/src/main/java/co/paystack/android/Constants.kt index 626c6fc..40447c2 100644 --- a/paystack/src/main/java/co/paystack/android/Constants.kt +++ b/paystack/src/main/java/co/paystack/android/Constants.kt @@ -1,4 +1,4 @@ package co.paystack.android const val DEPRECATION_MESSAGE = - "This SDK has been deprecated, Please refer to our new SDK: https://github.com/PaystackHQ/paystack-sdk-android" + "This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/" From 4ae9d744ef1895b2b22a229e3c5d8fca1b735fed Mon Sep 17 00:00:00 2001 From: Peter-John Date: Tue, 25 Jun 2024 15:05:53 +0200 Subject: [PATCH 3/5] Updated Sonarcloud workflow to latest actions for checkout, cache and java --- .github/workflows/SonarCloud.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/SonarCloud.yml b/.github/workflows/SonarCloud.yml index 61298a5..b00eef4 100644 --- a/.github/workflows/SonarCloud.yml +++ b/.github/workflows/SonarCloud.yml @@ -10,21 +10,22 @@ jobs: name: Build runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up JDK 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v4 with: - java-version: 11 + distribution: 'temurin' + java-version: 17 - name: Cache SonarCloud packages - uses: actions/cache@v1 + uses: actions/cache@v4 with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar - name: Cache Gradle packages - uses: actions/cache@v1 + uses: actions/cache@v4 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} From 8262a07a100b70ce340770f84a602ef6834e2d5a Mon Sep 17 00:00:00 2001 From: Peter-John Date: Wed, 26 Jun 2024 13:15:11 +0200 Subject: [PATCH 4/5] Fixed broken test and updated workflow description for java --- .github/workflows/SonarCloud.yml | 2 +- .../test/java/co/paystack/android/TransactionManagerTest.kt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/SonarCloud.yml b/.github/workflows/SonarCloud.yml index b00eef4..5735a46 100644 --- a/.github/workflows/SonarCloud.yml +++ b/.github/workflows/SonarCloud.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: 'temurin' diff --git a/paystack/src/test/java/co/paystack/android/TransactionManagerTest.kt b/paystack/src/test/java/co/paystack/android/TransactionManagerTest.kt index 85ea895..91065d4 100644 --- a/paystack/src/test/java/co/paystack/android/TransactionManagerTest.kt +++ b/paystack/src/test/java/co/paystack/android/TransactionManagerTest.kt @@ -12,6 +12,7 @@ import co.paystack.android.model.Card import co.paystack.android.model.Charge import com.nhaarman.mockitokotlin2.any import com.nhaarman.mockitokotlin2.isA +import com.nhaarman.mockitokotlin2.times import com.nhaarman.mockitokotlin2.verify import com.nhaarman.mockitokotlin2.whenever import org.junit.Before @@ -62,7 +63,7 @@ class TransactionManagerTest { charge, mock(Paystack.TransactionCallback::class.java) ) - verify(paystackRepository).initializeTransaction(isA(), isA(), isA(), isA()) + verify(paystackRepository, times(0)).initializeTransaction(isA(), isA(), isA(), isA>()) } } } From 60b01d0503a94afc6fb24945840f405463f5d40b Mon Sep 17 00:00:00 2001 From: Peter-John Date: Wed, 26 Jun 2024 14:04:37 +0200 Subject: [PATCH 5/5] Updated javadocs with deprecation message --- .../java/co/paystack/android/Paystack.java | 19 +++++++++++++++++++ .../java/co/paystack/android/PaystackSdk.java | 14 +++++++++++++- .../java/co/paystack/android/Transaction.java | 3 +++ .../paystack/android/TransactionManager.java | 5 ++++- .../paystack/android/api/ChargeApiCallback.kt | 3 +++ .../exceptions/AuthenticationException.java | 3 ++- .../android/exceptions/CardException.java | 1 + .../android/exceptions/ChargeException.java | 1 + .../ExpiredAccessCodeException.java | 1 + .../exceptions/InvalidAmountException.java | 1 + .../exceptions/InvalidEmailException.java | 1 + .../PaystackActivityNotFoundException.java | 1 + .../android/exceptions/PaystackException.java | 1 + .../PaystackSdkNotInitializedException.java | 1 + .../exceptions/ProcessingException.java | 1 + .../android/exceptions/TokenException.java | 1 + .../android/exceptions/ValidateException.java | 1 + .../co/paystack/android/utils/CardUtils.java | 1 + .../co/paystack/android/utils/Crypto.java | 1 + .../co/paystack/android/utils/Logger.java | 1 + .../paystack/android/utils/StringUtils.java | 1 + 21 files changed, 59 insertions(+), 3 deletions(-) diff --git a/paystack/src/main/java/co/paystack/android/Paystack.java b/paystack/src/main/java/co/paystack/android/Paystack.java index 4d0bc25..33caac4 100644 --- a/paystack/src/main/java/co/paystack/android/Paystack.java +++ b/paystack/src/main/java/co/paystack/android/Paystack.java @@ -18,6 +18,7 @@ * Instead, access the functionalities of this class via the {@link PaystackSdk} * * @author {androidsupport@paystack.co} on 9/16/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class Paystack extends PaystackModel { @@ -57,6 +58,9 @@ private void validatePublicKey(String publicKey) throws AuthenticationException } + /** + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) void chargeCard(Activity activity, Charge charge, TransactionCallback transactionCallback) { chargeCard(activity, charge, publicKey, transactionCallback); @@ -84,17 +88,32 @@ private void chargeCard(Activity activity, Charge charge, String publicKey, Tran private interface BaseCallback { } + /** + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) public interface TransactionCallback extends BaseCallback { + /** + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) void onSuccess(Transaction transaction); + /** + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) void beforeValidate(Transaction transaction); + /** + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) void showLoading(Boolean isProcessing); + /** + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) void onError(Throwable error, Transaction transaction); } diff --git a/paystack/src/main/java/co/paystack/android/PaystackSdk.java b/paystack/src/main/java/co/paystack/android/PaystackSdk.java index 6d3f153..86d27d0 100644 --- a/paystack/src/main/java/co/paystack/android/PaystackSdk.java +++ b/paystack/src/main/java/co/paystack/android/PaystackSdk.java @@ -74,13 +74,17 @@ private static synchronized void initialize(Context applicationContext, SdkIniti * Initialize an sdk without a callback * * @param context - Application Context + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public static synchronized void initialize(Context context) { initialize(context, null); } - + /** + * @return Boolean - if the SDK has been initialised + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) public static boolean isSdkInitialized() { return sdkInitialized; @@ -91,6 +95,7 @@ public static boolean isSdkInitialized() { * * @return public key * @throws PaystackSdkNotInitializedException if the sdk hasn't been initialized + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public static String getPublicKey() throws PaystackSdkNotInitializedException { @@ -104,6 +109,7 @@ public static String getPublicKey() throws PaystackSdkNotInitializedException { * Sets the public key * * @param publicKey - App Developer's public key + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public static void setPublicKey(String publicKey) { @@ -144,6 +150,9 @@ private static void performChecks() { Utils.Validate.hasPublicKey(); } + /** + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) public static void chargeCard(Activity activity, Charge charge, Paystack.TransactionCallback transactionCallback) { if (BuildConfig.DEBUG && (activity == null)) { @@ -159,6 +168,9 @@ public static void chargeCard(Activity activity, Charge charge, Paystack.Transac paystack.chargeCard(activity, charge, transactionCallback); } + /** + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) public interface SdkInitializeCallback { void onInitialized(); diff --git a/paystack/src/main/java/co/paystack/android/Transaction.java b/paystack/src/main/java/co/paystack/android/Transaction.java index 198f3d3..24c424e 100644 --- a/paystack/src/main/java/co/paystack/android/Transaction.java +++ b/paystack/src/main/java/co/paystack/android/Transaction.java @@ -5,6 +5,9 @@ import co.paystack.android.api.model.TransactionApiResponse; import kotlin.Deprecated; +/** + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) public class Transaction { private String id; diff --git a/paystack/src/main/java/co/paystack/android/TransactionManager.java b/paystack/src/main/java/co/paystack/android/TransactionManager.java index f285695..3c8666d 100644 --- a/paystack/src/main/java/co/paystack/android/TransactionManager.java +++ b/paystack/src/main/java/co/paystack/android/TransactionManager.java @@ -41,6 +41,9 @@ import co.paystack.android.utils.StringUtils; import kotlin.Deprecated; +/** + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) class TransactionManager { @@ -98,7 +101,7 @@ void chargeCard(Activity activity, String publicKey, Charge charge, Paystack.Tra validateCardThenInitTransaction(publicKey, charge); } - private void validateCardThenInitTransaction(String publicKey, Charge charge) { + private void validateCardThenInitTransaction(String publicKey, Charge charge){ try { if (charge.getCard() == null || !charge.getCard().isValid()) { final CardSingleton si = CardSingleton.getInstance(); diff --git a/paystack/src/main/java/co/paystack/android/api/ChargeApiCallback.kt b/paystack/src/main/java/co/paystack/android/api/ChargeApiCallback.kt index af50101..a52514e 100644 --- a/paystack/src/main/java/co/paystack/android/api/ChargeApiCallback.kt +++ b/paystack/src/main/java/co/paystack/android/api/ChargeApiCallback.kt @@ -4,6 +4,9 @@ import co.paystack.android.DEPRECATION_MESSAGE import co.paystack.android.api.model.ChargeResponse import co.paystack.android.api.request.ChargeParams +/** + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ + */ @Deprecated(message = DEPRECATION_MESSAGE) interface ChargeApiCallback { fun onSuccess(params: ChargeParams, response: ChargeResponse) diff --git a/paystack/src/main/java/co/paystack/android/exceptions/AuthenticationException.java b/paystack/src/main/java/co/paystack/android/exceptions/AuthenticationException.java index 342c914..7a8b5ba 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/AuthenticationException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/AuthenticationException.java @@ -6,6 +6,7 @@ /** * @author {androidsupport@paystack.co} on 9/16/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class AuthenticationException extends PaystackException { @@ -16,4 +17,4 @@ public AuthenticationException(String message) { public AuthenticationException(String message, Throwable e) { super(message, e); } -} +} \ No newline at end of file diff --git a/paystack/src/main/java/co/paystack/android/exceptions/CardException.java b/paystack/src/main/java/co/paystack/android/exceptions/CardException.java index 4788952..1f20181 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/CardException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/CardException.java @@ -6,6 +6,7 @@ /** * @author {androidsupport@paystack.co} on 9/13/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class CardException extends PaystackException { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/ChargeException.java b/paystack/src/main/java/co/paystack/android/exceptions/ChargeException.java index 53a7003..ea20978 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/ChargeException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/ChargeException.java @@ -6,6 +6,7 @@ /** * @author {androidsupport@paystack.co} on 9/25/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class ChargeException extends PaystackException { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/ExpiredAccessCodeException.java b/paystack/src/main/java/co/paystack/android/exceptions/ExpiredAccessCodeException.java index 2967c5f..d8f8767 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/ExpiredAccessCodeException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/ExpiredAccessCodeException.java @@ -6,6 +6,7 @@ /** * @author {androidsupport@paystack.co} on 9/25/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class ExpiredAccessCodeException extends PaystackException { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/InvalidAmountException.java b/paystack/src/main/java/co/paystack/android/exceptions/InvalidAmountException.java index 0314232..3e6b9b1 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/InvalidAmountException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/InvalidAmountException.java @@ -6,6 +6,7 @@ /** * Created by i on 24/08/2016. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class InvalidAmountException extends PaystackException { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/InvalidEmailException.java b/paystack/src/main/java/co/paystack/android/exceptions/InvalidEmailException.java index 60ea9ed..c8c206c 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/InvalidEmailException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/InvalidEmailException.java @@ -6,6 +6,7 @@ /** * Created by i on 24/08/2016. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class InvalidEmailException extends PaystackException { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/PaystackActivityNotFoundException.java b/paystack/src/main/java/co/paystack/android/exceptions/PaystackActivityNotFoundException.java index ef492f1..1a2407e 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/PaystackActivityNotFoundException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/PaystackActivityNotFoundException.java @@ -6,6 +6,7 @@ /** * @author {androidsupport@paystack.co} on 9/22/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class PaystackActivityNotFoundException extends PaystackException { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/PaystackException.java b/paystack/src/main/java/co/paystack/android/exceptions/PaystackException.java index 96d63b9..585f721 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/PaystackException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/PaystackException.java @@ -10,6 +10,7 @@ * Base class for exceptions * * @author {androidsupport@paystack.co} on 9/13/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class PaystackException extends RuntimeException implements Serializable { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/PaystackSdkNotInitializedException.java b/paystack/src/main/java/co/paystack/android/exceptions/PaystackSdkNotInitializedException.java index f632422..8f2d230 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/PaystackSdkNotInitializedException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/PaystackSdkNotInitializedException.java @@ -6,6 +6,7 @@ /** * @author {androidsupport@paystack.co} on 9/22/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class PaystackSdkNotInitializedException extends PaystackException { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/ProcessingException.java b/paystack/src/main/java/co/paystack/android/exceptions/ProcessingException.java index d2bfbe7..9522113 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/ProcessingException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/ProcessingException.java @@ -6,6 +6,7 @@ /** * @author {androidsupport@paystack.co} on 9/25/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class ProcessingException extends ChargeException { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/TokenException.java b/paystack/src/main/java/co/paystack/android/exceptions/TokenException.java index b1f7f47..79c2087 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/TokenException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/TokenException.java @@ -6,6 +6,7 @@ /** * @author {androidsupport@paystack.co} on 9/20/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class TokenException extends PaystackException { diff --git a/paystack/src/main/java/co/paystack/android/exceptions/ValidateException.java b/paystack/src/main/java/co/paystack/android/exceptions/ValidateException.java index 7c130fc..28548a0 100644 --- a/paystack/src/main/java/co/paystack/android/exceptions/ValidateException.java +++ b/paystack/src/main/java/co/paystack/android/exceptions/ValidateException.java @@ -6,6 +6,7 @@ /** * Created by i on 24/08/2016. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class ValidateException extends PaystackException { diff --git a/paystack/src/main/java/co/paystack/android/utils/CardUtils.java b/paystack/src/main/java/co/paystack/android/utils/CardUtils.java index f09c483..e056e67 100644 --- a/paystack/src/main/java/co/paystack/android/utils/CardUtils.java +++ b/paystack/src/main/java/co/paystack/android/utils/CardUtils.java @@ -11,6 +11,7 @@ * Utils used with the Card model. * * @author {androidsupport@paystack.co} on 9/13/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class CardUtils { diff --git a/paystack/src/main/java/co/paystack/android/utils/Crypto.java b/paystack/src/main/java/co/paystack/android/utils/Crypto.java index ea576c3..4565c15 100644 --- a/paystack/src/main/java/co/paystack/android/utils/Crypto.java +++ b/paystack/src/main/java/co/paystack/android/utils/Crypto.java @@ -21,6 +21,7 @@ * Class for encrypting the card details, for token creation. * * @author {androidsupport@paystack.co} on 8/10/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class Crypto { diff --git a/paystack/src/main/java/co/paystack/android/utils/Logger.java b/paystack/src/main/java/co/paystack/android/utils/Logger.java index 0784cfc..c62985e 100644 --- a/paystack/src/main/java/co/paystack/android/utils/Logger.java +++ b/paystack/src/main/java/co/paystack/android/utils/Logger.java @@ -10,6 +10,7 @@ * Logger util class * * @author {androidsupport@paystack.co} on 9/18/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class Logger { diff --git a/paystack/src/main/java/co/paystack/android/utils/StringUtils.java b/paystack/src/main/java/co/paystack/android/utils/StringUtils.java index dd9c208..ce7fc13 100644 --- a/paystack/src/main/java/co/paystack/android/utils/StringUtils.java +++ b/paystack/src/main/java/co/paystack/android/utils/StringUtils.java @@ -10,6 +10,7 @@ * String utility methods * * @author {androidsupport@paystack.co} on 9/13/15. + * @deprecated This SDK has been deprecated, Please refer to our new SDK: https://paystack.com/docs/developer-tools/android-sdk/ */ @Deprecated(message = DEPRECATION_MESSAGE) public class StringUtils {