// Path: app/src/main/java/com/github/cchao/touchnews/BaseApplication.java
// public class BaseApplication extends Application {
//     public static BaiDuApiService mBaiDuApiService;
//     public static AppComponent mAppComponent;
//     private static Application mApplication;
// 
//     public static AppComponent getAppComponent() {
//         mBaiDuApiService = mAppComponent.getBaiDuApiService();
//         return mAppComponent;
//     }
// 
//     public static Context getContext() {
//         return mApplication;
//     }
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         setupLogUtils();
//         setupComponent();
//         mApplication = this;
//         MobclickAgent.startWithConfigure(new MobclickAgent.UMAnalyticsConfig(this, "5739942de0f55a0b3c001aab", "APP0"));
//     }
// 
//     /**
//      * 设置LogUtil
//      */
//     private void setupLogUtils() {
//         LogUtils.getLogConfig()
//             .configAllowLog(true)
//             .configTagPrefix("TouchNews")
//             .configShowBorders(true)
//             .configLevel(LogLevel.TYPE_VERBOSE);
//     }
// 
//     /**
//      * 设置AppComponent
//      */
//     private void setupComponent() {
//         mAppComponent = DaggerAppComponent.builder()
//             .appModule(new AppModule(this))
//             .apiModule(new ApiModule())
//             .build();
//         mBaiDuApiService = mAppComponent.getBaiDuApiService();
// 
//     }
// 
//     @Override
//     public void onLowMemory() {
//         super.onLowMemory();
//     }
// 
//     @Override
//     public void onConfigurationChanged(Configuration newConfig) {
//         super.onConfigurationChanged(newConfig);
//     }
// }
// 
// Path: app/src/main/java/com/github/cchao/touchnews/util/BaiDuApiService.java
// public interface BaiDuApiService {
//     //新闻api
//     @GET("showapi_open_bus/channel_news/search_news")
//     Observable<NewsItemRoot> getNews(@Header("apikey") String apikey, @Query("channelId") String channelID, @Query("page") String
//         page);
// 
//     //笑话集
//     @GET("showapi_open_bus/showapi_joke/joke_text")
//     Observable<JokeTextRoot> getJokeText(@Header("apikey") String apikey, @Query("page") String page);
// 
//     //笑话集
//     @GET("showapi_open_bus/showapi_joke/joke_pic")
//     Observable<JokeImageRoot> getJokeImage(@Header("apikey") String apikey, @Query("page") String page);
// 
//     //响应根据关键字获取的歌曲列表
//     @GET("geekery/music/query")
//     Observable<MusicInfoRoot> getMusicList(@Header("apikey") String apikey, @Query("s") String s);
// 
//     //获取Music播放地址
//     @GET("geekery/music/playinfo")
//     Observable<MusicPathRoot> getMusicPath(@Header("apikey") String apikey, @Query("hash") String hash);
// 
//     //歌手信息
//     @GET("geekery/music/singer")
//     Observable<MusicSingerRoot> getSinger(@Header("apikey") String apikey, @Query("name") String name);
// 
// 
// }


import com.github.cchao.touchnews.BaseApplication;
import com.github.cchao.touchnews.util.BaiDuApiService;
package com.github.cchao.touchnews.presenter;


/**
 * Created by cchao on 2016/8/18.
 * E-mail:   cchao1024@163.com
 * Description: 根 Presenter 绑定View
 */
public abstract class BasePresenter<V> {
    BaiDuApiService mBaiDBaiDuApiService;
    V mView;

    public BasePresenter() {
// Path: app/src/main/java/com/github/cchao/touchnews/BaseApplication.java
// public class BaseApplication extends Application {
//     public static BaiDuApiService mBaiDuApiService;
//     public static AppComponent mAppComponent;
//     private static Application mApplication;
// 
//     public static AppComponent getAppComponent() {
//         mBaiDuApiService = mAppComponent.getBaiDuApiService();
//         return mAppComponent;
//     }
// 
//     public static Context getContext() {
//         return mApplication;
//     }
// 
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         setupLogUtils();
//         setupComponent();
//         mApplication = this;
//         MobclickAgent.startWithConfigure(new MobclickAgent.UMAnalyticsConfig(this, "5739942de0f55a0b3c001aab", "APP0"));
//     }
// 
//     /**
//      * 设置LogUtil
//      */
//     private void setupLogUtils() {
//         LogUtils.getLogConfig()
//             .configAllowLog(true)
//             .configTagPrefix("TouchNews")
//             .configShowBorders(true)
//             .configLevel(LogLevel.TYPE_VERBOSE);
//     }
// 
//     /**
//      * 设置AppComponent
//      */
//     private void setupComponent() {
//         mAppComponent = DaggerAppComponent.builder()
//             .appModule(new AppModule(this))
//             .apiModule(new ApiModule())
//             .build();
//         mBaiDuApiService = mAppComponent.getBaiDuApiService();
// 
//     }
// 
//     @Override
//     public void onLowMemory() {
//         super.onLowMemory();
//     }
// 
//     @Override
//     public void onConfigurationChanged(Configuration newConfig) {
//         super.onConfigurationChanged(newConfig);
//     }
// }
// 
// Path: app/src/main/java/com/github/cchao/touchnews/util/BaiDuApiService.java
// public interface BaiDuApiService {
//     //新闻api
//     @GET("showapi_open_bus/channel_news/search_news")
//     Observable<NewsItemRoot> getNews(@Header("apikey") String apikey, @Query("channelId") String channelID, @Query("page") String
//         page);
// 
//     //笑话集
//     @GET("showapi_open_bus/showapi_joke/joke_text")
//     Observable<JokeTextRoot> getJokeText(@Header("apikey") String apikey, @Query("page") String page);
// 
//     //笑话集
//     @GET("showapi_open_bus/showapi_joke/joke_pic")
//     Observable<JokeImageRoot> getJokeImage(@Header("apikey") String apikey, @Query("page") String page);
// 
//     //响应根据关键字获取的歌曲列表
//     @GET("geekery/music/query")
//     Observable<MusicInfoRoot> getMusicList(@Header("apikey") String apikey, @Query("s") String s);
// 
//     //获取Music播放地址
//     @GET("geekery/music/playinfo")
//     Observable<MusicPathRoot> getMusicPath(@Header("apikey") String apikey, @Query("hash") String hash);
// 
//     //歌手信息
//     @GET("geekery/music/singer")
//     Observable<MusicSingerRoot> getSinger(@Header("apikey") String apikey, @Query("name") String name);
// 
// 
// }


// Path: app/src/main/java/com/github/cchao/touchnews/presenter/BasePresenter.java
import com.github.cchao.touchnews.BaseApplication;
import com.github.cchao.touchnews.util.BaiDuApiService;

package com.github.cchao.touchnews.presenter;


/**
 * Created by cchao on 2016/8/18.
 * E-mail:   cchao1024@163.com
 * Description: 根 Presenter 绑定View
 */
public abstract class BasePresenter<V> {
    BaiDuApiService mBaiDBaiDuApiService;
    V mView;

    public BasePresenter() {
        mBaiDBaiDuApiService = BaseApplication.getAppComponent().getBaiDuApiService();