jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/391047 )
Change subject: Remove old deprecated SavedPages database table. ...................................................................... Remove old deprecated SavedPages database table. This is long overdue, and is in preparation for the new implementation of reading list syncing. Change-Id: I7f3e97841d0d54a08486b436c1d8413890f11efc --- M app/src/main/java/org/wikipedia/WikipediaApp.java M app/src/main/java/org/wikipedia/database/Database.java D app/src/main/java/org/wikipedia/database/contract/SavedPageContract.java M app/src/main/java/org/wikipedia/readinglist/database/ReadingListTable.java D app/src/main/java/org/wikipedia/savedpages/SavedPage.java D app/src/main/java/org/wikipedia/savedpages/SavedPageDatabaseTable.java 6 files changed, 1 insertion(+), 235 deletions(-) Approvals: jenkins-bot: Verified Cooltey: Looks good to me, approved diff --git a/app/src/main/java/org/wikipedia/WikipediaApp.java b/app/src/main/java/org/wikipedia/WikipediaApp.java index 0c1a0c5..974b4a6 100644 --- a/app/src/main/java/org/wikipedia/WikipediaApp.java +++ b/app/src/main/java/org/wikipedia/WikipediaApp.java @@ -47,7 +47,6 @@ import org.wikipedia.readinglist.page.ReadingListPageRow; import org.wikipedia.readinglist.page.database.ReadingListPageHttpRow; import org.wikipedia.readinglist.page.database.disk.ReadingListPageDiskRow; -import org.wikipedia.savedpages.SavedPage; import org.wikipedia.search.RecentSearch; import org.wikipedia.settings.Prefs; import org.wikipedia.settings.RemoteConfig; @@ -298,8 +297,6 @@ client = new DatabaseClient<>(this, PageImage.DATABASE_TABLE); } else if (cls.equals(RecentSearch.class)) { client = new DatabaseClient<>(this, RecentSearch.DATABASE_TABLE); - } else if (cls.equals(SavedPage.class)) { - client = new DatabaseClient<>(this, SavedPage.DATABASE_TABLE); } else if (cls.equals(EditSummary.class)) { client = new DatabaseClient<>(this, EditSummary.DATABASE_TABLE); } else if (cls.equals(UserOption.class)) { diff --git a/app/src/main/java/org/wikipedia/database/Database.java b/app/src/main/java/org/wikipedia/database/Database.java index 611fbc9..34e8098 100644 --- a/app/src/main/java/org/wikipedia/database/Database.java +++ b/app/src/main/java/org/wikipedia/database/Database.java @@ -10,7 +10,6 @@ import org.wikipedia.pageimages.PageImage; import org.wikipedia.readinglist.database.ReadingListRow; import org.wikipedia.readinglist.page.ReadingListPageRow; -import org.wikipedia.savedpages.SavedPage; import org.wikipedia.search.RecentSearch; import org.wikipedia.useroption.database.UserOptionRow; import org.wikipedia.util.log.L; @@ -23,7 +22,6 @@ HistoryEntry.DATABASE_TABLE, PageImage.DATABASE_TABLE, RecentSearch.DATABASE_TABLE, - SavedPage.DATABASE_TABLE, EditSummary.DATABASE_TABLE, // Order matters. UserOptionDatabaseTable has a dependency on diff --git a/app/src/main/java/org/wikipedia/database/contract/SavedPageContract.java b/app/src/main/java/org/wikipedia/database/contract/SavedPageContract.java deleted file mode 100644 index da2f307..0000000 --- a/app/src/main/java/org/wikipedia/database/contract/SavedPageContract.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.wikipedia.database.contract; - -import android.net.Uri; -import android.provider.BaseColumns; - -import org.wikipedia.database.DbUtil; -import org.wikipedia.database.column.DateColumn; -import org.wikipedia.database.column.LongColumn; -import org.wikipedia.database.column.StrColumn; - -@Deprecated @SuppressWarnings("checkstyle:interfaceistype") -public final class SavedPageContract { - public static final String TABLE = "savedpages"; - private static final String PATH = "saved"; - - public interface Col { - LongColumn ID = new LongColumn(TABLE, BaseColumns._ID, "integer primary key"); - StrColumn SITE = new StrColumn(TABLE, "site", "string"); - StrColumn LANG = new StrColumn(TABLE, "lang", "text"); - StrColumn TITLE = new StrColumn(TABLE, "title", "string"); - StrColumn NAMESPACE = new StrColumn(TABLE, "namespace", "string"); - DateColumn TIMESTAMP = new DateColumn(TABLE, "timestamp", "integer"); - - String[] SELECTION = DbUtil.qualifiedNames(SITE, LANG, NAMESPACE, TITLE); - } - - public interface Page extends Col { - String PATH = SavedPageContract.PATH + "/page"; - Uri URI = Uri.withAppendedPath(AppContentProviderContract.AUTHORITY_BASE, PATH); - } - - private SavedPageContract() { } -} diff --git a/app/src/main/java/org/wikipedia/readinglist/database/ReadingListTable.java b/app/src/main/java/org/wikipedia/readinglist/database/ReadingListTable.java index 0dd886b..1bd5a8a 100644 --- a/app/src/main/java/org/wikipedia/readinglist/database/ReadingListTable.java +++ b/app/src/main/java/org/wikipedia/readinglist/database/ReadingListTable.java @@ -5,21 +5,14 @@ import android.database.sqlite.SQLiteDatabase; import android.support.annotation.NonNull; -import org.wikipedia.R; import org.wikipedia.WikipediaApp; import org.wikipedia.concurrency.CallbackTask; import org.wikipedia.database.DatabaseTable; import org.wikipedia.database.column.Column; import org.wikipedia.database.contract.ReadingListContract; -import org.wikipedia.database.contract.SavedPageContract; -import org.wikipedia.dataclient.WikiSite; -import org.wikipedia.page.PageTitle; -import org.wikipedia.readinglist.ReadingList; import org.wikipedia.readinglist.page.ReadingListPage; -import org.wikipedia.readinglist.page.database.ReadingListDaoProxy; import org.wikipedia.readinglist.page.database.ReadingListPageDao; import org.wikipedia.readinglist.sync.ReadingListSynchronizer; -import org.wikipedia.savedpages.SavedPage; import org.wikipedia.util.FileUtil; import java.io.File; @@ -28,7 +21,6 @@ public class ReadingListTable extends DatabaseTable<ReadingListRow> { private static final int DB_VER_INTRODUCED = 13; - private static final int DB_VER_SAVED_PAGES_MIGRATED = 14; private static final int DB_VER_READING_LISTS_REORGANIZED = 17; public ReadingListTable() { @@ -65,9 +57,7 @@ @Override public void upgradeSchema(@NonNull SQLiteDatabase db, int fromVersion, int toVersion) { super.upgradeSchema(db, fromVersion, toVersion); - if (toVersion == DB_VER_SAVED_PAGES_MIGRATED) { - migrateSavedPages(db); - } else if (toVersion == DB_VER_READING_LISTS_REORGANIZED) { + if (toVersion == DB_VER_READING_LISTS_REORGANIZED) { reorganizeReadingListCache(); } } @@ -93,48 +83,6 @@ @Override protected int getDBVersionIntroducedAt() { return DB_VER_INTRODUCED; - } - - private void migrateSavedPages(@NonNull SQLiteDatabase db) { - Cursor cursor = SavedPage.DATABASE_TABLE.queryAll(db); - try { - if (cursor.getCount() == 0) { - return; - } - - String readingListTitle = WikipediaApp.getInstance().getString(R.string.nav_item_saved_pages); - long now = System.currentTimeMillis(); - - final ReadingList list = ReadingList - .builder() - .key(ReadingListDaoProxy.listKey(readingListTitle)) - .title(readingListTitle) - .mtime(now) - .atime(now) - .description(null) - .pages(new ArrayList<ReadingListPage>()) - .build(); - - while (cursor.moveToNext()) { - String title = SavedPageContract.Col.TITLE.val(cursor); - String authority = SavedPageContract.Col.SITE.val(cursor); - String lang = SavedPageContract.Col.LANG.val(cursor); - String namespace = SavedPageContract.Col.NAMESPACE.val(cursor); - WikiSite wiki = new WikiSite(authority, lang); - PageTitle pageTitle = new PageTitle(namespace, title, null, null, wiki); - - list.add(ReadingListDaoProxy.page(list, pageTitle)); - } - WikipediaApp.getInstance().runOnMainThread(new Runnable() { - @Override - public void run() { - ReadingList.DAO.addList(list); - } - }); - - } finally { - cursor.close(); - } } private void reorganizeReadingListCache() { diff --git a/app/src/main/java/org/wikipedia/savedpages/SavedPage.java b/app/src/main/java/org/wikipedia/savedpages/SavedPage.java deleted file mode 100644 index 492b6ca..0000000 --- a/app/src/main/java/org/wikipedia/savedpages/SavedPage.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.wikipedia.savedpages; - -// todo: remove class -@Deprecated public final class SavedPage { - public static final SavedPageDatabaseTable DATABASE_TABLE = new SavedPageDatabaseTable(); - - private SavedPage() { } -} diff --git a/app/src/main/java/org/wikipedia/savedpages/SavedPageDatabaseTable.java b/app/src/main/java/org/wikipedia/savedpages/SavedPageDatabaseTable.java deleted file mode 100644 index f4dcf62..0000000 --- a/app/src/main/java/org/wikipedia/savedpages/SavedPageDatabaseTable.java +++ /dev/null @@ -1,136 +0,0 @@ -package org.wikipedia.savedpages; - -import android.content.ContentValues; -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; -import android.support.annotation.NonNull; - -import org.wikipedia.database.DatabaseTable; -import org.wikipedia.database.column.Column; -import org.wikipedia.database.contract.SavedPageContract; -import org.wikipedia.database.contract.SavedPageContract.Col; -import org.wikipedia.util.log.L; - -/** - * No longer used, but upgrade logic reserved for database version upgrades which occur sequentially - * (see discussion at https://phabricator.wikimedia.org/rAPAWaf070d5914d3614b91be6b033961e39372241a92). - */ -@Deprecated public class SavedPageDatabaseTable extends DatabaseTable<SavedPage> { - private static final int DB_VER_INTRODUCED = 4; - private static final int DB_VER_NAMESPACE_ADDED = 6; - private static final int DB_VER_NORMALIZED_TITLES = 8; - private static final int DB_VER_LANG_ADDED = 10; - private static final int DB_VER_DROPPED = 16; - - SavedPageDatabaseTable() { - super(SavedPageContract.TABLE, SavedPageContract.Page.URI); - } - - @Override - protected void upgradeSchema(@NonNull SQLiteDatabase db, int toVersion) { - switch (toVersion) { - case DB_VER_NORMALIZED_TITLES: - convertAllTitlesToUnderscores(db); - break; - case DB_VER_LANG_ADDED: - addLangToAllSites(db); - break; - default: - super.upgradeSchema(db, toVersion); - } - } - - /** - * Converts all titles stored in the database to follow the underscore_format instead of the - * normalized (or display) format. - * - * Preserved for database migrations from legacy versions. - * - * @param db Database object - */ - private void convertAllTitlesToUnderscores(SQLiteDatabase db) { - Cursor cursor = db.query(getTableName(), null, null, null, null, null, null); - ContentValues values = new ContentValues(); - while (cursor.moveToNext()) { - String titleStr = Col.TITLE.val(cursor); - if (titleStr.contains(" ")) { - values.put(Col.TITLE.getName(), titleStr.replace(" ", "_")); - String id = Long.toString(Col.ID.val(cursor)); - db.updateWithOnConflict(getTableName(), values, Col.ID.getName() + " = ?", - new String[]{id}, SQLiteDatabase.CONFLICT_REPLACE); - } - } - cursor.close(); - } - - /** - * Preserved for database migrations from legacy versions. - * - * @param db Database object - */ - private void addLangToAllSites(@NonNull SQLiteDatabase db) { - L.i("Adding language codes to " + getTableName()); - Cursor cursor = db.query(getTableName(), null, null, null, null, null, null); - try { - while (cursor.moveToNext()) { - String site = Col.SITE.val(cursor); - ContentValues values = new ContentValues(); - values.put(Col.LANG.getName(), site.split("\\.")[0]); - String id = Long.toString(Col.ID.val(cursor)); - db.updateWithOnConflict(getTableName(), values, Col.ID.getName() + " = ?", - new String[]{id}, SQLiteDatabase.CONFLICT_REPLACE); - } - } finally { - cursor.close(); - } - } - - @NonNull - @Override - public Column<?>[] getColumnsAdded(int version) { - switch (version) { - case DB_VER_INTRODUCED: - return new Column<?>[] {Col.ID, Col.SITE, Col.TITLE, Col.TIMESTAMP}; - case DB_VER_NAMESPACE_ADDED: - return new Column<?>[] {Col.NAMESPACE}; - case DB_VER_LANG_ADDED: - return new Column<?>[] {Col.LANG}; - default: - return super.getColumnsAdded(version); - } - } - - public Cursor queryAll(SQLiteDatabase db) { - return db.query(getTableName(), null, null, null, null, null, null); - } - - @Override - protected int getDBVersionIntroducedAt() { - return DB_VER_INTRODUCED; - } - - @Override - protected int getDBVersionDroppedAt() { - return DB_VER_DROPPED; - } - - @Override - public SavedPage fromCursor(Cursor cursor) { - throw new UnsupportedOperationException(); - } - - @Override - protected ContentValues toContentValues(SavedPage obj) { - throw new UnsupportedOperationException(); - } - - @Override - public String getPrimaryKeySelection(@NonNull SavedPage obj, @NonNull String[] selectionArgs) { - throw new UnsupportedOperationException(); - } - - @Override - protected String[] getUnfilteredPrimaryKeySelectionArgs(@NonNull SavedPage obj) { - throw new UnsupportedOperationException(); - } -} -- To view, visit https://gerrit.wikimedia.org/r/391047 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I7f3e97841d0d54a08486b436c1d8413890f11efc Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Dbrant <dbr...@wikimedia.org> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> Gerrit-Reviewer: Cooltey <cf...@wikimedia.org> Gerrit-Reviewer: Sharvaniharan <sha...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits