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 c4cf76521..df1474543 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java @@ -960,7 +960,7 @@ public class AppProvider extends FDroidProvider { final String app = getTableName(); final String highestPriority = - "SELECT MIN(r." + RepoTable.Cols.PRIORITY + ") " + + "SELECT MAX(r." + RepoTable.Cols.PRIORITY + ") " + "FROM " + RepoTable.NAME + " AS r " + "JOIN " + getTableName() + " AS m ON (m." + Cols.REPO_ID + " = r." + RepoTable.Cols._ID + ") " + "WHERE m." + Cols.PACKAGE_ID + " = " + "metadata." + Cols.PACKAGE_ID; 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 079972d5b..0dd87abb9 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java @@ -190,7 +190,7 @@ class DBHelper extends SQLiteOpenHelper { + InstalledAppTable.Cols.HASH + " TEXT NOT NULL" + " );"; - protected static final int DB_VERSION = 67; + protected static final int DB_VERSION = 68; private final Context context; @@ -272,6 +272,16 @@ class DBHelper extends SQLiteOpenHelper { addCategoryTables(db, oldVersion); addIndexV1Fields(db, oldVersion); addIndexV1AppFields(db, oldVersion); + recalculatePreferredMetadata(db, oldVersion); + } + + private void recalculatePreferredMetadata(SQLiteDatabase db, int oldVersion) { + if (oldVersion >= 68) { + return; + } + + Log.i(TAG, "Previously, the repository metadata was being interpreted backwards. Need to force a repo refresh to fix this."); + resetTransient(db); } private void addIndexV1AppFields(SQLiteDatabase db, int oldVersion) {