// Path: app/src/main/java/com/yunq/gankio/core/MeiziService.java
// public interface MeiziService {
// 
//     /**
//      * 数据主机地址
//      */
//     String HOST = "http://gank.avosapps.com/api/";
// 
//     @GET("data/福利/{pageSize}/{page}")
//     Observable<PrettyGirlData> getPrettyGirlData(@Path("pageSize") int pageSize, @Path("page") int page);
// 
//     @GET("data/休息视频/{pageSize}/{page}")
//     Observable<休息视频Data> get休息视频Data(@Path("pageSize") int pageSize, @Path("page") int page);
// 
//     @GET("day/{year}/{month}/{day}")
//     Observable<GankData> getGankData(@Path("year") int year, @Path("month") int month, @Path("day") int day);
// 
//     class Creator {
//         public static MeiziService newGudongService(OkHttpClient client) {
//             Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").serializeNulls().create();
// 
//             Retrofit apiAdapter = new Retrofit.Builder()
//                     .baseUrl(HOST)
//                     .addConverterFactory(GsonConverterFactory.create(gson))
//                     .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
//                     .client(client)
//                     .build();
// 
//             return apiAdapter.create(MeiziService.class);
//         }
//     }
// 
// }
// 
// Path: app/src/main/java/com/yunq/gankio/data/entity/Gank.java
// @Table("ganks")
// public class Gank extends Soul {
// 
//     @Column("used")
//     public boolean used;
//     @Column("type")
//     public String type;
//     @Column("url")
//     public String url;
//     @Column("who")
//     public String who;
//     @Column("desc")
//     public String desc;
//     @Column("updatedAt")
//     public Date updatedAt;
//     @Column("createdAt")
//     public Date createdAt;
//     @Column("publishedAt")
//     public Date publishedAt;
// }
// 
// Path: app/src/main/java/com/yunq/gankio/data/entity/Girl.java
// public class Girl extends Soul {
// 
//     @Column("used")
//     public boolean used;
//     @Column("type")
//     public String type;
//     @Column("url")
//     public String url;
//     @Column("who")
//     public String who;
//     @Column("desc")
//     public String desc;
//     @Column("createdAt")
//     public Date createdAt;
//     @Column("publishedAt")
//     public Date publishedAt;
//     @Column("updatedAt")
//     public Date updatedAt;
// 
// }
// 
// Path: app/src/main/java/com/yunq/gankio/data/parse/GankData.java
// public class GankData extends BaseData{
// 
//     public List<String> category;
//     public Result results;
// 
//     public class Result {
//         @SerializedName("Android")
//         public List<Gank> androidList;
//         @SerializedName("休息视频")
//         public List<Gank> 休息视频List;
//         @SerializedName("iOS")
//         public List<Gank> iOSList;
//         @SerializedName("福利")
//         public List<Gank> 妹纸List;
//         @SerializedName("拓展资源")
//         public List<Gank> 拓展资源List;
//         @SerializedName("瞎推荐")
//         public List<Gank> 瞎推荐List;
//         @SerializedName("App")
//         public List<Gank> appList;
//     }
// }
// 
// Path: app/src/main/java/com/yunq/gankio/data/parse/PrettyGirlData.java
// public class PrettyGirlData extends BaseData {
// 
//     public List<Girl> results;
// }


import com.yunq.gankio.core.MeiziService;
import com.yunq.gankio.data.entity.Gank;
import com.yunq.gankio.data.entity.Girl;
import com.yunq.gankio.data.parse.GankData;
import com.yunq.gankio.data.parse.PrettyGirlData;
import com.yunq.gankio.data.parse.休息视频Data;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import okhttp3.OkHttpClient;
import rx.Observable;
import rx.functions.Func1;
import rx.functions.Func2;
                mMeiziService.get休息视频Data(pageSize, currentPage),
                new Func2<PrettyGirlData, 休息视频Data, PrettyGirlData>() {
                    @Override
                    public PrettyGirlData call(PrettyGirlData prettyGirlData, 休息视频Data 休息视频Data) {
                        return DataUtils.createGirlInfoWith休息视频(prettyGirlData, 休息视频Data);
                    }
                })
                .map(new Func1<PrettyGirlData, List<Girl>>() {
                    @Override
                    public List<Girl> call(PrettyGirlData girlData) {
                        return girlData.results;
                    }
                })
                .flatMap(new Func1<List<Girl>, Observable<Girl>>() {
                    @Override
                    public Observable<Girl> call(List<Girl> girls) {
                        return Observable.from(girls);
                    }
                })
                .toSortedList(new Func2<Girl, Girl, Integer>() {
                    @Override
                    public Integer call(Girl girl, Girl girl2) {
                        return girl2.publishedAt.compareTo(girl.publishedAt);
                    }
                });
    }

    /**
     * GankDetailActivity
     */
// Path: app/src/main/java/com/yunq/gankio/core/MeiziService.java
// public interface MeiziService {
// 
//     /**
//      * 数据主机地址
//      */
//     String HOST = "http://gank.avosapps.com/api/";
// 
//     @GET("data/福利/{pageSize}/{page}")
//     Observable<PrettyGirlData> getPrettyGirlData(@Path("pageSize") int pageSize, @Path("page") int page);
// 
//     @GET("data/休息视频/{pageSize}/{page}")
//     Observable<休息视频Data> get休息视频Data(@Path("pageSize") int pageSize, @Path("page") int page);
// 
//     @GET("day/{year}/{month}/{day}")
//     Observable<GankData> getGankData(@Path("year") int year, @Path("month") int month, @Path("day") int day);
// 
//     class Creator {
//         public static MeiziService newGudongService(OkHttpClient client) {
//             Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").serializeNulls().create();
// 
//             Retrofit apiAdapter = new Retrofit.Builder()
//                     .baseUrl(HOST)
//                     .addConverterFactory(GsonConverterFactory.create(gson))
//                     .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
//                     .client(client)
//                     .build();
// 
//             return apiAdapter.create(MeiziService.class);
//         }
//     }
// 
// }
// 
// Path: app/src/main/java/com/yunq/gankio/data/entity/Gank.java
// @Table("ganks")
// public class Gank extends Soul {
// 
//     @Column("used")
//     public boolean used;
//     @Column("type")
//     public String type;
//     @Column("url")
//     public String url;
//     @Column("who")
//     public String who;
//     @Column("desc")
//     public String desc;
//     @Column("updatedAt")
//     public Date updatedAt;
//     @Column("createdAt")
//     public Date createdAt;
//     @Column("publishedAt")
//     public Date publishedAt;
// }
// 
// Path: app/src/main/java/com/yunq/gankio/data/entity/Girl.java
// public class Girl extends Soul {
// 
//     @Column("used")
//     public boolean used;
//     @Column("type")
//     public String type;
//     @Column("url")
//     public String url;
//     @Column("who")
//     public String who;
//     @Column("desc")
//     public String desc;
//     @Column("createdAt")
//     public Date createdAt;
//     @Column("publishedAt")
//     public Date publishedAt;
//     @Column("updatedAt")
//     public Date updatedAt;
// 
// }
// 
// Path: app/src/main/java/com/yunq/gankio/data/parse/GankData.java
// public class GankData extends BaseData{
// 
//     public List<String> category;
//     public Result results;
// 
//     public class Result {
//         @SerializedName("Android")
//         public List<Gank> androidList;
//         @SerializedName("休息视频")
//         public List<Gank> 休息视频List;
//         @SerializedName("iOS")
//         public List<Gank> iOSList;
//         @SerializedName("福利")
//         public List<Gank> 妹纸List;
//         @SerializedName("拓展资源")
//         public List<Gank> 拓展资源List;
//         @SerializedName("瞎推荐")
//         public List<Gank> 瞎推荐List;
//         @SerializedName("App")
//         public List<Gank> appList;
//     }
// }
// 
// Path: app/src/main/java/com/yunq/gankio/data/parse/PrettyGirlData.java
// public class PrettyGirlData extends BaseData {
// 
//     public List<Girl> results;
// }


// Path: app/src/main/java/com/yunq/gankio/data/DataManager.java
import com.yunq.gankio.core.MeiziService;
import com.yunq.gankio.data.entity.Gank;
import com.yunq.gankio.data.entity.Girl;
import com.yunq.gankio.data.parse.GankData;
import com.yunq.gankio.data.parse.PrettyGirlData;
import com.yunq.gankio.data.parse.休息视频Data;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import okhttp3.OkHttpClient;
import rx.Observable;
import rx.functions.Func1;
import rx.functions.Func2;

                mMeiziService.get休息视频Data(pageSize, currentPage),
                new Func2<PrettyGirlData, 休息视频Data, PrettyGirlData>() {
                    @Override
                    public PrettyGirlData call(PrettyGirlData prettyGirlData, 休息视频Data 休息视频Data) {
                        return DataUtils.createGirlInfoWith休息视频(prettyGirlData, 休息视频Data);
                    }
                })
                .map(new Func1<PrettyGirlData, List<Girl>>() {
                    @Override
                    public List<Girl> call(PrettyGirlData girlData) {
                        return girlData.results;
                    }
                })
                .flatMap(new Func1<List<Girl>, Observable<Girl>>() {
                    @Override
                    public Observable<Girl> call(List<Girl> girls) {
                        return Observable.from(girls);
                    }
                })
                .toSortedList(new Func2<Girl, Girl, Integer>() {
                    @Override
                    public Integer call(Girl girl, Girl girl2) {
                        return girl2.publishedAt.compareTo(girl.publishedAt);
                    }
                });
    }

    /**
     * GankDetailActivity
     */
    public Observable<List<Gank>> getGankData(Date date) {