Skip to content

Commit 55cbbb4

Browse files
authored
Merge pull request #460 from mindbox-cloud/release/2.9.1
Release/2.9.1
2 parents 1388068 + 618db8d commit 55cbbb4

File tree

3 files changed

+31
-7
lines changed

3 files changed

+31
-7
lines changed

example/app/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ dependencies {
5858
implementation 'com.huawei.hms:push:6.11.0.300'
5959

6060
//Mindbox
61-
implementation 'cloud.mindbox:mobile-sdk:2.8.5'
62-
implementation 'cloud.mindbox:mindbox-firebase:2.8.5'
63-
implementation 'cloud.mindbox:mindbox-huawei:2.8.5'
61+
implementation 'cloud.mindbox:mobile-sdk:2.9.1'
62+
implementation 'cloud.mindbox:mindbox-firebase:2.9.1'
63+
implementation 'cloud.mindbox:mindbox-huawei:2.9.1'
6464

6565
//Glade for custom loader
6666
implementation 'com.github.bumptech.glide:glide:4.15.1'

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@ android.enableJetifier=true
2121
kotlin.code.style=official
2222

2323
# SDK version property
24-
SDK_VERSION_NAME=2.9.0
24+
SDK_VERSION_NAME=2.9.1

sdk/src/main/java/cloud/mindbox/mobile_sdk/inapp/presentation/actions/PushActivationActivity.kt

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import android.app.Activity
44
import android.content.pm.PackageManager
55
import android.os.Build
66
import android.os.Bundle
7+
import android.os.SystemClock
78
import android.view.MotionEvent
89
import android.view.ViewGroup
910
import androidx.annotation.RequiresApi
@@ -16,9 +17,12 @@ internal class PushActivationActivity : Activity() {
1617

1718
private val mindboxNotificationManager by mindboxInject { mindboxNotificationManager }
1819
private val requestPermissionManager by mindboxInject { requestPermissionManager }
20+
private var shouldCheckDialogShowing = false
21+
private val resumeTimes = mutableListOf<Long>()
1922

2023
companion object {
2124
private const val PERMISSION_REQUEST_CODE = 125129
25+
private const val TIME_BETWEEN_RESUME = 350
2226
}
2327

2428
@RequiresApi(Build.VERSION_CODES.M)
@@ -39,27 +43,30 @@ internal class PushActivationActivity : Activity() {
3943
granted -> {
4044
mindboxLogI("User clicked 'allow' in request permission")
4145
Mindbox.updateNotificationPermissionStatus(this)
46+
finish()
4247
}
4348

4449
permissionDenied && !shouldShowRationale -> {
4550
if (mindboxNotificationManager.shouldOpenSettings) {
4651
if (requestPermissionManager.getRequestCount() > 1) {
4752
mindboxLogI("User already rejected permission two times, try open settings")
4853
mindboxNotificationManager.openNotificationSettings(this)
54+
finish()
4955
} else {
50-
requestPermissionManager.decreaseRequestCounter()
51-
mindboxLogI("User dismissed request")
56+
mindboxLogI("Awaiting show dialog")
57+
shouldCheckDialogShowing = true
5258
}
5359
} else {
5460
mindboxNotificationManager.shouldOpenSettings = true
61+
finish()
5562
}
5663
}
5764

5865
permissionDenied && shouldShowRationale -> {
5966
mindboxLogI("User rejected first permission request")
67+
finish()
6068
}
6169
}
62-
finish()
6370
}
6471

6572
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
@@ -74,6 +81,23 @@ internal class PushActivationActivity : Activity() {
7481
requestPermissions(arrayOf(Constants.POST_NOTIFICATION), PERMISSION_REQUEST_CODE)
7582
}
7683

84+
override fun onResume() {
85+
resumeTimes.add(SystemClock.elapsedRealtime())
86+
if (shouldCheckDialogShowing) {
87+
if ((resumeTimes.last() - resumeTimes.first()) < TIME_BETWEEN_RESUME) {
88+
resumeTimes.clear()
89+
mindboxLogI("System dialog not shown -> open settings")
90+
mindboxNotificationManager.openNotificationSettings(this)
91+
} else {
92+
mindboxLogI("User dismiss permission request ")
93+
requestPermissionManager.decreaseRequestCounter()
94+
}
95+
shouldCheckDialogShowing = false
96+
finish()
97+
}
98+
super.onResume()
99+
}
100+
77101
override fun onTouchEvent(event: MotionEvent): Boolean {
78102
if (event.action == MotionEvent.ACTION_DOWN) {
79103
finish()

0 commit comments

Comments
 (0)