feature/store-review #49

Merged
fabian merged 2 commits from feature/store-review into develop 2023-09-01 16:03:27 +02:00
Showing only changes of commit dbef6e047a - Show all commits

View File

@@ -22,9 +22,17 @@ class ReviewService @Inject constructor(@ActivityContext private val appContext:
private val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(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)) get() = Date(sharedPreferences.getLong("lastReviewedDate", 0))
set(value) { set(value) {
val editor = sharedPreferences.edit() val editor = sharedPreferences.edit()
@@ -33,23 +41,26 @@ class ReviewService @Inject constructor(@ActivityContext private val appContext:
} }
fun request() { fun request() {
requestCalled += 1
val diff = Date().time - lastReviewedDate.time if(requestCalled >= 3)
if(diff > 0)
{ {
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() val request = manager.requestReviewFlow()
request.addOnCompleteListener { task -> request.addOnCompleteListener { task ->
if (task.isSuccessful) { if (task.isSuccessful) {
// We got the ReviewInfo object // We got the ReviewInfo object
val reviewInfo = task.result val reviewInfo = task.result
manager.launchReviewFlow(appContext as Activity, reviewInfo) manager.launchReviewFlow(appContext as Activity, reviewInfo)
} else { } else {
}
} }
} }
} }