/*
* VITacademics
* Copyright (C) 2015 Aneesh Neelam <neelam.aneesh@gmail.com>
* Copyright (C) 2015 Saurabh Joshi <saurabhjoshi94@outlook.com>
* Copyright (C) 2015 Gaurav Agerwala <gauravagerwala@gmail.com>
* Copyright (C) 2015 Karthik Balakrishnan <karthikb351@gmail.com>
* Copyright (C) 2015 Pulkit Juneja <pulkit.16296@gmail.com>
* Copyright (C) 2015 Hemant Jain <hemanham@gmail.com>
* Copyright (C) 2015 Darshan Mehta <darshanmehta17@gmail.com>
*
* This file is part of VITacademics.
*
* VITacademics is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* VITacademics is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with VITacademics. If not, see <http://www.gnu.org/licenses/>.
*/
package com.karthikb351.vitinfo2;
import android.app.Application;
import com.crashlytics.android.Crashlytics;
import com.karthikb351.vitinfo2.api.DataHolder;
import net.danlew.android.joda.JodaTimeAndroid;
import co.uk.rushorm.android.AndroidInitializeConfig;
import co.uk.rushorm.core.RushCore;
import io.fabric.sdk.android.Fabric;
import uk.co.chrisjenx.calligraphy.CalligraphyConfig;
public class MainApplication extends Application {
private DataHolder dataHolder;
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
//Init JodaTime to avoid exceptions
JodaTimeAndroid.init(this);
// Rush is initialized asynchronously to receive a callback after it initialized
// set an InitializeListener on the config object
AndroidInitializeConfig config = new AndroidInitializeConfig(getApplicationContext());
RushCore.initialize(config);
this.dataHolder = new DataHolder();
/**
* Calligraphy configuration to set the default font to Roboto-Regular
*/
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
// .setDefaultFontPath("fonts/Roboto-Regular.ttf")
.setFontAttrId(R.attr.fontPath)
.build()
);
}
public DataHolder getDataHolderInstanceInitialized() {
if (this.dataHolder != null) {
if (this.dataHolder.isInitialized()) {
return this.dataHolder;
} else {
this.dataHolder.refreshData(getApplicationContext());
return this.dataHolder;
}
}
this.dataHolder = new DataHolder();
if (this.dataHolder.isInitialized()) {
return this.dataHolder;
} else {
this.dataHolder.refreshData(getApplicationContext());
return this.dataHolder;
}
}
public DataHolder getDataHolderInstance() {
if (this.dataHolder != null) {
return this.dataHolder;
}
this.dataHolder = new DataHolder();
return this.dataHolder;
}
}