mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-18 03:45:33 -04:00
Update HistoryDao to check for zim id when saving history.
This commit is contained in:
parent
6fb85b8ddb
commit
3ca54f0093
@ -16,6 +16,8 @@ import java.util.List;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import static org.kiwix.kiwixmobile.utils.LanguageUtils.getCurrentLocale;
|
||||||
|
|
||||||
public class HistoryDao {
|
public class HistoryDao {
|
||||||
private final Context context;
|
private final Context context;
|
||||||
private final KiwixDatabase kiwixDatabase;
|
private final KiwixDatabase kiwixDatabase;
|
||||||
@ -27,10 +29,10 @@ public class HistoryDao {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void saveHistory(History history) {
|
public void saveHistory(History history) {
|
||||||
DateFormat dateFormat = android.text.format.DateFormat.getMediumDateFormat(context);
|
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM, getCurrentLocale(context));
|
||||||
String date = dateFormat.format(new Date(history.getTimeStamp()));
|
String date = dateFormat.format(new Date(history.getTimeStamp()));
|
||||||
kiwixDatabase.deleteWhere(History.class, History.HISTORY_URL.eq(history.getHistoryUrl())
|
kiwixDatabase.deleteWhere(History.class, History.HISTORY_URL.eq(history.getHistoryUrl())
|
||||||
.and(History.DATE.eq(date)));
|
.and(History.DATE.eq(date)).and(History.ZIM_ID.eq(history.getZimId())));
|
||||||
kiwixDatabase.persist(new History()
|
kiwixDatabase.persist(new History()
|
||||||
.setZimId(history.getZimId())
|
.setZimId(history.getZimId())
|
||||||
.setZimName(history.getZimName())
|
.setZimName(history.getZimName())
|
||||||
@ -44,8 +46,7 @@ public class HistoryDao {
|
|||||||
|
|
||||||
public List<History> getHistoryList(boolean showHistoryCurrentBook) {
|
public List<History> getHistoryList(boolean showHistoryCurrentBook) {
|
||||||
ArrayList<History> histories = new ArrayList<>();
|
ArrayList<History> histories = new ArrayList<>();
|
||||||
Query query = Query.select(History.ZIM_FILE_PATH, History.FAVICON, History.DATE,
|
Query query = Query.select();
|
||||||
History.HISTORY_TITLE, History.HISTORY_URL, History.TIME_STAMP);
|
|
||||||
if (showHistoryCurrentBook) {
|
if (showHistoryCurrentBook) {
|
||||||
query = query.where(History.ZIM_FILE_PATH.eq(ZimContentProvider.getZimFile()));
|
query = query.where(History.ZIM_FILE_PATH.eq(ZimContentProvider.getZimFile()));
|
||||||
}
|
}
|
||||||
@ -53,12 +54,14 @@ public class HistoryDao {
|
|||||||
.query(History.class, query.orderBy(History.TIME_STAMP.desc()))) {
|
.query(History.class, query.orderBy(History.TIME_STAMP.desc()))) {
|
||||||
while (historySquidCursor.moveToNext()) {
|
while (historySquidCursor.moveToNext()) {
|
||||||
History history = new History();
|
History history = new History();
|
||||||
history.setDate(historySquidCursor.get(History.DATE));
|
history.setDate(historySquidCursor.get(History.DATE))
|
||||||
history.setFavicon(historySquidCursor.get(History.FAVICON));
|
.setFavicon(historySquidCursor.get(History.FAVICON))
|
||||||
history.setHistoryTitle(historySquidCursor.get(History.HISTORY_TITLE));
|
.setHistoryTitle(historySquidCursor.get(History.HISTORY_TITLE))
|
||||||
history.setHistoryUrl(historySquidCursor.get(History.HISTORY_URL));
|
.setHistoryUrl(historySquidCursor.get(History.HISTORY_URL))
|
||||||
history.setTimeStamp(historySquidCursor.get(History.TIME_STAMP));
|
.setTimeStamp(historySquidCursor.get(History.TIME_STAMP))
|
||||||
history.setZimFilePath(historySquidCursor.get(History.ZIM_FILE_PATH));
|
.setZimFilePath(historySquidCursor.get(History.ZIM_FILE_PATH))
|
||||||
|
.setZimName(historySquidCursor.get(History.ZIM_NAME))
|
||||||
|
.setZimId(historySquidCursor.get(History.ZIM_ID));
|
||||||
histories.add(history);
|
histories.add(history);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user