Git Product home page Git Product logo

khalti-sdk-android's People

Contributors

abnormalbbk avatar ishwor-shrestha avatar manishmodi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

khalti-sdk-android's Issues

Huge Library size

Hey Developer,

You should decrease the library size at first. And You should use latest version of Picasso.

Regards

AAPT: error: duplicate value for resource 'attr/button_style' with config ''.

After integrating sdk in the project build fails with following error

/Users/amar/.gradle/caches/transforms-2/files-2.1/5b02e9fabdc6d3f8a2b35986c0906017/jetified-khalti-android/res/values/values.xml:144:5-154:25: AAPT: error: duplicate value for resource 'attr/button_style' with config ''.

it points to this resource










ignored khalti-android/src/main/java/khalti/utils/Constant.java

Whats the meaning of making the project open source when I can't even test your testClasses.

khalti-android/src/main/java/khalti/checkOut/EBanking/EBankingPresenter.java
khalti-android/src/main/java/khalti/checkOut/Wallet/WalletPresenter.java
khalti-android/src/main/java/khalti/checkOut/api/ApiHelper.java

Constants.url is missing and which is for sure "https://khalti.com/" as I assume..

Looking for better sdk ahead
Congratulation as well !!

No callback on successful cIPS payment

The onSuccess call never fires if we pay from cIPS. At the end of the wizard process once the payment is successful we receive Go To App button but that never redirects. Even worst is that, the transaction made through cIPS is automatically marked as completed without our verification call from the server. This is causing a mess to maintain the transaction records.

Class 'khalti.checkOut.CheckOutActivity$1' does not implement interface 'com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener

compileSdkVersion 29 buildToolsVersion "29.0.1" defaultConfig { applicationId "com.thesunbi.nepmeds" minSdkVersion 21 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true }

Gradle Dependencies
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.core:core-ktx:1.1.0' implementation 'com.google.android.material:material:1.1.0-alpha10' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.vectordrawable:vectordrawable:1.1.0' implementation 'androidx.navigation:navigation-fragment:2.2.0-alpha02' implementation 'androidx.navigation:navigation-ui:2.2.0-alpha02' implementation 'androidx.navigation:navigation-fragment-ktx:2.2.0-alpha02' implementation 'androidx.navigation:navigation-ui-ktx:2.2.0-alpha02' implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0-alpha04' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-alpha04' implementation ('com.khalti:khalti-android:1.2.8')

Gradle.properties
kotlin.code.style=official android.enableJetifier=true org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M" android.useAndroidX=true android.enableR8 = false

Crash Log
2019-09-16 16:52:57.256 23024-23024/com.thesunbi.nepmeds E/InputEventReceiver: Exception dispatching input event. 2019-09-16 16:52:57.257 23024-23024/com.thesunbi.nepmeds E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback 2019-09-16 16:52:57.260 23024-23024/com.thesunbi.nepmeds E/MessageQueue-JNI: java.lang.IncompatibleClassChangeError: Class 'khalti.checkOut.CheckOutActivity$1' does not implement interface 'com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener' in call to 'void com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener.onTabUnselected(com.google.android.material.tabs.TabLayout$Tab)' (declaration of 'com.google.android.material.tabs.TabLayout$1' appears in /data/app/com.thesunbi.nepmeds-Qdq0rC66qqCNuKcVsJ0AOg==/base.apk) at com.google.android.material.tabs.TabLayout$1.onTabUnselected(TabLayout.java:826) at com.google.android.material.tabs.TabLayout.dispatchTabUnselected(TabLayout.java:1799) at com.google.android.material.tabs.TabLayout.selectTab(TabLayout.java:1783) at com.google.android.material.tabs.TabLayout$TabLayoutOnPageChangeListener.onPageSelected(TabLayout.java:3256) at androidx.viewpager.widget.ViewPager.dispatchOnPageSelected(ViewPager.java:1947) at androidx.viewpager.widget.ViewPager.scrollToItem(ViewPager.java:686) at androidx.viewpager.widget.ViewPager.setCurrentItemInternal(ViewPager.java:670) at androidx.viewpager.widget.ViewPager.onTouchEvent(ViewPager.java:2263) at android.view.View.dispatchTouchEvent(View.java:12593) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3028) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:441) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1850) at android.app.Activity.dispatchTouchEvent(Activity.java:3413) at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:399) at android.view.View.dispatchPointerEvent(View.java:12832) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5667) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5193) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4726) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4692) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4832) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4700) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4889) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4726) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4692) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4700) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7697) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7666) at android.view.ViewRootImpl.enqueueInputE 2019-09-16 16:52:57.260 23024-23024/com.thesunbi.nepmeds D/AndroidRuntime: Shutting down VM 2019-09-16 14:56:56.586 20947-20947/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.thesunbi.nepmeds, PID: 20947 java.lang.IncompatibleClassChangeError: Class 'khalti.checkOut.CheckOutActivity$1' does not implement interface 'com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener' in call to 'void com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener.onTabUnselected(com.google.android.material.tabs.TabLayout$Tab)' (declaration of 'com.google.android.material.tabs.TabLayout$1' appears in /data/app/com.thesunbi.nepmeds-0cPfwgSeIU9sRJVd4k6kBA==/base.apk) at com.google.android.material.tabs.TabLayout$1.onTabUnselected(TabLayout.java:826) at com.google.android.material.tabs.TabLayout.dispatchTabUnselected(TabLayout.java:1799) at com.google.android.material.tabs.TabLayout.selectTab(TabLayout.java:1783) at com.google.android.material.tabs.TabLayout.selectTab(TabLayout.java:1746) at com.google.android.material.tabs.TabLayout$Tab.select(TabLayout.java:2139) at com.google.android.material.tabs.TabLayout$TabView.performClick(TabLayout.java:2327) at android.view.View.performClickInternal(View.java:6638) at android.view.View.access$3100(View.java:789) at android.view.View$PerformClick.run(View.java:26145) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6898) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 2019-09-16 16:52:57.263 23024-23024/com.thesunbi.nepmeds E/AndroidRuntime: FATAL EXCEPTION: main Process: com.thesunbi.nepmeds, PID: 23024 java.lang.IncompatibleClassChangeError: Class 'khalti.checkOut.CheckOutActivity$1' does not implement interface 'com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener' in call to 'void com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener.onTabUnselected(com.google.android.material.tabs.TabLayout$Tab)' (declaration of 'com.google.android.material.tabs.TabLayout$1' appears in /data/app/com.thesunbi.nepmeds-Qdq0rC66qqCNuKcVsJ0AOg==/base.apk) at com.google.android.material.tabs.TabLayout$1.onTabUnselected(TabLayout.java:826) at com.google.android.material.tabs.TabLayout.dispatchTabUnselected(TabLayout.java:1799) at com.google.android.material.tabs.TabLayout.selectTab(TabLayout.java:1783) at com.google.android.material.tabs.TabLayout$TabLayoutOnPageChangeListener.onPageSelected(TabLayout.java:3256) at androidx.viewpager.widget.ViewPager.dispatchOnPageSelected(ViewPager.java:1947) at androidx.viewpager.widget.ViewPager.scrollToItem(ViewPager.java:686) at androidx.viewpager.widget.ViewPager.setCurrentItemInternal(ViewPager.java:670) at androidx.viewpager.widget.ViewPager.onTouchEvent(ViewPager.java:2263) at android.view.View.dispatchTouchEvent(View.java:12593) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3028) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:441) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1850) at android.app.Activity.dispatchTouchEvent(Activity.java:3413) at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:399) at android.view.View.dispatchPointerEvent(View.java:12832) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5667) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5193) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4726) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4692) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4832) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4700) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4889) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4726) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4692) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4700) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7697) 2019-09-16 16:52:57.263 23024-23024/com.thesunbi.nepmeds E/AndroidRuntime: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7666) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7599) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7800) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:187) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:326) at android.os.Looper.loop(Looper.java:160) at android.app.ActivityThread.main(ActivityThread.java:6898) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 2019-09-16 16:52:57.265 23024-23024/com.thesunbi.nepmeds E/AndroidRuntime: FATAL EXCEPTION: main Process: com.thesunbi.nepmeds, PID: 23024 java.lang.IncompatibleClassChangeError: Class 'khalti.checkOut.CheckOutActivity$1' does not implement interface 'com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener' in call to 'void com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener.onTabUnselected(com.google.android.material.tabs.TabLayout$Tab)' (declaration of 'com.google.android.material.tabs.TabLayout$1' appears in /data/app/com.thesunbi.nepmeds-Qdq0rC66qqCNuKcVsJ0AOg==/base.apk) at com.google.android.material.tabs.TabLayout$1.onTabUnselected(TabLayout.java:826) at com.google.android.material.tabs.TabLayout.dispatchTabUnselected(TabLayout.java:1799) at com.google.android.material.tabs.TabLayout.selectTab(TabLayout.java:1783) at com.google.android.material.tabs.TabLayout$TabLayoutOnPageChangeListener.onPageSelected(TabLayout.java:3256) at androidx.viewpager.widget.ViewPager.dispatchOnPageSelected(ViewPager.java:1947) at androidx.viewpager.widget.ViewPager.scrollToItem(ViewPager.java:686) at androidx.viewpager.widget.ViewPager.setCurrentItemInternal(ViewPager.java:670) at androidx.viewpager.widget.ViewPager.onTouchEvent(ViewPager.java:2263) at android.view.View.dispatchTouchEvent(View.java:12593) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3028) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:441) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1850) at android.app.Activity.dispatchTouchEvent(Activity.java:3413) at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:399) at android.view.View.dispatchPointerEvent(View.java:12832) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5667) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5193) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4726) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4692) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4832) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4700) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4889) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4726) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4692) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4700) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4673) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7697) 2019-09-16 16:52:57.266 23024-23024/com.thesunbi.nepmeds E/AndroidRuntime: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7666) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7599) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7800) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:187) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:326) at android.os.Looper.loop(Looper.java:160) at android.app.ActivityThread.main(ActivityThread.java:6898) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Error while integrating in old projects with build updates

FATAL

FATAL EXCEPTION: RxNewThreadScheduler-7
java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread.
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:62)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java)
at java.util.concurrent.FutureTask.run(FutureTask.java)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java)
at java.lang.Thread.run(Thread.java)
Caused by: java.lang.NoSuchMethodError: No virtual method log(Ljava/lang/String;)V in class Lokhttp3/internal/Platform; or its super classes (declaration of 'okhttp3.internal.Platform' appears in /data/app/com.frantic.kicksal-2/base.apk:classes5.dex)
at okhttp3.logging.HttpLoggingInterceptor$Logger$1.log(HttpLoggingInterceptor.java:108)
at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:157)
at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:190)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:163)
at okhttp3.RealCall.execute(RealCall.java:57)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:174)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$RequestArbiter.request(RxJavaCallAdapterFactory.java:171)
at rx.internal.operators.OperatorSubscribeOn$1$1$1.request(OperatorSubscribeOn.java:80)
at rx.Subscriber.setProducer(Subscriber.java:211)
at rx.internal.operators.OperatorSubscribeOn$1$1.setProducer(OperatorSubscribeOn.java:76)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:152)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:138)
at rx.Observable.unsafeSubscribe(Observable.java:8666)
at rx.internal.operators.OperatorSubscribeOn$1.call(OperatorSubscribeOn.java:94)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java) 
at java.util.concurrent.FutureTask.run(FutureTask.java) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java) 
at java.lang.Thread.run(Thread.java) 

Migrate to androidx

Is there any plans to migrate the SDK to android x? As the world is moving fast towards androidx.

java.lang.NoSuchFieldError

java.lang.NoSuchFieldError: No static field flProgress of type I in class Lcom/khalti/R$id; or its superclasses (declaration of 'com.khalti.R$id' appears in /data/app/com.app.vianet-25MVUnyLsz_YpBijZYnvQA==/base.apk!classes2.dex)

Can't disable R8 in newer gradle version

We can't disable R8 in gradle version newer than 7.0. So, it is causing conflict with other dependencies because some of them also have obfuscated a.a(a.b / whatever) class which this library also has. The build logs is as ### follows:

Duplicate class a.a found in modules jetified-eSewaSdk-runtime (eSewaSdk.aar) and jetified-khalti-android-2.01.02-runtime (com.khalti:khalti-android:2.01.02)
Duplicate class b.a found in modules jetified-eSewaSdk-runtime (eSewaSdk.aar) and jetified-khalti-android-2.01.02-runtime (com.khalti:khalti-android:2.01.02)
Duplicate class b.b found in modules jetified-eSewaSdk-runtime (eSewaSdk.aar) and jetified-khalti-android-2.01.02-runtime (com.khalti:khalti-android:2.01.02)
Duplicate class b.c found in modules jetified-eSewaSdk-runtime (eSewaSdk.aar) and jetified-khalti-android-2.01.02-runtime (com.khalti:khalti-android:2.01.02)
Duplicate class c.a found in modules jetified-eSewaSdk-runtime (eSewaSdk.aar) and jetified-khalti-android-2.01.02-runtime (com.khalti:khalti-android:2.01.02)

Solution: as discussed here, please use flattenpackagehierarchy in your ProGuard rules to move obfuscated classes in some unique package to prevent aforementioned conflicts with other libraries.

There is no "mobile" on success's hashmap.

According to the documentation I should be able to get mobile on success json but it's not there. It's showing on the Http Response but not on the success hashmap. Is it for security purpose or did you forget to add it on hashmap??

Khalti Android SDK

I have followed all the steps.
Including Khalti SDK show the problem of carbonX and Shadow problem!

Could not resolve com.khalti:khalti-android:1.02.18.

I was using version 1.02.18 khalti sdk version. Now when I tried rebuild my android project I am getting this error. Has this version been removed from khalti repo or is it some issue in my side? Please explain.

RROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.khalti:khalti-android:1.02.18.

Cannot find symbol Khalti.init when called from Java.

When trying to call the init method of Khalti, I get cannot find symbol error.

         KhaltiPayConfig config = new KhaltiPayConfig(
                "public_key",
                "pidx_from_epayment_initiate",
                true,
                Environment.TEST
        );
        Khalti.init(ctx, config,
                // on payment result
                (paymentResult, khalti) -> {
                    Log.d("khalti", "On payment result");
                },
                // on message
                (payload, khalti) -> {
                    Log.d("khalti", "On message");
                },
                // on return
                (khalti) -> {
                    Log.d("khalti", "On return");
                }
        );

Reading the Kotlin doc for calling Kotlin static methods from java, @JvmStatic is required.
Link to the doc.

App Crashes. Whats going on i hve no idea.

i am getting following error while run my Project

Process: com.impactit.demokhaltiintegration, PID: 16796
java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread.
at rx.android.schedulers.LooperScheduler$ScheduledAction.run(LooperScheduler.java:114)
at android.os.Handler.handleCallback(Handler.java:742)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5653)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:746)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
Caused by: java.lang.NoSuchMethodError: No virtual method addOnTabSelectedListener(Landroid/support/design/widget/TabLayout$OnTabSelectedListener;)V in class Landroid/support/design/widget/TabLayout; or its super classes (declaration of 'android.support.design.widget.TabLayout' appears in /data/app/com.impactit.demokhaltiintegration-2/split_lib_dependencies_apk.apk)
at khalti.checkOut.CheckOutActivity.c(Unknown Source)
at khalti.checkOut.d$1.a(Unknown Source)
at khalti.checkOut.d$1.onNext(Unknown Source)
at rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:134)
at rx.subjects.PublishSubject$PublishSubjectProducer.onNext(PublishSubject.java:304)
at rx.subjects.PublishSubject$PublishSubjectState.onNext(PublishSubject.java:219)
at rx.subjects.PublishSubject.onNext(PublishSubject.java:72)
at khalti.checkOut.b$1.a(Unknown Source)
at khalti.checkOut.b$1.onNext(Unknown Source)
at rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:134)
at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:77)
at rx.subjects.PublishSubject$PublishSubjectProducer.onNext(PublishSubject.java:304)
at rx.subjects.PublishSubject$PublishSubjectState.onNext(PublishSubject.java:219)
at rx.subjects.PublishSubject.onNext(PublishSubject.java:72)
at khalti.checkOut.api.a$1.a(Unknown Source)
at khalti.checkOut.api.a$1.onNext(Unknown Source)
at rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:134)
at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.call(OperatorObserveOn.java:224)
at rx.android.schedulers.LooperScheduler$ScheduledAction.run(LooperScheduler.java:107)
at android.os.Handler.handleCallback(Handler.java:742) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:157) 
at android.app.ActivityThread.main(ActivityThread.java:5653) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:746) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) 
11-27 14:18:22.487 2924-2924/? E/Icon: Unable to load resource 0x00000000 from pkg=com.android.systemui
android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.Resources.getValue(Resources.java:1369)
at android.content.res.MiuiResources.getValue(MiuiResources.java:146)
at android.content.res.Resources.getDrawable(Resources.java:822)
at android.graphics.drawable.Icon.loadDrawableInner(Icon.java:313)
at android.graphics.drawable.Icon.loadDrawable(Icon.java:269)
at android.graphics.drawable.Icon.loadDrawableAsUser(Icon.java:377)
at com.android.systemui.statusbar.ExpandedIcon.getDrawable(ExpandedIcon.java:59)
at com.android.systemui.statusbar.StatusBarIconView.getIcon(StatusBarIconView.java:179)
at com.android.systemui.statusbar.StatusBarIconView.setIcon(StatusBarIconView.java:136)
at com.android.systemui.statusbar.StatusBarIconView.updateDarkMode(StatusBarIconView.java:271)
at com.android.systemui.statusbar.phone.SimpleStatusBar.updateDarkMode(SimpleStatusBar.java:275)
at com.android.systemui.statusbar.phone.PhoneStatusBar$42.run(PhoneStatusBar.java:3872)
at android.os.Handler.handleCallback(Handler.java:742)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5653)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:746)

for more detail please check my code if possible
https://github.com/stharzun/KhaltiDemo

Crash after loading eBanking list

After successful response from :
https://khalti.com/api/bank/?has_ebanking=true&page=1&page_size=100
app is crashing with following error log:

java.lang.NoSuchMethodError: No static method with(Landroid/content/Context;)Lcom/squareup/picasso/Picasso; in class Lcom/squareup/picasso/Picasso; or its super classes (declaration of 'com.squareup.picasso.Picasso' appears in /data/app/com.rakezb.ecommerce-NmD1WUkxgDTpNe-lz0hGfg==/base.apk!classes3.dex) at khalti.checkOut.EBanking.helper.a.a(Unknown Source:122) at khalti.checkOut.EBanking.helper.a.onBindViewHolder(Unknown Source:2) at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6781) at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6823) at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5752) at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6019) at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5858) at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5854) at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2230) at androidx.recyclerview.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:557) at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517) at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612) at androidx.recyclerview.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:171) at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924) at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3641) at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4194) at android.view.View.layout(View.java:20865) at android.view.ViewGroup.layout(ViewGroup.java:6215) at com.google.android.material.appbar.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:142) at com.google.android.material.appbar.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:41) at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1556) at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:888) at android.view.View.layout(View.java:20865)

I am using andoridX 1.0.2

Caused by: java.lang.RuntimeException: Duplicate class

Caused by: java.lang.RuntimeException: Duplicate class android.support.v4.app.INotificationSideChannel found in modules core-1.7.0-runtime (androidx.core:core:1.7.0) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)

Build Issue applying khalti sdk

java.lang.IncompatibleClassChangeError: Superclass rx.Observable of rx.subjects.Subject is declared final (declaration of 'rx.subjects.Subject' appears in /data/app/com.koklass.order-LGXhpHNLtt9lt3Q3J7CUQw==/base.apk:classes7.dex)
at khalti.checkOut.d.(Unknown Source:14)
at khalti.checkOut.CheckOutActivity.onCreate(Unknown Source:110)
at android.app.Activity.performCreate(Activity.java:7003)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1230)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2899)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3046)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1688)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6798)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

why we need to disbale R8

I am using jetpack compose for UI in new app disabling R8 will performance in jetpack ui. Are we still need to disable that R8

Not compatiable with andriod studio 3.4

Khalti SDK is not working with build version 28 or more. This is bad practice to downgrade build tool version so that will you please update your build tool to 28 or more.

[Feature Request] onCancelled callback

The industry-standard approach to add a 3rd party system which need some redirect is to have 3 callbacks, success, failed, cancelled. But this SDK lacks cancelled, without the ability to know whethere the sdk tried to make the payment, we are not able to optimize out sales accordingly.

Will it be a possibility from the team to add such a feature?

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.