// Path: app/src/main/java/com/architjn/audiobook/bean/AudioBook.java
// public class AudioBook implements Serializable {
//     private String albumId;
//     private String albumKey;
//     private String albumName;
//     private String artistName;
//     private String albumArt;
//     private int status;
//     private long duration;
//     private long currentDuration;
//     private ArrayList<BookChapter> chapters;
// 
//     public AudioBook() {
//         //for serializable
//     }
// 
//     public AudioBook(String albumId, String albumKey, String albumName, String artistName,
//                      String albumArt, int status, long duration, long currentDuration) {
//         this.albumId = albumId;
//         this.albumKey = albumKey;
//         this.albumName = albumName;
//         this.artistName = artistName;
//         this.albumArt = albumArt;
//         this.status = status;
//         this.duration = duration;
//         this.currentDuration = currentDuration;
//     }
// 
//     public String getAlbumKey() {
//         return albumKey;
//     }
// 
//     public String getAlbumId() {
//         return albumId;
//     }
// 
//     public String getAlbumName() {
//         return albumName;
//     }
// 
//     public String getArtistName() {
//         return artistName;
//     }
// 
//     public long getDuration() {
//         return duration;
//     }
// 
//     public void setChapters(ArrayList<BookChapter> chapters) {
//         this.chapters = chapters;
//     }
// 
//     public ArrayList<BookChapter> getChapters() {
//         return chapters;
//     }
// 
//     public String getAlbumArt() {
//         return albumArt;
//     }
// 
//     public int getStatus() {
//         return status;
//     }
// 
//     public void setStatus(int status) {
//         this.status = status;
//     }
// 
//     public void setAlbumId(String albumId) {
//         this.albumId = albumId;
//     }
// 
//     public void setAlbumKey(String albumKey) {
//         this.albumKey = albumKey;
//     }
// 
//     public void setAlbumName(String albumName) {
//         this.albumName = albumName;
//     }
// 
//     public void setArtistName(String artistName) {
//         this.artistName = artistName;
//     }
// 
//     public void setAlbumArt(String albumArt) {
//         this.albumArt = albumArt;
//     }
// 
//     public void setDuration(long duration) {
//         this.duration = duration;
//     }
// 
//     public long getCurrentDuration() {
//         return currentDuration;
//     }
// 
//     public void setCurrentDuration(long currentDuration) {
//         this.currentDuration = currentDuration;
//     }
// }
// 
// Path: app/src/main/java/com/architjn/audiobook/database/DBHelper.java
// public class DBHelper extends SQLiteOpenHelper {
// 
//     private static final String DATABASE_NAME = "yaab-db";
//     private static final int DATABASE_VERSION = 1;
// 
//     private static DBHelper instance;
// 
//     private final Context context;
// 
//     public static DBHelper getInstance(Context context) {
//         if (instance == null)
//             instance = new DBHelper(context);
//         return instance;
//     }
// 
//     private DBHelper(Context context) {
//         super(context, DATABASE_NAME, null, DATABASE_VERSION);
//         this.context = context;
//     }
// 
//     @Override
//     public void onCreate(SQLiteDatabase db) {
//         AudioBookTable.onCreate(db);
//         ChapterTable.onCreate(db);
//     }
// 
//     @Override
//     public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
// 
//     }
// 
//     public boolean addAudioBook(AudioBook audioBook) {
//         if (AudioBookTable.addBook(this.getWritableDatabase(), audioBook) != -1) {
//             ChapterTable.addChapters(this.getWritableDatabase(), audioBook.getAlbumId(),
//                     audioBook.getChapters());
//             return true;
//         } else return false;
//     }
// 
//     public ArrayList<AudioBook> loadAllAudioBooks() {
//         return AudioBookTable.getAllBooks(this.getReadableDatabase());
//     }
// 
//     public ArrayList<AudioBook> loadNewAudioBooks() {
//         return AudioBookTable.getNewBooks(this.getReadableDatabase());
//     }
// 
//     public ArrayList<AudioBook> loadOnGoingAudioBooks() {
//         return AudioBookTable.getOnGoingBooks(this.getReadableDatabase());
//     }
// 
//     public void updateBookStatus(String albumId, int status) {
//         AudioBookTable.setBookStatus(this.getWritableDatabase(), albumId, status);
//     }
// 
//     public int getOnGoingBooksCount() {
//         return AudioBookTable.getOnGoingDataCount(this.getWritableDatabase());
//     }
//     public int getNewBooksCount() {
//         return AudioBookTable.getNewDataCount(this.getWritableDatabase());
//     }
// 
//     public AudioBook getAudioBookViaId(String albumId) {
//         return AudioBookTable.getAudioBook(this.getReadableDatabase(), albumId);
//     }
// }
// 
// Path: app/src/main/java/com/architjn/audiobook/interfaces/IAllAudioBookPresenter.java
// public interface IAllAudioBookPresenter {
//     void onAudioBooksLoaded(ArrayList<AudioBook> books);
// }


import android.content.Context;
import android.os.Handler;
import com.architjn.audiobook.bean.AudioBook;
import com.architjn.audiobook.database.DBHelper;
import com.architjn.audiobook.interfaces.IAllAudioBookPresenter;
import java.util.ArrayList;
package com.architjn.audiobook.interactor;




/**
 * Created by Archit on 25-07-2017.
 */

public class OnGoingAudioBookInteractor {

    private final DBHelper dbHandler;
    private IAllAudioBookPresenter presenter;
    private ArrayList<AudioBook> books;

// Path: app/src/main/java/com/architjn/audiobook/bean/AudioBook.java
// public class AudioBook implements Serializable {
//     private String albumId;
//     private String albumKey;
//     private String albumName;
//     private String artistName;
//     private String albumArt;
//     private int status;
//     private long duration;
//     private long currentDuration;
//     private ArrayList<BookChapter> chapters;
// 
//     public AudioBook() {
//         //for serializable
//     }
// 
//     public AudioBook(String albumId, String albumKey, String albumName, String artistName,
//                      String albumArt, int status, long duration, long currentDuration) {
//         this.albumId = albumId;
//         this.albumKey = albumKey;
//         this.albumName = albumName;
//         this.artistName = artistName;
//         this.albumArt = albumArt;
//         this.status = status;
//         this.duration = duration;
//         this.currentDuration = currentDuration;
//     }
// 
//     public String getAlbumKey() {
//         return albumKey;
//     }
// 
//     public String getAlbumId() {
//         return albumId;
//     }
// 
//     public String getAlbumName() {
//         return albumName;
//     }
// 
//     public String getArtistName() {
//         return artistName;
//     }
// 
//     public long getDuration() {
//         return duration;
//     }
// 
//     public void setChapters(ArrayList<BookChapter> chapters) {
//         this.chapters = chapters;
//     }
// 
//     public ArrayList<BookChapter> getChapters() {
//         return chapters;
//     }
// 
//     public String getAlbumArt() {
//         return albumArt;
//     }
// 
//     public int getStatus() {
//         return status;
//     }
// 
//     public void setStatus(int status) {
//         this.status = status;
//     }
// 
//     public void setAlbumId(String albumId) {
//         this.albumId = albumId;
//     }
// 
//     public void setAlbumKey(String albumKey) {
//         this.albumKey = albumKey;
//     }
// 
//     public void setAlbumName(String albumName) {
//         this.albumName = albumName;
//     }
// 
//     public void setArtistName(String artistName) {
//         this.artistName = artistName;
//     }
// 
//     public void setAlbumArt(String albumArt) {
//         this.albumArt = albumArt;
//     }
// 
//     public void setDuration(long duration) {
//         this.duration = duration;
//     }
// 
//     public long getCurrentDuration() {
//         return currentDuration;
//     }
// 
//     public void setCurrentDuration(long currentDuration) {
//         this.currentDuration = currentDuration;
//     }
// }
// 
// Path: app/src/main/java/com/architjn/audiobook/database/DBHelper.java
// public class DBHelper extends SQLiteOpenHelper {
// 
//     private static final String DATABASE_NAME = "yaab-db";
//     private static final int DATABASE_VERSION = 1;
// 
//     private static DBHelper instance;
// 
//     private final Context context;
// 
//     public static DBHelper getInstance(Context context) {
//         if (instance == null)
//             instance = new DBHelper(context);
//         return instance;
//     }
// 
//     private DBHelper(Context context) {
//         super(context, DATABASE_NAME, null, DATABASE_VERSION);
//         this.context = context;
//     }
// 
//     @Override
//     public void onCreate(SQLiteDatabase db) {
//         AudioBookTable.onCreate(db);
//         ChapterTable.onCreate(db);
//     }
// 
//     @Override
//     public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
// 
//     }
// 
//     public boolean addAudioBook(AudioBook audioBook) {
//         if (AudioBookTable.addBook(this.getWritableDatabase(), audioBook) != -1) {
//             ChapterTable.addChapters(this.getWritableDatabase(), audioBook.getAlbumId(),
//                     audioBook.getChapters());
//             return true;
//         } else return false;
//     }
// 
//     public ArrayList<AudioBook> loadAllAudioBooks() {
//         return AudioBookTable.getAllBooks(this.getReadableDatabase());
//     }
// 
//     public ArrayList<AudioBook> loadNewAudioBooks() {
//         return AudioBookTable.getNewBooks(this.getReadableDatabase());
//     }
// 
//     public ArrayList<AudioBook> loadOnGoingAudioBooks() {
//         return AudioBookTable.getOnGoingBooks(this.getReadableDatabase());
//     }
// 
//     public void updateBookStatus(String albumId, int status) {
//         AudioBookTable.setBookStatus(this.getWritableDatabase(), albumId, status);
//     }
// 
//     public int getOnGoingBooksCount() {
//         return AudioBookTable.getOnGoingDataCount(this.getWritableDatabase());
//     }
//     public int getNewBooksCount() {
//         return AudioBookTable.getNewDataCount(this.getWritableDatabase());
//     }
// 
//     public AudioBook getAudioBookViaId(String albumId) {
//         return AudioBookTable.getAudioBook(this.getReadableDatabase(), albumId);
//     }
// }
// 
// Path: app/src/main/java/com/architjn/audiobook/interfaces/IAllAudioBookPresenter.java
// public interface IAllAudioBookPresenter {
//     void onAudioBooksLoaded(ArrayList<AudioBook> books);
// }


// Path: app/src/main/java/com/architjn/audiobook/interactor/OnGoingAudioBookInteractor.java
import android.content.Context;
import android.os.Handler;
import com.architjn.audiobook.bean.AudioBook;
import com.architjn.audiobook.database.DBHelper;
import com.architjn.audiobook.interfaces.IAllAudioBookPresenter;
import java.util.ArrayList;

package com.architjn.audiobook.interactor;




/**
 * Created by Archit on 25-07-2017.
 */

public class OnGoingAudioBookInteractor {

    private final DBHelper dbHandler;
    private IAllAudioBookPresenter presenter;
    private ArrayList<AudioBook> books;

    public OnGoingAudioBookInteractor(Context context, IAllAudioBookPresenter presenter) {