package com.knight.arch.ui.base;
import android.os.Bundle;
import com.knight.arch.ClientApplication;
import com.knight.arch.module.Injector;
import dagger.ObjectGraph;
/**
* @author andyiac
* @date 15-9-16
* @web http://blog.andyiac.com
* @github https://github.com/andyiac
*/
public abstract class InjectableActivity extends BaseActivity implements Injector {
protected ObjectGraph objectGraph;
@Override
protected void onCreate(Bundle savedInstanceState) {
ClientApplication app = (ClientApplication) getApplication();
objectGraph = app.plus(this);
objectGraph.inject(this);
super.onCreate(savedInstanceState);
}
@Override
protected void onDestroy() {
super.onDestroy();
objectGraph = null;
}
public void inject(Object target) {
objectGraph.inject(target);
}
public ObjectGraph plus(Object[] modules) {
return objectGraph.plus(modules);
}
}