Library now showing favorite mangas

This commit is contained in:
inorichi
2015-10-27 00:00:09 +01:00
parent baa24fbf17
commit 35b8be6c75
16 changed files with 78 additions and 42 deletions

View File

@@ -21,16 +21,17 @@ public class MangaManagerImpl extends BaseManager implements MangaManager {
super(db);
}
private final String mangasWithUnreadQuery = String.format(
private final String favoriteMangasWithUnreadQuery = String.format(
"SELECT %1$s.*, COUNT(C.%4$s) AS %5$s FROM %1$s LEFT JOIN " +
"(SELECT %4$s FROM %2$s WHERE %6$s = 0) AS C ON %3$s = C.%4$s " +
"GROUP BY %3$s",
"WHERE %7$s = 1 GROUP BY %3$s",
MangasTable.TABLE,
ChaptersTable.TABLE,
MangasTable.TABLE + "." + MangasTable.COLUMN_ID,
ChaptersTable.COLUMN_MANGA_ID,
MangasTable.COLUMN_UNREAD,
ChaptersTable.COLUMN_READ
ChaptersTable.COLUMN_READ,
MangasTable.COLUMN_FAVORITE
);
public Observable<List<Manga>> getMangas() {
@@ -47,7 +48,7 @@ public class MangaManagerImpl extends BaseManager implements MangaManager {
return db.get()
.listOfObjects(Manga.class)
.withQuery(RawQuery.builder()
.query(mangasWithUnreadQuery)
.query(favoriteMangasWithUnreadQuery)
.observesTables(MangasTable.TABLE, ChaptersTable.TABLE)
.build())
.prepare()

View File

@@ -38,8 +38,8 @@ public class Manga {
@StorIOSQLiteColumn(name = MangasTable.COLUMN_THUMBNAIL_URL)
public String thumbnail_url;
@StorIOSQLiteColumn(name = MangasTable.COLUMN_RANK)
public int rank;
@StorIOSQLiteColumn(name = MangasTable.COLUMN_FAVORITE)
public boolean favorite;
@StorIOSQLiteColumn(name = MangasTable.COLUMN_LAST_UPDATE)
public long last_update;
@@ -57,30 +57,6 @@ public class Manga {
public Manga() {}
public Manga(String title) {
this.title = title;
}
public Manga(String title, String author, String artist, String url,
String description, String genre, String status, int rank,
String thumbnail_url) {
this.title = title;
this.author = author;
this.artist = artist;
this.url = url;
this.description = description;
this.genre = genre;
this.status = status;
this.rank = rank;
this.thumbnail_url = thumbnail_url;
}
public static Manga newManga(String title, String author, String artist, String url,
String description, String genre, String status, int rank,
String thumbnail_url) {
return new Manga(title, author, artist, url, description, genre, status, rank, thumbnail_url);
}
public static void copyFromNetwork(Manga local, Manga network) {
if (network.title != null)
local.title = network.title;
@@ -107,6 +83,7 @@ public class Manga {
local.thumbnail_url = network.thumbnail_url;
local.initialized = true;
}
@Override

View File

@@ -2,9 +2,6 @@ package eu.kanade.mangafeed.data.tables;
import android.support.annotation.NonNull;
/**
* Created by len on 23/09/2015.
*/
public class MangasTable {
@NonNull
@@ -41,7 +38,7 @@ public class MangasTable {
public static final String COLUMN_THUMBNAIL_URL = "thumbnail_url";
@NonNull
public static final String COLUMN_RANK = "rank";
public static final String COLUMN_FAVORITE = "favorite";
@NonNull
public static final String COLUMN_LAST_UPDATE = "last_update";
@@ -78,7 +75,7 @@ public class MangasTable {
+ COLUMN_TITLE + " TEXT NOT NULL, "
+ COLUMN_STATUS + " TEXT, "
+ COLUMN_THUMBNAIL_URL + " TEXT, "
+ COLUMN_RANK + " INTEGER, "
+ COLUMN_FAVORITE + " INTEGER NOT NULL, "
+ COLUMN_LAST_UPDATE + " LONG, "
+ COLUMN_INITIALIZED + " BOOLEAN NOT NULL, "
+ COLUMN_VIEWER + " INTEGER NOT NULL, "