// Path: app/src/main/java/com/yuqirong/rxnews/app/AppService.java
// public class AppService {
// 
//     private RxNewsAPI mRxNewsAPI;
//     private EventBus mEventBus;
//     private static AppService mAppService;
//     private RxCollection mRxCollection;
//     private DBHelper mDBHelper;
//     private ResultEntityDao mResultEntityDao;
//     private ChannelEntityDao mChannelEntityDao;
//     private Gson mGson;
// 
//     private static final Object WATCH_DOG = new Object();
// 
//     private AppService() {
//         mEventBus = EventBus.getDefault();
//         mRxCollection = RxCollection.getInstance();
//         mRxNewsAPI = RxNewsFactory.getRxNewsAPIInstance();
//         mDBHelper = DBHelper.getInstance(MyApplication.getContext());
//         mResultEntityDao = mDBHelper.getResultEntityDao();
//         mChannelEntityDao = mDBHelper.getChannelEntityDao();
//         mGson = new Gson();
//     }
// 
//     public EventBus getEventBus() {
//         return mEventBus;
//     }
// 
//     public RxNewsAPI getRxNewsAPI() {
//         return mRxNewsAPI;
//     }
// 
//     public RxCollection getRxCollection() {
//         return mRxCollection;
//     }
// 
//     public DBHelper getDBHelper() {
//         return mDBHelper;
//     }
// 
//     public ResultEntityDao getResultEntityDao() {
//         return mResultEntityDao;
//     }
// 
//     public ChannelEntityDao getChannelEntityDao() {
//         return mChannelEntityDao;
//     }
// 
//     public Gson getGson() {
//         return mGson;
//     }
// 
//     public static AppService getInstance() {
//         if (mAppService == null) {
//             synchronized (WATCH_DOG) {
//                 if (mAppService == null) {
//                     mAppService = new AppService();
//                 }
// 
//             }
//         }
//         return mAppService;
//     }
// 
// }
// 
// Path: app/src/main/java/com/yuqirong/rxnews/app/MyApplication.java
// public class MyApplication extends Application {
// 
//     private static Context mApplicationContext;
//     private static RefWatcher mRefWatcher;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         mApplicationContext = this;
//         mRefWatcher = LeakCanary.install(this);
//         JPushInterface.setDebugMode(true); 	// 设置开启日志,发布时请关闭日志
//         JPushInterface.init(this);     		// 初始化 JPush
//     }
// 
//     public static RefWatcher getRefWatcher() {
//         return mRefWatcher;
//     }
// 
//     public static Context getContext() {
//         return mApplicationContext;
//     }
// 
// }


import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.yuqirong.rxnews.app.AppService;
import com.yuqirong.rxnews.app.MyApplication;
import butterknife.ButterKnife;
import cn.jpush.android.api.JPushInterface;

    protected abstract void initView(Bundle savedInstanceState);

    public int getTaskId() {
        return mTaskId;
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        AppService.getInstance().getRxCollection().removeCompositeSub(mTaskId);
        AppService.getInstance().getEventBus().unregister(this);
        MyApplication.getRefWatcher().watch(this);
    }

    protected void onResume() {
        super.onResume();
        JPushInterface.onResume(this);
    }

    protected void onPause() {
        super.onPause();
        JPushInterface.onPause(this);
    }

    /**
     * 跳转Activity
     * @param clazz
     * @param bundle
     */
// Path: app/src/main/java/com/yuqirong/rxnews/app/AppService.java
// public class AppService {
// 
//     private RxNewsAPI mRxNewsAPI;
//     private EventBus mEventBus;
//     private static AppService mAppService;
//     private RxCollection mRxCollection;
//     private DBHelper mDBHelper;
//     private ResultEntityDao mResultEntityDao;
//     private ChannelEntityDao mChannelEntityDao;
//     private Gson mGson;
// 
//     private static final Object WATCH_DOG = new Object();
// 
//     private AppService() {
//         mEventBus = EventBus.getDefault();
//         mRxCollection = RxCollection.getInstance();
//         mRxNewsAPI = RxNewsFactory.getRxNewsAPIInstance();
//         mDBHelper = DBHelper.getInstance(MyApplication.getContext());
//         mResultEntityDao = mDBHelper.getResultEntityDao();
//         mChannelEntityDao = mDBHelper.getChannelEntityDao();
//         mGson = new Gson();
//     }
// 
//     public EventBus getEventBus() {
//         return mEventBus;
//     }
// 
//     public RxNewsAPI getRxNewsAPI() {
//         return mRxNewsAPI;
//     }
// 
//     public RxCollection getRxCollection() {
//         return mRxCollection;
//     }
// 
//     public DBHelper getDBHelper() {
//         return mDBHelper;
//     }
// 
//     public ResultEntityDao getResultEntityDao() {
//         return mResultEntityDao;
//     }
// 
//     public ChannelEntityDao getChannelEntityDao() {
//         return mChannelEntityDao;
//     }
// 
//     public Gson getGson() {
//         return mGson;
//     }
// 
//     public static AppService getInstance() {
//         if (mAppService == null) {
//             synchronized (WATCH_DOG) {
//                 if (mAppService == null) {
//                     mAppService = new AppService();
//                 }
// 
//             }
//         }
//         return mAppService;
//     }
// 
// }
// 
// Path: app/src/main/java/com/yuqirong/rxnews/app/MyApplication.java
// public class MyApplication extends Application {
// 
//     private static Context mApplicationContext;
//     private static RefWatcher mRefWatcher;
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         mApplicationContext = this;
//         mRefWatcher = LeakCanary.install(this);
//         JPushInterface.setDebugMode(true); 	// 设置开启日志,发布时请关闭日志
//         JPushInterface.init(this);     		// 初始化 JPush
//     }
// 
//     public static RefWatcher getRefWatcher() {
//         return mRefWatcher;
//     }
// 
//     public static Context getContext() {
//         return mApplicationContext;
//     }
// 
// }


// Path: app/src/main/java/com/yuqirong/rxnews/ui/activity/BaseActivity.java
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.yuqirong.rxnews.app.AppService;
import com.yuqirong.rxnews.app.MyApplication;
import butterknife.ButterKnife;
import cn.jpush.android.api.JPushInterface;


    protected abstract void initView(Bundle savedInstanceState);

    public int getTaskId() {
        return mTaskId;
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        AppService.getInstance().getRxCollection().removeCompositeSub(mTaskId);
        AppService.getInstance().getEventBus().unregister(this);
        MyApplication.getRefWatcher().watch(this);
    }

    protected void onResume() {
        super.onResume();
        JPushInterface.onResume(this);
    }

    protected void onPause() {
        super.onPause();
        JPushInterface.onPause(this);
    }

    /**
     * 跳转Activity
     * @param clazz
     * @param bundle
     */
    public void startActivity(Class clazz, Bundle bundle) {