package tv.dyndns.kishibe.qmaclone.client.setting;
import com.google.api.gwt.client.GoogleApiRequestTransport;
import com.google.api.gwt.client.OAuth2Login;
import com.google.api.gwt.services.plus.shared.Plus;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.event.shared.SimpleEventBus;
import com.google.gwt.inject.client.AbstractGinModule;
import com.google.gwt.inject.client.assistedinject.GinFactoryModuleBuilder;
import com.google.inject.Provides;
import com.google.inject.Singleton;
public class SettingModule extends AbstractGinModule {
private static final String API_KEY = "AvW1Q0GS2481K0-epCGzWXS9";
private static final String APPLICATION_NAME = "QMAClone";
@Override
protected void configure() {
install(new GinFactoryModuleBuilder().implement(PanelSettingUserCodePresenter.View.class,
PanelSettingUserCodeView.class).build(
PanelSettingUserCodePresenter.View.Factory.class));
bind(PanelSettingUserCodePresenter.class).in(Singleton.class);
}
@Provides
@Singleton
public OAuth2Login provideOAuth2Login() {
return OAuth2Login.get();
}
@Provides
@Singleton
public Plus providePlus() {
Plus plus = GWT.create(Plus.class);
plus.initialize(new SimpleEventBus(), new GoogleApiRequestTransport(APPLICATION_NAME,
API_KEY));
return plus;
}
}