package org.edx.mobile.core;
import android.content.Context;
import android.support.annotation.NonNull;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import org.edx.mobile.module.analytics.ISegment;
import org.edx.mobile.module.db.IDatabase;
import org.edx.mobile.module.download.IDownloadManager;
import org.edx.mobile.module.notification.NotificationDelegate;
import org.edx.mobile.module.prefs.LoginPrefs;
import org.edx.mobile.module.prefs.UserPrefs;
import org.edx.mobile.module.storage.IStorage;
import org.edx.mobile.services.ServiceManager;
import org.edx.mobile.util.Config;
import org.edx.mobile.view.Router;
import de.greenrobot.event.EventBus;
import roboguice.RoboGuice;
@Singleton
public class EdxEnvironment implements IEdxEnvironment {
@Inject
IDatabase database;
@Inject
IStorage storage;
@Inject
IDownloadManager downloadManager;
@Inject
UserPrefs userPrefs;
@Inject
LoginPrefs loginPrefs;
@Inject
ISegment segment;
@Inject
NotificationDelegate notificationDelegate;
@Inject
Router router;
@Inject
Config config;
@Inject
ServiceManager serviceManager;
@Inject
EventBus eventBus;
@Override
public IDatabase getDatabase() {
return database;
}
@Override
public IDownloadManager getDownloadManager() {
return downloadManager;
}
@Override
public UserPrefs getUserPrefs() {
return userPrefs;
}
@Override
public LoginPrefs getLoginPrefs() {
return loginPrefs;
}
@Override
public ISegment getSegment() {
return segment;
}
@Override
public NotificationDelegate getNotificationDelegate() {
return notificationDelegate;
}
@Override
public Router getRouter() {
return router;
}
@Override
public Config getConfig() {
return config;
}
@Override
public IStorage getStorage() {
return storage;
}
@Override
public ServiceManager getServiceManager() {
return serviceManager;
}
public EventBus getEventBus() {
return eventBus;
}
}