[MediaWiki-commits] [Gerrit] Add Reading List list content provider - change (apps...wikipedia)
jenkins-bot has submitted this change and it was merged. Change subject: Add Reading List list content provider .. Add Reading List list content provider Change-Id: I856e49528dd4285d698bd23e87906762cd6324d7 --- M app/src/main/java/org/wikipedia/database/AppContentProviderEndpoint.java M app/src/main/java/org/wikipedia/database/contract/ReadingListContract.java M app/src/main/java/org/wikipedia/database/contract/ReadingListPageContract.java 3 files changed, 70 insertions(+), 3 deletions(-) Approvals: Dbrant: Looks good to me, approved jenkins-bot: Verified diff --git a/app/src/main/java/org/wikipedia/database/AppContentProviderEndpoint.java b/app/src/main/java/org/wikipedia/database/AppContentProviderEndpoint.java index 7220bdf..45ba28e 100644 --- a/app/src/main/java/org/wikipedia/database/AppContentProviderEndpoint.java +++ b/app/src/main/java/org/wikipedia/database/AppContentProviderEndpoint.java @@ -10,6 +10,7 @@ import org.wikipedia.database.contract.EditHistoryContract; import org.wikipedia.database.contract.PageHistoryContract; import org.wikipedia.database.contract.PageImageHistoryContract; +import org.wikipedia.database.contract.ReadingListContract; import org.wikipedia.database.contract.ReadingListPageContract; import org.wikipedia.database.contract.SavedPageContract; import org.wikipedia.database.contract.SearchHistoryContract; @@ -55,7 +56,12 @@ ReadingListPageContract.DiskWithPage.PROJECTION), READING_LIST_PAGE_WITH_DISK(405, ReadingListPageContract.PageWithDisk.PATH, ReadingListPageContract.PageWithDisk.TABLES, -ReadingListPageContract.PageWithDisk.PROJECTION); +ReadingListPageContract.PageWithDisk.PROJECTION), +READING_LIST(406, ReadingListContract.List.PATH, ReadingListContract.List.TABLES, +ReadingListContract.List.PROJECTION), +READING_LIST_WITH_PAGES_AND_DISK(407, ReadingListContract.ListWithPagesAndDisk.PATH, +ReadingListContract.ListWithPagesAndDisk.TABLES, +ReadingListContract.ListWithPagesAndDisk.PROJECTION); private static final EnumCodeMap CODE_TO_ENUM = new EnumCodeMap<>(AppContentProviderEndpoint.class); private static final UriMatcher URI_TO_CODE = newUriToCode(); @@ -120,4 +126,4 @@ } return matcher; } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/wikipedia/database/contract/ReadingListContract.java b/app/src/main/java/org/wikipedia/database/contract/ReadingListContract.java index f69252d..f2141fe 100644 --- a/app/src/main/java/org/wikipedia/database/contract/ReadingListContract.java +++ b/app/src/main/java/org/wikipedia/database/contract/ReadingListContract.java @@ -3,9 +3,16 @@ import android.net.Uri; import org.wikipedia.database.DbUtil; +import org.wikipedia.database.column.CodeEnumColumn; +import org.wikipedia.database.column.CsvColumn; import org.wikipedia.database.column.IdColumn; +import org.wikipedia.database.column.IntColumn; import org.wikipedia.database.column.LongColumn; +import org.wikipedia.database.column.NamespaceColumn; import org.wikipedia.database.column.StrColumn; +import org.wikipedia.readinglist.page.database.disk.DiskStatus; + +import java.util.Set; @SuppressWarnings("checkstyle:interfaceistype") public interface ReadingListContract { @@ -20,10 +27,62 @@ StrColumn DESCRIPTION = new StrColumn(TABLE, "readingListDescription", "text"); String[] SELECTION = DbUtil.qualifiedNames(KEY); +String[] ALL = DbUtil.qualifiedNames(ID, KEY, TITLE, MTIME, ATIME, DESCRIPTION); } interface List extends Col { +String TABLES = TABLE; String PATH = ReadingListPageContract.Disk.PATH + "/list"; Uri URI = Uri.withAppendedPath(AppContentProviderContract.AUTHORITY_BASE, PATH); +String[] PROJECTION = null; + +String ORDER_KEY = KEY.qualifiedName(); +String ORDER_MRU = ":atimeCol desc".replaceAll(":atimeCol", ATIME.qualifiedName()); } -} \ No newline at end of file + +final class ListWithPagesAndDisk implements List { +public static final String PATH = List.PATH + "/with_page"; +public static final Uri URI = Uri.withAppendedPath(AppContentProviderContract.AUTHORITY_BASE, PATH); + +public static final StrColumn PAGE_KEY = ReadingListPageContract.PageCol.KEY; +public static final CsvColumnPAGE_LIST_KEYS = ReadingListPageContract.PageCol.LIST_KEYS; +public static final StrColumn PAGE_LANG = ReadingListPageContract.PageCol.LANG; +public static final NamespaceColumn PAGE_NAMESPACE = ReadingListPageContract.PageCol.NAMESPACE; +public static final StrColumn PAGE_TITLE = ReadingListPageContract.PageCol.TITLE; +public static final IntColumn PAGE_DISK_PAGE_REV = ReadingListPageContract.PageCol.DISK_PAGE_REV; +public static final LongColumn PAGE_MTIME
[MediaWiki-commits] [Gerrit] Add Reading List list content provider - change (apps...wikipedia)
Niedzielski has uploaded a new change for review. https://gerrit.wikimedia.org/r/284609 Change subject: Add Reading List list content provider .. Add Reading List list content provider Change-Id: I856e49528dd4285d698bd23e87906762cd6324d7 --- M app/src/main/java/org/wikipedia/database/AppContentProviderEndpoint.java M app/src/main/java/org/wikipedia/database/contract/ReadingListContract.java M app/src/main/java/org/wikipedia/database/contract/ReadingListPageContract.java 3 files changed, 70 insertions(+), 3 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/09/284609/1 diff --git a/app/src/main/java/org/wikipedia/database/AppContentProviderEndpoint.java b/app/src/main/java/org/wikipedia/database/AppContentProviderEndpoint.java index 7220bdf..45ba28e 100644 --- a/app/src/main/java/org/wikipedia/database/AppContentProviderEndpoint.java +++ b/app/src/main/java/org/wikipedia/database/AppContentProviderEndpoint.java @@ -10,6 +10,7 @@ import org.wikipedia.database.contract.EditHistoryContract; import org.wikipedia.database.contract.PageHistoryContract; import org.wikipedia.database.contract.PageImageHistoryContract; +import org.wikipedia.database.contract.ReadingListContract; import org.wikipedia.database.contract.ReadingListPageContract; import org.wikipedia.database.contract.SavedPageContract; import org.wikipedia.database.contract.SearchHistoryContract; @@ -55,7 +56,12 @@ ReadingListPageContract.DiskWithPage.PROJECTION), READING_LIST_PAGE_WITH_DISK(405, ReadingListPageContract.PageWithDisk.PATH, ReadingListPageContract.PageWithDisk.TABLES, -ReadingListPageContract.PageWithDisk.PROJECTION); +ReadingListPageContract.PageWithDisk.PROJECTION), +READING_LIST(406, ReadingListContract.List.PATH, ReadingListContract.List.TABLES, +ReadingListContract.List.PROJECTION), +READING_LIST_WITH_PAGES_AND_DISK(407, ReadingListContract.ListWithPagesAndDisk.PATH, +ReadingListContract.ListWithPagesAndDisk.TABLES, +ReadingListContract.ListWithPagesAndDisk.PROJECTION); private static final EnumCodeMap CODE_TO_ENUM = new EnumCodeMap<>(AppContentProviderEndpoint.class); private static final UriMatcher URI_TO_CODE = newUriToCode(); @@ -120,4 +126,4 @@ } return matcher; } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/wikipedia/database/contract/ReadingListContract.java b/app/src/main/java/org/wikipedia/database/contract/ReadingListContract.java index f69252d..f2141fe 100644 --- a/app/src/main/java/org/wikipedia/database/contract/ReadingListContract.java +++ b/app/src/main/java/org/wikipedia/database/contract/ReadingListContract.java @@ -3,9 +3,16 @@ import android.net.Uri; import org.wikipedia.database.DbUtil; +import org.wikipedia.database.column.CodeEnumColumn; +import org.wikipedia.database.column.CsvColumn; import org.wikipedia.database.column.IdColumn; +import org.wikipedia.database.column.IntColumn; import org.wikipedia.database.column.LongColumn; +import org.wikipedia.database.column.NamespaceColumn; import org.wikipedia.database.column.StrColumn; +import org.wikipedia.readinglist.page.database.disk.DiskStatus; + +import java.util.Set; @SuppressWarnings("checkstyle:interfaceistype") public interface ReadingListContract { @@ -20,10 +27,62 @@ StrColumn DESCRIPTION = new StrColumn(TABLE, "readingListDescription", "text"); String[] SELECTION = DbUtil.qualifiedNames(KEY); +String[] ALL = DbUtil.qualifiedNames(ID, KEY, TITLE, MTIME, ATIME, DESCRIPTION); } interface List extends Col { +String TABLES = TABLE; String PATH = ReadingListPageContract.Disk.PATH + "/list"; Uri URI = Uri.withAppendedPath(AppContentProviderContract.AUTHORITY_BASE, PATH); +String[] PROJECTION = null; + +String ORDER_KEY = KEY.qualifiedName(); +String ORDER_MRU = ":atimeCol desc".replaceAll(":atimeCol", ATIME.qualifiedName()); } -} \ No newline at end of file + +final class ListWithPagesAndDisk implements List { +public static final String PATH = List.PATH + "/with_page"; +public static final Uri URI = Uri.withAppendedPath(AppContentProviderContract.AUTHORITY_BASE, PATH); + +public static final StrColumn PAGE_KEY = ReadingListPageContract.PageCol.KEY; +public static final CsvColumnPAGE_LIST_KEYS = ReadingListPageContract.PageCol.LIST_KEYS; +public static final StrColumn PAGE_LANG = ReadingListPageContract.PageCol.LANG; +public static final NamespaceColumn PAGE_NAMESPACE = ReadingListPageContract.PageCol.NAMESPACE; +public static final StrColumn PAGE_TITLE = ReadingListPageContract.PageCol.TITLE; +public static final IntColumn PAGE_DISK_PAGE_REV =