// Path: app/src/main/java/com/knight/arch/ClientApplication.java
// public class ClientApplication extends Application implements Injector {
//     private static final String LOGGER_TAG = "<<=TAG=>>";
// 
//     private AccessTokenResponse accessTokenResponse;
// 
//     private ObjectGraph objectGraph;
// 
//     public void onCreate() {
//         super.onCreate();
//         initStetho();
//         initLogger();
//         initDagger();
//         initUmeng();
//     }
// 
//     private void initUmeng() {
//         MobclickAgent.openActivityDurationTrack(false);
//     }
// 
// 
//     private void initDagger() {
//         objectGraph = ObjectGraph.create(getModules().toArray());
//         objectGraph.inject(this);
//     }
// 
//     private void initLogger() {
//         Logger.init(LOGGER_TAG)               // default PRETTYLOGGER or use just init()
//                 .setMethodCount(4)            // default 2
//                 .setLogLevel(LogLevel.FULL)   // default LogLevel.FULL
//                 .setMethodOffset(2);          // default 0
//                //.hideThreadInfo()             // default shown
//     }
// 
//     private void initStetho() {
//         Stetho.initialize(
//                 Stetho.newInitializerBuilder(this)
//                         .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
//                         .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
//                         .build());
//     }
// 
//     public List<Object> getModules() {
//         return Arrays.<Object>asList(new AppModule(this));
//     }
// 
//     @Override
//     public void inject(Object target) {
//         this.objectGraph.inject(target);
//     }
// 
//     @Override
//     public ObjectGraph plus(Object[] modules) {
//         return objectGraph.plus(modules);
//     }
// 
//     public ObjectGraph plus(Injector injector) {
//         return this.objectGraph.plus(injector.getModules().toArray());
//     }
// }
// 
// Path: app/src/main/java/com/knight/arch/module/Injector.java
// public abstract interface Injector {
//   public abstract List<Object> getModules();
// 
//   public abstract void inject(Object target);
// 
//   public abstract ObjectGraph plus(Object[] modules);
// }


import android.os.Bundle;
import com.knight.arch.ClientApplication;
import com.knight.arch.module.Injector;
import dagger.ObjectGraph;
package com.knight.arch.ui.base;





/**
 * @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;

// Path: app/src/main/java/com/knight/arch/ClientApplication.java
// public class ClientApplication extends Application implements Injector {
//     private static final String LOGGER_TAG = "<<=TAG=>>";
// 
//     private AccessTokenResponse accessTokenResponse;
// 
//     private ObjectGraph objectGraph;
// 
//     public void onCreate() {
//         super.onCreate();
//         initStetho();
//         initLogger();
//         initDagger();
//         initUmeng();
//     }
// 
//     private void initUmeng() {
//         MobclickAgent.openActivityDurationTrack(false);
//     }
// 
// 
//     private void initDagger() {
//         objectGraph = ObjectGraph.create(getModules().toArray());
//         objectGraph.inject(this);
//     }
// 
//     private void initLogger() {
//         Logger.init(LOGGER_TAG)               // default PRETTYLOGGER or use just init()
//                 .setMethodCount(4)            // default 2
//                 .setLogLevel(LogLevel.FULL)   // default LogLevel.FULL
//                 .setMethodOffset(2);          // default 0
//                //.hideThreadInfo()             // default shown
//     }
// 
//     private void initStetho() {
//         Stetho.initialize(
//                 Stetho.newInitializerBuilder(this)
//                         .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
//                         .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
//                         .build());
//     }
// 
//     public List<Object> getModules() {
//         return Arrays.<Object>asList(new AppModule(this));
//     }
// 
//     @Override
//     public void inject(Object target) {
//         this.objectGraph.inject(target);
//     }
// 
//     @Override
//     public ObjectGraph plus(Object[] modules) {
//         return objectGraph.plus(modules);
//     }
// 
//     public ObjectGraph plus(Injector injector) {
//         return this.objectGraph.plus(injector.getModules().toArray());
//     }
// }
// 
// Path: app/src/main/java/com/knight/arch/module/Injector.java
// public abstract interface Injector {
//   public abstract List<Object> getModules();
// 
//   public abstract void inject(Object target);
// 
//   public abstract ObjectGraph plus(Object[] modules);
// }


// Path: app/src/main/java/com/knight/arch/ui/base/InjectableActivity.java
import android.os.Bundle;
import com.knight.arch.ClientApplication;
import com.knight.arch.module.Injector;
import dagger.ObjectGraph;

package com.knight.arch.ui.base;





/**
 * @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