Skip to content

Instantly share code, notes, and snippets.

public abstract class BasePresenterActivity<T extends BasePresenter> extends BaseActivity implements BasePresenterView {
private T presenter;
protected T getPresenter(){
return presenter;
}
@Inject
public void setPresenter(T presenter){
this.presenter = presenter;
public class MyExtendingClass extends MyClass<String>{
}
@Component(modules = MyModule.class)
public interface MyComponent {
public void inject(MyExtendingClass myExtendingClass);
}
public class UtilityWrapper {
@Inject
Lazy<StringFormatter> lazyStringFormatter;
@Inject
Lazy<Scheduler> lazyMainScheduler;
public StringFormatter getStringFormatter() {
return lazyStringFormatter.get();
public class BasePresenter<T extends BasePresenterView> {
private T presenterView;
private UtilityWrapper utilityWrapper;
public BasePresenter() {
utilityWrapper = new UtilityWrapper();
DaggerActivityComponent.builder()
.baseComponent(PSAApplication.getBaseComponent())
.build()
@Component(modules = MyModule.class)
public interface MyComponent {
public void inject(MyClass<String> myClass);
}
@Module
public class MyModule {
@Named("MyObject")
@Provides
Object providesMyObject(){
return null;
}
}
@Component(modules = MyModule.class)
public interface MyComponent {
public void inject(MyClass myClass);
}
public class MyClass <T extends String> {
@Inject
@Named("MyObject")Object object;
}
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<SomeView
android:id="@+id/epoints_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="enterAlways|scroll"