// Path: app/src/main/java/org/xdty/kindle/contract/MainContract.java
// public interface MainContract {
// 
//     interface View extends BaseView<Presenter> {
//         void refresh(List<Book> books);
//     }
// 
//     interface Presenter extends BasePresenter {
//         void loadBooks();
// 
//         void getBookNodes(Book book);
// 
//         void getReviews(String itemId);
// 
//         void setMode(Mode mode);
//     }
// }
// 
// Path: app/src/main/java/org/xdty/kindle/presenter/MainPresenter.java
// public class MainPresenter implements MainContract.Presenter {
// 
//     private static final String TAG = MainPresenter.class.getSimpleName();
// 
//     @Inject
//     BookDataSource mBookDataSource;
// 
//     private MainContract.View mView;
// 
//     private Mode mMode = Mode.DAILY_DEALS;
// 
//     public MainPresenter(MainContract.View view) {
//         mView = view;
//         Application.getAppComponent().inject(this);
//     }
// 
//     @Override
//     public void start() {
//         loadBooks();
//     }
// 
//     @Override
//     public void loadBooks() {
//         mBookDataSource.getBooks(mMode).subscribe(new Action1<List<Book>>() {
//             @Override
//             public void call(List<Book> books) {
//                 mView.refresh(books);
//             }
//         });
//     }
// 
//     @Override
//     public void getBookNodes(Book book) {
//         mBookDataSource.getBookNodes(book.getItemId()).subscribe(new Action1<List<Node>>() {
//             @Override
//             public void call(List<Node> nodes) {
//                 Log.e(TAG, "nodes: " + nodes);
//             }
//         });
//     }
// 
//     @Override
//     public void getReviews(String itemId) {
//         mBookDataSource.getReviews(itemId).subscribe(new Action1<List<Review>>() {
//             @Override
//             public void call(List<Review> reviews) {
//                 Log.e(TAG, "reviews: " + reviews);
//             }
//         });
//     }
// 
//     @Override
//     public void setMode(Mode mode) {
//         mMode = mode;
//     }
// }


import org.xdty.kindle.contract.MainContract;
import org.xdty.kindle.presenter.MainPresenter;
import dagger.Module;
import dagger.Provides;
package org.xdty.kindle.di.modules;



@Module
public class MainModule {

// Path: app/src/main/java/org/xdty/kindle/contract/MainContract.java
// public interface MainContract {
// 
//     interface View extends BaseView<Presenter> {
//         void refresh(List<Book> books);
//     }
// 
//     interface Presenter extends BasePresenter {
//         void loadBooks();
// 
//         void getBookNodes(Book book);
// 
//         void getReviews(String itemId);
// 
//         void setMode(Mode mode);
//     }
// }
// 
// Path: app/src/main/java/org/xdty/kindle/presenter/MainPresenter.java
// public class MainPresenter implements MainContract.Presenter {
// 
//     private static final String TAG = MainPresenter.class.getSimpleName();
// 
//     @Inject
//     BookDataSource mBookDataSource;
// 
//     private MainContract.View mView;
// 
//     private Mode mMode = Mode.DAILY_DEALS;
// 
//     public MainPresenter(MainContract.View view) {
//         mView = view;
//         Application.getAppComponent().inject(this);
//     }
// 
//     @Override
//     public void start() {
//         loadBooks();
//     }
// 
//     @Override
//     public void loadBooks() {
//         mBookDataSource.getBooks(mMode).subscribe(new Action1<List<Book>>() {
//             @Override
//             public void call(List<Book> books) {
//                 mView.refresh(books);
//             }
//         });
//     }
// 
//     @Override
//     public void getBookNodes(Book book) {
//         mBookDataSource.getBookNodes(book.getItemId()).subscribe(new Action1<List<Node>>() {
//             @Override
//             public void call(List<Node> nodes) {
//                 Log.e(TAG, "nodes: " + nodes);
//             }
//         });
//     }
// 
//     @Override
//     public void getReviews(String itemId) {
//         mBookDataSource.getReviews(itemId).subscribe(new Action1<List<Review>>() {
//             @Override
//             public void call(List<Review> reviews) {
//                 Log.e(TAG, "reviews: " + reviews);
//             }
//         });
//     }
// 
//     @Override
//     public void setMode(Mode mode) {
//         mMode = mode;
//     }
// }


// Path: app/src/main/java/org/xdty/kindle/di/modules/MainModule.java
import org.xdty.kindle.contract.MainContract;
import org.xdty.kindle.presenter.MainPresenter;
import dagger.Module;
import dagger.Provides;

package org.xdty.kindle.di.modules;



@Module
public class MainModule {

    private MainContract.View mView;