pusher / chatkit-android

Android client SDK for Pusher Chatkit
https://pusher.com/chatkit
MIT License
53 stars 14 forks source link

Crash when fetch/generate token #199

Open khairunsh opened 4 years ago

khairunsh commented 4 years ago

my app has been crashed when tried to get/generate a token from my server. but, it only happens in the production server, when I tested on the local server it's going to be fine. here's below my error:

Fatal Exception: java.lang.RuntimeException: Unable to resume activity {houzcall.com.beautycall/houzcall.com.beautycall.activities.BottomNavigationActivity}: java.util.concurrent.ExecutionException: java.lang.NumberFormatException: null
       at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4039)
       at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4071)
       at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
       at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1970)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:214)
       at android.app.ActivityThread.main(ActivityThread.java:7156)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
Caused by java.util.concurrent.ExecutionException: java.lang.NumberFormatException: null
       at java.util.concurrent.FutureTask.report(FutureTask.java:123)
       at java.util.concurrent.FutureTask.get(FutureTask.java:193)
       at com.pusher.platform.subscription.TokenProvidingSubscription.b(TokenProvidingSubscription.java:8)
       at com.pusher.platform.subscription.TokenProvidingSubscription.<init>(TokenProvidingSubscription.java:50)
       at com.pusher.platform.subscription.TokenProvidingSubscriptionKt$createTokenProvidingStrategy$1.a(TokenProvidingSubscriptionKt.java:25)
       at com.pusher.platform.subscription.TokenProvidingSubscriptionKt$createTokenProvidingStrategy$1.a(TokenProvidingSubscriptionKt.java:4)
       at com.pusher.platform.subscription.ResumingSubscription$OpeningSubscriptionState.<init>(ResumingSubscription.java:137)
       at com.pusher.platform.subscription.ResumingSubscription.<init>(ResumingSubscription.java:54)
       at com.pusher.platform.subscription.ResumingSubscriptionKt$createResumingStrategy$1.a(ResumingSubscriptionKt.java:25)
       at com.pusher.platform.subscription.ResumingSubscriptionKt$createResumingStrategy$1.a(ResumingSubscriptionKt.java:4)
       at com.pusher.platform.BaseClient.a(BaseClient.java:57)
       at com.pusher.platform.Instance.a(Instance.java:45)
       at com.pusher.platform.Instance.a(Instance.java:43)
       at com.pusher.platform.Instance.a(Instance.java:71)
       at com.pusher.chatkit.PlatformClient.a(PlatformClient.java:29)
       at com.pusher.chatkit.subscription.LoggingSubscriptionKt.loggingSubscription(LoggingSubscriptionKt.java:49)
       at com.pusher.chatkit.presence.PresenceService.goOnline(PresenceService.java:81)
       at com.pusher.chatkit.presence.PresenceService.<init>(PresenceService.java:38)
       at com.pusher.chatkit.SynchronousChatManager.<init>(SynchronousChatManager.java:199)
       at com.pusher.chatkit.SynchronousChatManager.<init>(SynchronousChatManager.java:20)
       at com.pusher.chatkit.ChatManager.<init>(ChatManager.java:20)
       at houzcall.com.beautycall.core.ChatkitManager.a(ChatkitManager.java:40)
       at houzcall.com.beautycall.core.App$ApplicationLifecycleHandler.onActivityResumed(App.java:76)
       at android.app.Application.dispatchActivityResumed(Application.java:264)
       at android.app.Activity.onResume(Activity.java:1398)
       at androidx.fragment.app.FragmentActivity.onResume(FragmentActivity.java)
       at houzcall.com.beautycall.activities.BottomNavigationActivity.onResume(BottomNavigationActivity.java)
       at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1416)
       at android.app.Activity.performResume(Activity.java:7612)
       at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4031)
       at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4071)
       at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
       at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1970)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:214)
       at android.app.ActivityThread.main(ActivityThread.java:7156)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
Caused by java.lang.NumberFormatException: null
       at java.lang.Long.parseLong(Long.java:557)
       at java.lang.Long.parseLong(Long.java:636)
       at com.pusher.chatkit.ChatkitTokenProvider.b(ChatkitTokenProvider.java:77)
       at com.pusher.chatkit.ChatkitTokenProvider.access$getHttpUrl$p(ChatkitTokenProvider.java)
       at com.pusher.chatkit.ChatkitTokenProvider$fetchTokenFromEndpoint$1.invoke(ChatkitTokenProvider.java:69)
       at com.pusher.chatkit.ChatkitTokenProvider$fetchTokenFromEndpoint$1.invoke(ChatkitTokenProvider.java)
       at com.pusher.platform.network.FuturesKt$sam$java_util_concurrent_Callable$0.call(FuturesKt.java:2)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       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:764)

and this is my chatManager using production url:

chatManager = ChatManager(
                instanceLocator = "~~~~~~",
                userId = userID,
                dependencies = AndroidChatkitDependencies(
                        tokenProvider = ChatkitTokenProvider(
                                endpoint = "https://~~~.co.id/api/pusher/generate-token",
                                userId = userID
                        ),
                        context = context
                )
        )

and this is my local url:

chatManager = ChatManager(
                instanceLocator = "~~~~~~",
                userId = userID,
                dependencies = AndroidChatkitDependencies(
                        tokenProvider = ChatkitTokenProvider(
                                endpoint = "http://~~~:8000/api/pusher/generate-token",
                                userId = userID
                        ),
                        context = context
                )
        )

Android Studio V.3.6.1 Pusher chatkit-android V.1.9.0 Tested/Crashed on Android Devices API Level : 28 (Pie)

khairunsh commented 4 years ago

edit: this crashed happens when I installed the apps from the play store, but when I running it on an android studio even with my production URL, no problem occurred.