// Path: app/src/main/java/org/attentiveness/news/data/Story.java
// public class Story {
// 
//     private int id;
//     private String title;
// 
//     @SerializedName("images")
//     private List<String> imageList;
// 
//     public Story() {
// 
//     }
// 
//     public Story(int id, String title) {
//         this.id = id;
//         this.title = title;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public void setId(int id) {
//         this.id = id;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public List<String> getImageList() {
//         return imageList;
//     }
// 
//     public void setImageList(List<String> imageList) {
//         this.imageList = imageList;
//     }
// }
// 
// Path: app/src/main/java/org/attentiveness/news/data/StoryDetail.java
// public class StoryDetail {
// 
//     @SerializedName("id")
//     private int id;
// 
//     @SerializedName("body")
//     private String content;
// 
//     @SerializedName("title")
//     private String title;
// 
//     @SerializedName("image")
//     private String imageUrl;
// 
//     @SerializedName("image_source")
//     private String imageSource;
// 
//     @SerializedName("js")
//     private List<String> jsList;
// 
//     @SerializedName("css")
//     private List<String> cssList;
// 
//     public StoryDetail() {
// 
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public void setId(int id) {
//         this.id = id;
//     }
// 
//     public String getContent() {
//         return content;
//     }
// 
//     public void setContent(String content) {
//         this.content = content;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getImageUrl() {
//         return imageUrl;
//     }
// 
//     public void setImageUrl(String imageUrl) {
//         this.imageUrl = imageUrl;
//     }
// 
//     public String getImageSource() {
//         return imageSource;
//     }
// 
//     public void setImageSource(String imageSource) {
//         this.imageSource = imageSource;
//     }
// 
//     public List<String> getJsList() {
//         return jsList;
//     }
// 
//     public void setJsList(List<String> jsList) {
//         this.jsList = jsList;
//     }
// 
//     public List<String> getCssList() {
//         return cssList;
//     }
// 
//     public void setCssList(List<String> cssList) {
//         this.cssList = cssList;
//     }
// }
// 
// Path: app/src/main/java/org/attentiveness/news/data/source/StoriesDataSource.java
// public interface StoriesDataSource {
// 
//     Observable<List<Story>> getStories(String date);
// 
//     Observable<StoryDetail> getStoryDetail(int storyId);
// 
//     void saveStories(@NonNull List<Story> storyList);
// 
//     void refreshStories();
// 
//     void deleteAllStories();
// 
// }


import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.annotation.NonNull;
import org.attentiveness.news.data.Story;
import org.attentiveness.news.data.StoryDetail;
import org.attentiveness.news.data.source.StoriesDataSource;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.Observable;
    }

    @Override
    public Observable<List<Story>> getStories(String date) {
        List<Story> storyList = new ArrayList<>();
        SQLiteDatabase database = this.mDbHelper.getReadableDatabase();
        String[] projections = {
                StoriesPersistenceContract.StoryEntry.COLUMN_NAME_STORY_ID,
                StoriesPersistenceContract.StoryEntry.COLUMN_NAME_TITLE};
        Cursor cursor = database.query(StoriesPersistenceContract.StoryEntry.TABLE_NAME, projections, null, null, null, null, null);
        if (cursor != null && cursor.getCount() > 0) {
            while (cursor.moveToNext()) {
                int storyId = cursor.getInt(cursor.getColumnIndexOrThrow(StoriesPersistenceContract.StoryEntry.COLUMN_NAME_STORY_ID));
                String title = cursor.getString(cursor.getColumnIndexOrThrow(StoriesPersistenceContract.StoryEntry.COLUMN_NAME_TITLE));
                Story story = new Story(storyId, title);
                storyList.add(story);
            }
        }
        if (cursor != null) {
            cursor.close();
        }
        database.close();
        if (storyList.size() == 0) {
            return Observable.empty();
        } else {
            return Observable.just(storyList);
        }
    }

    @Override
// Path: app/src/main/java/org/attentiveness/news/data/Story.java
// public class Story {
// 
//     private int id;
//     private String title;
// 
//     @SerializedName("images")
//     private List<String> imageList;
// 
//     public Story() {
// 
//     }
// 
//     public Story(int id, String title) {
//         this.id = id;
//         this.title = title;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public void setId(int id) {
//         this.id = id;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public List<String> getImageList() {
//         return imageList;
//     }
// 
//     public void setImageList(List<String> imageList) {
//         this.imageList = imageList;
//     }
// }
// 
// Path: app/src/main/java/org/attentiveness/news/data/StoryDetail.java
// public class StoryDetail {
// 
//     @SerializedName("id")
//     private int id;
// 
//     @SerializedName("body")
//     private String content;
// 
//     @SerializedName("title")
//     private String title;
// 
//     @SerializedName("image")
//     private String imageUrl;
// 
//     @SerializedName("image_source")
//     private String imageSource;
// 
//     @SerializedName("js")
//     private List<String> jsList;
// 
//     @SerializedName("css")
//     private List<String> cssList;
// 
//     public StoryDetail() {
// 
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public void setId(int id) {
//         this.id = id;
//     }
// 
//     public String getContent() {
//         return content;
//     }
// 
//     public void setContent(String content) {
//         this.content = content;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getImageUrl() {
//         return imageUrl;
//     }
// 
//     public void setImageUrl(String imageUrl) {
//         this.imageUrl = imageUrl;
//     }
// 
//     public String getImageSource() {
//         return imageSource;
//     }
// 
//     public void setImageSource(String imageSource) {
//         this.imageSource = imageSource;
//     }
// 
//     public List<String> getJsList() {
//         return jsList;
//     }
// 
//     public void setJsList(List<String> jsList) {
//         this.jsList = jsList;
//     }
// 
//     public List<String> getCssList() {
//         return cssList;
//     }
// 
//     public void setCssList(List<String> cssList) {
//         this.cssList = cssList;
//     }
// }
// 
// Path: app/src/main/java/org/attentiveness/news/data/source/StoriesDataSource.java
// public interface StoriesDataSource {
// 
//     Observable<List<Story>> getStories(String date);
// 
//     Observable<StoryDetail> getStoryDetail(int storyId);
// 
//     void saveStories(@NonNull List<Story> storyList);
// 
//     void refreshStories();
// 
//     void deleteAllStories();
// 
// }


// Path: app/src/main/java/org/attentiveness/news/data/source/local/LocalStoriesDataSource.java
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.annotation.NonNull;
import org.attentiveness.news.data.Story;
import org.attentiveness.news.data.StoryDetail;
import org.attentiveness.news.data.source.StoriesDataSource;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.Observable;

    }

    @Override
    public Observable<List<Story>> getStories(String date) {
        List<Story> storyList = new ArrayList<>();
        SQLiteDatabase database = this.mDbHelper.getReadableDatabase();
        String[] projections = {
                StoriesPersistenceContract.StoryEntry.COLUMN_NAME_STORY_ID,
                StoriesPersistenceContract.StoryEntry.COLUMN_NAME_TITLE};
        Cursor cursor = database.query(StoriesPersistenceContract.StoryEntry.TABLE_NAME, projections, null, null, null, null, null);
        if (cursor != null && cursor.getCount() > 0) {
            while (cursor.moveToNext()) {
                int storyId = cursor.getInt(cursor.getColumnIndexOrThrow(StoriesPersistenceContract.StoryEntry.COLUMN_NAME_STORY_ID));
                String title = cursor.getString(cursor.getColumnIndexOrThrow(StoriesPersistenceContract.StoryEntry.COLUMN_NAME_TITLE));
                Story story = new Story(storyId, title);
                storyList.add(story);
            }
        }
        if (cursor != null) {
            cursor.close();
        }
        database.close();
        if (storyList.size() == 0) {
            return Observable.empty();
        } else {
            return Observable.just(storyList);
        }
    }

    @Override
    public Observable<StoryDetail> getStoryDetail(int storyId) {