package org.bookdash.android;
import android.app.Application;
import android.content.Context;
import com.crashlytics.android.Crashlytics;
import com.crashlytics.android.core.CrashlyticsCore;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.google.firebase.iid.FirebaseInstanceId;
import com.jakewharton.threetenabp.AndroidThreeTen;
import org.bookdash.android.config.CrashlyticsTree;
import io.fabric.sdk.android.Fabric;
import rx.Subscriber;
import timber.log.Timber;
/**
* @author Rebecca Franks
* @since 2015/07/16 8:54 AM
*/
public class BookDashApplication extends Application {
public static boolean isTablet = false;
public static String FILES_DIR;
private FirebaseAnalytics firebaseAnalytics;
public static BookDashApplication get(Context context) {
return (BookDashApplication) context.getApplicationContext();
}
@Override
public void onCreate() {
super.onCreate();
AndroidThreeTen.init(this);
Crashlytics crashlyticsKit = new Crashlytics.Builder()
.core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()).build();
Fabric.with(this, crashlyticsKit);
if (BuildConfig.DEBUG) {
Timber.plant(new Timber.DebugTree());
Timber.d("Firebase Debug Info:" + FirebaseInstanceId.getInstance().getToken());
} else {
Timber.plant(new CrashlyticsTree());
}
Injection.init(this);
isTablet = getResources().getBoolean(R.bool.is_tablet);
FILES_DIR = getFilesDir().getPath();
getDefaultTracker();
Injection.provideSettingsRepo(getApplicationContext()).initialSubscribeToNewBookNotifications()
.subscribe(new Subscriber<Boolean>() {
@Override
public void onCompleted() {
}
@Override
public void onError(final Throwable e) {
}
@Override
public void onNext(final Boolean aBoolean) {
}
});
}
synchronized public FirebaseAnalytics getDefaultTracker() {
if (firebaseAnalytics == null) {
firebaseAnalytics = FirebaseAnalytics.getInstance(this);
}
return firebaseAnalytics;
}
}