package moe.feng.nhentai.dao;
import android.content.Context;
import android.util.Log;
import com.google.gson.Gson;
import java.io.IOException;
import java.util.ArrayList;
import moe.feng.nhentai.cache.file.FileCacheManager;
import moe.feng.nhentai.model.BaseMessage;
import moe.feng.nhentai.model.Book;
import moe.feng.nhentai.util.AsyncTask;
import moe.feng.nhentai.util.Utility;
public class LatestBooksKeeper {
private MyData data;
private Context context;
public static final String TAG = LatestBooksKeeper.class.getSimpleName();
private static final String FILE_NAME = "latest_books.json";
private static LatestBooksKeeper sInstance;
public static LatestBooksKeeper getInstance(Context context) {
if (sInstance == null) {
sInstance = new LatestBooksKeeper(context);
sInstance.reload(context);
}
return sInstance;
}
private LatestBooksKeeper(Context context) {
this.context = context;
this.data = new MyData();
}
public void reload(Context context) {
String json;
try {
json = Utility.readStringFromFile(context, FILE_NAME);
} catch (IOException e) {
e.printStackTrace();
json = "{\"books\":[]}";
}
data = new Gson().fromJson(json, MyData.class);
save();
}
public ArrayList<Book> getData() {
return data.books;
}
public void setData(ArrayList<Book> books) {
this.data.books = books;
}
public long getUpdatedMiles() {
return this.data.updatedMiles;
}
public void setUpdatedMiles(long updatedMiles) {
this.data.updatedMiles = updatedMiles;
}
public int getNowPage() {
return this.data.nowPage;
}
public void setNowPage(int nowPage) {
this.data.nowPage = nowPage;
}
public void save() {
try {
Utility.saveStringToFile(context, FILE_NAME, data.toJSONString());
} catch (IOException e) {
e.printStackTrace();
}
}
private class MyData {
public ArrayList<Book> books = new ArrayList<>();
public long updatedMiles = -1;
public int nowPage = 1;
public String toJSONString() {
return new Gson().toJson(this);
}
public void updateBooksData() {
if (books != null) {
books = new ArrayList<>();
}
}
}
}