From 49774a5ec5cb9aedc14b047934ea76b7ee199250 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Sun, 27 Mar 2022 00:18:58 -0500 Subject: [PATCH] Update subscription and review nagging --- .../googleplay/java/org/tasks/analytics/Firebase.kt | 7 ++++--- app/src/googleplay/java/org/tasks/play/PlayServices.kt | 10 +++------- app/src/main/res/values/keys.xml | 1 + 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/src/googleplay/java/org/tasks/analytics/Firebase.kt b/app/src/googleplay/java/org/tasks/analytics/Firebase.kt index a26f3df8b..229f40ec6 100644 --- a/app/src/googleplay/java/org/tasks/analytics/Firebase.kt +++ b/app/src/googleplay/java/org/tasks/analytics/Firebase.kt @@ -63,14 +63,15 @@ class Firebase @Inject constructor( }) } - val installCooldown: Boolean + private val installCooldown: Boolean get() = preferences.installDate + days("install_cooldown", 14L) > now() val reviewCooldown: Boolean - get() = preferences.lastReviewRequest + days("review_cooldown", 30L) > now() + get() = installCooldown || preferences.lastReviewRequest + days("review_cooldown", 30L) > now() val subscribeCooldown: Boolean - get() = preferences.lastSubscribeRequest + days("subscribe_cooldown", 30L) > now() + get() = installCooldown + || preferences.lastSubscribeRequest + days("subscribe_cooldown", 30L) > now() private fun days(key: String, default: Long): Long = TimeUnit.DAYS.toMillis(remoteConfig?.getLong(key) ?: default) diff --git a/app/src/googleplay/java/org/tasks/play/PlayServices.kt b/app/src/googleplay/java/org/tasks/play/PlayServices.kt index b060719cf..b18a6c124 100644 --- a/app/src/googleplay/java/org/tasks/play/PlayServices.kt +++ b/app/src/googleplay/java/org/tasks/play/PlayServices.kt @@ -9,9 +9,9 @@ import com.google.android.play.core.ktx.requestReview import com.google.android.play.core.review.ReviewManagerFactory import com.todoroo.andlib.utility.DateUtilities.now import dagger.hilt.android.qualifiers.ApplicationContext +import org.tasks.R import org.tasks.analytics.Firebase import org.tasks.preferences.Preferences -import timber.log.Timber import javax.inject.Inject class PlayServices @Inject constructor( @@ -24,11 +24,6 @@ class PlayServices @Inject constructor( suspend fun requestReview(activity: Activity) { if (firebase.reviewCooldown) { - Timber.d("review cooldown") - return - } - if (firebase.installCooldown) { - Timber.d("install cooldown") return } try { @@ -36,9 +31,10 @@ class PlayServices @Inject constructor( val request = requestReview() launchReview(activity, request) preferences.lastReviewRequest = now() + firebase.logEvent(R.string.event_request_review) } } catch (e: Exception) { - Timber.e(e) + firebase.reportException(e) } } } \ No newline at end of file diff --git a/app/src/main/res/values/keys.xml b/app/src/main/res/values/keys.xml index 35cc4ed56..61ad7a3e8 100644 --- a/app/src/main/res/values/keys.xml +++ b/app/src/main/res/values/keys.xml @@ -434,6 +434,7 @@ banner_beast banner_subscribe add_task + request_review type map_theme picker_mode_date