Rename tracker to firebase

pull/996/head
Alex Baker 6 years ago
parent 29f0d5b5b8
commit 3a13d56060

@ -191,7 +191,7 @@ dependencies {
implementation("com.github.QuadFlask:colorpicker:0.0.15") implementation("com.github.QuadFlask:colorpicker:0.0.15")
googleplayImplementation("com.crashlytics.sdk.android:crashlytics:${Versions.crashlytics}") 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-location:17.0.0")
googleplayImplementation("com.google.android.gms:play-services-maps:17.0.0") googleplayImplementation("com.google.android.gms:play-services-maps:17.0.0")
googleplayImplementation("com.google.android.libraries.places:places:2.2.0") googleplayImplementation("com.google.android.libraries.places:places:2.2.0")

@ -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)
}

@ -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);
}
}

@ -3,13 +3,13 @@ package org.tasks.billing;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
public class BillingClientImpl implements BillingClient { public class BillingClientImpl implements BillingClient {
public static final String TYPE_SUBS = ""; public static final String TYPE_SUBS = "";
public BillingClientImpl(Context context, Inventory inventory, Tracker tracker) {} public BillingClientImpl(Context context, Inventory inventory, Firebase firebase) {}
@Override @Override
public void queryPurchases() {} public void queryPurchases() {}

@ -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())
}
}
}

@ -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);
}
}

@ -21,7 +21,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import java.util.List; import java.util.List;
import org.tasks.BuildConfig; import org.tasks.BuildConfig;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import org.tasks.injection.ForApplication; import org.tasks.injection.ForApplication;
import timber.log.Timber; import timber.log.Timber;
@ -31,14 +31,14 @@ public class BillingClientImpl implements BillingClient, PurchasesUpdatedListene
public static final String TYPE_SUBS = SkuType.SUBS; public static final String TYPE_SUBS = SkuType.SUBS;
private final Inventory inventory; private final Inventory inventory;
private final Tracker tracker; private final Firebase firebase;
private com.android.billingclient.api.BillingClient billingClient; private com.android.billingclient.api.BillingClient billingClient;
private boolean connected; private boolean connected;
private OnPurchasesUpdated onPurchasesUpdated; 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.inventory = inventory;
this.tracker = tracker; this.firebase = firebase;
billingClient = billingClient =
com.android.billingclient.api.BillingClient.newBuilder(context).setListener(this).build(); com.android.billingclient.api.BillingClient.newBuilder(context).setListener(this).build();
} }
@ -143,7 +143,7 @@ public class BillingClientImpl implements BillingClient, PurchasesUpdatedListene
.join( .join(
Iterables.transform(purchases, com.android.billingclient.api.Purchase::getSku)); Iterables.transform(purchases, com.android.billingclient.api.Purchase::getSku));
Timber.i("onPurchasesUpdated(%s, %s)", BillingResponseToString(resultCode), skus); Timber.i("onPurchasesUpdated(%s, %s)", BillingResponseToString(resultCode), skus);
tracker.reportIabResult(resultCode, skus); firebase.reportIabResult(resultCode, skus);
} }
private void add(List<com.android.billingclient.api.Purchase> purchases) { private void add(List<com.android.billingclient.api.Purchase> purchases) {

@ -52,7 +52,7 @@ import io.reactivex.schedulers.Schedulers;
import java.util.List; import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.R; import org.tasks.R;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import org.tasks.data.UserActivity; import org.tasks.data.UserActivity;
import org.tasks.data.UserActivityDao; import org.tasks.data.UserActivityDao;
import org.tasks.databinding.FragmentTaskEditBinding; import org.tasks.databinding.FragmentTaskEditBinding;
@ -85,7 +85,7 @@ public final class TaskEditFragment extends InjectingFragment
@Inject TaskEditControlSetFragmentManager taskEditControlSetFragmentManager; @Inject TaskEditControlSetFragmentManager taskEditControlSetFragmentManager;
@Inject CommentsController commentsController; @Inject CommentsController commentsController;
@Inject Preferences preferences; @Inject Preferences preferences;
@Inject Tracker tracker; @Inject Firebase firebase;
@Inject TimerPlugin timerPlugin; @Inject TimerPlugin timerPlugin;
@Inject Linkify linkify; @Inject Linkify linkify;
@ -382,7 +382,7 @@ public final class TaskEditFragment extends InjectingFragment
} }
} }
} catch (Exception e) { } catch (Exception e) {
tracker.reportException(e); firebase.reportException(e);
} }
return false; return false;
} }

@ -35,7 +35,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.R; import org.tasks.R;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import org.tasks.dialogs.DialogBuilder; import org.tasks.dialogs.DialogBuilder;
import org.tasks.injection.ForActivity; import org.tasks.injection.ForActivity;
import org.tasks.injection.FragmentComponent; import org.tasks.injection.FragmentComponent;
@ -63,7 +63,7 @@ public class RepeatControlSet extends TaskEditControlFragment {
@Inject DialogBuilder dialogBuilder; @Inject DialogBuilder dialogBuilder;
@Inject @ForActivity Context context; @Inject @ForActivity Context context;
@Inject Theme theme; @Inject Theme theme;
@Inject Tracker tracker; @Inject Firebase firebase;
@Inject RepeatRuleToString repeatRuleToString; @Inject RepeatRuleToString repeatRuleToString;
@BindView(R.id.display_row_edit) @BindView(R.id.display_row_edit)

@ -50,7 +50,7 @@ import okhttp3.RequestBody;
import org.tasks.BuildConfig; import org.tasks.BuildConfig;
import org.tasks.LocalBroadcastManager; import org.tasks.LocalBroadcastManager;
import org.tasks.R; import org.tasks.R;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import org.tasks.billing.Inventory; import org.tasks.billing.Inventory;
import org.tasks.data.CaldavAccount; import org.tasks.data.CaldavAccount;
import org.tasks.data.CaldavCalendar; import org.tasks.data.CaldavCalendar;
@ -71,7 +71,7 @@ public class CaldavSynchronizer {
private final LocalBroadcastManager localBroadcastManager; private final LocalBroadcastManager localBroadcastManager;
private final TaskDeleter taskDeleter; private final TaskDeleter taskDeleter;
private final Inventory inventory; private final Inventory inventory;
private final Tracker tracker; private final Firebase firebase;
private final CaldavClient client; private final CaldavClient client;
private final iCalendar iCal; private final iCalendar iCal;
private final Context context; private final Context context;
@ -84,7 +84,7 @@ public class CaldavSynchronizer {
LocalBroadcastManager localBroadcastManager, LocalBroadcastManager localBroadcastManager,
TaskDeleter taskDeleter, TaskDeleter taskDeleter,
Inventory inventory, Inventory inventory,
Tracker tracker, Firebase firebase,
CaldavClient client, CaldavClient client,
iCalendar iCal) { iCalendar iCal) {
this.context = context; this.context = context;
@ -93,7 +93,7 @@ public class CaldavSynchronizer {
this.localBroadcastManager = localBroadcastManager; this.localBroadcastManager = localBroadcastManager;
this.taskDeleter = taskDeleter; this.taskDeleter = taskDeleter;
this.inventory = inventory; this.inventory = inventory;
this.tracker = tracker; this.firebase = firebase;
this.client = client; this.client = client;
this.iCal = iCal; this.iCal = iCal;
} }
@ -121,7 +121,7 @@ public class CaldavSynchronizer {
} catch (IOException | DavException e) { } catch (IOException | DavException e) {
setError(account, e.getMessage()); setError(account, e.getMessage());
if (!(e instanceof HttpException) || ((HttpException) e).getCode() < 500) { if (!(e instanceof HttpException) || ((HttpException) e).getCode() < 500) {
tracker.reportException(e); firebase.reportException(e);
} }
} }
} }

@ -35,7 +35,7 @@ import javax.inject.Inject;
import javax.net.ssl.SSLException; import javax.net.ssl.SSLException;
import org.tasks.LocalBroadcastManager; import org.tasks.LocalBroadcastManager;
import org.tasks.R; import org.tasks.R;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import org.tasks.billing.Inventory; import org.tasks.billing.Inventory;
import org.tasks.data.GoogleTask; import org.tasks.data.GoogleTask;
import org.tasks.data.GoogleTaskAccount; import org.tasks.data.GoogleTaskAccount;
@ -69,7 +69,7 @@ public class GoogleTaskSynchronizer {
private final GtasksListService gtasksListService; private final GtasksListService gtasksListService;
private final Preferences preferences; private final Preferences preferences;
private final TaskDao taskDao; private final TaskDao taskDao;
private final Tracker tracker; private final Firebase firebase;
private final GoogleTaskDao googleTaskDao; private final GoogleTaskDao googleTaskDao;
private final TaskCreator taskCreator; private final TaskCreator taskCreator;
private final DefaultFilterProvider defaultFilterProvider; private final DefaultFilterProvider defaultFilterProvider;
@ -87,7 +87,7 @@ public class GoogleTaskSynchronizer {
GtasksListService gtasksListService, GtasksListService gtasksListService,
Preferences preferences, Preferences preferences,
TaskDao taskDao, TaskDao taskDao,
Tracker tracker, Firebase firebase,
GoogleTaskDao googleTaskDao, GoogleTaskDao googleTaskDao,
TaskCreator taskCreator, TaskCreator taskCreator,
DefaultFilterProvider defaultFilterProvider, DefaultFilterProvider defaultFilterProvider,
@ -102,7 +102,7 @@ public class GoogleTaskSynchronizer {
this.gtasksListService = gtasksListService; this.gtasksListService = gtasksListService;
this.preferences = preferences; this.preferences = preferences;
this.taskDao = taskDao; this.taskDao = taskDao;
this.tracker = tracker; this.firebase = firebase;
this.googleTaskDao = googleTaskDao; this.googleTaskDao = googleTaskDao;
this.taskCreator = taskCreator; this.taskCreator = taskCreator;
this.defaultFilterProvider = defaultFilterProvider; this.defaultFilterProvider = defaultFilterProvider;
@ -150,11 +150,11 @@ public class GoogleTaskSynchronizer {
if (e.getStatusCode() == 401) { if (e.getStatusCode() == 401) {
Timber.e(e); Timber.e(e);
} else { } else {
tracker.reportException(e); firebase.reportException(e);
} }
} catch (Exception e) { } catch (Exception e) {
account.setError(e.getMessage()); account.setError(e.getMessage());
tracker.reportException(e); firebase.reportException(e);
} finally { } finally {
googleTaskListDao.update(account); googleTaskListDao.update(account);
localBroadcastManager.broadcastRefreshList(); localBroadcastManager.broadcastRefreshList();
@ -199,7 +199,7 @@ public class GoogleTaskSynchronizer {
for (GoogleTaskList list : for (GoogleTaskList list :
googleTaskListDao.getByRemoteId(transform(gtaskLists, TaskList::getId))) { googleTaskListDao.getByRemoteId(transform(gtaskLists, TaskList::getId))) {
if (isNullOrEmpty(list.getRemoteId())) { if (isNullOrEmpty(list.getRemoteId())) {
tracker.reportException(new RuntimeException("Empty remote id")); firebase.reportException(new RuntimeException("Empty remote id"));
continue; continue;
} }
fetchAndApplyRemoteChanges(gtasksInvoker, list); fetchAndApplyRemoteChanges(gtasksInvoker, list);
@ -392,7 +392,7 @@ public class GoogleTaskSynchronizer {
taskList = taskList =
gtasksInvoker.getAllGtasksFromListId(listId, lastSyncDate + 1000L, nextPageToken); gtasksInvoker.getAllGtasksFromListId(listId, lastSyncDate + 1000L, nextPageToken);
} catch (HttpNotFoundException e) { } catch (HttpNotFoundException e) {
tracker.reportException(e); firebase.reportException(e);
return; return;
} }
if (taskList == null) { if (taskList == null) {

@ -5,7 +5,7 @@ import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import org.tasks.billing.BillingClient; import org.tasks.billing.BillingClient;
import org.tasks.billing.BillingClientImpl; import org.tasks.billing.BillingClientImpl;
import org.tasks.billing.Inventory; import org.tasks.billing.Inventory;
@ -134,8 +134,8 @@ class ApplicationModule {
} }
@Provides @Provides
BillingClient getBillingClient(Inventory inventory, Tracker tracker) { BillingClient getBillingClient(Inventory inventory, Firebase firebase) {
return new BillingClientImpl(context, inventory, tracker); return new BillingClientImpl(context, inventory, firebase);
} }
@Provides @Provides

@ -10,12 +10,12 @@ import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.R; import org.tasks.R;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import org.tasks.notifications.NotificationManager; import org.tasks.notifications.NotificationManager;
public abstract class InjectingService extends Service { public abstract class InjectingService extends Service {
@Inject Tracker tracker; @Inject Firebase firebase;
private CompositeDisposable disposables; private CompositeDisposable disposables;
@ -41,7 +41,7 @@ public abstract class InjectingService extends Service {
.subscribe( .subscribe(
() -> done(startId), () -> done(startId),
t -> { t -> {
tracker.reportException(t); firebase.reportException(t);
done(startId); done(startId);
})); }));

@ -5,12 +5,12 @@ import androidx.annotation.NonNull;
import androidx.work.Worker; import androidx.work.Worker;
import androidx.work.WorkerParameters; import androidx.work.WorkerParameters;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import timber.log.Timber; import timber.log.Timber;
public abstract class InjectingWorker extends Worker { public abstract class InjectingWorker extends Worker {
@Inject Tracker tracker; @Inject Firebase firebase;
public InjectingWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) { public InjectingWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams); super(context, workerParams);
@ -26,7 +26,7 @@ public abstract class InjectingWorker extends Worker {
try { try {
return run(); return run();
} catch (Exception e) { } catch (Exception e) {
tracker.reportException(e); firebase.reportException(e);
return Result.failure(); return Result.failure();
} }
} }

@ -21,7 +21,7 @@ import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import javax.net.ssl.SSLException; import javax.net.ssl.SSLException;
import org.tasks.R; import org.tasks.R;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import org.tasks.drive.DriveInvoker; import org.tasks.drive.DriveInvoker;
import org.tasks.injection.ForApplication; import org.tasks.injection.ForApplication;
import org.tasks.injection.InjectingWorker; import org.tasks.injection.InjectingWorker;
@ -40,7 +40,7 @@ public class DriveUploader extends InjectingWorker {
@Inject @ForApplication Context context; @Inject @ForApplication Context context;
@Inject DriveInvoker drive; @Inject DriveInvoker drive;
@Inject Preferences preferences; @Inject Preferences preferences;
@Inject Tracker tracker; @Inject Firebase firebase;
public DriveUploader(@NonNull Context context, @NonNull WorkerParameters workerParams) { public DriveUploader(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams); super(context, workerParams);
@ -87,7 +87,7 @@ public class DriveUploader extends InjectingWorker {
Timber.e(e); Timber.e(e);
return Result.retry(); return Result.retry();
} catch (IOException e) { } catch (IOException e) {
tracker.reportException(e); firebase.reportException(e);
return Result.failure(); return Result.failure();
} }
} }

@ -3,7 +3,7 @@ package org.tasks.jobs
import android.content.Context import android.content.Context
import androidx.work.WorkerParameters import androidx.work.WorkerParameters
import org.tasks.LocalBroadcastManager import org.tasks.LocalBroadcastManager
import org.tasks.analytics.Tracker import org.tasks.analytics.Firebase
import org.tasks.data.LocationDao import org.tasks.data.LocationDao
import org.tasks.injection.InjectingWorker import org.tasks.injection.InjectingWorker
import org.tasks.injection.JobComponent import org.tasks.injection.JobComponent
@ -21,7 +21,7 @@ class ReverseGeocodeWork(context: Context, workerParams: WorkerParameters) : Inj
@Inject lateinit var localBroadcastManager: LocalBroadcastManager @Inject lateinit var localBroadcastManager: LocalBroadcastManager
@Inject lateinit var geocoder: Geocoder @Inject lateinit var geocoder: Geocoder
@Inject lateinit var locationDao: LocationDao @Inject lateinit var locationDao: LocationDao
@Inject lateinit var tracker: Tracker @Inject lateinit var firebase: Firebase
public override fun run(): Result { public override fun run(): Result {
val id = inputData.getLong(PLACE_ID, 0) val id = inputData.getLong(PLACE_ID, 0)
@ -43,7 +43,7 @@ class ReverseGeocodeWork(context: Context, workerParams: WorkerParameters) : Inj
Timber.d("found $result") Timber.d("found $result")
Result.success() Result.success()
} catch (e: IOException) { } catch (e: IOException) {
tracker.reportException(e) firebase.reportException(e)
Result.failure() Result.failure()
} }
} }

@ -10,7 +10,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.LocalBroadcastManager; import org.tasks.LocalBroadcastManager;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import org.tasks.caldav.CaldavSynchronizer; import org.tasks.caldav.CaldavSynchronizer;
import org.tasks.data.CaldavAccount; import org.tasks.data.CaldavAccount;
import org.tasks.data.CaldavDao; import org.tasks.data.CaldavDao;
@ -32,7 +32,7 @@ public class SyncWork extends InjectingWorker {
@Inject GoogleTaskSynchronizer googleTaskSynchronizer; @Inject GoogleTaskSynchronizer googleTaskSynchronizer;
@Inject LocalBroadcastManager localBroadcastManager; @Inject LocalBroadcastManager localBroadcastManager;
@Inject Preferences preferences; @Inject Preferences preferences;
@Inject Tracker tracker; @Inject Firebase firebase;
@Inject CaldavDao caldavDao; @Inject CaldavDao caldavDao;
@Inject GoogleTaskListDao googleTaskListDao; @Inject GoogleTaskListDao googleTaskListDao;
@Inject SyncAdapters syncAdapters; @Inject SyncAdapters syncAdapters;
@ -57,7 +57,7 @@ public class SyncWork extends InjectingWorker {
try { try {
sync(); sync();
} catch (Exception e) { } catch (Exception e) {
tracker.reportException(e); firebase.reportException(e);
} finally { } finally {
preferences.setSyncOngoing(false); preferences.setSyncOngoing(false);
localBroadcastManager.broadcastRefresh(); localBroadcastManager.broadcastRefresh();

@ -14,7 +14,7 @@ import com.todoroo.astrid.data.Task;
import java.text.ParseException; import java.text.ParseException;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.R; import org.tasks.R;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import org.tasks.locale.Locale; import org.tasks.locale.Locale;
import org.threeten.bp.format.FormatStyle; import org.threeten.bp.format.FormatStyle;
import timber.log.Timber; import timber.log.Timber;
@ -22,15 +22,15 @@ import timber.log.Timber;
public class RepeatConfirmationReceiver extends BroadcastReceiver { public class RepeatConfirmationReceiver extends BroadcastReceiver {
private final Activity activity; private final Activity activity;
private final Tracker tracker; private final Firebase firebase;
private final TaskDao taskDao; private final TaskDao taskDao;
private final Locale locale; private final Locale locale;
@Inject @Inject
public RepeatConfirmationReceiver( public RepeatConfirmationReceiver(
Activity activity, Tracker tracker, TaskDao taskDao, Locale locale) { Activity activity, Firebase firebase, TaskDao taskDao, Locale locale) {
this.activity = activity; this.activity = activity;
this.tracker = tracker; this.firebase = firebase;
this.taskDao = taskDao; this.taskDao = taskDao;
this.locale = locale; this.locale = locale;
} }
@ -55,7 +55,7 @@ public class RepeatConfirmationReceiver extends BroadcastReceiver {
try { try {
showSnackbar(taskListFragment, task, oldDueDate, newDueDate); showSnackbar(taskListFragment, task, oldDueDate, newDueDate);
} catch (Exception e) { } catch (Exception e) {
tracker.reportException(e); firebase.reportException(e);
} }
} }
} }

@ -26,7 +26,7 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gcal.GCalHelper; import com.todoroo.astrid.gcal.GCalHelper;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.R; import org.tasks.R;
import org.tasks.analytics.Tracker; import org.tasks.analytics.Firebase;
import org.tasks.calendars.AndroidCalendar; import org.tasks.calendars.AndroidCalendar;
import org.tasks.calendars.CalendarEventProvider; import org.tasks.calendars.CalendarEventProvider;
import org.tasks.calendars.CalendarPicker; import org.tasks.calendars.CalendarPicker;
@ -64,7 +64,7 @@ public class CalendarControlSet extends TaskEditControlFragment {
@Inject @ForActivity Context context; @Inject @ForActivity Context context;
@Inject PermissionChecker permissionChecker; @Inject PermissionChecker permissionChecker;
@Inject FragmentPermissionRequestor permissionRequestor; @Inject FragmentPermissionRequestor permissionRequestor;
@Inject Tracker tracker; @Inject Firebase firebase;
@Inject DialogBuilder dialogBuilder; @Inject DialogBuilder dialogBuilder;
@Inject ThemeBase themeBase; @Inject ThemeBase themeBase;
@Inject CalendarEventProvider calendarEventProvider; @Inject CalendarEventProvider calendarEventProvider;
@ -91,7 +91,7 @@ public class CalendarControlSet extends TaskEditControlFragment {
} }
} catch (Exception e) { } catch (Exception e) {
Timber.e(e); Timber.e(e);
tracker.reportException(e); firebase.reportException(e);
calendarId = null; calendarId = null;
} }
} }

@ -8,7 +8,7 @@ object Versions {
const val leakcanary = "2.2" const val leakcanary = "2.2"
const val room = "2.2.5" const val room = "2.2.5"
const val crashlytics = "2.10.1" 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 okhttp = "3.12.10" // 3.13 minSdk is 21
const val flipper = "0.40.0" const val flipper = "0.40.0"
} }
Loading…
Cancel
Save