Skip to content

Commit 1b9897d

Browse files
feat(ad-hoc): Error code for app process killed (#358)
1 parent 399c071 commit 1b9897d

15 files changed

Lines changed: 42 additions & 34 deletions

.idea/.gitignore

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
44

55
buildscript {
66
ext {
7-
androidGradlePluginVersion = '8.13.1'
7+
androidGradlePluginVersion = '8.13.2'
88
kotlinVersion = '2.1.20'
99
kspVersion = '2.1.20-1.0.32'
1010
dokkaVersion = '1.9.20'

example/proguard-rules.pro

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,3 @@
1919
# If you keep the line number information, uncomment this to
2020
# hide the original source file name.
2121
#-renamesourcefileattribute SourceFile
22-
23-
-keep class com.processout.sdk.api.model.request.POAllGatewayConfigurationsRequest$Filter

sdk/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ dependencies {
117117
implementation "com.squareup.retrofit2:retrofit:$retrofitVersion"
118118
implementation "com.squareup.retrofit2:converter-moshi:$retrofitVersion"
119119
api "com.squareup.moshi:moshi:$moshiVersion"
120-
implementation "com.squareup.moshi:moshi-adapters:$moshiVersion"
120+
api "com.squareup.moshi:moshi-adapters:$moshiVersion"
121121
implementation "com.squareup.okhttp3:okhttp:$okhttpVersion"
122122
implementation "com.squareup.okhttp3:logging-interceptor:$okhttpVersion"
123123
implementation "com.squareup.okio:okio:$okioVersion"

sdk/consumer-rules.pro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
-keepnames class com.processout.sdk.**

sdk/src/main/kotlin/com/processout/sdk/core/POFailure.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ class POFailure private constructor() {
207207
@Suppress("EnumEntryName")
208208
enum class GenericCode(val rawValue: String) : Parcelable {
209209
mobile("processout-mobile.generic.error"),
210+
mobileAppProcessKilled("processout-mobile.generic.app-process-killed"),
210211
cardExceededLimits("card.exceeded-limits"),
211212
cardFailedCvc("card.failed-cvc"),
212213
cardInvalidCvc("card.invalid-cvc"),

sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodCustomTabLauncher.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ class POAlternativePaymentMethodCustomTabLauncher private constructor(
214214
@Deprecated("Used in other deprecated functions.")
215215
private val activityResultCallback = ActivityResultCallback<ProcessOutActivityResult<Uri>> { result ->
216216
if (!delegateCache.isCached()) {
217-
POLogger.error("Cannot provide result. Delegate is not cached. Possibly process was killed.")
217+
POLogger.warn("App process was killed during deprecated APM authorization.")
218218
return@ActivityResultCallback
219219
}
220220
result

sdk/src/main/kotlin/com/processout/sdk/ui/nativeapm/PONativeAlternativePaymentMethodActivityContract.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import android.content.Context
44
import android.content.Intent
55
import androidx.activity.result.contract.ActivityResultContract
66
import com.processout.sdk.BuildConfig
7-
import com.processout.sdk.core.POFailure
7+
import com.processout.sdk.core.POFailure.Code.Generic
8+
import com.processout.sdk.core.POFailure.GenericCode
89
import com.processout.sdk.core.logger.POLogger
910

1011
class PONativeAlternativePaymentMethodActivityContract : ActivityResultContract
@@ -29,8 +30,8 @@ class PONativeAlternativePaymentMethodActivityContract : ActivityResultContract
2930
intent?.setExtrasClassLoader(PONativeAlternativePaymentMethodResult::class.java.classLoader)
3031
return intent?.getParcelableExtra(EXTRA_RESULT)
3132
?: PONativeAlternativePaymentMethodResult.Failure(
32-
code = POFailure.Code.Internal(),
33-
message = "Activity result was not provided."
34-
).also { POLogger.error("%s", it) }
33+
code = Generic(GenericCode.mobileAppProcessKilled),
34+
message = "App process was killed."
35+
).also { POLogger.warn("%s", it) }
3536
}
3637
}

sdk/src/main/kotlin/com/processout/sdk/ui/web/WebAuthorizationActivityResultDispatcher.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ internal object WebAuthorizationActivityResultDispatcher :
1414

1515
override fun dispatch(result: ProcessOutActivityResult<Uri>) {
1616
if (!isCached()) {
17-
POLogger.error("Cannot provide result. Delegate is not cached. Possibly process was killed.")
17+
POLogger.warn("App process was killed during web authorization.")
1818
return
1919
}
2020
result

ui/src/main/kotlin/com/processout/sdk/ui/card/scanner/CardScannerActivityContract.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ package com.processout.sdk.ui.card.scanner
33
import android.content.Context
44
import android.content.Intent
55
import androidx.activity.result.contract.ActivityResultContract
6-
import com.processout.sdk.core.POFailure
6+
import com.processout.sdk.core.POFailure.Code.Generic
7+
import com.processout.sdk.core.POFailure.GenericCode
78
import com.processout.sdk.core.ProcessOutActivityResult
89
import com.processout.sdk.core.logger.POLogger
910
import com.processout.sdk.ui.BuildConfig
@@ -31,8 +32,8 @@ internal class CardScannerActivityContract : ActivityResultContract
3132
intent?.setExtrasClassLoader(ProcessOutActivityResult::class.java.classLoader)
3233
return intent?.getParcelableExtra(EXTRA_RESULT)
3334
?: ProcessOutActivityResult.Failure(
34-
code = POFailure.Code.Internal(),
35-
message = "Activity result was not provided."
36-
).also { POLogger.error("%s", it) }
35+
code = Generic(GenericCode.mobileAppProcessKilled),
36+
message = "App process was killed."
37+
).also { POLogger.warn("%s", it) }
3738
}
3839
}

0 commit comments

Comments
 (0)