diff --git a/app/src/main/java/org/fdroid/fdroid/UpdateService.java b/app/src/main/java/org/fdroid/fdroid/UpdateService.java index fb05924b2..37dc52f4a 100644 --- a/app/src/main/java/org/fdroid/fdroid/UpdateService.java +++ b/app/src/main/java/org/fdroid/fdroid/UpdateService.java @@ -416,7 +416,7 @@ public class UpdateService extends IntentService { private void performUpdateNotification() { Cursor cursor = getContentResolver().query( AppProvider.getCanUpdateUri(), - Schema.AppTable.Cols.ALL, + Schema.AppMetadataTable.Cols.ALL, null, null, null); if (cursor != null) { if (cursor.getCount() > 0) { @@ -462,7 +462,7 @@ public class UpdateService extends IntentService { private void autoDownloadUpdates() { Cursor cursor = getContentResolver().query( AppProvider.getCanUpdateUri(), - Schema.AppTable.Cols.ALL, + Schema.AppMetadataTable.Cols.ALL, null, null, null); if (cursor != null) { cursor.moveToFirst(); diff --git a/app/src/main/java/org/fdroid/fdroid/data/ApkProvider.java b/app/src/main/java/org/fdroid/fdroid/data/ApkProvider.java index 82f7ee8f1..d3ebecc6f 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/ApkProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/ApkProvider.java @@ -10,7 +10,7 @@ import android.util.Log; import org.fdroid.fdroid.data.Schema.ApkTable; import org.fdroid.fdroid.data.Schema.ApkTable.Cols; -import org.fdroid.fdroid.data.Schema.AppTable; +import org.fdroid.fdroid.data.Schema.AppMetadataTable; import org.fdroid.fdroid.data.Schema.RepoTable; import java.util.ArrayList; @@ -213,7 +213,7 @@ public class ApkProvider extends FDroidProvider { static { REPO_FIELDS.put(Cols.Repo.VERSION, RepoTable.Cols.VERSION); REPO_FIELDS.put(Cols.Repo.ADDRESS, RepoTable.Cols.ADDRESS); - APP_FIELDS.put(Cols.App.PACKAGE_NAME, AppTable.Cols.PACKAGE_NAME); + APP_FIELDS.put(Cols.App.PACKAGE_NAME, AppMetadataTable.Cols.PACKAGE_NAME); MATCHER.addURI(getAuthority(), PATH_REPO + "/#", CODE_REPO); MATCHER.addURI(getAuthority(), PATH_APK + "/#/*", CODE_SINGLE); @@ -320,7 +320,7 @@ public class ApkProvider extends FDroidProvider { } protected String getAppTableName() { - return AppTable.NAME; + return AppMetadataTable.NAME; } @Override @@ -343,7 +343,7 @@ public class ApkProvider extends FDroidProvider { final String app = getAppTableName(); return apk + " AS apk " + - " LEFT JOIN " + app + " AS app ON (app." + AppTable.Cols.ROW_ID + " = apk." + Cols.APP_ID + ")"; + " LEFT JOIN " + app + " AS app ON (app." + AppMetadataTable.Cols.ROW_ID + " = apk." + Cols.APP_ID + ")"; } @Override @@ -427,7 +427,7 @@ public class ApkProvider extends FDroidProvider { } private QuerySelection queryRepoApps(long repoId, String packageNames) { - return queryRepo(repoId).add(AppProvider.queryApps(packageNames, "app." + AppTable.Cols.PACKAGE_NAME)); + return queryRepo(repoId).add(AppProvider.queryApps(packageNames, "app." + AppMetadataTable.Cols.PACKAGE_NAME)); } protected QuerySelection queryApks(String apkKeys) { @@ -467,7 +467,7 @@ public class ApkProvider extends FDroidProvider { } private String getAppIdFromPackageNameQuery() { - return "SELECT " + AppTable.Cols.ROW_ID + " FROM " + getAppTableName() + " WHERE " + AppTable.Cols.PACKAGE_NAME + " = ?"; + return "SELECT " + AppMetadataTable.Cols.ROW_ID + " FROM " + getAppTableName() + " WHERE " + AppMetadataTable.Cols.PACKAGE_NAME + " = ?"; } @Override diff --git a/app/src/main/java/org/fdroid/fdroid/data/App.java b/app/src/main/java/org/fdroid/fdroid/data/App.java index 35f94fd84..cfd6c7c74 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -33,7 +33,7 @@ import java.util.jar.JarFile; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.fdroid.fdroid.data.Schema.AppTable.Cols; +import org.fdroid.fdroid.data.Schema.AppMetadataTable.Cols; public class App extends ValueObject implements Comparable, Parcelable { diff --git a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java index 4e90d4550..6b7707192 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java @@ -15,8 +15,8 @@ import org.fdroid.fdroid.R; import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.data.Schema.ApkTable; import org.fdroid.fdroid.data.Schema.AppPrefsTable; -import org.fdroid.fdroid.data.Schema.AppTable; -import org.fdroid.fdroid.data.Schema.AppTable.Cols; +import org.fdroid.fdroid.data.Schema.AppMetadataTable; +import org.fdroid.fdroid.data.Schema.AppMetadataTable.Cols; import org.fdroid.fdroid.data.Schema.InstalledAppTable; import org.fdroid.fdroid.data.Schema.RepoTable; @@ -165,7 +165,7 @@ public class AppProvider extends FDroidProvider { static final class UpgradeHelper { public static void updateIconUrls(Context context, SQLiteDatabase db) { - AppProvider.updateIconUrls(context, db, AppTable.NAME, ApkTable.NAME); + AppProvider.updateIconUrls(context, db, AppMetadataTable.NAME, ApkTable.NAME); } } @@ -524,7 +524,7 @@ public class AppProvider extends FDroidProvider { @Override protected String getTableName() { - return AppTable.NAME; + return AppMetadataTable.NAME; } protected String getApkTableName() { diff --git a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java index 2c0fcb24c..8310a9a66 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java @@ -12,7 +12,7 @@ import org.fdroid.fdroid.R; import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.data.Schema.ApkTable; import org.fdroid.fdroid.data.Schema.AppPrefsTable; -import org.fdroid.fdroid.data.Schema.AppTable; +import org.fdroid.fdroid.data.Schema.AppMetadataTable; import org.fdroid.fdroid.data.Schema.InstalledAppTable; import org.fdroid.fdroid.data.Schema.RepoTable; @@ -69,36 +69,36 @@ class DBHelper extends SQLiteOpenHelper { + "PRIMARY KEY (" + ApkTable.Cols.APP_ID + ", " + ApkTable.Cols.VERSION_CODE + ", " + ApkTable.Cols.REPO_ID + ")" + ");"; - private static final String CREATE_TABLE_APP = "CREATE TABLE " + AppTable.NAME + private static final String CREATE_TABLE_APP = "CREATE TABLE " + AppMetadataTable.NAME + " ( " - + AppTable.Cols.PACKAGE_NAME + " text not null, " - + AppTable.Cols.NAME + " text not null, " - + AppTable.Cols.SUMMARY + " text not null, " - + AppTable.Cols.ICON + " text, " - + AppTable.Cols.DESCRIPTION + " text not null, " - + AppTable.Cols.LICENSE + " text not null, " - + AppTable.Cols.AUTHOR + " text, " - + AppTable.Cols.EMAIL + " text, " - + AppTable.Cols.WEB_URL + " text, " - + AppTable.Cols.TRACKER_URL + " text, " - + AppTable.Cols.SOURCE_URL + " text, " - + AppTable.Cols.CHANGELOG_URL + " text, " - + AppTable.Cols.SUGGESTED_VERSION_CODE + " text," - + AppTable.Cols.UPSTREAM_VERSION_NAME + " text," - + AppTable.Cols.UPSTREAM_VERSION_CODE + " integer," - + AppTable.Cols.ANTI_FEATURES + " string," - + AppTable.Cols.DONATE_URL + " string," - + AppTable.Cols.BITCOIN_ADDR + " string," - + AppTable.Cols.LITECOIN_ADDR + " string," - + AppTable.Cols.FLATTR_ID + " string," - + AppTable.Cols.REQUIREMENTS + " string," - + AppTable.Cols.CATEGORIES + " string," - + AppTable.Cols.ADDED + " string," - + AppTable.Cols.LAST_UPDATED + " string," - + AppTable.Cols.IS_COMPATIBLE + " int not null," - + AppTable.Cols.ICON_URL + " text, " - + AppTable.Cols.ICON_URL_LARGE + " text, " - + "primary key(" + AppTable.Cols.PACKAGE_NAME + "));"; + + AppMetadataTable.Cols.PACKAGE_NAME + " text not null, " + + AppMetadataTable.Cols.NAME + " text not null, " + + AppMetadataTable.Cols.SUMMARY + " text not null, " + + AppMetadataTable.Cols.ICON + " text, " + + AppMetadataTable.Cols.DESCRIPTION + " text not null, " + + AppMetadataTable.Cols.LICENSE + " text not null, " + + AppMetadataTable.Cols.AUTHOR + " text, " + + AppMetadataTable.Cols.EMAIL + " text, " + + AppMetadataTable.Cols.WEB_URL + " text, " + + AppMetadataTable.Cols.TRACKER_URL + " text, " + + AppMetadataTable.Cols.SOURCE_URL + " text, " + + AppMetadataTable.Cols.CHANGELOG_URL + " text, " + + AppMetadataTable.Cols.SUGGESTED_VERSION_CODE + " text," + + AppMetadataTable.Cols.UPSTREAM_VERSION_NAME + " text," + + AppMetadataTable.Cols.UPSTREAM_VERSION_CODE + " integer," + + AppMetadataTable.Cols.ANTI_FEATURES + " string," + + AppMetadataTable.Cols.DONATE_URL + " string," + + AppMetadataTable.Cols.BITCOIN_ADDR + " string," + + AppMetadataTable.Cols.LITECOIN_ADDR + " string," + + AppMetadataTable.Cols.FLATTR_ID + " string," + + AppMetadataTable.Cols.REQUIREMENTS + " string," + + AppMetadataTable.Cols.CATEGORIES + " string," + + AppMetadataTable.Cols.ADDED + " string," + + AppMetadataTable.Cols.LAST_UPDATED + " string," + + AppMetadataTable.Cols.IS_COMPATIBLE + " int not null," + + AppMetadataTable.Cols.ICON_URL + " text, " + + AppMetadataTable.Cols.ICON_URL_LARGE + " text, " + + "primary key(" + AppMetadataTable.Cols.PACKAGE_NAME + "));"; private static final String CREATE_TABLE_APP_PREFS = "CREATE TABLE " + AppPrefsTable.NAME + " ( " @@ -344,10 +344,10 @@ class DBHelper extends SQLiteOpenHelper { + AppPrefsTable.Cols.IGNORE_THIS_UPDATE + ", " + AppPrefsTable.Cols.IGNORE_ALL_UPDATES + ") SELECT " - + AppTable.Cols.PACKAGE_NAME + ", " + + AppMetadataTable.Cols.PACKAGE_NAME + ", " + "ignoreThisUpdate, " + "ignoreAllUpdates " - + "FROM " + AppTable.NAME + " " + + "FROM " + AppMetadataTable.NAME + " " + "WHERE ignoreThisUpdate > 0 OR ignoreAllUpdates > 0" ); @@ -451,10 +451,10 @@ class DBHelper extends SQLiteOpenHelper { // Hard coded the string literal ".id" as ApkTable.Cols.PACKAGE_NAME was removed in // the subsequent migration (DB_VERSION 59) final String update = "UPDATE " + ApkTable.NAME + " SET " + ApkTable.Cols.APP_ID + " = ( " + - "SELECT app." + AppTable.Cols.ROW_ID + " " + - "FROM " + AppTable.NAME + " AS app " + - "WHERE " + ApkTable.NAME + ".id = app." + AppTable.Cols.PACKAGE_NAME + ")"; - Log.i(TAG, "Updating foreign key from " + ApkTable.NAME + " to " + AppTable.NAME + " to use numeric foreign key."); + "SELECT app." + AppMetadataTable.Cols.ROW_ID + " " + + "FROM " + AppMetadataTable.NAME + " AS app " + + "WHERE " + ApkTable.NAME + ".id = app." + AppMetadataTable.Cols.PACKAGE_NAME + ")"; + Log.i(TAG, "Updating foreign key from " + ApkTable.NAME + " to " + AppMetadataTable.NAME + " to use numeric foreign key."); Utils.debugLog(TAG, update); db.execSQL(update); ensureIndexes(db); @@ -624,19 +624,19 @@ class DBHelper extends SQLiteOpenHelper { } private void addChangelogToApp(SQLiteDatabase db, int oldVersion) { - if (oldVersion >= 48 || columnExists(db, AppTable.NAME, AppTable.Cols.CHANGELOG_URL)) { + if (oldVersion >= 48 || columnExists(db, AppMetadataTable.NAME, AppMetadataTable.Cols.CHANGELOG_URL)) { return; } - Utils.debugLog(TAG, "Adding " + AppTable.Cols.CHANGELOG_URL + " column to " + AppTable.NAME); - db.execSQL("alter table " + AppTable.NAME + " add column " + AppTable.Cols.CHANGELOG_URL + " text"); + Utils.debugLog(TAG, "Adding " + AppMetadataTable.Cols.CHANGELOG_URL + " column to " + AppMetadataTable.NAME); + db.execSQL("alter table " + AppMetadataTable.NAME + " add column " + AppMetadataTable.Cols.CHANGELOG_URL + " text"); } private void addIconUrlLargeToApp(SQLiteDatabase db, int oldVersion) { - if (oldVersion >= 49 || columnExists(db, AppTable.NAME, AppTable.Cols.ICON_URL_LARGE)) { + if (oldVersion >= 49 || columnExists(db, AppMetadataTable.NAME, AppMetadataTable.Cols.ICON_URL_LARGE)) { return; } - Utils.debugLog(TAG, "Adding " + AppTable.Cols.ICON_URL_LARGE + " columns to " + AppTable.NAME); - db.execSQL("alter table " + AppTable.NAME + " add column " + AppTable.Cols.ICON_URL_LARGE + " text"); + Utils.debugLog(TAG, "Adding " + AppMetadataTable.Cols.ICON_URL_LARGE + " columns to " + AppMetadataTable.NAME); + db.execSQL("alter table " + AppMetadataTable.NAME + " add column " + AppMetadataTable.Cols.ICON_URL_LARGE + " text"); } private void updateIconUrlLarge(SQLiteDatabase db, int oldVersion) { @@ -652,13 +652,13 @@ class DBHelper extends SQLiteOpenHelper { if (oldVersion >= 53) { return; } - if (!columnExists(db, AppTable.NAME, AppTable.Cols.AUTHOR)) { - Utils.debugLog(TAG, "Adding " + AppTable.Cols.AUTHOR + " column to " + AppTable.NAME); - db.execSQL("alter table " + AppTable.NAME + " add column " + AppTable.Cols.AUTHOR + " text"); + if (!columnExists(db, AppMetadataTable.NAME, AppMetadataTable.Cols.AUTHOR)) { + Utils.debugLog(TAG, "Adding " + AppMetadataTable.Cols.AUTHOR + " column to " + AppMetadataTable.NAME); + db.execSQL("alter table " + AppMetadataTable.NAME + " add column " + AppMetadataTable.Cols.AUTHOR + " text"); } - if (!columnExists(db, AppTable.NAME, AppTable.Cols.EMAIL)) { - Utils.debugLog(TAG, "Adding " + AppTable.Cols.EMAIL + " column to " + AppTable.NAME); - db.execSQL("alter table " + AppTable.NAME + " add column " + AppTable.Cols.EMAIL + " text"); + if (!columnExists(db, AppMetadataTable.NAME, AppMetadataTable.Cols.EMAIL)) { + Utils.debugLog(TAG, "Adding " + AppMetadataTable.Cols.EMAIL + " column to " + AppMetadataTable.NAME); + db.execSQL("alter table " + AppMetadataTable.NAME + " add column " + AppMetadataTable.Cols.EMAIL + " text"); } } @@ -704,7 +704,7 @@ class DBHelper extends SQLiteOpenHelper { .putBoolean("triedEmptyUpdate", false) .apply(); - db.execSQL("DROP TABLE " + AppTable.NAME); + db.execSQL("DROP TABLE " + AppMetadataTable.NAME); db.execSQL("DROP TABLE " + ApkTable.NAME); db.execSQL(CREATE_TABLE_APP); db.execSQL(CREATE_TABLE_APK); @@ -723,7 +723,7 @@ class DBHelper extends SQLiteOpenHelper { } context.getSharedPreferences("FDroid", Context.MODE_PRIVATE).edit() .putBoolean("triedEmptyUpdate", false).apply(); - db.execSQL("drop table " + AppTable.NAME); + db.execSQL("drop table " + AppMetadataTable.NAME); db.execSQL("drop table " + ApkTable.NAME); clearRepoEtags(db); db.execSQL(CREATE_TABLE_APP); @@ -732,10 +732,10 @@ class DBHelper extends SQLiteOpenHelper { } private static void ensureIndexes(SQLiteDatabase db) { - Utils.debugLog(TAG, "Ensuring indexes exist for " + AppTable.NAME); - db.execSQL("CREATE INDEX IF NOT EXISTS app_id on " + AppTable.NAME + " (" + AppTable.Cols.PACKAGE_NAME + ");"); - db.execSQL("CREATE INDEX IF NOT EXISTS name on " + AppTable.NAME + " (" + AppTable.Cols.NAME + ");"); // Used for sorting most lists - db.execSQL("CREATE INDEX IF NOT EXISTS added on " + AppTable.NAME + " (" + AppTable.Cols.ADDED + ");"); // Used for sorting "newly added" + Utils.debugLog(TAG, "Ensuring indexes exist for " + AppMetadataTable.NAME); + db.execSQL("CREATE INDEX IF NOT EXISTS app_id on " + AppMetadataTable.NAME + " (" + AppMetadataTable.Cols.PACKAGE_NAME + ");"); + db.execSQL("CREATE INDEX IF NOT EXISTS name on " + AppMetadataTable.NAME + " (" + AppMetadataTable.Cols.NAME + ");"); // Used for sorting most lists + db.execSQL("CREATE INDEX IF NOT EXISTS added on " + AppMetadataTable.NAME + " (" + AppMetadataTable.Cols.ADDED + ");"); // Used for sorting "newly added" Utils.debugLog(TAG, "Ensuring indexes exist for " + ApkTable.NAME); db.execSQL("CREATE INDEX IF NOT EXISTS apk_vercode on " + ApkTable.NAME + " (" + ApkTable.Cols.VERSION_CODE + ");"); diff --git a/app/src/main/java/org/fdroid/fdroid/data/RepoPersister.java b/app/src/main/java/org/fdroid/fdroid/data/RepoPersister.java index fb7df077e..68e2912fc 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/RepoPersister.java +++ b/app/src/main/java/org/fdroid/fdroid/data/RepoPersister.java @@ -143,7 +143,7 @@ public class RepoPersister { for (App app : apps) { packageNames.add(app.packageName); } - String[] projection = {Schema.AppTable.Cols.ROW_ID, Schema.AppTable.Cols.PACKAGE_NAME}; + String[] projection = {Schema.AppMetadataTable.Cols.ROW_ID, Schema.AppMetadataTable.Cols.PACKAGE_NAME}; List fromDb = TempAppProvider.Helper.findByPackageNames(context, packageNames, projection); Map ids = new HashMap<>(fromDb.size()); @@ -224,7 +224,7 @@ public class RepoPersister { * array. */ private boolean isAppInDatabase(App app) { - String[] fields = {Schema.AppTable.Cols.PACKAGE_NAME}; + String[] fields = {Schema.AppMetadataTable.Cols.PACKAGE_NAME}; App found = AppProvider.Helper.findByPackageName(context.getContentResolver(), app.packageName, fields); return found != null; } diff --git a/app/src/main/java/org/fdroid/fdroid/data/Schema.java b/app/src/main/java/org/fdroid/fdroid/data/Schema.java index dfef154c0..07eb59d30 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/Schema.java +++ b/app/src/main/java/org/fdroid/fdroid/data/Schema.java @@ -26,7 +26,7 @@ public interface Schema { } } - interface AppTable { + interface AppMetadataTable { String NAME = "fdroid_app"; @@ -102,7 +102,7 @@ public interface Schema { String _COUNT_DISTINCT = "countDistinct"; /** - * Foreign key to the {@link AppTable}. + * Foreign key to the {@link AppMetadataTable}. */ String APP_ID = "appId"; String ROW_ID = "rowid"; diff --git a/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java b/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java index e3907c480..d9d1f455b 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java @@ -12,7 +12,7 @@ import android.text.TextUtils; import java.util.List; import org.fdroid.fdroid.data.Schema.ApkTable; -import org.fdroid.fdroid.data.Schema.AppTable; +import org.fdroid.fdroid.data.Schema.AppMetadataTable; /** * This class does all of its operations in a temporary sqlite table. @@ -26,7 +26,7 @@ public class TempAppProvider extends AppProvider { private static final String PROVIDER_NAME = "TempAppProvider"; - static final String TABLE_TEMP_APP = "temp_" + AppTable.NAME; + static final String TABLE_TEMP_APP = "temp_" + AppMetadataTable.NAME; private static final String PATH_INIT = "init"; private static final String PATH_COMMIT = "commit"; @@ -165,10 +165,10 @@ public class TempAppProvider extends AppProvider { final SQLiteDatabase db = db(); ensureTempTableDetached(db); db.execSQL("ATTACH DATABASE ':memory:' AS " + DB); - db.execSQL("CREATE TABLE " + DB + "." + getTableName() + " AS SELECT * FROM main." + AppTable.NAME); - db.execSQL("CREATE INDEX IF NOT EXISTS " + DB + ".app_id ON " + getTableName() + " (" + AppTable.Cols.PACKAGE_NAME + ");"); - db.execSQL("CREATE INDEX IF NOT EXISTS " + DB + ".app_upstreamVercode ON " + getTableName() + " (" + AppTable.Cols.UPSTREAM_VERSION_CODE + ");"); - db.execSQL("CREATE INDEX IF NOT EXISTS " + DB + ".app_compatible ON " + getTableName() + " (" + AppTable.Cols.IS_COMPATIBLE + ");"); + db.execSQL("CREATE TABLE " + DB + "." + getTableName() + " AS SELECT * FROM main." + AppMetadataTable.NAME); + db.execSQL("CREATE INDEX IF NOT EXISTS " + DB + ".app_id ON " + getTableName() + " (" + AppMetadataTable.Cols.PACKAGE_NAME + ");"); + db.execSQL("CREATE INDEX IF NOT EXISTS " + DB + ".app_upstreamVercode ON " + getTableName() + " (" + AppMetadataTable.Cols.UPSTREAM_VERSION_CODE + ");"); + db.execSQL("CREATE INDEX IF NOT EXISTS " + DB + ".app_compatible ON " + getTableName() + " (" + AppMetadataTable.Cols.IS_COMPATIBLE + ");"); } private void commitTable() { @@ -179,8 +179,8 @@ public class TempAppProvider extends AppProvider { final String tempApp = DB + "." + TempAppProvider.TABLE_TEMP_APP; final String tempApk = DB + "." + TempApkProvider.TABLE_TEMP_APK; - db.execSQL("DELETE FROM " + AppTable.NAME + " WHERE 1"); - db.execSQL("INSERT INTO " + AppTable.NAME + " SELECT * FROM " + tempApp); + db.execSQL("DELETE FROM " + AppMetadataTable.NAME + " WHERE 1"); + db.execSQL("INSERT INTO " + AppMetadataTable.NAME + " SELECT * FROM " + tempApp); db.execSQL("DELETE FROM " + ApkTable.NAME + " WHERE 1"); db.execSQL("INSERT INTO " + ApkTable.NAME + " SELECT * FROM " + tempApk); diff --git a/app/src/main/java/org/fdroid/fdroid/views/fragments/AppListFragment.java b/app/src/main/java/org/fdroid/fdroid/views/fragments/AppListFragment.java index 67e267288..3487ee72e 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/fragments/AppListFragment.java +++ b/app/src/main/java/org/fdroid/fdroid/views/fragments/AppListFragment.java @@ -25,7 +25,7 @@ import org.fdroid.fdroid.R; import org.fdroid.fdroid.UpdateService; import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.data.App; -import org.fdroid.fdroid.data.Schema.AppTable; +import org.fdroid.fdroid.data.Schema.AppMetadataTable; import org.fdroid.fdroid.views.AppListAdapter; public abstract class AppListFragment extends ListFragment implements @@ -38,22 +38,22 @@ public abstract class AppListFragment extends ListFragment implements private static final int REQUEST_APPDETAILS = 0; private static final String[] APP_PROJECTION = { - AppTable.Cols._ID, // Required for cursor loader to work. - AppTable.Cols.PACKAGE_NAME, - AppTable.Cols.NAME, - AppTable.Cols.SUMMARY, - AppTable.Cols.IS_COMPATIBLE, - AppTable.Cols.LICENSE, - AppTable.Cols.ICON, - AppTable.Cols.ICON_URL, - AppTable.Cols.InstalledApp.VERSION_CODE, - AppTable.Cols.InstalledApp.VERSION_NAME, - AppTable.Cols.SuggestedApk.VERSION_NAME, - AppTable.Cols.SUGGESTED_VERSION_CODE, - AppTable.Cols.REQUIREMENTS, // Needed for filtering apps that require root. + AppMetadataTable.Cols._ID, // Required for cursor loader to work. + AppMetadataTable.Cols.PACKAGE_NAME, + AppMetadataTable.Cols.NAME, + AppMetadataTable.Cols.SUMMARY, + AppMetadataTable.Cols.IS_COMPATIBLE, + AppMetadataTable.Cols.LICENSE, + AppMetadataTable.Cols.ICON, + AppMetadataTable.Cols.ICON_URL, + AppMetadataTable.Cols.InstalledApp.VERSION_CODE, + AppMetadataTable.Cols.InstalledApp.VERSION_NAME, + AppMetadataTable.Cols.SuggestedApk.VERSION_NAME, + AppMetadataTable.Cols.SUGGESTED_VERSION_CODE, + AppMetadataTable.Cols.REQUIREMENTS, // Needed for filtering apps that require root. }; - private static final String APP_SORT = AppTable.Cols.NAME; + private static final String APP_SORT = AppMetadataTable.Cols.NAME; private AppListAdapter appAdapter; diff --git a/app/src/main/java/org/fdroid/fdroid/views/swap/SwapAppsView.java b/app/src/main/java/org/fdroid/fdroid/views/swap/SwapAppsView.java index 9c431146c..00de67ab5 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/swap/SwapAppsView.java +++ b/app/src/main/java/org/fdroid/fdroid/views/swap/SwapAppsView.java @@ -104,7 +104,7 @@ public class SwapAppsView extends ListView implements */ adapter = new AppListAdapter(getContext(), getContext().getContentResolver().query( - AppProvider.getRepoUri(repo), Schema.AppTable.Cols.ALL, null, null, null)); + AppProvider.getRepoUri(repo), Schema.AppMetadataTable.Cols.ALL, null, null, null)); setAdapter(adapter); @@ -194,7 +194,7 @@ public class SwapAppsView extends ListView implements ? AppProvider.getRepoUri(repo) : AppProvider.getSearchUri(repo, mCurrentFilterString); - return new CursorLoader(getActivity(), uri, Schema.AppTable.Cols.ALL, null, null, Schema.AppTable.Cols.NAME); + return new CursorLoader(getActivity(), uri, Schema.AppMetadataTable.Cols.ALL, null, null, Schema.AppMetadataTable.Cols.NAME); } @Override diff --git a/app/src/test/java/org/fdroid/fdroid/Assert.java b/app/src/test/java/org/fdroid/fdroid/Assert.java index 459a8f9ba..61f6fe223 100644 --- a/app/src/test/java/org/fdroid/fdroid/Assert.java +++ b/app/src/test/java/org/fdroid/fdroid/Assert.java @@ -12,7 +12,7 @@ import org.fdroid.fdroid.data.App; import org.fdroid.fdroid.data.AppProvider; import org.fdroid.fdroid.data.InstalledAppProvider; import org.fdroid.fdroid.data.Schema.ApkTable; -import org.fdroid.fdroid.data.Schema.AppTable; +import org.fdroid.fdroid.data.Schema.AppMetadataTable; import org.fdroid.fdroid.data.Schema.InstalledAppTable; import org.robolectric.shadows.ShadowContentResolver; @@ -183,14 +183,14 @@ public class Assert { public static App insertApp(Context context, String packageName, String name, ContentValues additionalValues) { ContentValues values = new ContentValues(); - values.put(AppTable.Cols.PACKAGE_NAME, packageName); - values.put(AppTable.Cols.NAME, name); + values.put(AppMetadataTable.Cols.PACKAGE_NAME, packageName); + values.put(AppMetadataTable.Cols.NAME, name); // Required fields (NOT NULL in the database). - values.put(AppTable.Cols.SUMMARY, "test summary"); - values.put(AppTable.Cols.DESCRIPTION, "test description"); - values.put(AppTable.Cols.LICENSE, "GPL?"); - values.put(AppTable.Cols.IS_COMPATIBLE, 1); + values.put(AppMetadataTable.Cols.SUMMARY, "test summary"); + values.put(AppMetadataTable.Cols.DESCRIPTION, "test description"); + values.put(AppMetadataTable.Cols.LICENSE, "GPL?"); + values.put(AppMetadataTable.Cols.IS_COMPATIBLE, 1); values.putAll(additionalValues); diff --git a/app/src/test/java/org/fdroid/fdroid/data/AppProviderTest.java b/app/src/test/java/org/fdroid/fdroid/data/AppProviderTest.java index f4cb5e01b..f6dd4995a 100644 --- a/app/src/test/java/org/fdroid/fdroid/data/AppProviderTest.java +++ b/app/src/test/java/org/fdroid/fdroid/data/AppProviderTest.java @@ -8,7 +8,7 @@ import android.net.Uri; import org.fdroid.fdroid.BuildConfig; import org.fdroid.fdroid.R; -import org.fdroid.fdroid.data.Schema.AppTable.Cols; +import org.fdroid.fdroid.data.Schema.AppMetadataTable.Cols; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/app/src/test/java/org/fdroid/fdroid/data/ProviderUriTests.java b/app/src/test/java/org/fdroid/fdroid/data/ProviderUriTests.java index 5534a72bd..a9a55bd8a 100644 --- a/app/src/test/java/org/fdroid/fdroid/data/ProviderUriTests.java +++ b/app/src/test/java/org/fdroid/fdroid/data/ProviderUriTests.java @@ -82,7 +82,7 @@ public class ProviderUriTests { @Test public void validAppProviderUris() { ShadowContentResolver.registerProvider(AppProvider.getAuthority(), new AppProvider()); - String[] projection = new String[] {Schema.AppTable.Cols._ID}; + String[] projection = new String[] {Schema.AppMetadataTable.Cols._ID}; assertValidUri(resolver, AppProvider.getContentUri(), "content://org.fdroid.fdroid.data.AppProvider", projection); assertValidUri(resolver, AppProvider.getSearchUri("'searching!'"), "content://org.fdroid.fdroid.data.AppProvider/search/'searching!'", projection); assertValidUri(resolver, AppProvider.getSearchUri("/"), "content://org.fdroid.fdroid.data.AppProvider/search/%2F", projection); @@ -102,7 +102,7 @@ public class ProviderUriTests { @Test public void validTempAppProviderUris() { ShadowContentResolver.registerProvider(TempAppProvider.getAuthority(), new TempAppProvider()); - String[] projection = new String[]{Schema.AppTable.Cols._ID}; + String[] projection = new String[]{Schema.AppMetadataTable.Cols._ID}; // Required so that the `assertValidUri` calls below will indeed have a real temp_fdroid_app // table to query.