diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f6f1c02cd..cbc13dae8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -191,7 +191,7 @@ dependencies { implementation("com.github.QuadFlask:colorpicker:0.0.15") googleplayImplementation("com.crashlytics.sdk.android:crashlytics:${Versions.crashlytics}") - googleplayImplementation("com.google.firebase:firebase-analytics:${Versions.firebase}") + googleplayImplementation("com.google.firebase:firebase-analytics:${Versions.analytics}") googleplayImplementation("com.google.android.gms:play-services-location:17.0.0") googleplayImplementation("com.google.android.gms:play-services-maps:17.0.0") googleplayImplementation("com.google.android.libraries.places:places:2.2.0") diff --git a/app/src/generic/java/org/tasks/analytics/Firebase.kt b/app/src/generic/java/org/tasks/analytics/Firebase.kt new file mode 100644 index 000000000..419fbe882 --- /dev/null +++ b/app/src/generic/java/org/tasks/analytics/Firebase.kt @@ -0,0 +1,8 @@ +package org.tasks.analytics + +import timber.log.Timber +import javax.inject.Inject + +class Firebase @Inject constructor() { + fun reportException(t: Throwable) = Timber.e(t) +} \ No newline at end of file diff --git a/app/src/generic/java/org/tasks/analytics/Tracker.java b/app/src/generic/java/org/tasks/analytics/Tracker.java deleted file mode 100644 index 46bb231e1..000000000 --- a/app/src/generic/java/org/tasks/analytics/Tracker.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.tasks.analytics; - -import javax.inject.Inject; -import timber.log.Timber; - -public class Tracker { - - @Inject - public Tracker() {} - - public void reportException(Throwable t) { - Timber.e(t); - } -} diff --git a/app/src/generic/java/org/tasks/billing/BillingClientImpl.java b/app/src/generic/java/org/tasks/billing/BillingClientImpl.java index 255ebf208..80fdf0199 100644 --- a/app/src/generic/java/org/tasks/billing/BillingClientImpl.java +++ b/app/src/generic/java/org/tasks/billing/BillingClientImpl.java @@ -3,13 +3,13 @@ package org.tasks.billing; import android.app.Activity; import android.content.Context; import androidx.annotation.Nullable; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; public class BillingClientImpl implements BillingClient { public static final String TYPE_SUBS = ""; - public BillingClientImpl(Context context, Inventory inventory, Tracker tracker) {} + public BillingClientImpl(Context context, Inventory inventory, Firebase firebase) {} @Override public void queryPurchases() {} diff --git a/app/src/googleplay/java/org/tasks/analytics/Firebase.kt b/app/src/googleplay/java/org/tasks/analytics/Firebase.kt new file mode 100644 index 000000000..90e6ec0dd --- /dev/null +++ b/app/src/googleplay/java/org/tasks/analytics/Firebase.kt @@ -0,0 +1,46 @@ +package org.tasks.analytics + +import android.content.Context +import android.os.Bundle +import com.android.billingclient.api.BillingClient.BillingResponse +import com.crashlytics.android.Crashlytics +import com.google.firebase.analytics.FirebaseAnalytics +import io.fabric.sdk.android.Fabric +import org.tasks.billing.BillingClientImpl +import org.tasks.injection.ApplicationScope +import org.tasks.injection.ForApplication +import org.tasks.preferences.Preferences +import timber.log.Timber +import javax.inject.Inject + +@ApplicationScope +class Firebase @Inject constructor(@ForApplication context: Context?, preferences: Preferences) { + + private var enabled: Boolean = preferences.isTrackingEnabled + private var analytics: FirebaseAnalytics? = null + + fun reportException(t: Throwable?) { + Timber.e(t) + if (enabled) { + Crashlytics.logException(t) + } + } + + fun reportIabResult(@BillingResponse response: Int, sku: String?) { + if (!enabled) { + return + } + val bundle = Bundle() + bundle.putString(FirebaseAnalytics.Param.ITEM_ID, sku) + bundle.putString(FirebaseAnalytics.Param.SUCCESS, BillingClientImpl.BillingResponseToString(response)) + analytics!!.logEvent(FirebaseAnalytics.Event.ECOMMERCE_PURCHASE, bundle) + } + + init { + if (enabled) { + analytics = FirebaseAnalytics.getInstance(context!!) + analytics?.setAnalyticsCollectionEnabled(true) + Fabric.with(context, Crashlytics()) + } + } +} \ No newline at end of file diff --git a/app/src/googleplay/java/org/tasks/analytics/Tracker.java b/app/src/googleplay/java/org/tasks/analytics/Tracker.java deleted file mode 100644 index 20bdc3266..000000000 --- a/app/src/googleplay/java/org/tasks/analytics/Tracker.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.tasks.analytics; - -import static org.tasks.billing.BillingClientImpl.BillingResponseToString; - -import android.content.Context; -import android.os.Bundle; -import com.android.billingclient.api.BillingClient.BillingResponse; -import com.crashlytics.android.Crashlytics; -import com.google.firebase.analytics.FirebaseAnalytics; -import com.google.firebase.analytics.FirebaseAnalytics.Event; -import com.google.firebase.analytics.FirebaseAnalytics.Param; -import io.fabric.sdk.android.Fabric; -import javax.inject.Inject; -import org.tasks.injection.ApplicationScope; -import org.tasks.injection.ForApplication; -import org.tasks.preferences.Preferences; -import timber.log.Timber; - -@ApplicationScope -public class Tracker { - - private static boolean enabled; - - private final FirebaseAnalytics analytics; - - @Inject - public Tracker(@ForApplication Context context, Preferences preferences) { - enabled = preferences.isTrackingEnabled(); - if (enabled) { - analytics = FirebaseAnalytics.getInstance(context); - analytics.setAnalyticsCollectionEnabled(true); - Fabric.with(context, new Crashlytics()); - } else { - analytics = null; - } - } - - public void reportException(Throwable t) { - Timber.e(t); - if (enabled) { - Crashlytics.logException(t); - } - } - - public void reportIabResult(@BillingResponse int response, String sku) { - if (!enabled) { - return; - } - - Bundle bundle = new Bundle(); - bundle.putString(Param.ITEM_ID, sku); - bundle.putString(Param.SUCCESS, BillingResponseToString(response)); - analytics.logEvent(Event.ECOMMERCE_PURCHASE, bundle); - } -} diff --git a/app/src/googleplay/java/org/tasks/billing/BillingClientImpl.java b/app/src/googleplay/java/org/tasks/billing/BillingClientImpl.java index 201f77a7c..543bd7385 100644 --- a/app/src/googleplay/java/org/tasks/billing/BillingClientImpl.java +++ b/app/src/googleplay/java/org/tasks/billing/BillingClientImpl.java @@ -21,7 +21,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; import java.util.List; import org.tasks.BuildConfig; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import org.tasks.injection.ForApplication; import timber.log.Timber; @@ -31,14 +31,14 @@ public class BillingClientImpl implements BillingClient, PurchasesUpdatedListene public static final String TYPE_SUBS = SkuType.SUBS; private final Inventory inventory; - private final Tracker tracker; + private final Firebase firebase; private com.android.billingclient.api.BillingClient billingClient; private boolean connected; private OnPurchasesUpdated onPurchasesUpdated; - public BillingClientImpl(@ForApplication Context context, Inventory inventory, Tracker tracker) { + public BillingClientImpl(@ForApplication Context context, Inventory inventory, Firebase firebase) { this.inventory = inventory; - this.tracker = tracker; + this.firebase = firebase; billingClient = com.android.billingclient.api.BillingClient.newBuilder(context).setListener(this).build(); } @@ -143,7 +143,7 @@ public class BillingClientImpl implements BillingClient, PurchasesUpdatedListene .join( Iterables.transform(purchases, com.android.billingclient.api.Purchase::getSku)); Timber.i("onPurchasesUpdated(%s, %s)", BillingResponseToString(resultCode), skus); - tracker.reportIabResult(resultCode, skus); + firebase.reportIabResult(resultCode, skus); } private void add(List purchases) { diff --git a/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java b/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java index 24261ef00..11055386f 100755 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java @@ -52,7 +52,7 @@ import io.reactivex.schedulers.Schedulers; import java.util.List; import javax.inject.Inject; import org.tasks.R; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import org.tasks.data.UserActivity; import org.tasks.data.UserActivityDao; import org.tasks.databinding.FragmentTaskEditBinding; @@ -85,7 +85,7 @@ public final class TaskEditFragment extends InjectingFragment @Inject TaskEditControlSetFragmentManager taskEditControlSetFragmentManager; @Inject CommentsController commentsController; @Inject Preferences preferences; - @Inject Tracker tracker; + @Inject Firebase firebase; @Inject TimerPlugin timerPlugin; @Inject Linkify linkify; @@ -382,7 +382,7 @@ public final class TaskEditFragment extends InjectingFragment } } } catch (Exception e) { - tracker.reportException(e); + firebase.reportException(e); } return false; } diff --git a/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java b/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java index 9c4e3b817..15d5fa57e 100644 --- a/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java +++ b/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java @@ -35,7 +35,7 @@ import java.util.Arrays; import java.util.List; import javax.inject.Inject; import org.tasks.R; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import org.tasks.dialogs.DialogBuilder; import org.tasks.injection.ForActivity; import org.tasks.injection.FragmentComponent; @@ -63,7 +63,7 @@ public class RepeatControlSet extends TaskEditControlFragment { @Inject DialogBuilder dialogBuilder; @Inject @ForActivity Context context; @Inject Theme theme; - @Inject Tracker tracker; + @Inject Firebase firebase; @Inject RepeatRuleToString repeatRuleToString; @BindView(R.id.display_row_edit) diff --git a/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.java b/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.java index e65d4d1f9..5163abd5a 100644 --- a/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.java +++ b/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.java @@ -50,7 +50,7 @@ import okhttp3.RequestBody; import org.tasks.BuildConfig; import org.tasks.LocalBroadcastManager; import org.tasks.R; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import org.tasks.billing.Inventory; import org.tasks.data.CaldavAccount; import org.tasks.data.CaldavCalendar; @@ -71,7 +71,7 @@ public class CaldavSynchronizer { private final LocalBroadcastManager localBroadcastManager; private final TaskDeleter taskDeleter; private final Inventory inventory; - private final Tracker tracker; + private final Firebase firebase; private final CaldavClient client; private final iCalendar iCal; private final Context context; @@ -84,7 +84,7 @@ public class CaldavSynchronizer { LocalBroadcastManager localBroadcastManager, TaskDeleter taskDeleter, Inventory inventory, - Tracker tracker, + Firebase firebase, CaldavClient client, iCalendar iCal) { this.context = context; @@ -93,7 +93,7 @@ public class CaldavSynchronizer { this.localBroadcastManager = localBroadcastManager; this.taskDeleter = taskDeleter; this.inventory = inventory; - this.tracker = tracker; + this.firebase = firebase; this.client = client; this.iCal = iCal; } @@ -121,7 +121,7 @@ public class CaldavSynchronizer { } catch (IOException | DavException e) { setError(account, e.getMessage()); if (!(e instanceof HttpException) || ((HttpException) e).getCode() < 500) { - tracker.reportException(e); + firebase.reportException(e); } } } diff --git a/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java b/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java index d2ccb8b32..f9bd87130 100644 --- a/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java +++ b/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java @@ -35,7 +35,7 @@ import javax.inject.Inject; import javax.net.ssl.SSLException; import org.tasks.LocalBroadcastManager; import org.tasks.R; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import org.tasks.billing.Inventory; import org.tasks.data.GoogleTask; import org.tasks.data.GoogleTaskAccount; @@ -69,7 +69,7 @@ public class GoogleTaskSynchronizer { private final GtasksListService gtasksListService; private final Preferences preferences; private final TaskDao taskDao; - private final Tracker tracker; + private final Firebase firebase; private final GoogleTaskDao googleTaskDao; private final TaskCreator taskCreator; private final DefaultFilterProvider defaultFilterProvider; @@ -87,7 +87,7 @@ public class GoogleTaskSynchronizer { GtasksListService gtasksListService, Preferences preferences, TaskDao taskDao, - Tracker tracker, + Firebase firebase, GoogleTaskDao googleTaskDao, TaskCreator taskCreator, DefaultFilterProvider defaultFilterProvider, @@ -102,7 +102,7 @@ public class GoogleTaskSynchronizer { this.gtasksListService = gtasksListService; this.preferences = preferences; this.taskDao = taskDao; - this.tracker = tracker; + this.firebase = firebase; this.googleTaskDao = googleTaskDao; this.taskCreator = taskCreator; this.defaultFilterProvider = defaultFilterProvider; @@ -150,11 +150,11 @@ public class GoogleTaskSynchronizer { if (e.getStatusCode() == 401) { Timber.e(e); } else { - tracker.reportException(e); + firebase.reportException(e); } } catch (Exception e) { account.setError(e.getMessage()); - tracker.reportException(e); + firebase.reportException(e); } finally { googleTaskListDao.update(account); localBroadcastManager.broadcastRefreshList(); @@ -199,7 +199,7 @@ public class GoogleTaskSynchronizer { for (GoogleTaskList list : googleTaskListDao.getByRemoteId(transform(gtaskLists, TaskList::getId))) { if (isNullOrEmpty(list.getRemoteId())) { - tracker.reportException(new RuntimeException("Empty remote id")); + firebase.reportException(new RuntimeException("Empty remote id")); continue; } fetchAndApplyRemoteChanges(gtasksInvoker, list); @@ -392,7 +392,7 @@ public class GoogleTaskSynchronizer { taskList = gtasksInvoker.getAllGtasksFromListId(listId, lastSyncDate + 1000L, nextPageToken); } catch (HttpNotFoundException e) { - tracker.reportException(e); + firebase.reportException(e); return; } if (taskList == null) { diff --git a/app/src/main/java/org/tasks/injection/ApplicationModule.java b/app/src/main/java/org/tasks/injection/ApplicationModule.java index f70bd5713..170830530 100644 --- a/app/src/main/java/org/tasks/injection/ApplicationModule.java +++ b/app/src/main/java/org/tasks/injection/ApplicationModule.java @@ -5,7 +5,7 @@ import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.TaskDao; import dagger.Module; import dagger.Provides; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import org.tasks.billing.BillingClient; import org.tasks.billing.BillingClientImpl; import org.tasks.billing.Inventory; @@ -134,8 +134,8 @@ class ApplicationModule { } @Provides - BillingClient getBillingClient(Inventory inventory, Tracker tracker) { - return new BillingClientImpl(context, inventory, tracker); + BillingClient getBillingClient(Inventory inventory, Firebase firebase) { + return new BillingClientImpl(context, inventory, firebase); } @Provides diff --git a/app/src/main/java/org/tasks/injection/InjectingService.java b/app/src/main/java/org/tasks/injection/InjectingService.java index 8345ae020..7c3c65769 100644 --- a/app/src/main/java/org/tasks/injection/InjectingService.java +++ b/app/src/main/java/org/tasks/injection/InjectingService.java @@ -10,12 +10,12 @@ import io.reactivex.disposables.CompositeDisposable; import io.reactivex.schedulers.Schedulers; import javax.inject.Inject; import org.tasks.R; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import org.tasks.notifications.NotificationManager; public abstract class InjectingService extends Service { - @Inject Tracker tracker; + @Inject Firebase firebase; private CompositeDisposable disposables; @@ -41,7 +41,7 @@ public abstract class InjectingService extends Service { .subscribe( () -> done(startId), t -> { - tracker.reportException(t); + firebase.reportException(t); done(startId); })); diff --git a/app/src/main/java/org/tasks/injection/InjectingWorker.java b/app/src/main/java/org/tasks/injection/InjectingWorker.java index 547487803..c104fd88d 100644 --- a/app/src/main/java/org/tasks/injection/InjectingWorker.java +++ b/app/src/main/java/org/tasks/injection/InjectingWorker.java @@ -5,12 +5,12 @@ import androidx.annotation.NonNull; import androidx.work.Worker; import androidx.work.WorkerParameters; import javax.inject.Inject; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import timber.log.Timber; public abstract class InjectingWorker extends Worker { - @Inject Tracker tracker; + @Inject Firebase firebase; public InjectingWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) { super(context, workerParams); @@ -26,7 +26,7 @@ public abstract class InjectingWorker extends Worker { try { return run(); } catch (Exception e) { - tracker.reportException(e); + firebase.reportException(e); return Result.failure(); } } diff --git a/app/src/main/java/org/tasks/jobs/DriveUploader.java b/app/src/main/java/org/tasks/jobs/DriveUploader.java index bd515519d..64afb2213 100644 --- a/app/src/main/java/org/tasks/jobs/DriveUploader.java +++ b/app/src/main/java/org/tasks/jobs/DriveUploader.java @@ -21,7 +21,7 @@ import java.util.List; import javax.inject.Inject; import javax.net.ssl.SSLException; import org.tasks.R; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import org.tasks.drive.DriveInvoker; import org.tasks.injection.ForApplication; import org.tasks.injection.InjectingWorker; @@ -40,7 +40,7 @@ public class DriveUploader extends InjectingWorker { @Inject @ForApplication Context context; @Inject DriveInvoker drive; @Inject Preferences preferences; - @Inject Tracker tracker; + @Inject Firebase firebase; public DriveUploader(@NonNull Context context, @NonNull WorkerParameters workerParams) { super(context, workerParams); @@ -87,7 +87,7 @@ public class DriveUploader extends InjectingWorker { Timber.e(e); return Result.retry(); } catch (IOException e) { - tracker.reportException(e); + firebase.reportException(e); return Result.failure(); } } diff --git a/app/src/main/java/org/tasks/jobs/ReverseGeocodeWork.kt b/app/src/main/java/org/tasks/jobs/ReverseGeocodeWork.kt index cc857f06a..4c6fb1f5c 100644 --- a/app/src/main/java/org/tasks/jobs/ReverseGeocodeWork.kt +++ b/app/src/main/java/org/tasks/jobs/ReverseGeocodeWork.kt @@ -3,7 +3,7 @@ package org.tasks.jobs import android.content.Context import androidx.work.WorkerParameters import org.tasks.LocalBroadcastManager -import org.tasks.analytics.Tracker +import org.tasks.analytics.Firebase import org.tasks.data.LocationDao import org.tasks.injection.InjectingWorker import org.tasks.injection.JobComponent @@ -21,7 +21,7 @@ class ReverseGeocodeWork(context: Context, workerParams: WorkerParameters) : Inj @Inject lateinit var localBroadcastManager: LocalBroadcastManager @Inject lateinit var geocoder: Geocoder @Inject lateinit var locationDao: LocationDao - @Inject lateinit var tracker: Tracker + @Inject lateinit var firebase: Firebase public override fun run(): Result { val id = inputData.getLong(PLACE_ID, 0) @@ -43,7 +43,7 @@ class ReverseGeocodeWork(context: Context, workerParams: WorkerParameters) : Inj Timber.d("found $result") Result.success() } catch (e: IOException) { - tracker.reportException(e) + firebase.reportException(e) Result.failure() } } diff --git a/app/src/main/java/org/tasks/jobs/SyncWork.java b/app/src/main/java/org/tasks/jobs/SyncWork.java index eb93b9873..9515b7364 100644 --- a/app/src/main/java/org/tasks/jobs/SyncWork.java +++ b/app/src/main/java/org/tasks/jobs/SyncWork.java @@ -10,7 +10,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; import javax.inject.Inject; import org.tasks.LocalBroadcastManager; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import org.tasks.caldav.CaldavSynchronizer; import org.tasks.data.CaldavAccount; import org.tasks.data.CaldavDao; @@ -32,7 +32,7 @@ public class SyncWork extends InjectingWorker { @Inject GoogleTaskSynchronizer googleTaskSynchronizer; @Inject LocalBroadcastManager localBroadcastManager; @Inject Preferences preferences; - @Inject Tracker tracker; + @Inject Firebase firebase; @Inject CaldavDao caldavDao; @Inject GoogleTaskListDao googleTaskListDao; @Inject SyncAdapters syncAdapters; @@ -57,7 +57,7 @@ public class SyncWork extends InjectingWorker { try { sync(); } catch (Exception e) { - tracker.reportException(e); + firebase.reportException(e); } finally { preferences.setSyncOngoing(false); localBroadcastManager.broadcastRefresh(); diff --git a/app/src/main/java/org/tasks/receivers/RepeatConfirmationReceiver.java b/app/src/main/java/org/tasks/receivers/RepeatConfirmationReceiver.java index 44d8372aa..744c8c7bb 100644 --- a/app/src/main/java/org/tasks/receivers/RepeatConfirmationReceiver.java +++ b/app/src/main/java/org/tasks/receivers/RepeatConfirmationReceiver.java @@ -14,7 +14,7 @@ import com.todoroo.astrid.data.Task; import java.text.ParseException; import javax.inject.Inject; import org.tasks.R; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import org.tasks.locale.Locale; import org.threeten.bp.format.FormatStyle; import timber.log.Timber; @@ -22,15 +22,15 @@ import timber.log.Timber; public class RepeatConfirmationReceiver extends BroadcastReceiver { private final Activity activity; - private final Tracker tracker; + private final Firebase firebase; private final TaskDao taskDao; private final Locale locale; @Inject public RepeatConfirmationReceiver( - Activity activity, Tracker tracker, TaskDao taskDao, Locale locale) { + Activity activity, Firebase firebase, TaskDao taskDao, Locale locale) { this.activity = activity; - this.tracker = tracker; + this.firebase = firebase; this.taskDao = taskDao; this.locale = locale; } @@ -55,7 +55,7 @@ public class RepeatConfirmationReceiver extends BroadcastReceiver { try { showSnackbar(taskListFragment, task, oldDueDate, newDueDate); } catch (Exception e) { - tracker.reportException(e); + firebase.reportException(e); } } } diff --git a/app/src/main/java/org/tasks/ui/CalendarControlSet.java b/app/src/main/java/org/tasks/ui/CalendarControlSet.java index 5f8e96fad..bf26001e1 100644 --- a/app/src/main/java/org/tasks/ui/CalendarControlSet.java +++ b/app/src/main/java/org/tasks/ui/CalendarControlSet.java @@ -26,7 +26,7 @@ import com.todoroo.astrid.data.Task; import com.todoroo.astrid.gcal.GCalHelper; import javax.inject.Inject; import org.tasks.R; -import org.tasks.analytics.Tracker; +import org.tasks.analytics.Firebase; import org.tasks.calendars.AndroidCalendar; import org.tasks.calendars.CalendarEventProvider; import org.tasks.calendars.CalendarPicker; @@ -64,7 +64,7 @@ public class CalendarControlSet extends TaskEditControlFragment { @Inject @ForActivity Context context; @Inject PermissionChecker permissionChecker; @Inject FragmentPermissionRequestor permissionRequestor; - @Inject Tracker tracker; + @Inject Firebase firebase; @Inject DialogBuilder dialogBuilder; @Inject ThemeBase themeBase; @Inject CalendarEventProvider calendarEventProvider; @@ -91,7 +91,7 @@ public class CalendarControlSet extends TaskEditControlFragment { } } catch (Exception e) { Timber.e(e); - tracker.reportException(e); + firebase.reportException(e); calendarId = null; } } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index c3ec6a8f9..feb7852f9 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -8,7 +8,7 @@ object Versions { const val leakcanary = "2.2" const val room = "2.2.5" const val crashlytics = "2.10.1" - const val firebase = "17.4.0" + const val analytics = "17.4.0" const val okhttp = "3.12.10" // 3.13 minSdk is 21 const val flipper = "0.40.0" } \ No newline at end of file