Coder Social home page Coder Social logo

gosellsdk-android's Issues

Fatal Exception: java.lang.NullPointerException

Fatal Exception: java.lang.NullPointerException

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String company.tap.gosellapi.internal.api.models.PaymentOption.getThreeDS()' on a null object reference
at company.tap.gosellapi.internal.data_managers.PaymentProcessManager.callChargeOrAuthorizeOrSaveCardAPI(PaymentProcessManager.java:662)
at company.tap.gosellapi.internal.data_managers.PaymentProcessManager.access$100(PaymentProcessManager.java:65)
at company.tap.gosellapi.internal.data_managers.PaymentProcessManager$1.onSuccess(PaymentProcessManager.java:487)
at company.tap.gosellapi.internal.data_managers.PaymentProcessManager$1.onSuccess(PaymentProcessManager.java:469)
at company.tap.gosellapi.internal.api.callbacks.BaseCallback.onResponse(BaseCallback.java:36)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$1.run(DefaultCallAdapterFactory.java:83)
at android.os.Handler.handleCallback(Handler.java:900)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8387)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)

[2.2.3] Sdk Language doesn't work

The sdk is using the device language instead of the sdk language.

If you have the phone in Arabic and you setup the sdk to use English, the payment view is in Arabic instead of English.

ThemeObject.getInstance().setSdkLanguage("en")
GoSellSDK.setLocale("en")
sdkSession.start(activity)

The same issue happened if you have the phone in English and you try to use the sdk in Arabic

Changelog File

Can you include the version changes in a changelog file or in the release section please?
So, when you release a new version we can know easier what changed.

Thanks!

in android 11 app is crashed

   at okhttp3.Headers$Companion.checkValue(Headers.kt:434)
   at okhttp3.Headers$Companion.access$checkValue(Headers.kt:346)
   at okhttp3.Headers$Builder.add(Headers.kt:245)
   at okhttp3.Request$Builder.addHeader(Request.kt:210)
   at company.tap.gosellapi.internal.api.api_service.RetrofitHelper$1.intercept(RetrofitHelper.java:91)
   at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
   at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
   at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.kt:184)
   at okhttp3.RealCall$AsyncCall.run(RealCall.kt:136)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run(Thread.java:923

Invalid API key error while using the correct test keys.

I'm facing an issue. I have integrated the latest version of SDK in an application. But when I try to run it by calling configureSDKSession method. I always end up in "sdkError" callback with an error message of:
{"errors":[{"code":"2104","description":"Invalid API Key"}]}

I've tried using the test keys from my TAP Merchant panel.
I've also tried the test keys mentioned on the TAP Documentation.

[2.2.11] Crash when I open the sdk

This is the stacktrace , in the version [2.2.7] it didn't happen

Fatal Exception: java.lang.NullPointerException: throw with null exception
       at company.tap.gosellapi.internal.api.responses.SDKSettings$Data.getPermissions(SDKSettings.java)
       at company.tap.gosellapi.internal.data_managers.payment_options.PaymentOptionsDataManager$ViewModelsHandler.generateCardPaymentModel + 993(PaymentOptionsDataManager.java:993)
       at company.tap.gosellapi.internal.data_managers.payment_options.PaymentOptionsDataManager$ViewModelsHandler.generateViewModels + 802(PaymentOptionsDataManager.java:802)
       at company.tap.gosellapi.internal.data_managers.payment_options.PaymentOptionsDataManager$ViewModelsHandler.access$100 + 732(PaymentOptionsDataManager.java:732)
       at company.tap.gosellapi.internal.data_managers.payment_options.PaymentOptionsDataManager.(PaymentOptionsDataManager.java:5)
       at company.tap.gosellapi.internal.data_managers.PaymentDataManager.createPaymentOptionsDataManager + 305(PaymentDataManager.java:305)
       at company.tap.gosellapi.internal.api.facade.GoSellAPI$1.onSuccess + 232(GoSellAPI.java:232)
       at company.tap.gosellapi.internal.api.facade.GoSellAPI$1.onSuccess + 228(GoSellAPI.java:228)
       at company.tap.gosellapi.internal.api.callbacks.BaseCallback.onResponse + 36(BaseCallback.java:36)
       at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run + 71(ExecutorCallAdapterFactory.java:71)
       at android.os.Handler.handleCallback + 754(Handler.java:754)
       at android.os.Handler.dispatchMessage + 95(Handler.java:95)
       at android.os.Looper.loop + 165(Looper.java:165)
       at android.app.ActivityThread.main + 6375(ActivityThread.java:6375)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 912(ZygoteInit.java:912)
       at com.android.internal.os.ZygoteInit.main + 802(ZygoteInit.java:802)

java.lang.ArrayIndexOutOfBoundsException:

this exception is appearing only is the Release version

E/AndroidRuntime: FATAL EXCEPTION: GLThread 6950
Process: itssportsco.android.app, PID: 4945
java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
at gotap.com.tapglkitandroid.gl.Views.TapRender.onSurfaceCreated(:50)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1539)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)

NullPointerException inside CurrenciesActivity

I faced with an NPE when I clicked on the cuerrcny view, check the video link below

https://drive.google.com/file/d/1TTuRBnLylL1Iw5H_AklE_uMZyYPMnqUr/view?usp=sharing

dependency version : 2.15.3


Error

    --------- beginning of crash
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.ibtikarat.goltlak, PID: 32155
    java.lang.NullPointerException: Attempt to invoke interface method 'android.view.View android.view.MenuItem.getActionView()' on a null object reference
        at company.tap.gosellapi.internal.activities.CurrenciesActivity.onCreateOptionsMenu(CurrenciesActivity.java:116)
        at android.app.Activity.onCreatePanelMenu(Activity.java:4140)
        at androidx.fragment.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:263)
        at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94)
        at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.onCreatePanelMenu(AppCompatDelegateImpl.java:3106)
        at androidx.appcompat.app.AppCompatDelegateImpl.preparePanel(AppCompatDelegateImpl.java:1910)
        at androidx.appcompat.app.AppCompatDelegateImpl.doInvalidatePanelMenu(AppCompatDelegateImpl.java:2191)
        at androidx.appcompat.app.AppCompatDelegateImpl$2.run(AppCompatDelegateImpl.java:276)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:224)
        at android.app.ActivityThread.main(ActivityThread.java:7562)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

My Code

private val payload: SubscriptionPayload // the data are valid

fun initPayment(onSuccess: () -> Unit) {

        GoSellSDK.init(context.applicationContext, API_KEY, BuildConfig.APPLICATION_ID)
        GoSellSDK.setLocale("ar")
        ThemeObject.getInstance().setAppearanceMode(AppearanceMode.FULLSCREEN_MODE).sdkLanguage = "ar"
        sdkSession.instantiatePaymentDataSource()
        sdkSession.setTransactionCurrency(TapCurrency("SAR"))
        sdkSession.transactionMode = TransactionMode.PURCHASE
        sdkSession.setCustomer(getCustomer())
        sdkSession.setAmount(BigDecimal(payload.cost))
        val list: ArrayList<PaymentItem> = arrayListOf()
        sdkSession.setPaymentItems(list)
        sdkSession.isUserAllowedToSaveCard(false)
        sdkSession.isRequires3DSecure(true)
        sdkSession.setPostURL(payload.post_url)

}

Error in charge request

Error : onFailure createCharge, errorCode: 500, errorBody: {"errors":[{"fieldname":"create a charge","message":"Sorry, we couldn't achieve your request at the moment. Please try again later, or contact our customer support."}]}, throwable: null

Code :

        HashMap<String, String> chargeMetadata = new HashMap<>();
        chargeMetadata.put("Order Number", "ORD-1003");
        GoSellAPI.getInstance(AUTH_TOKEN).createCharge(
                new CreateChargeRequest
                        .Builder(10, "KWD", new Redirect("http://return.com/returnurl", "http://return.com/posturl"))
                        .source(new Source("card", "12", "20", "5555555555554444", "123")
                        .build(),
                new APIRequestCallback<Charge>() {
                    @Override
                    public void onSuccess(int responseCode, Charge serializedResponse) {
                        Log.d(TAG, "onSuccess createCharge: serializedResponse:" + serializedResponse);
                        charge = serializedResponse;
                       
                    }

                    @Override
                    public void onFailure(GoSellError errorDetails) {
                        Log.d(TAG, "onFailure createCharge, errorCode: " + errorDetails.getErrorCode() + ", errorBody: " + errorDetails.getErrorBody() + ", throwable: " + errorDetails.getThrowable());
                    }
                }
        );
    }```

OTP Page refreshed when came back from the SMS application

Hello,

I got a very strange issue in the payment SDK when I go to the SMS application and came back to the OTP page to enter the OPT, the page refreshed every time.

Can anyone face the same issue? I am having this issue in Redmi Note 5 Android device.

java.lang.NoSuchMethodError: No virtual method apply(Lcom/bumptech/glide/request/RequestOptions;)Lcom/bumptech/glide/RequestBuilder; in class Lcom/bumptech/glide/RequestBuilder; or its super classes (declaration of 'com.bumptech.glide.RequestBuilder' appears in /data/app/packagename-RUTD1SzmsMC0a3bnMHqDOQ==/split_lib_dependencies_apk.apk)

I have this error, when I clicked to the payButton. I use 4.9.0 version of Glide but The library use 4.7.1. I get this error when I use same version to library. "bumptech/glide#3185" but solutions does not work for me. Can you update to Glide for library?

java.lang.NoSuchMethodError: No virtual method apply(Lcom/bumptech/glide/request/RequestOptions;)Lcom/bumptech/glide/RequestBuilder; in class Lcom/bumptech/glide/RequestBuilder; or its super classes (declaration of 'com.bumptech.glide.RequestBuilder' appears in /data/app/packagename-RUTD1SzmsMC0a3bnMHqDOQ==/split_lib_dependencies_apk.apk)
at company.tap.gosellapi.internal.activities.GoSellPaymentActivity.setupHeader(GoSellPaymentActivity.java:230)
at company.tap.gosellapi.internal.activities.GoSellPaymentActivity.initViews(GoSellPaymentActivity.java:158)
at company.tap.gosellapi.internal.activities.GoSellPaymentActivity.onCreate(GoSellPaymentActivity.java:142)
at android.app.Activity.performCreate(Activity.java:7258)
at android.app.Activity.performCreate(Activity.java:7249)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1221)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3059)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1724)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:7000)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)

2.0 release time estimate

Hi,

I noticed a good progress in the development_2.0 branch. Is there an estimate for a new release with this major version?

Thanks!

KNET payment screen is blank after loading finishes.

I have integrated GoSellSDK in my application. Everything else is working fine but when I choose KNET as payment method nothing shows after the loading finishes.

My keys are correct and KNET is activated on them. KNET is working fine for the test key but doesn't work on my live key.

Screenshot_20190617-115903

403 on Source source = new Source("card", "12", "20", "4242424242424242", "123");

Error :
onFailure createCharge, errorCode: 403, errorBody: {"errors":[{"fieldname":"charges.source","message":"Invalid source"}]}, throwable: null

Code :

Source source = new Source("card", "month", "year", "cardNumber", "cvv");
GoSellAPI.getInstance(AUTH_TOKEN).createCharge(
                new CreateChargeRequest
                        .Builder(10, "KWD", new Redirect("http://myreturnurl.com","http://myposturl.com"))
                        .source(source)
                        .statement_descriptor("charge")
                        .description(paymentDescription)
                        .metadata(chargeMetadata)
                        .receipt_sms(String.valueOf(user.getMobileNo()))
                        .receipt_email(user.getEmail())
                        .build(),
                new APIRequestCallback<Charge>() {
                    @Override
                    public void onSuccess(int responseCode, Charge serializedResponse) {
                        Debug.e(TAG, "onSuccess createCharge: serializedResponse:" + serializedResponse);
                     }

                    @Override
                    public void onFailure(GoSellError errorDetails) {
                        Debug.e(TAG, "onFailure createCharge, errorCode: " + errorDetails.getErrorCode() + ", errorBody: " + errorDetails.getErrorBody() + ", throwable: " + errorDetails.getThrowable());
                    }
                }
        );

Create Token PCI Permission issue

I am facing issue when creating token in TAP payment gateway as below:

403, errorBody: {"status":"fail","type":"permission_denied","message":"It is likely that you need to grant has_pci_dss permission"}, throwable: null

Please reply

java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.appcompat.widget.SearchView.setVisibility(int)' on a null object reference

java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.appcompat.widget.SearchView.setVisibility(int)' on a null object reference
at company.tap.gosellapi.internal.activities.CurrenciesActivity.onCreateOptionsMenu(CurrenciesActivity.java:100)
at android.app.Activity.onCreatePanelMenu(Activity.java:4074)
at androidx.fragment.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:378)
at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94)
at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.onCreatePanelMenu(AppCompatDelegateImpl.java:2549)
at androidx.appcompat.app.AppCompatDelegateImpl.preparePanel(AppCompatDelegateImpl.java:1589)
at androidx.appcompat.app.AppCompatDelegateImpl.doInvalidatePanelMenu(AppCompatDelegateImpl.java:1869)
at androidx.appcompat.app.AppCompatDelegateImpl$2.run(AppCompatDelegateImpl.java:230)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

BENEFIT PAY

I am not able to see the BENEFIT pay payment button in the SDK

[2.4.6] The library doesn't compile

Log:

> Task :library:generateDebugRFile FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':library:generateDebugRFile'.
> Could not resolve all files for configuration ':library:debugRuntimeClasspath'.
   > Could not resolve com.github.Tap-Payments:TapCardValidator-Android:2.1.0.1.
     Required by:
         project :library
      > Could not resolve com.github.Tap-Payments:TapCardValidator-Android:2.1.0.1.
         > Could not get resource 'https://jitpack.io/com/github/Tap-Payments/TapCardValidator-Android/2.1.0.1/TapCardValidator-Android-2.1.0.1.pom'.
            > Could not GET 'https://jitpack.io/com/github/Tap-Payments/TapCardValidator-Android/2.1.0.1/TapCardValidator-Android-2.1.0.1.pom'. Received status code 401 from server: Unauthorized

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Steps to reproduce it:

  • Clone the repo (git clone [email protected]:Tap-Payments/goSellSDK-Android.git).
  • Checkout in the 2.4.6 tag (git checkout 2.4.6 )
  • Compile it ./gradlew assembleDebug

Additional comments:

[2.2.7] Crash in loading screen manager

The app sometime is crashing in this line

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
       at company.tap.gosellapi.internal.data_managers.LoadingScreenManager$2.onAnimationEnd + 144(LoadingScreenManager.java:144)
       at android.view.ViewPropertyAnimator$AnimatorEventListener.onAnimationEnd + 1122(ViewPropertyAnimator.java:1122)
       at android.animation.Animator$AnimatorListener.onAnimationEnd + 552(Animator.java:552)
       at android.animation.ValueAnimator.endAnimation + 1232(ValueAnimator.java:1232)
       at android.animation.ValueAnimator.doAnimationFrame + 1474(ValueAnimator.java:1474)
       at android.animation.AnimationHandler.doAnimationFrame + 146(AnimationHandler.java:146)
       at android.animation.AnimationHandler.access$100 + 37(AnimationHandler.java:37)
       at android.animation.AnimationHandler$1.doFrame + 54(AnimationHandler.java:54)
       at android.view.Choreographer$CallbackRecord.run + 947(Choreographer.java:947)
       at android.view.Choreographer.doCallbacks + 761(Choreographer.java:761)
       at android.view.Choreographer.doFrame + 693(Choreographer.java:693)
       at android.view.Choreographer$FrameDisplayEventReceiver.run + 935(Choreographer.java:935)
       at android.os.Handler.handleCallback + 873(Handler.java:873)
       at android.os.Handler.dispatchMessage + 99(Handler.java:99)
       at android.os.Looper.loop + 214(Looper.java:214)
       at android.app.ActivityThread.main + 7045(ActivityThread.java:7045)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 493(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main + 965(ZygoteInit.java:965)

Card no saved once saved card switch is enable

Hello Team,

We have implemented the Tap payment in one of the application, some of the users complain that they are not getting the saved cards when they are going to the payment for next time.

Can you please let me know what's the issue?

[2.2.1] Activities launch Mode

All activities from the sdk should use singleTask or at least singleTop to avoid opens the payment view multiple times.

[2.2] Security issue, log system.

Sometime the app log important information in the logger system, for example:

Log.d("#paymentOptionsRequest" , paymentOptionsRequest.getPaymentOptionRequestInfo());
System.out.println("getPaymentOptions>>> error: "+errorDetails.getErrorMessage());
System.out.println("getPaymentOptions>>> error: "+errorDetails.getErrorBody());

From my point of view this is a big security issue, and it's a blocker to migrate to this version.

Sdk doesn't support AndroidX

Sdk doesn't support AndroidX, my project is in AndroidX, i have to manually change each class package to androidx.

Change the text color of the Cancel button

Hello Tap Payment Team,

I want to change the text color of the Cancel button of GoSellActivity to white color? Can you please let me know how to change that color as I am not able to find the method in the ThemeObjecet.

 <TextView
                android:id="@+id/cancel_payment_icon"
                android:textSize="@dimen/font_size_14sp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/cancel"
                android:layout_marginBottom="@dimen/margin_basic_16dp"
                android:layout_marginTop="@dimen/margin_basic_16dp"/>

PhoneNumber class shouldn't be internal

When you are creating a customer (using CustomerBuilder), you can set the phone number using the PhoneNumber class.
The PhoneNumber package class is company.tap.gosellapi.internal.api.models instead of company.tap.gosellapi.open.models and I think it's wrong because it's not an internal class.

java.lang.NoSuchFieldException: PURCHASE

debug version works fine
but the release version crashes when enabling proguard.

im using the latest goSellSdk version 2.4.2

this is what im getting in logcat when i launch the tap activity

2019-10-10 17:08:26.881 2617-2617/itssportsco.android.app E/AndroidRuntime: FATAL EXCEPTION: main
Process: itssportsco.android.app, PID: 2617
java.lang.AssertionError: java.lang.NoSuchFieldException: PURCHASE
at com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.(:792)
at com.google.gson.internal.bind.TypeAdapters$30.create(:818)
at com.google.gson.Gson.getAdapter(:458)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(:117)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(:166)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(:102)
at com.google.gson.Gson.getAdapter(:458)
at retrofit2.converter.gson.GsonConverterFactory.a(:71)
at retrofit2.Retrofit.a(:280)
at retrofit2.Retrofit.a(:260)
at retrofit2.RequestFactory$Builder.a(:706)
at retrofit2.RequestFactory$Builder.a(:295)
at retrofit2.RequestFactory$Builder.a(:182)
at retrofit2.RequestFactory.a(:65)
at retrofit2.ServiceMethod.a(:25)
at retrofit2.Retrofit.a(:168)
at retrofit2.Retrofit$1.invoke(:147)
at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
at $Proxy7.a(Unknown Source)
at company.tap.gosellapi.internal.api.facade.GoSellAPI.a(:228)
at company.tap.gosellapi.open.controllers.SDKSession.j(:389)
at company.tap.gosellapi.open.controllers.SDKSession.c(:366)
at company.tap.gosellapi.open.controllers.SDKSession.a(:327)
at itssportsco.android.app.TapActivity.n(:261)
at itssportsco.android.app.TapActivity.s(:108)
at itssportsco.android.app.TapActivity.onCreate(:88)
at android.app.Activity.performCreate(Activity.java:7327)
at android.app.Activity.performCreate(Activity.java:7318)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3094)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3257)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1948)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7050)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
Caused by: java.lang.NoSuchFieldException: PURCHASE
at java.lang.Class.getField(Class.java:1601)
at com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.(:781)
at com.google.gson.internal.bind.TypeAdapters$30.create(:818) 
at com.google.gson.Gson.getAdapter(:458) 
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(:117) 
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(:166) 
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(:102) 
at com.google.gson.Gson.getAdapter(:458) 
at retrofit2.converter.gson.GsonConverterFactory.a(:71) 
at retrofit2.Retrofit.a(:280) 
at retrofit2.Retrofit.a(:260) 
at retrofit2.RequestFactory$Builder.a(:706) 
at retrofit2.RequestFactory$Builder.a(:295) 
at retrofit2.RequestFactory$Builder.a(:182) 
at retrofit2.RequestFactory.a(:65) 
at retrofit2.ServiceMethod.a(:25) 
at retrofit2.Retrofit.a(:168) 
at retrofit2.Retrofit$1.invoke(:147) 
at java.lang.reflect.Proxy.invoke(Proxy.java:1006) 
at $Proxy7.a(Unknown Source) 
at company.tap.gosellapi.internal.api.facade.GoSellAPI.a(:228) 
at company.tap.gosellapi.open.controllers.SDKSession.j(:389) 
at company.tap.gosellapi.open.controllers.SDKSession.c(:366) 
at company.tap.gosellapi.open.controllers.SDKSession.a(:327) 
at itssportsco.android.app.TapActivity.n(:261) 
at itssportsco.android.app.TapActivity.s(:108) 
at itssportsco.android.app.TapActivity.onCreate(:88) 
at android.app.Activity.performCreate(Activity.java:7327) 
at android.app.Activity.performCreate(Activity.java:7318) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3094) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3257) 
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1948) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loop(Looper.java:214) 
at android.app.ActivityThread.main(ActivityThread.java:7050) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965) 


this at ( itssportsco.android.app.TapActivity.n(:261) ) is pointing to this line of code:
sdkSession.start(this);
inside the configureSDKSession() function


these are my rules:

-dontwarn android.support.v7.**
-keep class android.support.v7.** { ; }
-keep interface android.support.v7.
* { *; }

support constraint

-dontwarn android.support.constraint.**
-keep class android.support.constraint.** { ; }
-keep interface android.support.constraint.
* { ; }
-keep public class android.support.constraint.R$
{ *; }

support

-dontwarn android.support.**

junit

-dontwarn org.junit.**

support design

-dontwarn android.support.design.**
-keep class android.support.design.** { ; }
-keep interface android.support.design.
* { ; }
-keep public class android.support.design.R$
{ *; }

##---------------Begin: proguard configuration for Gson ----------

Gson uses generic type information stored in a class file when working with fields. Proguard

removes such information by default, so configure it to keep all of it.

-keepattributes Signature

For using GSON @expose annotation

-keepattributes Annotation

Gson specific classes

-dontwarn sun.misc.**
#-keep class com.google.gson.stream.** { *; }

Application classes that will be serialized/deserialized over Gson

-keep class com.google.gson.examples.android.model.** { ; }

Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,

JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)

-keep class * implements com.google.gson.TypeAdapter
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer

Prevent R8 from leaving Data object members always null

-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName ;
}

##---------------End: proguard configuration for Gson ----------

Retrofit

-keep class com.google.gson.** { ; }
-keep public class com.google.gson.
* {public private protected ;}
-keep class com.google.inject.
* { ; }
-keep class org.apache.http.
* { ; }
-keep class org.apache.james.mime4j.
* { ; }
-keep class javax.inject.
* { ; }
-keep class javax.xml.stream.
* { ; }
-keep class retrofit.
* { ; }
-keep class com.google.appengine.
* { ; }
-keepattributes Annotation
-keepattributes Signature
-dontwarn com.squareup.okhttp.

-dontwarn rx.**
-dontwarn javax.xml.stream.**
-dontwarn com.google.appengine.**

glide

-keep public class * implements com.bumptech.glide.module.GlideModule
-keep class * extends com.bumptech.glide.module.AppGlideModule {
(...);
}
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}

Uncomment for DexGuard only

#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule

FB Login

-keepclassmembers class * implements java.io.Serializable {
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}

-keepnames class com.facebook.FacebookActivity
-keepnames class com.facebook.CustomTabActivity

-keep class com.facebook.login.Login

GoSellSdk

-keepattributes Signature
-keepclassmembernames,allowobfuscation interface * {
@retrofit2.http.* ;
}
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement

#########################################################################
# OkHttp
#########################################################################
-dontwarn okhttp3.**
-dontwarn okhttp2.**
-dontwarn okio.**
-dontwarn javax.annotation.**
-dontwarn org.conscrypt.**
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase

easy permission

-keepclassmembers class * {
@pub.devrel.easypermissions.AfterPermissionGranted ;
}

-keepnames class **


Missing Exeception

FATAL EXCEPTION: main Process: com.wmt.android.demo.walkentokendemo, PID: 28572 java.lang.IllegalArgumentException: bad base-64 at android.util.Base64.decode(Base64.java:161) at android.util.Base64.decode(Base64.java:136) at android.util.Base64.decode(Base64.java:118) at company.tap.gosellapi.api.crypto.CryptoUtil.encrypt(CryptoUtil.java:35) at company.tap.gosellapi.api.crypto.CryptoUtil.encryptJsonString(CryptoUtil.java:27) at company.tap.gosellapi.api.requests.CardRequest$Builder.build(CardRequest.java:71) at com.wmt.android.demo.walkentokendemo.activity.PaymentActivity.createToken(PaymentActivity.java:48) at com.wmt.android.demo.walkentokendemo.activity.PaymentActivity.onClick(PaymentActivity.java:34) at android.view.View.performClick(View.java:6294) at android.view.View$PerformClick.run(View.java:24770) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

App getting crash while proceed Payment

I am getting below Error in 2.15.3 and 2.15.4
Binary XML file line #36 in :layout/gosellapi_viewholder_recent_payments: Binary XML file line #36 in :layout/gosellapi_viewholder_recent_payments: Error inflating class

Caused by: java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.