// Path: app/src/main/java/me/wavever/ganklock/model/bean/Gank.java
// @Table(name = "Ganks") public class Gank extends Model implements Serializable {
// 
//     @Column(name = "_id") private String _id;
//     @Column(name = "url") private String url;
//     @Column(name = "desc") private String desc;
//     @Column(name = "who") private String who;
//     @Column(name = "type") private String type;
//     @Column(name = "used") private boolean used;
//     @Column(name = "createdAt") private Date createdAt;
//     //2016-03-10T12:54:31.68Z->2016/03/10
//     @Column(name = "publishedAt") private Date publishedAt;
//     private boolean isLike;
// 
// 
//     public String get_id() {
//         return _id;
//     }
// 
// 
//     public Date getCreatedAt() {
//         return createdAt;
//     }
// 
// 
//     public String getUrl() {
//         return url;
//     }
// 
// 
//     public String getDesc() {
//         return desc;
//     }
// 
// 
//     public String getWho() {
//         return who;
//     }
// 
// 
//     public String getType() {
//         return type;
//     }
// 
// 
//     public boolean isUsed() {
//         return used;
//     }
// 
// 
//     public Date getCreateAt() {
//         return createdAt;
//     }
// 
// 
//     public Date getPublishedAt() {
//         return publishedAt;
//     }
// 
// 
//     public void setIsLike(boolean like) {
//         isLike = like;
//     }
// 
//     public boolean getIsLike() {
//         return isLike;
//     }
// }
// 
// Path: app/src/main/java/me/wavever/ganklock/model/bean/GankContent.java
// public class GankContent {
// 
//     @SerializedName(value = "category")
//     public List<String> category;
// 
//     @SerializedName(value = "error")
//     public boolean error;
// 
//     public Result results;
// 
//     public class Result {
//         @SerializedName(value = "Android") public List<Gank> androidList;
//         @SerializedName(value = "iOS") public List<Gank> iosList;
//         @SerializedName(value = "App") public List<Gank> appList;
//         @SerializedName(value = "前端") public List<Gank> htmlList;
//         @SerializedName(value = "瞎推荐") public List<Gank> recommendList;
//         @SerializedName(value = "休息视频") public List<Gank> restVideoList;
//         @SerializedName(value = "拓展资源") public List<Gank> extendRespurseList;
//     }
// 
// }
// 
// Path: app/src/main/java/me/wavever/ganklock/model/http/GankService.java
// public interface GankService {
//     @GET("day/{date}")
//     Observable<GankContent> getGankData(@Path("date") String date);
// 
//     @GET("history/content/{count}/{page}")
//     Observable<GankDailyContent> getDailyData(@Path("count")int count, @Path("page")int page);
// 
//     @GET("data/福利/{number}/{page}")
//     Observable<GankContent> getGirlData(@Path("number") int number, @Path("page") int page);
// 
//     @GET("category/{}/count/{}/page/{}")
//     Observable<GankContent> searchGankData(@Query("category") String category,@Path("count") int count,@Path("page") int page);
// }
// 
// Path: app/src/main/java/me/wavever/ganklock/model/http/RetrofitUtil.java
// public class RetrofitUtil {
// 
//     private static GankService sService;
//     private static Gson sGson;
//     private static OkHttpClient sOkHttpClient;
// 
//     static {
//         sGson = new GsonBuilder()
//             .excludeFieldsWithModifiers(Modifier.FINAL, Modifier.TRANSIENT, Modifier.STATIC)
//             //.setDateFormat("yyyy-MM-dd'T'HH:mm:ss" + ".SSS'Z'")
//             .setDateFormat("yyyy/MM/dd")
//             .serializeNulls() //导出null值
//             .create();
//         HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
//         loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
//         sOkHttpClient = new OkHttpClient.Builder()
//             .addInterceptor(loggingInterceptor)
//             .retryOnConnectionFailure(true)
//             .connectTimeout(15, TimeUnit.SECONDS)
//             .build();
//     }
// 
// 
//     public static GankService getSingleton() {
// 
//         if (sService == null) {
//             synchronized (RetrofitUtil.class) {
//                 if (sService == null) {
//                     String api = GankApi.BASE_URL;
//                     Retrofit retrofit = new Retrofit.Builder()
//                         .baseUrl(api)
//                         .client(sOkHttpClient)
//                         .addConverterFactory(GsonConverterFactory.create(sGson))
//                         .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
//                         .build();
//                     sService = retrofit.create(GankService.class);
//                 }
//             }
//         }
// 
//         return sService;
//     }
// 
// }


import java.util.ArrayList;
import java.util.List;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
import me.wavever.ganklock.model.bean.Gank;
import me.wavever.ganklock.model.bean.GankContent;
import me.wavever.ganklock.model.http.GankService;
import me.wavever.ganklock.model.http.RetrofitUtil;
package me.wavever.ganklock.model.data;



/**
 * Created by wavever on 2016/9/20.
 */

public class ContentGankData {

    private GankService service = RetrofitUtil.getSingleton();
// Path: app/src/main/java/me/wavever/ganklock/model/bean/Gank.java
// @Table(name = "Ganks") public class Gank extends Model implements Serializable {
// 
//     @Column(name = "_id") private String _id;
//     @Column(name = "url") private String url;
//     @Column(name = "desc") private String desc;
//     @Column(name = "who") private String who;
//     @Column(name = "type") private String type;
//     @Column(name = "used") private boolean used;
//     @Column(name = "createdAt") private Date createdAt;
//     //2016-03-10T12:54:31.68Z->2016/03/10
//     @Column(name = "publishedAt") private Date publishedAt;
//     private boolean isLike;
// 
// 
//     public String get_id() {
//         return _id;
//     }
// 
// 
//     public Date getCreatedAt() {
//         return createdAt;
//     }
// 
// 
//     public String getUrl() {
//         return url;
//     }
// 
// 
//     public String getDesc() {
//         return desc;
//     }
// 
// 
//     public String getWho() {
//         return who;
//     }
// 
// 
//     public String getType() {
//         return type;
//     }
// 
// 
//     public boolean isUsed() {
//         return used;
//     }
// 
// 
//     public Date getCreateAt() {
//         return createdAt;
//     }
// 
// 
//     public Date getPublishedAt() {
//         return publishedAt;
//     }
// 
// 
//     public void setIsLike(boolean like) {
//         isLike = like;
//     }
// 
//     public boolean getIsLike() {
//         return isLike;
//     }
// }
// 
// Path: app/src/main/java/me/wavever/ganklock/model/bean/GankContent.java
// public class GankContent {
// 
//     @SerializedName(value = "category")
//     public List<String> category;
// 
//     @SerializedName(value = "error")
//     public boolean error;
// 
//     public Result results;
// 
//     public class Result {
//         @SerializedName(value = "Android") public List<Gank> androidList;
//         @SerializedName(value = "iOS") public List<Gank> iosList;
//         @SerializedName(value = "App") public List<Gank> appList;
//         @SerializedName(value = "前端") public List<Gank> htmlList;
//         @SerializedName(value = "瞎推荐") public List<Gank> recommendList;
//         @SerializedName(value = "休息视频") public List<Gank> restVideoList;
//         @SerializedName(value = "拓展资源") public List<Gank> extendRespurseList;
//     }
// 
// }
// 
// Path: app/src/main/java/me/wavever/ganklock/model/http/GankService.java
// public interface GankService {
//     @GET("day/{date}")
//     Observable<GankContent> getGankData(@Path("date") String date);
// 
//     @GET("history/content/{count}/{page}")
//     Observable<GankDailyContent> getDailyData(@Path("count")int count, @Path("page")int page);
// 
//     @GET("data/福利/{number}/{page}")
//     Observable<GankContent> getGirlData(@Path("number") int number, @Path("page") int page);
// 
//     @GET("category/{}/count/{}/page/{}")
//     Observable<GankContent> searchGankData(@Query("category") String category,@Path("count") int count,@Path("page") int page);
// }
// 
// Path: app/src/main/java/me/wavever/ganklock/model/http/RetrofitUtil.java
// public class RetrofitUtil {
// 
//     private static GankService sService;
//     private static Gson sGson;
//     private static OkHttpClient sOkHttpClient;
// 
//     static {
//         sGson = new GsonBuilder()
//             .excludeFieldsWithModifiers(Modifier.FINAL, Modifier.TRANSIENT, Modifier.STATIC)
//             //.setDateFormat("yyyy-MM-dd'T'HH:mm:ss" + ".SSS'Z'")
//             .setDateFormat("yyyy/MM/dd")
//             .serializeNulls() //导出null值
//             .create();
//         HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
//         loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
//         sOkHttpClient = new OkHttpClient.Builder()
//             .addInterceptor(loggingInterceptor)
//             .retryOnConnectionFailure(true)
//             .connectTimeout(15, TimeUnit.SECONDS)
//             .build();
//     }
// 
// 
//     public static GankService getSingleton() {
// 
//         if (sService == null) {
//             synchronized (RetrofitUtil.class) {
//                 if (sService == null) {
//                     String api = GankApi.BASE_URL;
//                     Retrofit retrofit = new Retrofit.Builder()
//                         .baseUrl(api)
//                         .client(sOkHttpClient)
//                         .addConverterFactory(GsonConverterFactory.create(sGson))
//                         .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
//                         .build();
//                     sService = retrofit.create(GankService.class);
//                 }
//             }
//         }
// 
//         return sService;
//     }
// 
// }


// Path: app/src/main/java/me/wavever/ganklock/model/data/ContentGankData.java
import java.util.ArrayList;
import java.util.List;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
import me.wavever.ganklock.model.bean.Gank;
import me.wavever.ganklock.model.bean.GankContent;
import me.wavever.ganklock.model.http.GankService;
import me.wavever.ganklock.model.http.RetrofitUtil;

package me.wavever.ganklock.model.data;



/**
 * Created by wavever on 2016/9/20.
 */

public class ContentGankData {

    private GankService service = RetrofitUtil.getSingleton();
    private List<Gank> mList = new ArrayList<>();