Skip to content

Instantly share code, notes, and snippets.

View catalinghita8's full-sized avatar

Catalin Ghita catalinghita8

View GitHub Profile
@Module
public abstract class RegistrationModule {
@ActivityScoped
@Binds
public abstract RegistrationPresenter provideRegPresenter (RegistrationPresenter presenter);
@ActivityScoped
@Provides
static String provideActivityId(RegistrationActivity activity) {
return activity.getIntent().getStringExtra(ID);
@Module(includes = ServletRequestAbstractModule.class)
final class ServletRequestModule {
private final HttpServletRequest httpRequest;
@Provides
HttpServletRequestModule(HttpServletRequest httpRequest) {
this.httpRequest = httpRequest;
}
@Module
android {
...
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
public class MessageActivity extends DaggerAppCompatActivity {
@Inject
MessageFragment mInjectedFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_message);
// Set up fragment
public class Application extends DaggerApplication {
@Override
protected AndroidInjector<? extends DaggerApplication> applicationInjector() {
return DaggerAppComponent.builder().application(this).build();
}
}
@Module
public abstract class AppModule {
// expose Application as an injectable context
@Binds
abstract Context bindContext(Application application);
}
@AppScoped
@Component(modules = {ViewModelModule.class,
AppModule.class,
ActivityBindingModule.class,
AndroidSupportInjectionModule.class})
public interface AppComponent extends AndroidInjector<Application> {
@Component.Builder
interface Builder {
@BindsInstance
@Documented
@Scope
@Retention(RetentionPolicy.RUNTIME)
public @interface AppScoped {
}
@Module
public abstract class ActivityBindingModule {
@ActivityScoped
@ContributesAndroidInjector(modules = {MessageModule.class})
abstract MessageActivity messageActivity();
}
public interface BaseView {
void bindViewModel();
void unbindViewModel();
}