// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/data/imgur/ImgurApi.java
// public interface ImgurApi {
// 
// 	@GET("/3/topics/defaults")
// 	Observable<TopicResponse> defaultTopics();
// }
// 
// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/data/imgur/Topic.java
// public class Topic {
//     private long id;
// 
//     private String name;
// 
//     private String description;
// 
//     private TopPost topPost;
// 
//     public long getId() {
//         return id;
//     }
// 
//     public void setId(long id) {
//         this.id = id;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// 
//     public TopPost getTopPost() {
//         return topPost;
//     }
// 
//     public void setTopPost(TopPost topPost) {
//         this.topPost = topPost;
//     }
// }
// 
// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/data/imgur/TopicResponse.java
// public class TopicResponse {
// 
// 	private List<Topic> data;
// 
// 	public void setData(List<Topic> data) {
// 		this.data = data;
// 	}
// 
// 	public List<Topic> getData() {
// 		return data;
// 	}
// }


import android.util.Log;
import android.util.Pair;
import com.annimon.stream.Collectors;
import com.annimon.stream.Stream;
import com.annimon.stream.function.Function;
import com.gdgand.rxjava.rxjavasample.hotandcold.data.imgur.ImgurApi;
import com.gdgand.rxjava.rxjavasample.hotandcold.data.imgur.Topic;
import com.gdgand.rxjava.rxjavasample.hotandcold.data.imgur.TopicResponse;
import com.jakewharton.rx.transformer.ReplayingShare;
import rx.Observable;
import rx.functions.Func1;
import rx.schedulers.Schedulers;
import rx.subjects.BehaviorSubject;
import rx.subjects.PublishSubject;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.inject.Inject;
import static rx.Observable.combineLatest;
import static rx.schedulers.Schedulers.computation;
package com.gdgand.rxjava.rxjavasample.hotandcold.presentation.mvvm.imgur;







public class MvvmViewModel {

	enum VisibleType {
		ALL, ODD, EVEN,
	}

	private ImgurApi imgurApi;

// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/data/imgur/ImgurApi.java
// public interface ImgurApi {
// 
// 	@GET("/3/topics/defaults")
// 	Observable<TopicResponse> defaultTopics();
// }
// 
// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/data/imgur/Topic.java
// public class Topic {
//     private long id;
// 
//     private String name;
// 
//     private String description;
// 
//     private TopPost topPost;
// 
//     public long getId() {
//         return id;
//     }
// 
//     public void setId(long id) {
//         this.id = id;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// 
//     public TopPost getTopPost() {
//         return topPost;
//     }
// 
//     public void setTopPost(TopPost topPost) {
//         this.topPost = topPost;
//     }
// }
// 
// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/data/imgur/TopicResponse.java
// public class TopicResponse {
// 
// 	private List<Topic> data;
// 
// 	public void setData(List<Topic> data) {
// 		this.data = data;
// 	}
// 
// 	public List<Topic> getData() {
// 		return data;
// 	}
// }


// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/presentation/mvvm/imgur/MvvmViewModel.java
import android.util.Log;
import android.util.Pair;
import com.annimon.stream.Collectors;
import com.annimon.stream.Stream;
import com.annimon.stream.function.Function;
import com.gdgand.rxjava.rxjavasample.hotandcold.data.imgur.ImgurApi;
import com.gdgand.rxjava.rxjavasample.hotandcold.data.imgur.Topic;
import com.gdgand.rxjava.rxjavasample.hotandcold.data.imgur.TopicResponse;
import com.jakewharton.rx.transformer.ReplayingShare;
import rx.Observable;
import rx.functions.Func1;
import rx.schedulers.Schedulers;
import rx.subjects.BehaviorSubject;
import rx.subjects.PublishSubject;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.inject.Inject;
import static rx.Observable.combineLatest;
import static rx.schedulers.Schedulers.computation;

package com.gdgand.rxjava.rxjavasample.hotandcold.presentation.mvvm.imgur;







public class MvvmViewModel {

	enum VisibleType {
		ALL, ODD, EVEN,
	}

	private ImgurApi imgurApi;

	private BehaviorSubject<List<Topic>> postsSubject = BehaviorSubject.create(Collections.<Topic>emptyList());