// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/di/module/ActivityModule.java
// @Module
// public class ActivityModule {
// 
// 	private Activity activity;
// 
// 	public ActivityModule(Activity activity) {
// 		this.activity = activity;
// 	}
// 
// 	@Provides
// 	@PerActivity
// 	public Activity activity() {
// 		return activity;
// 	}
// 
// 	@Provides
// 	@PerActivity
// 	public ProgressIndicatorProvider progressIndicatorProvider(Activity activity) {
// 		return new ProgressIndicatorProvider(activity);
// 	}
// }
// 
// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/presentation/mvp/imgur/ImgurActivity.java
// public class ImgurActivity extends BaseMvpActivity implements ImgurMvpView {
// 
// 	@Inject
// 	ImgurMvpPresenter presenter;
// 
// 	@BindView(R.id.recyclerView)
// 	RecyclerView recyclerView;
// 
// 	private ImgurAdapter adapter;
// 
// 	@Override
// 	protected void onCreate(@Nullable Bundle savedInstanceState) {
// 		super.onCreate(savedInstanceState);
// 		setContentView(R.layout.activity_mvp_imgur);
// 		ButterKnife.bind(this);
// 
// 		adapter = new ImgurAdapter(this);
// 		recyclerView.setAdapter(adapter);
// 		recyclerView.setLayoutManager(new LinearLayoutManager(this));
// 
// 		onInject();
// 
// 		presenter.attachView(this);
// 		presenter.refreshTopics();
// 	}
// 
// 	@Override
// 	protected void onDestroy() {
// 		presenter.detachView();
// 		super.onDestroy();
// 	}
// 
// 	@OnClick(R.id.buttonSubmit)
// 	void clickSubmit() {
// 		presenter.refreshTopics();
// 	}
// 
// 	@Override
// 	public void showTopics(List<Topic> topics) {
// 		adapter.setDatas(topics);
// 	}
// 
// 	void onInject() {
// 		DaggerActivityComponent
// 			.builder()
// 			.applicationComponent(((SampleApplication)getApplication()).getApplicationComponent())
// 			.activityModule(new ActivityModule(this))
// 			.build()
// 			.inject(this);
// 	}
// 
// }
// 
// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/presentation/mvvm/imgur/MvvmActivity.java
// public class MvvmActivity extends AppCompatActivity {
// 
// 	@Inject
// 	MvvmViewModel viewModel;
// 
// 	@BindView(R.id.textViewResult)
// 	TextView textViewResult;
// 
// 	@BindView(R.id.recyclerView)
// 	RecyclerView recyclerView;
// 
// 	@BindView(R.id.radioGroup)
// 	RadioGroup radioGroup;
// 
// 	CompositeSubscription subscriptions;
// 
// 	@Override
// 	protected void onCreate(@Nullable Bundle savedInstanceState) {
// 		super.onCreate(savedInstanceState);
// 		setContentView(R.layout.activity_mvvm_imgur);
// 		ButterKnife.bind(this);
// 
// 		MvvmAdapter adapter = new MvvmAdapter(this);
// 		recyclerView.setAdapter(adapter);
// 		recyclerView.setLayoutManager(new LinearLayoutManager(this));
// 		radioGroup.setOnCheckedChangeListener((group, checkedId) -> {
// 			switch (checkedId) {
// 				case R.id.radioButtonAll:
// 					viewModel.modifyVisibleType(MvvmViewModel.VisibleType.ALL);
// 					break;
// 				case R.id.radioButtonOdd:
// 					viewModel.modifyVisibleType(MvvmViewModel.VisibleType.ODD);
// 					break;
// 				case R.id.radioButtonEven:
// 					viewModel.modifyVisibleType(MvvmViewModel.VisibleType.EVEN);
// 					break;
// 				default:
// 					break;
// 			}
// 		});
// 
// 		onInject();
// 
// 		subscriptions = new CompositeSubscription();
// 
// 		subscriptions.add(viewModel.getPosts()
// 			.observeOn(AndroidSchedulers.mainThread())
// 			.subscribe(adapter::setDatas, this::showError));
// 
// 		subscriptions.add(viewModel.getCounts()
// 			.observeOn(AndroidSchedulers.mainThread())
// 			.subscribe(pair -> {
// 				textViewResult.setText(String.format("앨범 %d개, 앨범아닌건 %d개", pair.first, pair.second));
// 			}, this::showError));
// 
// 		viewModel.refresh();
// 	}
// 
// 	@Override
// 	protected void onDestroy() {
// 		subscriptions.unsubscribe();
// 		super.onDestroy();
// 	}
// 
// 	void onInject() {
// 		DaggerActivityComponent
// 			.builder()
// 			.applicationComponent(((SampleApplication)getApplication()).getApplicationComponent())
// 			.activityModule(new ActivityModule(this))
// 			.build()
// 			.inject(this);
// 	}
// 
// 	void showError(Throwable throwable) {
// 		Toast.makeText(this, throwable.getMessage(), Toast.LENGTH_LONG).show();
// 	}
// 
// }


import com.gdgand.rxjava.rxjavasample.hotandcold.di.PerActivity;
import com.gdgand.rxjava.rxjavasample.hotandcold.di.module.ActivityModule;
import com.gdgand.rxjava.rxjavasample.hotandcold.presentation.mvp.imgur.ImgurActivity;
import com.gdgand.rxjava.rxjavasample.hotandcold.presentation.mvvm.imgur.MvvmActivity;
import dagger.Component;
package com.gdgand.rxjava.rxjavasample.hotandcold.di.component;




@PerActivity
@Component(dependencies = { ApplicationComponent.class }, modules = { ActivityModule.class })
public interface ActivityComponent {

	void inject(MvvmActivity activity);
// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/di/module/ActivityModule.java
// @Module
// public class ActivityModule {
// 
// 	private Activity activity;
// 
// 	public ActivityModule(Activity activity) {
// 		this.activity = activity;
// 	}
// 
// 	@Provides
// 	@PerActivity
// 	public Activity activity() {
// 		return activity;
// 	}
// 
// 	@Provides
// 	@PerActivity
// 	public ProgressIndicatorProvider progressIndicatorProvider(Activity activity) {
// 		return new ProgressIndicatorProvider(activity);
// 	}
// }
// 
// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/presentation/mvp/imgur/ImgurActivity.java
// public class ImgurActivity extends BaseMvpActivity implements ImgurMvpView {
// 
// 	@Inject
// 	ImgurMvpPresenter presenter;
// 
// 	@BindView(R.id.recyclerView)
// 	RecyclerView recyclerView;
// 
// 	private ImgurAdapter adapter;
// 
// 	@Override
// 	protected void onCreate(@Nullable Bundle savedInstanceState) {
// 		super.onCreate(savedInstanceState);
// 		setContentView(R.layout.activity_mvp_imgur);
// 		ButterKnife.bind(this);
// 
// 		adapter = new ImgurAdapter(this);
// 		recyclerView.setAdapter(adapter);
// 		recyclerView.setLayoutManager(new LinearLayoutManager(this));
// 
// 		onInject();
// 
// 		presenter.attachView(this);
// 		presenter.refreshTopics();
// 	}
// 
// 	@Override
// 	protected void onDestroy() {
// 		presenter.detachView();
// 		super.onDestroy();
// 	}
// 
// 	@OnClick(R.id.buttonSubmit)
// 	void clickSubmit() {
// 		presenter.refreshTopics();
// 	}
// 
// 	@Override
// 	public void showTopics(List<Topic> topics) {
// 		adapter.setDatas(topics);
// 	}
// 
// 	void onInject() {
// 		DaggerActivityComponent
// 			.builder()
// 			.applicationComponent(((SampleApplication)getApplication()).getApplicationComponent())
// 			.activityModule(new ActivityModule(this))
// 			.build()
// 			.inject(this);
// 	}
// 
// }
// 
// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/presentation/mvvm/imgur/MvvmActivity.java
// public class MvvmActivity extends AppCompatActivity {
// 
// 	@Inject
// 	MvvmViewModel viewModel;
// 
// 	@BindView(R.id.textViewResult)
// 	TextView textViewResult;
// 
// 	@BindView(R.id.recyclerView)
// 	RecyclerView recyclerView;
// 
// 	@BindView(R.id.radioGroup)
// 	RadioGroup radioGroup;
// 
// 	CompositeSubscription subscriptions;
// 
// 	@Override
// 	protected void onCreate(@Nullable Bundle savedInstanceState) {
// 		super.onCreate(savedInstanceState);
// 		setContentView(R.layout.activity_mvvm_imgur);
// 		ButterKnife.bind(this);
// 
// 		MvvmAdapter adapter = new MvvmAdapter(this);
// 		recyclerView.setAdapter(adapter);
// 		recyclerView.setLayoutManager(new LinearLayoutManager(this));
// 		radioGroup.setOnCheckedChangeListener((group, checkedId) -> {
// 			switch (checkedId) {
// 				case R.id.radioButtonAll:
// 					viewModel.modifyVisibleType(MvvmViewModel.VisibleType.ALL);
// 					break;
// 				case R.id.radioButtonOdd:
// 					viewModel.modifyVisibleType(MvvmViewModel.VisibleType.ODD);
// 					break;
// 				case R.id.radioButtonEven:
// 					viewModel.modifyVisibleType(MvvmViewModel.VisibleType.EVEN);
// 					break;
// 				default:
// 					break;
// 			}
// 		});
// 
// 		onInject();
// 
// 		subscriptions = new CompositeSubscription();
// 
// 		subscriptions.add(viewModel.getPosts()
// 			.observeOn(AndroidSchedulers.mainThread())
// 			.subscribe(adapter::setDatas, this::showError));
// 
// 		subscriptions.add(viewModel.getCounts()
// 			.observeOn(AndroidSchedulers.mainThread())
// 			.subscribe(pair -> {
// 				textViewResult.setText(String.format("앨범 %d개, 앨범아닌건 %d개", pair.first, pair.second));
// 			}, this::showError));
// 
// 		viewModel.refresh();
// 	}
// 
// 	@Override
// 	protected void onDestroy() {
// 		subscriptions.unsubscribe();
// 		super.onDestroy();
// 	}
// 
// 	void onInject() {
// 		DaggerActivityComponent
// 			.builder()
// 			.applicationComponent(((SampleApplication)getApplication()).getApplicationComponent())
// 			.activityModule(new ActivityModule(this))
// 			.build()
// 			.inject(this);
// 	}
// 
// 	void showError(Throwable throwable) {
// 		Toast.makeText(this, throwable.getMessage(), Toast.LENGTH_LONG).show();
// 	}
// 
// }


// Path: 2016-06-15_hot_and_cold/app/src/main/java/com/gdgand/rxjava/rxjavasample/hotandcold/di/component/ActivityComponent.java
import com.gdgand.rxjava.rxjavasample.hotandcold.di.PerActivity;
import com.gdgand.rxjava.rxjavasample.hotandcold.di.module.ActivityModule;
import com.gdgand.rxjava.rxjavasample.hotandcold.presentation.mvp.imgur.ImgurActivity;
import com.gdgand.rxjava.rxjavasample.hotandcold.presentation.mvvm.imgur.MvvmActivity;
import dagger.Component;

package com.gdgand.rxjava.rxjavasample.hotandcold.di.component;




@PerActivity
@Component(dependencies = { ApplicationComponent.class }, modules = { ActivityModule.class })
public interface ActivityComponent {

	void inject(MvvmActivity activity);
	void inject(ImgurActivity activity);