package com.lateensoft.pathfinder.toolkit;
import android.app.Application;
import android.util.Log;
import com.google.inject.util.Modules;
import com.lateensoft.pathfinder.toolkit.db.Database;
import com.lateensoft.pathfinder.toolkit.db.DatabaseImpl;
import com.lateensoft.pathfinder.toolkit.inject.ApplicationModule;
import com.lateensoft.pathfinder.toolkit.inject.DatabaseModule;
import com.lateensoft.pathfinder.toolkit.pref.AppPreferences;
import com.lateensoft.pathfinder.toolkit.pref.Preferences;
import roboguice.RoboGuice;
public class BaseApplication extends Application{
private static final String TAG = BaseApplication.class.getSimpleName();
private Database database;
private Preferences preferences;
@Override
public void onCreate() {
super.onCreate();
Log.d(TAG, "Starting application");
preferences = new AppPreferences(this);
database = new DatabaseImpl(this);
initializeApplicationInjector();
}
private void initializeApplicationInjector() {
RoboGuice.setBaseApplicationInjector(this, RoboGuice.DEFAULT_STAGE,
Modules.override(RoboGuice.newDefaultRoboModule(this))
.with( new ApplicationModule(this, preferences),
new DatabaseModule(database)));
}
@Override
public void onTerminate() {
Log.d(TAG, "Terminating application");
super.onTerminate();
}
}