diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1c94023a4..e0d4538aa 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -234,7 +234,6 @@ dependencies { googleplayImplementation("com.google.firebase:firebase-analytics:${Versions.analytics}") { exclude("com.google.android.gms", "play-services-ads-identifier") } - googleplayImplementation("com.google.firebase:firebase-config-ktx:${Versions.remote_config}") googleplayImplementation("com.google.android.gms:play-services-location:19.0.1") googleplayImplementation("com.google.android.gms:play-services-maps:18.0.2") googleplayImplementation("com.android.billingclient:billing-ktx:3.0.3") diff --git a/app/src/generic/java/org/tasks/analytics/Firebase.kt b/app/src/generic/java/org/tasks/analytics/Firebase.kt index 49baebc93..ca80e4a92 100644 --- a/app/src/generic/java/org/tasks/analytics/Firebase.kt +++ b/app/src/generic/java/org/tasks/analytics/Firebase.kt @@ -7,11 +7,5 @@ import javax.inject.Inject class Firebase @Inject constructor() { fun reportException(t: Throwable) = Timber.e(t) - fun updateRemoteConfig() {} - - fun noChurn() = true - - fun averageSubscription() = 0 - fun logEvent(event: Int, vararg params: Pair) {} } \ No newline at end of file diff --git a/app/src/googleplay/java/org/tasks/analytics/Firebase.kt b/app/src/googleplay/java/org/tasks/analytics/Firebase.kt index e6927e2ba..3a16f0aaa 100644 --- a/app/src/googleplay/java/org/tasks/analytics/Firebase.kt +++ b/app/src/googleplay/java/org/tasks/analytics/Firebase.kt @@ -5,14 +5,10 @@ import android.os.Bundle import androidx.annotation.StringRes import com.google.firebase.analytics.FirebaseAnalytics import com.google.firebase.crashlytics.FirebaseCrashlytics -import com.google.firebase.remoteconfig.FirebaseRemoteConfig -import com.google.firebase.remoteconfig.ktx.remoteConfigSettings import dagger.hilt.android.qualifiers.ApplicationContext import org.tasks.R -import org.tasks.jobs.WorkManager import org.tasks.preferences.Preferences import timber.log.Timber -import java.util.concurrent.TimeUnit import javax.inject.Inject import javax.inject.Singleton @@ -24,7 +20,6 @@ class Firebase @Inject constructor( private var crashlytics: FirebaseCrashlytics? = null private var analytics: FirebaseAnalytics? = null - private var remoteConfig: FirebaseRemoteConfig? = null fun reportException(t: Throwable) { Timber.e(t) @@ -40,12 +35,6 @@ class Firebase @Inject constructor( ) } - fun updateRemoteConfig() { - remoteConfig?.fetchAndActivate()?.addOnSuccessListener { - Timber.d(it.toString()) - } - } - fun logEvent(@StringRes event: Int, vararg p: Pair) { analytics?.logEvent(context.getString(event), Bundle().apply { p.forEach { @@ -59,10 +48,6 @@ class Firebase @Inject constructor( }) } - fun noChurn(): Boolean = remoteConfig?.getBoolean("no_churn") ?: false - - fun averageSubscription(): Double = remoteConfig?.getDouble("avg_sub") ?: 4.01 - init { if (preferences.isTrackingEnabled) { analytics = FirebaseAnalytics.getInstance(context).apply { @@ -71,13 +56,6 @@ class Firebase @Inject constructor( crashlytics = FirebaseCrashlytics.getInstance().apply { setCrashlyticsCollectionEnabled(true) } - remoteConfig = FirebaseRemoteConfig.getInstance().apply { - setConfigSettingsAsync(remoteConfigSettings { - minimumFetchIntervalInSeconds = - TimeUnit.HOURS.toSeconds(WorkManager.REMOTE_CONFIG_INTERVAL_HOURS) - }) - setDefaultsAsync(R.xml.remote_config_defaults) - } } } } \ No newline at end of file diff --git a/app/src/googleplay/res/xml/remote_config_defaults.xml b/app/src/googleplay/res/xml/remote_config_defaults.xml deleted file mode 100644 index 26cd9974b..000000000 --- a/app/src/googleplay/res/xml/remote_config_defaults.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - no_churn - false - - - avg_sub - 4.01 - - diff --git a/app/src/main/java/org/tasks/Tasks.kt b/app/src/main/java/org/tasks/Tasks.kt index 3ce8bd45d..f7d334e2b 100644 --- a/app/src/main/java/org/tasks/Tasks.kt +++ b/app/src/main/java/org/tasks/Tasks.kt @@ -82,7 +82,6 @@ class Tasks : Application(), Configuration.Provider { updateBackgroundSync() scheduleMidnightRefresh() scheduleBackup() - scheduleConfigRefresh() OpenTaskContentObserver.registerObserver(context, contentObserver.get()) updatePurchases() } diff --git a/app/src/main/java/org/tasks/dialogs/WhatsNewDialog.kt b/app/src/main/java/org/tasks/dialogs/WhatsNewDialog.kt index 44a41dcdf..71cc0f476 100644 --- a/app/src/main/java/org/tasks/dialogs/WhatsNewDialog.kt +++ b/app/src/main/java/org/tasks/dialogs/WhatsNewDialog.kt @@ -45,7 +45,6 @@ class WhatsNewDialog : DialogFragment() { val begForSubscription = !inventory.hasPro val begForRating = !preferences.getBoolean(R.string.p_clicked_rate, false) - && (inventory.purchasedThemes() || firebase.noChurn()) && (!begForSubscription || Random.nextBoolean()) when { @@ -120,6 +119,6 @@ class WhatsNewDialog : DialogFragment() { Pair(R.string.param_whats_new_display_rate, displayedRate), Pair(R.string.param_whats_new_display_subscribe, displayedSubscribe), Pair(R.string.param_user_pro, inventory.hasPro), - Pair(R.string.param_user_no_churn, firebase.noChurn())) + ) } } \ No newline at end of file diff --git a/app/src/main/java/org/tasks/jobs/RemoteConfigWork.kt b/app/src/main/java/org/tasks/jobs/RemoteConfigWork.kt deleted file mode 100644 index 02827e905..000000000 --- a/app/src/main/java/org/tasks/jobs/RemoteConfigWork.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.tasks.jobs - -import android.content.Context -import androidx.hilt.work.HiltWorker -import androidx.work.WorkerParameters -import dagger.assisted.Assisted -import dagger.assisted.AssistedInject -import org.tasks.analytics.Firebase -import org.tasks.injection.BaseWorker - -@HiltWorker -class RemoteConfigWork @AssistedInject constructor( - @Assisted context: Context, - @Assisted workerParams: WorkerParameters, - firebase: Firebase) : BaseWorker(context, workerParams, firebase) { - - override suspend fun run(): Result { - firebase.updateRemoteConfig() - return Result.success() - } -} \ No newline at end of file diff --git a/app/src/main/java/org/tasks/jobs/WorkManager.kt b/app/src/main/java/org/tasks/jobs/WorkManager.kt index 4dee4dd79..7d1a47c94 100644 --- a/app/src/main/java/org/tasks/jobs/WorkManager.kt +++ b/app/src/main/java/org/tasks/jobs/WorkManager.kt @@ -2,7 +2,6 @@ package org.tasks.jobs import android.net.Uri import com.todoroo.astrid.data.Task -import org.tasks.BuildConfig import org.tasks.data.CaldavAccount import org.tasks.data.Place @@ -36,8 +35,6 @@ interface WorkManager { fun scheduleBackup() - fun scheduleConfigRefresh() - fun scheduleDriveUpload(uri: Uri, purge: Boolean) fun cancelNotifications() @@ -45,7 +42,6 @@ interface WorkManager { fun updatePurchases() companion object { - val REMOTE_CONFIG_INTERVAL_HOURS = if (BuildConfig.DEBUG) 1 else 12.toLong() const val MAX_CLEANUP_LENGTH = 500 const val TAG_BACKUP = "tag_backup" const val TAG_REFRESH = "tag_refresh" @@ -58,7 +54,6 @@ interface WorkManager { const val TAG_BACKGROUND_SYNC_CALDAV = "tag_background_sync_caldav" const val TAG_BACKGROUND_SYNC_ETEBASE = "tag_background_sync_etebase" const val TAG_BACKGROUND_SYNC_OPENTASKS = "tag_background_sync_opentasks" - const val TAG_REMOTE_CONFIG = "tag_remote_config" const val TAG_MIGRATE_LOCAL = "tag_migrate_local" const val TAG_UPDATE_PURCHASES = "tag_update_purchases" } diff --git a/app/src/main/java/org/tasks/jobs/WorkManagerImpl.kt b/app/src/main/java/org/tasks/jobs/WorkManagerImpl.kt index 8ab636fd8..adadcc106 100644 --- a/app/src/main/java/org/tasks/jobs/WorkManagerImpl.kt +++ b/app/src/main/java/org/tasks/jobs/WorkManagerImpl.kt @@ -40,7 +40,6 @@ import org.tasks.jobs.MigrateLocalWork.Companion.EXTRA_ACCOUNT import org.tasks.jobs.SyncWork.Companion.EXTRA_BACKGROUND import org.tasks.jobs.SyncWork.Companion.EXTRA_IMMEDIATE import org.tasks.jobs.WorkManager.Companion.MAX_CLEANUP_LENGTH -import org.tasks.jobs.WorkManager.Companion.REMOTE_CONFIG_INTERVAL_HOURS import org.tasks.jobs.WorkManager.Companion.TAG_BACKGROUND_SYNC_CALDAV import org.tasks.jobs.WorkManager.Companion.TAG_BACKGROUND_SYNC_ETEBASE import org.tasks.jobs.WorkManager.Companion.TAG_BACKGROUND_SYNC_GOOGLE_TASKS @@ -49,7 +48,6 @@ import org.tasks.jobs.WorkManager.Companion.TAG_BACKUP import org.tasks.jobs.WorkManager.Companion.TAG_MIDNIGHT_REFRESH import org.tasks.jobs.WorkManager.Companion.TAG_MIGRATE_LOCAL import org.tasks.jobs.WorkManager.Companion.TAG_REFRESH -import org.tasks.jobs.WorkManager.Companion.TAG_REMOTE_CONFIG import org.tasks.jobs.WorkManager.Companion.TAG_SYNC_CALDAV import org.tasks.jobs.WorkManager.Companion.TAG_SYNC_ETEBASE import org.tasks.jobs.WorkManager.Companion.TAG_SYNC_GOOGLE_TASKS @@ -228,18 +226,6 @@ class WorkManagerImpl constructor( .millis .coerceAtMost(midnight())) - override fun scheduleConfigRefresh() { - throttle.run { - workManager.enqueueUniquePeriodicWork( - TAG_REMOTE_CONFIG, - ExistingPeriodicWorkPolicy.KEEP, - PeriodicWorkRequest.Builder( - RemoteConfigWork::class.java, REMOTE_CONFIG_INTERVAL_HOURS, TimeUnit.HOURS) - .setConstraints(networkConstraints) - .build()) - } - } - override fun scheduleDriveUpload(uri: Uri, purge: Boolean) { if (!preferences.getBoolean(R.string.p_google_drive_backup, false)) { return diff --git a/app/src/main/java/org/tasks/preferences/fragments/HelpAndFeedback.kt b/app/src/main/java/org/tasks/preferences/fragments/HelpAndFeedback.kt index 418615659..0844782e0 100644 --- a/app/src/main/java/org/tasks/preferences/fragments/HelpAndFeedback.kt +++ b/app/src/main/java/org/tasks/preferences/fragments/HelpAndFeedback.kt @@ -58,8 +58,6 @@ class HelpAndFeedback : InjectingPreferenceFragment() { R.string.p_collect_statistics, R.string.rate_tasks, ) - } else if (!firebase.noChurn()) { - remove(R.string.rate_tasks) } else { openUrl(R.string.rate_tasks, R.string.market_url) } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 66caeb60e..b5a92d407 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -8,7 +8,6 @@ object Versions { const val room = "2.4.2" const val crashlytics = "18.2.8" const val analytics = "20.1.0" - const val remote_config = "21.0.1" const val okhttp = "4.9.3" const val flipper = "0.136.0" const val mockito = "3.9.0" diff --git a/deps_googleplay.txt b/deps_googleplay.txt index a8db896d3..7d688c886 100644 --- a/deps_googleplay.txt +++ b/deps_googleplay.txt @@ -201,31 +201,6 @@ +| +--- com.google.android.gms:play-services-basement:18.0.0 (*) +| +--- com.google.android.gms:play-services-measurement-base:20.1.0 (*) +| \--- com.google.android.gms:play-services-measurement-impl:20.1.0 (*) -++--- com.google.firebase:firebase-config-ktx:21.0.1 -+| +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 -+| +--- com.google.firebase:firebase-abt:21.0.0 -+| | +--- com.google.android.gms:play-services-basement:17.0.0 -> 18.0.0 (*) -+| | +--- com.google.firebase:firebase-common:20.0.0 (*) -+| | +--- com.google.firebase:firebase-components:17.0.0 (*) -+| | \--- com.google.firebase:firebase-measurement-connector:18.0.0 -> 19.0.0 (*) -+| +--- com.google.firebase:firebase-common:20.0.0 (*) -+| +--- com.google.firebase:firebase-common-ktx:20.0.0 -+| | +--- androidx.annotation:annotation:1.1.0 -> 1.3.0 -+| | +--- com.google.firebase:firebase-common:20.0.0 (*) -+| | +--- com.google.firebase:firebase-components:17.0.0 (*) -+| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72 -> 1.6.10 (*) -+| +--- com.google.firebase:firebase-components:17.0.0 (*) -+| +--- com.google.firebase:firebase-config:21.0.1 -+| | +--- com.google.android.gms:play-services-tasks:17.0.2 -> 18.0.1 (*) -+| | +--- com.google.firebase:firebase-abt:21.0.0 (*) -+| | +--- com.google.firebase:firebase-common:20.0.0 (*) -+| | +--- com.google.firebase:firebase-components:17.0.0 (*) -+| | +--- com.google.firebase:firebase-installations:17.0.0 (*) -+| | +--- com.google.firebase:firebase-installations-interop:17.0.0 (*) -+| | \--- com.google.firebase:firebase-measurement-connector:18.0.0 -> 19.0.0 (*) -+| +--- com.google.firebase:firebase-installations:17.0.0 (*) -+| +--- com.google.firebase:firebase-installations-interop:17.0.0 (*) -+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72 -> 1.6.10 (*) ++--- com.google.android.gms:play-services-location:19.0.1 +| +--- com.google.android.gms:play-services-base:18.0.1 +| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)