Request review only every third game after three months.
All checks were successful
Build Android / build (push) Successful in 8m29s
Build Android / build (pull_request) Has been cancelled

This commit is contained in:
2023-09-01 13:00:41 +02:00
parent 450c8a1547
commit dbef6e047a

View File

@@ -22,9 +22,17 @@ class ReviewService @Inject constructor(@ActivityContext private val appContext:
private val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(appContext)
private val THREE_MONTHS : Long = 3 * 30 * 24 * 60 * 60
private val THREE_MONTHS : Long = 7776000000
private var lastReviewedDate: Date
private var requestCalled: Int
get() = sharedPreferences.getInt("requestCalled", 0)
set(value) {
val editor = sharedPreferences.edit()
editor.putInt("requestCalled", value)
editor.apply()
}
private var nextReviewedDate: Date
get() = Date(sharedPreferences.getLong("lastReviewedDate", 0))
set(value) {
val editor = sharedPreferences.edit()
@@ -33,23 +41,26 @@ class ReviewService @Inject constructor(@ActivityContext private val appContext:
}
fun request() {
requestCalled += 1
val diff = Date().time - lastReviewedDate.time
if(diff > 0)
if(requestCalled >= 3)
{
lastReviewedDate = Date()
if(nextReviewedDate.time < System.currentTimeMillis())
{
requestCalled = 0
nextReviewedDate = Date(System.currentTimeMillis() + THREE_MONTHS)
val manager = ReviewManagerFactory.create(appContext)
val manager = ReviewManagerFactory.create(appContext)
val request = manager.requestReviewFlow()
request.addOnCompleteListener { task ->
if (task.isSuccessful) {
// We got the ReviewInfo object
val reviewInfo = task.result
manager.launchReviewFlow(appContext as Activity, reviewInfo)
val request = manager.requestReviewFlow()
request.addOnCompleteListener { task ->
if (task.isSuccessful) {
// We got the ReviewInfo object
val reviewInfo = task.result
manager.launchReviewFlow(appContext as Activity, reviewInfo)
} else {
} else {
}
}
}
}