From a8b75e82436fd66dcb8fa22170f2f831418a95c8 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 10 Jan 2020 18:10:53 +0100 Subject: [PATCH 1/8] =?UTF-8?q?Translated=20using=20Weblate:=20German=20(d?= =?UTF-8?q?e)=20by=20C.=20R=C3=BCdinger=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 96.4% (27 of 28 strings) Translation: F-Droid/F-Droid metadata Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/de/ --- metadata/de/changelogs/1008001.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 metadata/de/changelogs/1008001.txt diff --git a/metadata/de/changelogs/1008001.txt b/metadata/de/changelogs/1008001.txt new file mode 100644 index 000000000..851c268cc --- /dev/null +++ b/metadata/de/changelogs/1008001.txt @@ -0,0 +1,4 @@ +* Bearbeitung der Berechtigungseinstellungen in Android 10, um „Unbekannte Quelle“-Hinweise zu beenden +* Öffnet Tastatur, wenn Suchbegriff gelöscht wird +* Abgleich von Übersetzungen mit Android-Vorgaben +* HTTPS bei gebräuchlichen Repo-Domänen (GitLab, GitHub, Amazon) erzwingen From 0d848361538d8e2e510ade6500806be16f6e0a50 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 10 Jan 2020 18:10:53 +0100 Subject: [PATCH 2/8] =?UTF-8?q?Translated=20using=20Weblate:=20Icelandic?= =?UTF-8?q?=20(is)=20by=20Sveinn=20=C3=AD=20Felli=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (28 of 28 strings) Translation: F-Droid/F-Droid metadata Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/is/ --- metadata/is/changelogs/1007050.txt | 10 +++++----- metadata/is/changelogs/1008001.txt | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 metadata/is/changelogs/1008001.txt diff --git a/metadata/is/changelogs/1007050.txt b/metadata/is/changelogs/1007050.txt index 007237db8..8f4eb8c65 100644 --- a/metadata/is/changelogs/1007050.txt +++ b/metadata/is/changelogs/1007050.txt @@ -1,8 +1,8 @@ -* Yfirhalning á býttiviðmóti, undirbúið að endurskrifa -* Birt "Afturkalla" eftir að atriði eru tekin af uppfærsluflipanum (takk @Hocuri!) -* Löguð meðhöndlun ETag þegar tengst er við NGINX-spegla #1737 -* Löguð birting "Nýjast" vegna rangrar meðhöndlunar tímabelta #1757 -* Hunsa öll ómikilvæg hrun í bakþjónustum +* yfirhalning á býttiviðmóti, undirbúið að endurskrifa +* birt "Afturkalla" eftir að atriði eru tekin af uppfærsluflipanum (takk @Hocuri!) +* löguð meðhöndlun ETag þegar tengst er við NGINX-spegla #1737 +* löguð birting "Nýjast" vegna rangrar meðhöndlunar tímabelta #1757 +* hunsa öll ómikilvæg hrun í bakþjónustum * býtti við nálæg tæki endurhannað m/v færanlega tengistaði * nýtt í neyðarhnappi: fjarlægja forrit og frumstilla hugbúnaðarsöfn * USB OTG minnislykla má nota sem staðvær söfn og spegla diff --git a/metadata/is/changelogs/1008001.txt b/metadata/is/changelogs/1008001.txt new file mode 100644 index 000000000..05e79ea13 --- /dev/null +++ b/metadata/is/changelogs/1008001.txt @@ -0,0 +1,4 @@ +* lagaðar heimildir í Android 10 til að stöðva kvaðningar vegna óþekkts uppruna +* lyklaborð opnast þegar leit er hreinsuð +* samstilling þýðinga við Android strengi +* þvinguð lén algengra safna til að nota HTTPS (GitLab, GitHub, Amazon) From cc3d874dc45440d14ee59d6b482550806accc47a Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Jan 2020 16:46:07 +0100 Subject: [PATCH 3/8] rename App.suggestedVersionCode to autoInstallVersionCode #1063 --- .../java/org/fdroid/fdroid/IndexUpdater.java | 2 +- .../org/fdroid/fdroid/data/ApkProvider.java | 2 +- .../main/java/org/fdroid/fdroid/data/App.java | 22 +++++++++++-------- .../org/fdroid/fdroid/data/AppProvider.java | 12 +++++----- .../java/org/fdroid/fdroid/data/DBHelper.java | 2 +- .../java/org/fdroid/fdroid/data/Schema.java | 6 ++--- .../fdroid/views/AppDetailsActivity.java | 6 ++--- .../views/AppDetailsRecyclerViewAdapter.java | 4 ++-- .../InstalledAppListItemController.java | 4 ++-- .../UpdateableAppListItemController.java | 2 +- .../fdroid/data/PreferredSignatureTest.java | 2 +- .../fdroid/data/SuggestedVersionTest.java | 4 ++-- .../fdroid/updater/IndexV1UpdaterTest.java | 4 ++-- .../updater/ProperMultiIndexUpdaterTest.java | 2 +- 14 files changed, 39 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/IndexUpdater.java b/app/src/main/java/org/fdroid/fdroid/IndexUpdater.java index dabb03a1c..f425a0c07 100644 --- a/app/src/main/java/org/fdroid/fdroid/IndexUpdater.java +++ b/app/src/main/java/org/fdroid/fdroid/IndexUpdater.java @@ -481,7 +481,7 @@ public class IndexUpdater { } int versionCode; if (repoPushRequest.versionCode == null) { - versionCode = app.suggestedVersionCode; + versionCode = app.autoInstallVersionCode; } else { versionCode = repoPushRequest.versionCode; } 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 4a6135a59..0d8157ba7 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/ApkProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/ApkProvider.java @@ -92,7 +92,7 @@ public class ApkProvider extends FDroidProvider { @Nullable public static Apk findSuggestedApk(Context context, App app) { String mostAppropriateSignature = app.getMostAppropriateSignature(); - Apk apk = findApkFromAnyRepo(context, app.packageName, app.suggestedVersionCode, + Apk apk = findApkFromAnyRepo(context, app.packageName, app.autoInstallVersionCode, mostAppropriateSignature); if (apk == null && (mostAppropriateSignature == null || !app.isInstalled(context))) { List apks = findByPackageName(context, app.packageName); 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 c13b53990..a0975bfa7 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -182,7 +182,11 @@ public class App extends ValueObject implements Comparable, Parcelable { */ private String suggestedVersionName; - public int suggestedVersionCode; + /** + * The version that will be automatically installed if the user does not + * choose a specific version. + */ + public int autoInstallVersionCode; public Date added; public Date lastUpdated; @@ -305,8 +309,8 @@ public class App extends ValueObject implements Comparable, Parcelable { case Cols.PREFERRED_SIGNER: preferredSigner = cursor.getString(i); break; - case Cols.SUGGESTED_VERSION_CODE: - suggestedVersionCode = cursor.getInt(i); + case Cols.AUTO_INSTALL_VERSION_CODE: + autoInstallVersionCode = cursor.getInt(i); break; case Cols.UPSTREAM_VERSION_CODE: upstreamVersionCode = cursor.getInt(i); @@ -955,7 +959,7 @@ public class App extends ValueObject implements Comparable, Parcelable { values.put(Cols.ADDED, Utils.formatDate(added, "")); values.put(Cols.LAST_UPDATED, Utils.formatDate(lastUpdated, "")); values.put(Cols.PREFERRED_SIGNER, preferredSigner); - values.put(Cols.SUGGESTED_VERSION_CODE, suggestedVersionCode); + values.put(Cols.AUTO_INSTALL_VERSION_CODE, autoInstallVersionCode); values.put(Cols.UPSTREAM_VERSION_NAME, upstreamVersionName); values.put(Cols.UPSTREAM_VERSION_CODE, upstreamVersionCode); values.put(Cols.ForWriting.Categories.CATEGORIES, Utils.serializeCommaSeparatedString(categories)); @@ -1021,8 +1025,8 @@ public class App extends ValueObject implements Comparable, Parcelable { */ public boolean hasUpdates() { boolean updates = false; - if (suggestedVersionCode > 0) { - updates = installedVersionCode > 0 && installedVersionCode < suggestedVersionCode; + if (autoInstallVersionCode > 0) { + updates = installedVersionCode > 0 && installedVersionCode < autoInstallVersionCode; } return updates; } @@ -1041,7 +1045,7 @@ public class App extends ValueObject implements Comparable, Parcelable { public boolean canAndWantToUpdate(Context context) { boolean canUpdate = hasUpdates(); AppPrefs prefs = getPrefs(context); - boolean wantsUpdate = !prefs.ignoreAllUpdates && prefs.ignoreThisUpdate < suggestedVersionCode; + boolean wantsUpdate = !prefs.ignoreAllUpdates && prefs.ignoreThisUpdate < autoInstallVersionCode; return canUpdate && wantsUpdate && !isDisabledByAntiFeatures(); } @@ -1185,7 +1189,7 @@ public class App extends ValueObject implements Comparable, Parcelable { dest.writeString(this.upstreamVersionName); dest.writeInt(this.upstreamVersionCode); dest.writeString(this.suggestedVersionName); - dest.writeInt(this.suggestedVersionCode); + dest.writeInt(this.autoInstallVersionCode); dest.writeLong(this.added != null ? this.added.getTime() : -1); dest.writeLong(this.lastUpdated != null ? this.lastUpdated.getTime() : -1); dest.writeStringArray(this.categories); @@ -1236,7 +1240,7 @@ public class App extends ValueObject implements Comparable, Parcelable { this.upstreamVersionName = in.readString(); this.upstreamVersionCode = in.readInt(); this.suggestedVersionName = in.readString(); - this.suggestedVersionCode = in.readInt(); + this.autoInstallVersionCode = in.readInt(); long tmpAdded = in.readLong(); this.added = tmpAdded == -1 ? null : new Date(tmpAdded); long tmpLastUpdated = in.readLong(); 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 f5e31d7e1..dc3f5190b 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java @@ -399,7 +399,7 @@ public class AppProvider extends FDroidProvider { leftJoin( getApkTableName(), "suggestedApk", - getTableName() + "." + Cols.SUGGESTED_VERSION_CODE + " = suggestedApk." + ApkTable.Cols.VERSION_CODE + " AND " + getTableName() + "." + Cols.ROW_ID + " = suggestedApk." + ApkTable.Cols.APP_ID); + getTableName() + "." + Cols.AUTO_INSTALL_VERSION_CODE + " = suggestedApk." + ApkTable.Cols.VERSION_CODE + " AND " + getTableName() + "." + Cols.ROW_ID + " = suggestedApk." + ApkTable.Cols.APP_ID); } appendField(fieldName, "suggestedApk", alias); } @@ -615,11 +615,11 @@ public class AppProvider extends FDroidProvider { // Need to use COALESCE because the prefs join may not resolve any rows, which means the // ignore* fields will be NULL. In that case, we want to instead use a default value of 0. - final String ignoreCurrent = " COALESCE(prefs." + AppPrefsTable.Cols.IGNORE_THIS_UPDATE + ", 0) != " + app + "." + Cols.SUGGESTED_VERSION_CODE; + final String ignoreCurrent = " COALESCE(prefs." + AppPrefsTable.Cols.IGNORE_THIS_UPDATE + ", 0) != " + app + "." + Cols.AUTO_INSTALL_VERSION_CODE; final String ignoreAll = "COALESCE(prefs." + AppPrefsTable.Cols.IGNORE_ALL_UPDATES + ", 0) != 1"; final String ignore = " (" + ignoreCurrent + " AND " + ignoreAll + ") "; - final String where = ignore + " AND " + app + "." + Cols.SUGGESTED_VERSION_CODE + " > installed." + InstalledAppTable.Cols.VERSION_CODE; + final String where = ignore + " AND " + app + "." + Cols.AUTO_INSTALL_VERSION_CODE + " > installed." + InstalledAppTable.Cols.VERSION_CODE; return new AppQuerySelection(where).requireNaturalInstalledTable().requireLeftJoinPrefs(); } @@ -1118,7 +1118,7 @@ public class AppProvider extends FDroidProvider { // installed table (this is impossible), but rather because the subselect above returned // zero rows. String updateSql = - "UPDATE " + app + " SET " + Cols.SUGGESTED_VERSION_CODE + " = ( " + + "UPDATE " + app + " SET " + Cols.AUTO_INSTALL_VERSION_CODE + " = ( " + " SELECT MAX( " + apk + "." + ApkTable.Cols.VERSION_CODE + " ) " + " FROM " + apk + " JOIN " + app + " AS appForThisApk ON (appForThisApk." + Cols.ROW_ID + " = " + apk + "." + ApkTable.Cols.APP_ID + ") " + @@ -1154,7 +1154,7 @@ public class AppProvider extends FDroidProvider { final String[] args; if (packageName == null) { - restrictToApps = " COALESCE(" + Cols.UPSTREAM_VERSION_CODE + ", 0) = 0 OR " + Cols.SUGGESTED_VERSION_CODE + " IS NULL "; + restrictToApps = " COALESCE(" + Cols.UPSTREAM_VERSION_CODE + ", 0) = 0 OR " + Cols.AUTO_INSTALL_VERSION_CODE + " IS NULL "; args = null; } else { // Don't update an app with an upstream version code, because that would have been updated @@ -1164,7 +1164,7 @@ public class AppProvider extends FDroidProvider { } String updateSql = - "UPDATE " + app + " SET " + Cols.SUGGESTED_VERSION_CODE + " = ( " + + "UPDATE " + app + " SET " + Cols.AUTO_INSTALL_VERSION_CODE + " = ( " + " SELECT MAX( " + apk + "." + ApkTable.Cols.VERSION_CODE + " ) " + " FROM " + apk + " JOIN " + app + " AS appForThisApk ON (appForThisApk." + Cols.ROW_ID + " = " + apk + "." + ApkTable.Cols.APP_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 0a411e211..f90795006 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java @@ -147,7 +147,7 @@ public class DBHelper extends SQLiteOpenHelper { + AppMetadataTable.Cols.VIDEO + " string, " + AppMetadataTable.Cols.CHANGELOG + " text, " + AppMetadataTable.Cols.PREFERRED_SIGNER + " text," - + AppMetadataTable.Cols.SUGGESTED_VERSION_CODE + " text," + + AppMetadataTable.Cols.AUTO_INSTALL_VERSION_CODE + " text," + AppMetadataTable.Cols.UPSTREAM_VERSION_NAME + " text," + AppMetadataTable.Cols.UPSTREAM_VERSION_CODE + " integer," + AppMetadataTable.Cols.ANTI_FEATURES + " string," 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 7fecd916e..875f3bb50 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/Schema.java +++ b/app/src/main/java/org/fdroid/fdroid/data/Schema.java @@ -191,7 +191,7 @@ public interface Schema { String FLATTR_ID = "flattrID"; String LIBERAPAY_ID = "liberapayID"; String PREFERRED_SIGNER = "preferredSigner"; - String SUGGESTED_VERSION_CODE = "suggestedVercode"; + String AUTO_INSTALL_VERSION_CODE = "suggestedVercode"; // name mismatch from issue #1063 String UPSTREAM_VERSION_NAME = "upstreamVersion"; String UPSTREAM_VERSION_CODE = "upstreamVercode"; String ADDED = "added"; @@ -248,7 +248,7 @@ public interface Schema { ANTI_FEATURES, REQUIREMENTS, ICON_URL, FEATURE_GRAPHIC, PROMO_GRAPHIC, TV_BANNER, PHONE_SCREENSHOTS, SEVEN_INCH_SCREENSHOTS, TEN_INCH_SCREENSHOTS, TV_SCREENSHOTS, WEAR_SCREENSHOTS, - PREFERRED_SIGNER, SUGGESTED_VERSION_CODE, IS_APK, IS_LOCALIZED, + PREFERRED_SIGNER, AUTO_INSTALL_VERSION_CODE, IS_APK, IS_LOCALIZED, }; /** @@ -265,7 +265,7 @@ public interface Schema { ANTI_FEATURES, REQUIREMENTS, ICON_URL, FEATURE_GRAPHIC, PROMO_GRAPHIC, TV_BANNER, PHONE_SCREENSHOTS, SEVEN_INCH_SCREENSHOTS, TEN_INCH_SCREENSHOTS, TV_SCREENSHOTS, WEAR_SCREENSHOTS, - PREFERRED_SIGNER, SUGGESTED_VERSION_CODE, IS_APK, IS_LOCALIZED, SuggestedApk.VERSION_NAME, + PREFERRED_SIGNER, AUTO_INSTALL_VERSION_CODE, IS_APK, IS_LOCALIZED, SuggestedApk.VERSION_NAME, InstalledApp.VERSION_CODE, InstalledApp.VERSION_NAME, InstalledApp.SIGNATURE, Package.PACKAGE_NAME, }; diff --git a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsActivity.java b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsActivity.java index 8f2b95bd2..669b73a6c 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsActivity.java @@ -250,7 +250,7 @@ public class AppDetailsActivity extends AppCompatActivity MenuItem itemIgnoreThis = menu.findItem(R.id.action_ignore_this); if (itemIgnoreThis != null) { itemIgnoreThis.setVisible(app.hasUpdates()); - itemIgnoreThis.setChecked(app.getPrefs(this).ignoreThisUpdate >= app.suggestedVersionCode); + itemIgnoreThis.setChecked(app.getPrefs(this).ignoreThisUpdate >= app.autoInstallVersionCode); } return true; } @@ -274,10 +274,10 @@ public class AppDetailsActivity extends AppCompatActivity AppPrefsProvider.Helper.update(this, app, app.getPrefs(this)); return true; } else if (item.getItemId() == R.id.action_ignore_this) { - if (app.getPrefs(this).ignoreThisUpdate >= app.suggestedVersionCode) { + if (app.getPrefs(this).ignoreThisUpdate >= app.autoInstallVersionCode) { app.getPrefs(this).ignoreThisUpdate = 0; } else { - app.getPrefs(this).ignoreThisUpdate = app.suggestedVersionCode; + app.getPrefs(this).ignoreThisUpdate = app.autoInstallVersionCode; } item.setChecked(app.getPrefs(this).ignoreThisUpdate > 0); AppPrefsProvider.Helper.update(this, app, app.getPrefs(this)); diff --git a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java index 81832ddb0..6c8b24cb8 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java +++ b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java @@ -239,7 +239,7 @@ public class AppDetailsRecyclerViewAdapter String appropriateSig = app.getMostAppropriateSignature(); for (int i = 0; i < versions.size(); i++) { final Apk apk = versions.get(i); - if (apk.versionCode == app.suggestedVersionCode && TextUtils.equals(apk.sig, appropriateSig)) { + if (apk.versionCode == app.autoInstallVersionCode && TextUtils.equals(apk.sig, appropriateSig)) { curApk = apk; break; } @@ -1104,7 +1104,7 @@ public class AppDetailsRecyclerViewAdapter boolean isAppInstalled = app.isInstalled(context); boolean isApkInstalled = apk.versionCode == app.installedVersionCode && TextUtils.equals(apk.sig, app.installedSig); - boolean isApkSuggested = apk.versionCode == app.suggestedVersionCode && + boolean isApkSuggested = apk.versionCode == app.autoInstallVersionCode && TextUtils.equals(apk.sig, app.getMostAppropriateSignature()); boolean isApkDownloading = callbacks.isAppDownloading() && downloadedApk != null && downloadedApk.compareTo(apk) == 0 && TextUtils.equals(apk.apkName, downloadedApk.apkName); diff --git a/app/src/main/java/org/fdroid/fdroid/views/installed/InstalledAppListItemController.java b/app/src/main/java/org/fdroid/fdroid/views/installed/InstalledAppListItemController.java index 4f960bc80..a77dc1aa0 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/installed/InstalledAppListItemController.java +++ b/app/src/main/java/org/fdroid/fdroid/views/installed/InstalledAppListItemController.java @@ -35,7 +35,7 @@ public class InstalledAppListItemController extends AppListItemController { * Either "Version X" or "Version Y (Recommended)", depending on the installed version. */ private CharSequence getInstalledVersion(@NonNull App app) { - int statusStringRes = (app.suggestedVersionCode == app.installedVersionCode) + int statusStringRes = (app.autoInstallVersionCode == app.installedVersionCode) ? R.string.app_recommended_version_installed : R.string.app_version_x_installed; @@ -51,7 +51,7 @@ public class InstalledAppListItemController extends AppListItemController { AppPrefs prefs = app.getPrefs(activity); if (prefs.ignoreAllUpdates) { return activity.getString(R.string.installed_app__updates_ignored); - } else if (prefs.ignoreThisUpdate > 0 && prefs.ignoreThisUpdate == app.suggestedVersionCode) { + } else if (prefs.ignoreThisUpdate > 0 && prefs.ignoreThisUpdate == app.autoInstallVersionCode) { return activity.getString( R.string.installed_app__updates_ignored_for_suggested_version, app.getSuggestedVersionName()); diff --git a/app/src/main/java/org/fdroid/fdroid/views/updates/items/UpdateableAppListItemController.java b/app/src/main/java/org/fdroid/fdroid/views/updates/items/UpdateableAppListItemController.java index 34c3bc6df..33ae7ddf3 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/updates/items/UpdateableAppListItemController.java +++ b/app/src/main/java/org/fdroid/fdroid/views/updates/items/UpdateableAppListItemController.java @@ -42,7 +42,7 @@ public class UpdateableAppListItemController extends AppListItemController { @Override protected void onDismissApp(@NonNull final App app, UpdatesAdapter adapter) { final AppPrefs prefs = app.getPrefs(activity); - prefs.ignoreThisUpdate = app.suggestedVersionCode; + prefs.ignoreThisUpdate = app.autoInstallVersionCode; Snackbar.make( itemView, diff --git a/app/src/test/java/org/fdroid/fdroid/data/PreferredSignatureTest.java b/app/src/test/java/org/fdroid/fdroid/data/PreferredSignatureTest.java index c4dd49d40..0b6e4b1ca 100644 --- a/app/src/test/java/org/fdroid/fdroid/data/PreferredSignatureTest.java +++ b/app/src/test/java/org/fdroid/fdroid/data/PreferredSignatureTest.java @@ -273,7 +273,7 @@ public class PreferredSignatureTest extends FDroidProviderTest { private void assertSuggested(Context context, int suggestedVersion, String suggestedSig) { App suggestedApp = AppProvider.Helper.findHighestPriorityMetadata(context.getContentResolver(), PACKAGE_NAME); - assertEquals("Suggested version on App", suggestedVersion, suggestedApp.suggestedVersionCode); + assertEquals("Suggested version on App", suggestedVersion, suggestedApp.autoInstallVersionCode); Apk suggestedApk = ApkProvider.Helper.findSuggestedApk(context, suggestedApp); assertEquals("Version on suggested Apk", suggestedVersion, suggestedApk.versionCode); diff --git a/app/src/test/java/org/fdroid/fdroid/data/SuggestedVersionTest.java b/app/src/test/java/org/fdroid/fdroid/data/SuggestedVersionTest.java index 5fe3ad3a2..027cbd16d 100644 --- a/app/src/test/java/org/fdroid/fdroid/data/SuggestedVersionTest.java +++ b/app/src/test/java/org/fdroid/fdroid/data/SuggestedVersionTest.java @@ -195,7 +195,7 @@ public class SuggestedVersionTest extends FDroidProviderTest { */ public void assertSuggested(String packageName, int suggestedVersion, String installedSig, int installedVersion) { App suggestedApp = AppProvider.Helper.findHighestPriorityMetadata(context.getContentResolver(), packageName); - assertEquals("Suggested version on App", suggestedVersion, suggestedApp.suggestedVersionCode); + assertEquals("Suggested version on App", suggestedVersion, suggestedApp.autoInstallVersionCode); assertEquals("Installed signature on App", installedSig, suggestedApp.installedSig); Apk suggestedApk = ApkProvider.Helper.findSuggestedApk(context, suggestedApp); @@ -212,7 +212,7 @@ public class SuggestedVersionTest extends FDroidProviderTest { App canUpdateApp = appsToUpdate.get(0); assertEquals("Package name of updatable app", packageName, canUpdateApp.packageName); assertEquals("Installed version of updatable app", installedVersion, canUpdateApp.installedVersionCode); - assertEquals("Suggested version to update to", suggestedVersion, canUpdateApp.suggestedVersionCode); + assertEquals("Suggested version to update to", suggestedVersion, canUpdateApp.autoInstallVersionCode); assertEquals("Installed signature of updatable app", installedSig, canUpdateApp.installedSig); } } diff --git a/app/src/test/java/org/fdroid/fdroid/updater/IndexV1UpdaterTest.java b/app/src/test/java/org/fdroid/fdroid/updater/IndexV1UpdaterTest.java index cd1267787..b789ba749 100644 --- a/app/src/test/java/org/fdroid/fdroid/updater/IndexV1UpdaterTest.java +++ b/app/src/test/java/org/fdroid/fdroid/updater/IndexV1UpdaterTest.java @@ -303,6 +303,7 @@ public class IndexV1UpdaterTest extends FDroidProviderTest { "antiFeatures", "authorEmail", "authorName", + "autoInstallVersionCode", "bitcoin", "categories", "changelog", @@ -333,11 +334,10 @@ public class IndexV1UpdaterTest extends FDroidProviderTest { "tvBanner", "tvScreenshots", "upstreamVersionCode", - "upstreamVersionName", "video", - "whatsNew", "wearScreenshots", "webSite", + "whatsNew", }; String[] ignoredInApp = new String[]{ "compatible", diff --git a/app/src/test/java/org/fdroid/fdroid/updater/ProperMultiIndexUpdaterTest.java b/app/src/test/java/org/fdroid/fdroid/updater/ProperMultiIndexUpdaterTest.java index eab73ed39..11ea182fc 100644 --- a/app/src/test/java/org/fdroid/fdroid/updater/ProperMultiIndexUpdaterTest.java +++ b/app/src/test/java/org/fdroid/fdroid/updater/ProperMultiIndexUpdaterTest.java @@ -252,7 +252,7 @@ public class ProperMultiIndexUpdaterTest extends MultiIndexUpdaterTest { List appsToUpdate = AppProvider.Helper.findCanUpdate(context, AppMetadataTable.Cols.ALL); assertEquals(1, appsToUpdate.size()); assertEquals(installedVersion, appsToUpdate.get(0).installedVersionCode); - assertEquals(expectedUpdateVersion, appsToUpdate.get(0).suggestedVersionCode); + assertEquals(expectedUpdateVersion, appsToUpdate.get(0).autoInstallVersionCode); } private void assertMainRepo() { From cd635459ad7df4bd7456a4a5c770de96f9e1dcd3 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Jan 2020 16:54:09 +0100 Subject: [PATCH 4/8] rename Cols.SuggestedApk to AutoInstallApk #1063 --- .../main/java/org/fdroid/fdroid/data/App.java | 2 +- .../org/fdroid/fdroid/data/AppProvider.java | 33 +++++++++++-------- .../java/org/fdroid/fdroid/data/Schema.java | 6 ++-- 3 files changed, 23 insertions(+), 18 deletions(-) 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 a0975bfa7..010966fbe 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -303,7 +303,7 @@ public class App extends ValueObject implements Comparable, Parcelable { case Cols.LIBERAPAY_ID: liberapayID = cursor.getString(i); break; - case Cols.SuggestedApk.VERSION_NAME: + case Cols.AutoInstallApk.VERSION_NAME: suggestedVersionName = cursor.getString(i); break; case Cols.PREFERRED_SIGNER: 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 dc3f5190b..40765ec7f 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java @@ -32,17 +32,17 @@ import java.util.Set; /** * Each app has a bunch of metadata that it associates with a package name (such as org.fdroid.fdroid). * Multiple repositories can host the same package, and provide different metadata for that app. - * + *

* As such, it is usually the case that you are interested in an {@link App} which has its metadata * provided by "the repo with the best priority", rather than "specific repo X". This is important * when asking for an apk, whereby the preferable way is likely using: - * - * * {@link AppProvider.Helper#findHighestPriorityMetadata(ContentResolver, String)} - * + *

+ * * {@link AppProvider.Helper#findHighestPriorityMetadata(ContentResolver, String)} + *

* rather than: - * - * * {@link AppProvider.Helper#findSpecificApp(ContentResolver, String, long, String[])} - * + *

+ * * {@link AppProvider.Helper#findSpecificApp(ContentResolver, String, long, String[])} + *

* The same can be said of retrieving a list of {@link App} objects, where the metadata for each app * in the result set should be populated from the repository with the best priority. */ @@ -53,7 +53,8 @@ public class AppProvider extends FDroidProvider { public static final class Helper { - private Helper() { } + private Helper() { + } public static List all(ContentResolver resolver) { return all(resolver, Cols.ALL); @@ -192,6 +193,7 @@ public class AppProvider extends FDroidProvider { * Tells the query selection that it will need to join onto the installed apps table * when used. This should be called when your query makes use of fields from that table * (for example, list all installed, or list those which can be updated). + * * @return A reference to this object, to allow method chaining, for example * return new AppQuerySelection(selection).requiresInstalledTable()) */ @@ -361,8 +363,8 @@ public class AppProvider extends FDroidProvider { case Cols.Package.PACKAGE_NAME: appendField(PackageTable.Cols.PACKAGE_NAME, PackageTable.NAME, Cols.Package.PACKAGE_NAME); break; - case Cols.SuggestedApk.VERSION_NAME: - addSuggestedApkVersionField(); + case Cols.AutoInstallApk.VERSION_NAME: + addAutoInstallApkVersionField(); break; case Cols.InstalledApp.VERSION_NAME: addInstalledAppVersionName(); @@ -387,13 +389,16 @@ public class AppProvider extends FDroidProvider { appendField("COUNT( DISTINCT " + getTableName() + "." + Cols.ROW_ID + " ) AS " + Cols._COUNT); } - private void addSuggestedApkVersionField() { - addSuggestedApkField( + private void addAutoInstallApkVersionField() { + addAutoInstallApkField( ApkTable.Cols.VERSION_NAME, - Cols.SuggestedApk.VERSION_NAME); + Cols.AutoInstallApk.VERSION_NAME); } - private void addSuggestedApkField(String fieldName, String alias) { + /** + * @see suggestedApk name mismatch #1063 + */ + private void addAutoInstallApkField(String fieldName, String alias) { if (!isSuggestedApkTableAdded) { isSuggestedApkTableAdded = true; leftJoin( 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 875f3bb50..b96099937 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/Schema.java +++ b/app/src/main/java/org/fdroid/fdroid/data/Schema.java @@ -210,7 +210,7 @@ public interface Schema { String IS_APK = "isApk"; String IS_LOCALIZED = "isLocalized"; - interface SuggestedApk { + interface AutoInstallApk { String VERSION_NAME = "suggestedApkVersion"; } @@ -238,7 +238,7 @@ public interface Schema { /** * Each of the physical columns in the sqlite table. Differs from {@link Cols#ALL} in * that it doesn't include fields which are aliases of other fields (e.g. {@link Cols#_ID} - * or which are from other related tables (e.g. {@link Cols.SuggestedApk#VERSION_NAME}). + * or which are from other related tables (e.g. {@link AutoInstallApk#VERSION_NAME}). */ String[] ALL_COLS = { ROW_ID, PACKAGE_ID, REPO_ID, IS_COMPATIBLE, NAME, SUMMARY, ICON, DESCRIPTION, @@ -265,7 +265,7 @@ public interface Schema { ANTI_FEATURES, REQUIREMENTS, ICON_URL, FEATURE_GRAPHIC, PROMO_GRAPHIC, TV_BANNER, PHONE_SCREENSHOTS, SEVEN_INCH_SCREENSHOTS, TEN_INCH_SCREENSHOTS, TV_SCREENSHOTS, WEAR_SCREENSHOTS, - PREFERRED_SIGNER, AUTO_INSTALL_VERSION_CODE, IS_APK, IS_LOCALIZED, SuggestedApk.VERSION_NAME, + PREFERRED_SIGNER, AUTO_INSTALL_VERSION_CODE, IS_APK, IS_LOCALIZED, AutoInstallApk.VERSION_NAME, InstalledApp.VERSION_CODE, InstalledApp.VERSION_NAME, InstalledApp.SIGNATURE, Package.PACKAGE_NAME, }; From 531494e57186663141735c3d77d03f0910c00480 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Jan 2020 17:41:29 +0100 Subject: [PATCH 5/8] rename App.suggestedVersionName to autoInstallVersionName #1063 # Conflicts: # app/src/test/java/org/fdroid/fdroid/updater/IndexV1UpdaterTest.java --- .../main/java/org/fdroid/fdroid/data/App.java | 18 +++++++++--------- .../apps/StandardAppListItemController.java | 2 +- .../InstalledAppListItemController.java | 2 +- .../fdroid/updater/IndexV1UpdaterTest.java | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) 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 010966fbe..10e9ba526 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -177,10 +177,10 @@ public class App extends ValueObject implements Comparable, Parcelable { /** * Unlike other public fields, this is only accessible via a getter, to * emphasise that setting it wont do anything. In order to change this, - * you need to change suggestedVersionCode to an apk which is in the - * apk table. + * you need to change {@link #autoInstallVersionCode} to an APK which is + * in the {@link Schema.ApkTable} table. */ - private String suggestedVersionName; + private String autoInstallVersionName; /** * The version that will be automatically installed if the user does not @@ -304,7 +304,7 @@ public class App extends ValueObject implements Comparable, Parcelable { liberapayID = cursor.getString(i); break; case Cols.AutoInstallApk.VERSION_NAME: - suggestedVersionName = cursor.getString(i); + autoInstallVersionName = cursor.getString(i); break; case Cols.PREFERRED_SIGNER: preferredSigner = cursor.getString(i); @@ -1081,11 +1081,11 @@ public class App extends ValueObject implements Comparable, Parcelable { /** - * @see App#suggestedVersionName for why this uses a getter while other member variables are + * @see App#autoInstallVersionName for why this uses a getter while other member variables are * publicly accessible. */ - public String getSuggestedVersionName() { - return suggestedVersionName; + public String getAutoInstallVersionName() { + return autoInstallVersionName; } /** @@ -1188,7 +1188,7 @@ public class App extends ValueObject implements Comparable, Parcelable { dest.writeString(this.preferredSigner); dest.writeString(this.upstreamVersionName); dest.writeInt(this.upstreamVersionCode); - dest.writeString(this.suggestedVersionName); + dest.writeString(this.autoInstallVersionName); dest.writeInt(this.autoInstallVersionCode); dest.writeLong(this.added != null ? this.added.getTime() : -1); dest.writeLong(this.lastUpdated != null ? this.lastUpdated.getTime() : -1); @@ -1239,7 +1239,7 @@ public class App extends ValueObject implements Comparable, Parcelable { this.preferredSigner = in.readString(); this.upstreamVersionName = in.readString(); this.upstreamVersionCode = in.readInt(); - this.suggestedVersionName = in.readString(); + this.autoInstallVersionName = in.readString(); this.autoInstallVersionCode = in.readInt(); long tmpAdded = in.readLong(); this.added = tmpAdded == -1 ? null : new Date(tmpAdded); diff --git a/app/src/main/java/org/fdroid/fdroid/views/apps/StandardAppListItemController.java b/app/src/main/java/org/fdroid/fdroid/views/apps/StandardAppListItemController.java index a35d64b32..63f724345 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/apps/StandardAppListItemController.java +++ b/app/src/main/java/org/fdroid/fdroid/views/apps/StandardAppListItemController.java @@ -40,7 +40,7 @@ public class StandardAppListItemController extends AppListItemController { return activity.getString(R.string.antifeatures); } else if (app.isInstalled(activity.getApplicationContext())) { if (app.canAndWantToUpdate(activity)) { - return activity.getString(R.string.app_version_x_available, app.getSuggestedVersionName()); + return activity.getString(R.string.app_version_x_available, app.getAutoInstallVersionName()); } else { return activity.getString(R.string.app_version_x_installed, app.installedVersionName); } diff --git a/app/src/main/java/org/fdroid/fdroid/views/installed/InstalledAppListItemController.java b/app/src/main/java/org/fdroid/fdroid/views/installed/InstalledAppListItemController.java index a77dc1aa0..bbed32d1d 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/installed/InstalledAppListItemController.java +++ b/app/src/main/java/org/fdroid/fdroid/views/installed/InstalledAppListItemController.java @@ -54,7 +54,7 @@ public class InstalledAppListItemController extends AppListItemController { } else if (prefs.ignoreThisUpdate > 0 && prefs.ignoreThisUpdate == app.autoInstallVersionCode) { return activity.getString( R.string.installed_app__updates_ignored_for_suggested_version, - app.getSuggestedVersionName()); + app.getAutoInstallVersionName()); } return null; diff --git a/app/src/test/java/org/fdroid/fdroid/updater/IndexV1UpdaterTest.java b/app/src/test/java/org/fdroid/fdroid/updater/IndexV1UpdaterTest.java index b789ba749..c1205cc1e 100644 --- a/app/src/test/java/org/fdroid/fdroid/updater/IndexV1UpdaterTest.java +++ b/app/src/test/java/org/fdroid/fdroid/updater/IndexV1UpdaterTest.java @@ -304,6 +304,7 @@ public class IndexV1UpdaterTest extends FDroidProviderTest { "authorEmail", "authorName", "autoInstallVersionCode", + "autoInstallVersionName", "bitcoin", "categories", "changelog", @@ -333,7 +334,6 @@ public class IndexV1UpdaterTest extends FDroidProviderTest { "translation", "tvBanner", "tvScreenshots", - "upstreamVersionCode", "video", "wearScreenshots", "webSite", From 10808e2feaa9fbd4e4fc695c50fb061a2348d2d9 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Jan 2020 16:59:21 +0100 Subject: [PATCH 6/8] rename App.upstreamVersionName to suggestedVersionName #1063 --- .../main/java/org/fdroid/fdroid/data/App.java | 17 +++++++++++------ .../java/org/fdroid/fdroid/data/DBHelper.java | 2 +- .../fdroid/data/InstalledAppProvider.java | 2 +- .../org/fdroid/fdroid/data/RepoXMLHandler.java | 2 +- .../java/org/fdroid/fdroid/data/Schema.java | 6 +++--- .../fdroid/data/InstalledAppProviderTest.java | 6 +++--- 6 files changed, 20 insertions(+), 15 deletions(-) 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 10e9ba526..8dd8e6765 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -162,7 +162,12 @@ public class App extends ValueObject implements Comparable, Parcelable { public String liberapayID; - public String upstreamVersionName; + /** + * This matches {@code CurrentVersion} in build metadata files. + * + * @see CurrentVersion + */ + public String suggestedVersionName; /** * The index-v1 metadata uses the term `suggestedVersionCode` but we need that @@ -315,8 +320,8 @@ public class App extends ValueObject implements Comparable, Parcelable { case Cols.UPSTREAM_VERSION_CODE: upstreamVersionCode = cursor.getInt(i); break; - case Cols.UPSTREAM_VERSION_NAME: - upstreamVersionName = cursor.getString(i); + case Cols.SUGGESTED_VERSION_NAME: + suggestedVersionName = cursor.getString(i); break; case Cols.ADDED: added = Utils.parseDate(cursor.getString(i), null); @@ -960,7 +965,7 @@ public class App extends ValueObject implements Comparable, Parcelable { values.put(Cols.LAST_UPDATED, Utils.formatDate(lastUpdated, "")); values.put(Cols.PREFERRED_SIGNER, preferredSigner); values.put(Cols.AUTO_INSTALL_VERSION_CODE, autoInstallVersionCode); - values.put(Cols.UPSTREAM_VERSION_NAME, upstreamVersionName); + values.put(Cols.SUGGESTED_VERSION_NAME, suggestedVersionName); values.put(Cols.UPSTREAM_VERSION_CODE, upstreamVersionCode); values.put(Cols.ForWriting.Categories.CATEGORIES, Utils.serializeCommaSeparatedString(categories)); values.put(Cols.ANTI_FEATURES, Utils.serializeCommaSeparatedString(antiFeatures)); @@ -1186,7 +1191,7 @@ public class App extends ValueObject implements Comparable, Parcelable { dest.writeString(this.flattrID); dest.writeString(this.liberapayID); dest.writeString(this.preferredSigner); - dest.writeString(this.upstreamVersionName); + dest.writeString(this.suggestedVersionName); dest.writeInt(this.upstreamVersionCode); dest.writeString(this.autoInstallVersionName); dest.writeInt(this.autoInstallVersionCode); @@ -1237,7 +1242,7 @@ public class App extends ValueObject implements Comparable, Parcelable { this.flattrID = in.readString(); this.liberapayID = in.readString(); this.preferredSigner = in.readString(); - this.upstreamVersionName = in.readString(); + this.suggestedVersionName = in.readString(); this.upstreamVersionCode = in.readInt(); this.autoInstallVersionName = in.readString(); this.autoInstallVersionCode = in.readInt(); 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 f90795006..783787e5e 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java @@ -148,7 +148,7 @@ public class DBHelper extends SQLiteOpenHelper { + AppMetadataTable.Cols.CHANGELOG + " text, " + AppMetadataTable.Cols.PREFERRED_SIGNER + " text," + AppMetadataTable.Cols.AUTO_INSTALL_VERSION_CODE + " text," - + AppMetadataTable.Cols.UPSTREAM_VERSION_NAME + " text," + + AppMetadataTable.Cols.SUGGESTED_VERSION_NAME + " text," + AppMetadataTable.Cols.UPSTREAM_VERSION_CODE + " integer," + AppMetadataTable.Cols.ANTI_FEATURES + " string," + AppMetadataTable.Cols.DONATE + " string," diff --git a/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java b/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java index 5790a3117..4af811869 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java @@ -275,7 +275,7 @@ public class InstalledAppProvider extends FDroidProvider { query.addField(Cols._ID); query.appendField(Cols.APPLICATION_LABEL, null, Schema.AppMetadataTable.Cols.NAME); query.appendField(Cols.VERSION_CODE, null, AppMetadataTable.Cols.UPSTREAM_VERSION_CODE); - query.appendField(Cols.VERSION_NAME, null, AppMetadataTable.Cols.UPSTREAM_VERSION_NAME); + query.appendField(Cols.VERSION_NAME, null, AppMetadataTable.Cols.SUGGESTED_VERSION_NAME); query.appendField(PackageTable.Cols.PACKAGE_NAME, PackageTable.NAME, AppMetadataTable.Cols.Package.PACKAGE_NAME); break; diff --git a/app/src/main/java/org/fdroid/fdroid/data/RepoXMLHandler.java b/app/src/main/java/org/fdroid/fdroid/data/RepoXMLHandler.java index a4483e730..a41d69285 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/RepoXMLHandler.java +++ b/app/src/main/java/org/fdroid/fdroid/data/RepoXMLHandler.java @@ -269,7 +269,7 @@ public class RepoXMLHandler extends DefaultHandler { curapp.lastUpdated = Utils.parseDate(str, null); break; case "marketversion": - curapp.upstreamVersionName = str; + curapp.suggestedVersionName = str; break; case "marketvercode": curapp.upstreamVersionCode = Utils.parseInt(str, -1); 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 b96099937..fbad52881 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/Schema.java +++ b/app/src/main/java/org/fdroid/fdroid/data/Schema.java @@ -192,7 +192,7 @@ public interface Schema { String LIBERAPAY_ID = "liberapayID"; String PREFERRED_SIGNER = "preferredSigner"; String AUTO_INSTALL_VERSION_CODE = "suggestedVercode"; // name mismatch from issue #1063 - String UPSTREAM_VERSION_NAME = "upstreamVersion"; + String SUGGESTED_VERSION_NAME = "upstreamVersion"; // name mismatch from issue #1063 String UPSTREAM_VERSION_CODE = "upstreamVercode"; String ADDED = "added"; String LAST_UPDATED = "lastUpdated"; @@ -244,7 +244,7 @@ public interface Schema { ROW_ID, PACKAGE_ID, REPO_ID, IS_COMPATIBLE, NAME, SUMMARY, ICON, DESCRIPTION, WHATSNEW, LICENSE, AUTHOR_NAME, AUTHOR_EMAIL, WEBSITE, ISSUE_TRACKER, SOURCE_CODE, TRANSLATION, VIDEO, CHANGELOG, DONATE, BITCOIN, LITECOIN, FLATTR_ID, LIBERAPAY_ID, - UPSTREAM_VERSION_NAME, UPSTREAM_VERSION_CODE, ADDED, LAST_UPDATED, + SUGGESTED_VERSION_NAME, UPSTREAM_VERSION_CODE, ADDED, LAST_UPDATED, ANTI_FEATURES, REQUIREMENTS, ICON_URL, FEATURE_GRAPHIC, PROMO_GRAPHIC, TV_BANNER, PHONE_SCREENSHOTS, SEVEN_INCH_SCREENSHOTS, TEN_INCH_SCREENSHOTS, TV_SCREENSHOTS, WEAR_SCREENSHOTS, @@ -261,7 +261,7 @@ public interface Schema { _ID, ROW_ID, REPO_ID, IS_COMPATIBLE, NAME, SUMMARY, ICON, DESCRIPTION, WHATSNEW, LICENSE, AUTHOR_NAME, AUTHOR_EMAIL, WEBSITE, ISSUE_TRACKER, SOURCE_CODE, TRANSLATION, VIDEO, CHANGELOG, DONATE, BITCOIN, LITECOIN, FLATTR_ID, LIBERAPAY_ID, - UPSTREAM_VERSION_NAME, UPSTREAM_VERSION_CODE, ADDED, LAST_UPDATED, + SUGGESTED_VERSION_NAME, UPSTREAM_VERSION_CODE, ADDED, LAST_UPDATED, ANTI_FEATURES, REQUIREMENTS, ICON_URL, FEATURE_GRAPHIC, PROMO_GRAPHIC, TV_BANNER, PHONE_SCREENSHOTS, SEVEN_INCH_SCREENSHOTS, TEN_INCH_SCREENSHOTS, TV_SCREENSHOTS, WEAR_SCREENSHOTS, diff --git a/app/src/test/java/org/fdroid/fdroid/data/InstalledAppProviderTest.java b/app/src/test/java/org/fdroid/fdroid/data/InstalledAppProviderTest.java index 5eaee3f27..d607833b5 100644 --- a/app/src/test/java/org/fdroid/fdroid/data/InstalledAppProviderTest.java +++ b/app/src/test/java/org/fdroid/fdroid/data/InstalledAppProviderTest.java @@ -94,13 +94,13 @@ public class InstalledAppProviderTest extends FDroidProviderTest { apps = InstalledAppProvider.Helper.all(context); assertEquals(3, apps.length); assertEquals(packageName0, apps[0].packageName); - assertEquals("v0", apps[0].upstreamVersionName); + assertEquals("v0", apps[0].suggestedVersionName); assertEquals(0, apps[0].upstreamVersionCode); assertEquals(packageName1, apps[1].packageName); - assertEquals("v1", apps[1].upstreamVersionName); + assertEquals("v1", apps[1].suggestedVersionName); assertEquals(1, apps[1].upstreamVersionCode); assertEquals(packageName2, apps[2].packageName); - assertEquals("v2", apps[2].upstreamVersionName); + assertEquals("v2", apps[2].suggestedVersionName); assertEquals(2, apps[2].upstreamVersionCode); assertNotEquals(packageName0, apps[2].packageName); } From 765f6b840fd88d4ed4c0e94eab7b37e28378ad9e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Jan 2020 17:06:58 +0100 Subject: [PATCH 7/8] rename App.upstreamVersionCode to suggestedVersionCode #1063 --- .../main/java/org/fdroid/fdroid/data/App.java | 19 ++++++++----------- .../org/fdroid/fdroid/data/AppProvider.java | 8 ++++---- .../java/org/fdroid/fdroid/data/DBHelper.java | 2 +- .../fdroid/data/InstalledAppProvider.java | 2 +- .../fdroid/fdroid/data/RepoXMLHandler.java | 2 +- .../java/org/fdroid/fdroid/data/Schema.java | 6 +++--- .../fdroid/fdroid/data/TempAppProvider.java | 2 +- .../java/org/fdroid/fdroid/TestUtils.java | 8 ++++---- .../fdroid/data/InstalledAppProviderTest.java | 6 +++--- .../fdroid/data/SuggestedVersionTest.java | 16 ++++++++-------- 10 files changed, 34 insertions(+), 37 deletions(-) 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 8dd8e6765..ed6288c23 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -170,14 +170,11 @@ public class App extends ValueObject implements Comparable, Parcelable { public String suggestedVersionName; /** - * The index-v1 metadata uses the term `suggestedVersionCode` but we need that - * value to end up in the `upstreamVersionCode` property here. These variables - * need to be renamed across the whole F-Droid ecosystem to make sense. + * This matches {@code CurrentVersionCode} in build metadata files. * - * @see issue #1063 + * @see CurrentVersionCode */ - @JsonProperty("suggestedVersionCode") - public int upstreamVersionCode; + public int suggestedVersionCode; /** * Unlike other public fields, this is only accessible via a getter, to @@ -317,8 +314,8 @@ public class App extends ValueObject implements Comparable, Parcelable { case Cols.AUTO_INSTALL_VERSION_CODE: autoInstallVersionCode = cursor.getInt(i); break; - case Cols.UPSTREAM_VERSION_CODE: - upstreamVersionCode = cursor.getInt(i); + case Cols.SUGGESTED_VERSION_CODE: + suggestedVersionCode = cursor.getInt(i); break; case Cols.SUGGESTED_VERSION_NAME: suggestedVersionName = cursor.getString(i); @@ -966,7 +963,7 @@ public class App extends ValueObject implements Comparable, Parcelable { values.put(Cols.PREFERRED_SIGNER, preferredSigner); values.put(Cols.AUTO_INSTALL_VERSION_CODE, autoInstallVersionCode); values.put(Cols.SUGGESTED_VERSION_NAME, suggestedVersionName); - values.put(Cols.UPSTREAM_VERSION_CODE, upstreamVersionCode); + values.put(Cols.SUGGESTED_VERSION_CODE, suggestedVersionCode); values.put(Cols.ForWriting.Categories.CATEGORIES, Utils.serializeCommaSeparatedString(categories)); values.put(Cols.ANTI_FEATURES, Utils.serializeCommaSeparatedString(antiFeatures)); values.put(Cols.REQUIREMENTS, Utils.serializeCommaSeparatedString(requirements)); @@ -1192,7 +1189,7 @@ public class App extends ValueObject implements Comparable, Parcelable { dest.writeString(this.liberapayID); dest.writeString(this.preferredSigner); dest.writeString(this.suggestedVersionName); - dest.writeInt(this.upstreamVersionCode); + dest.writeInt(this.suggestedVersionCode); dest.writeString(this.autoInstallVersionName); dest.writeInt(this.autoInstallVersionCode); dest.writeLong(this.added != null ? this.added.getTime() : -1); @@ -1243,7 +1240,7 @@ public class App extends ValueObject implements Comparable, Parcelable { this.liberapayID = in.readString(); this.preferredSigner = in.readString(); this.suggestedVersionName = in.readString(); - this.upstreamVersionCode = in.readInt(); + this.suggestedVersionCode = in.readInt(); this.autoInstallVersionName = in.readString(); this.autoInstallVersionCode = in.readInt(); long tmpAdded = in.readLong(); 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 40765ec7f..7cd30f4f9 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java @@ -1098,7 +1098,7 @@ public class AppProvider extends FDroidProvider { final String installed = InstalledAppTable.NAME; final boolean unstableUpdates = Preferences.get().getUnstableUpdates(); - String restrictToStable = unstableUpdates ? "" : (apk + "." + ApkTable.Cols.VERSION_CODE + " <= " + app + "." + Cols.UPSTREAM_VERSION_CODE + " AND "); + String restrictToStable = unstableUpdates ? "" : (apk + "." + ApkTable.Cols.VERSION_CODE + " <= " + app + "." + Cols.SUGGESTED_VERSION_CODE + " AND "); String restrictToApp = ""; String[] args = null; @@ -1133,7 +1133,7 @@ public class AppProvider extends FDroidProvider { apk + "." + ApkTable.Cols.SIGNATURE + " IS COALESCE(" + installed + "." + InstalledAppTable.Cols.SIGNATURE + ", " + apk + "." + ApkTable.Cols.SIGNATURE + ") AND " + restrictToStable + " ( " + app + "." + Cols.IS_COMPATIBLE + " = 0 OR " + apk + "." + Cols.IS_COMPATIBLE + " = 1 ) ) " + - " WHERE " + Cols.UPSTREAM_VERSION_CODE + " > 0 " + restrictToApp; + " WHERE " + Cols.SUGGESTED_VERSION_CODE + " > 0 " + restrictToApp; LoggingQuery.execSQL(db(), updateSql, args); } @@ -1159,12 +1159,12 @@ public class AppProvider extends FDroidProvider { final String[] args; if (packageName == null) { - restrictToApps = " COALESCE(" + Cols.UPSTREAM_VERSION_CODE + ", 0) = 0 OR " + Cols.AUTO_INSTALL_VERSION_CODE + " IS NULL "; + restrictToApps = " COALESCE(" + Cols.SUGGESTED_VERSION_CODE + ", 0) = 0 OR " + Cols.AUTO_INSTALL_VERSION_CODE + " IS NULL "; args = null; } else { // Don't update an app with an upstream version code, because that would have been updated // by updateSuggestedFromUpdate(packageName). - restrictToApps = " COALESCE(" + Cols.UPSTREAM_VERSION_CODE + ", 0) = 0 AND " + app + "." + Cols.PACKAGE_ID + " = (" + getPackageIdFromPackageNameQuery() + ") "; + restrictToApps = " COALESCE(" + Cols.SUGGESTED_VERSION_CODE + ", 0) = 0 AND " + app + "." + Cols.PACKAGE_ID + " = (" + getPackageIdFromPackageNameQuery() + ") "; args = new String[]{packageName}; } 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 783787e5e..1da49a6e5 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java @@ -149,7 +149,7 @@ public class DBHelper extends SQLiteOpenHelper { + AppMetadataTable.Cols.PREFERRED_SIGNER + " text," + AppMetadataTable.Cols.AUTO_INSTALL_VERSION_CODE + " text," + AppMetadataTable.Cols.SUGGESTED_VERSION_NAME + " text," - + AppMetadataTable.Cols.UPSTREAM_VERSION_CODE + " integer," + + AppMetadataTable.Cols.SUGGESTED_VERSION_CODE + " integer," + AppMetadataTable.Cols.ANTI_FEATURES + " string," + AppMetadataTable.Cols.DONATE + " string," + AppMetadataTable.Cols.BITCOIN + " string," diff --git a/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java b/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java index 4af811869..b60491eb0 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java @@ -274,7 +274,7 @@ public class InstalledAppProvider extends FDroidProvider { query = new QueryBuilder(); query.addField(Cols._ID); query.appendField(Cols.APPLICATION_LABEL, null, Schema.AppMetadataTable.Cols.NAME); - query.appendField(Cols.VERSION_CODE, null, AppMetadataTable.Cols.UPSTREAM_VERSION_CODE); + query.appendField(Cols.VERSION_CODE, null, AppMetadataTable.Cols.SUGGESTED_VERSION_CODE); query.appendField(Cols.VERSION_NAME, null, AppMetadataTable.Cols.SUGGESTED_VERSION_NAME); query.appendField(PackageTable.Cols.PACKAGE_NAME, PackageTable.NAME, AppMetadataTable.Cols.Package.PACKAGE_NAME); diff --git a/app/src/main/java/org/fdroid/fdroid/data/RepoXMLHandler.java b/app/src/main/java/org/fdroid/fdroid/data/RepoXMLHandler.java index a41d69285..a70a00cbc 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/RepoXMLHandler.java +++ b/app/src/main/java/org/fdroid/fdroid/data/RepoXMLHandler.java @@ -272,7 +272,7 @@ public class RepoXMLHandler extends DefaultHandler { curapp.suggestedVersionName = str; break; case "marketvercode": - curapp.upstreamVersionCode = Utils.parseInt(str, -1); + curapp.suggestedVersionCode = Utils.parseInt(str, -1); break; case "categories": curapp.categories = Utils.parseCommaSeparatedString(str); 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 fbad52881..b11a4ff13 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/Schema.java +++ b/app/src/main/java/org/fdroid/fdroid/data/Schema.java @@ -193,7 +193,7 @@ public interface Schema { String PREFERRED_SIGNER = "preferredSigner"; String AUTO_INSTALL_VERSION_CODE = "suggestedVercode"; // name mismatch from issue #1063 String SUGGESTED_VERSION_NAME = "upstreamVersion"; // name mismatch from issue #1063 - String UPSTREAM_VERSION_CODE = "upstreamVercode"; + String SUGGESTED_VERSION_CODE = "upstreamVercode"; // name mismatch from issue #1063 String ADDED = "added"; String LAST_UPDATED = "lastUpdated"; String ANTI_FEATURES = "antiFeatures"; @@ -244,7 +244,7 @@ public interface Schema { ROW_ID, PACKAGE_ID, REPO_ID, IS_COMPATIBLE, NAME, SUMMARY, ICON, DESCRIPTION, WHATSNEW, LICENSE, AUTHOR_NAME, AUTHOR_EMAIL, WEBSITE, ISSUE_TRACKER, SOURCE_CODE, TRANSLATION, VIDEO, CHANGELOG, DONATE, BITCOIN, LITECOIN, FLATTR_ID, LIBERAPAY_ID, - SUGGESTED_VERSION_NAME, UPSTREAM_VERSION_CODE, ADDED, LAST_UPDATED, + SUGGESTED_VERSION_NAME, SUGGESTED_VERSION_CODE, ADDED, LAST_UPDATED, ANTI_FEATURES, REQUIREMENTS, ICON_URL, FEATURE_GRAPHIC, PROMO_GRAPHIC, TV_BANNER, PHONE_SCREENSHOTS, SEVEN_INCH_SCREENSHOTS, TEN_INCH_SCREENSHOTS, TV_SCREENSHOTS, WEAR_SCREENSHOTS, @@ -261,7 +261,7 @@ public interface Schema { _ID, ROW_ID, REPO_ID, IS_COMPATIBLE, NAME, SUMMARY, ICON, DESCRIPTION, WHATSNEW, LICENSE, AUTHOR_NAME, AUTHOR_EMAIL, WEBSITE, ISSUE_TRACKER, SOURCE_CODE, TRANSLATION, VIDEO, CHANGELOG, DONATE, BITCOIN, LITECOIN, FLATTR_ID, LIBERAPAY_ID, - SUGGESTED_VERSION_NAME, UPSTREAM_VERSION_CODE, ADDED, LAST_UPDATED, + SUGGESTED_VERSION_NAME, SUGGESTED_VERSION_CODE, ADDED, LAST_UPDATED, ANTI_FEATURES, REQUIREMENTS, ICON_URL, FEATURE_GRAPHIC, PROMO_GRAPHIC, TV_BANNER, PHONE_SCREENSHOTS, SEVEN_INCH_SCREENSHOTS, TEN_INCH_SCREENSHOTS, TV_SCREENSHOTS, WEAR_SCREENSHOTS, 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 12bb497e0..aa7a91719 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java @@ -199,7 +199,7 @@ public class TempAppProvider extends AppProvider { db.execSQL(copyData(CatJoinTable.Cols.ALL_COLS, mainCat, tempCat, null)); db.execSQL("CREATE INDEX IF NOT EXISTS " + DB + ".app_id ON " + getTableName() + " (" + Cols.PACKAGE_ID + ");"); - db.execSQL("CREATE INDEX IF NOT EXISTS " + DB + ".app_upstreamVercode ON " + getTableName() + " (" + Cols.UPSTREAM_VERSION_CODE + ");"); + db.execSQL("CREATE INDEX IF NOT EXISTS " + DB + ".app_upstreamVercode ON " + getTableName() + " (" + Cols.SUGGESTED_VERSION_CODE + ");"); db.execSQL("CREATE INDEX IF NOT EXISTS " + DB + ".app_compatible ON " + getTableName() + " (" + Cols.IS_COMPATIBLE + ");"); } diff --git a/app/src/test/java/org/fdroid/fdroid/TestUtils.java b/app/src/test/java/org/fdroid/fdroid/TestUtils.java index dee0ec9c5..64d90a626 100644 --- a/app/src/test/java/org/fdroid/fdroid/TestUtils.java +++ b/app/src/test/java/org/fdroid/fdroid/TestUtils.java @@ -94,17 +94,17 @@ public class TestUtils { return ApkProvider.Helper.findByUri(context, uri, Schema.ApkTable.Cols.ALL); } - public static App insertApp(Context context, String packageName, String appName, int upstreamVersionCode, + public static App insertApp(Context context, String packageName, String appName, int suggestedVersionCode, String repoUrl, String preferredSigner) { Repo repo = ensureRepo(context, repoUrl); - return insertApp(context, packageName, appName, upstreamVersionCode, repo, preferredSigner); + return insertApp(context, packageName, appName, suggestedVersionCode, repo, preferredSigner); } - public static App insertApp(Context context, String packageName, String appName, int upstreamVersionCode, + public static App insertApp(Context context, String packageName, String appName, int suggestedVersionCode, Repo repo, String preferredSigner) { ContentValues values = new ContentValues(); values.put(Schema.AppMetadataTable.Cols.REPO_ID, repo.getId()); - values.put(Schema.AppMetadataTable.Cols.UPSTREAM_VERSION_CODE, upstreamVersionCode); + values.put(Schema.AppMetadataTable.Cols.SUGGESTED_VERSION_CODE, suggestedVersionCode); values.put(Schema.AppMetadataTable.Cols.PREFERRED_SIGNER, preferredSigner); return Assert.insertApp(context, packageName, appName, values); } diff --git a/app/src/test/java/org/fdroid/fdroid/data/InstalledAppProviderTest.java b/app/src/test/java/org/fdroid/fdroid/data/InstalledAppProviderTest.java index d607833b5..920629872 100644 --- a/app/src/test/java/org/fdroid/fdroid/data/InstalledAppProviderTest.java +++ b/app/src/test/java/org/fdroid/fdroid/data/InstalledAppProviderTest.java @@ -95,13 +95,13 @@ public class InstalledAppProviderTest extends FDroidProviderTest { assertEquals(3, apps.length); assertEquals(packageName0, apps[0].packageName); assertEquals("v0", apps[0].suggestedVersionName); - assertEquals(0, apps[0].upstreamVersionCode); + assertEquals(0, apps[0].suggestedVersionCode); assertEquals(packageName1, apps[1].packageName); assertEquals("v1", apps[1].suggestedVersionName); - assertEquals(1, apps[1].upstreamVersionCode); + assertEquals(1, apps[1].suggestedVersionCode); assertEquals(packageName2, apps[2].packageName); assertEquals("v2", apps[2].suggestedVersionName); - assertEquals(2, apps[2].upstreamVersionCode); + assertEquals(2, apps[2].suggestedVersionCode); assertNotEquals(packageName0, apps[2].packageName); } diff --git a/app/src/test/java/org/fdroid/fdroid/data/SuggestedVersionTest.java b/app/src/test/java/org/fdroid/fdroid/data/SuggestedVersionTest.java index 027cbd16d..ab8a8c71e 100644 --- a/app/src/test/java/org/fdroid/fdroid/data/SuggestedVersionTest.java +++ b/app/src/test/java/org/fdroid/fdroid/data/SuggestedVersionTest.java @@ -44,7 +44,7 @@ public class SuggestedVersionTest extends FDroidProviderTest { TestUtils.updateDbAfterInserting(context); assertSuggested("single.app", 2); - // By enabling unstable updates, the "upstreamVersionCode" should get ignored, and we should + // By enabling unstable updates, the "suggestedVersionCode" should get ignored, and we should // suggest the latest version (3). Preferences.get().setUnstableUpdates(true); assertSuggested("single.app", 3); @@ -66,7 +66,7 @@ public class SuggestedVersionTest extends FDroidProviderTest { TestUtils.updateDbAfterInserting(context); // Given we aren't installed yet, we don't care which signature. - // Just get as close to upstreamVersionCode as possible. + // Just get as close to suggestedVersionCode as possible. assertSuggested("single.app", 4); // Now install v1 with the f-droid signature. In response, we should only suggest @@ -74,13 +74,13 @@ public class SuggestedVersionTest extends FDroidProviderTest { InstalledAppTestUtils.install(context, "single.app", 1, "v1", TestUtils.FDROID_CERT); assertSuggested("single.app", 3, TestUtils.FDROID_SIG, 1); - // This adds the "upstreamVersionCode" version of the app, but signed by f-droid. + // This adds the "suggestedVersionCode" version of the app, but signed by f-droid. TestUtils.insertApk(context, singleApp, 4, TestUtils.FDROID_SIG); TestUtils.insertApk(context, singleApp, 5, TestUtils.FDROID_SIG); TestUtils.updateDbAfterInserting(context); assertSuggested("single.app", 4, TestUtils.FDROID_SIG, 1); - // Version 5 from F-Droid is not the "upstreamVersionCode", but with beta updates it should + // Version 5 from F-Droid is not the "suggestedVersionCode", but with beta updates it should // still become the suggested version now. Preferences.get().setUnstableUpdates(true); assertSuggested("single.app", 5, TestUtils.FDROID_SIG, 1); @@ -111,7 +111,7 @@ public class SuggestedVersionTest extends FDroidProviderTest { TestUtils.updateDbAfterInserting(context); // Given we aren't installed yet, we don't care which signature or even which repo. - // Just get as close to upstreamVersionCode as possible. + // Just get as close to suggestedVersionCode as possible. assertSuggested("single.app", 4); // Now install v1 with the f-droid signature. In response, we should only suggest @@ -119,7 +119,7 @@ public class SuggestedVersionTest extends FDroidProviderTest { InstalledAppTestUtils.install(context, "single.app", 1, "v1", TestUtils.FDROID_CERT); assertSuggested("single.app", 3, TestUtils.FDROID_SIG, 1); - // This adds the "upstreamVersionCode" version of the app, but signed by f-droid. + // This adds the "suggestedVersionCode" version of the app, but signed by f-droid. TestUtils.insertApk(context, mainApp, 4, TestUtils.FDROID_SIG); TestUtils.insertApk(context, mainApp, 5, TestUtils.FDROID_SIG); TestUtils.updateDbAfterInserting(context); @@ -131,7 +131,7 @@ public class SuggestedVersionTest extends FDroidProviderTest { InstalledAppTestUtils.install(context, "single.app", 3, "v3", TestUtils.THIRD_PARTY_CERT); assertSuggested("single.app", 4, TestUtils.THIRD_PARTY_SIG, 3); - // Version 6 from the 3rd party repo is not the "upstreamVersionCode", but with beta updates + // Version 6 from the 3rd party repo is not the "suggestedVersionCode", but with beta updates // it should still become the suggested version now. Preferences.get().setUnstableUpdates(true); assertSuggested("single.app", 6, TestUtils.THIRD_PARTY_SIG, 3); @@ -144,7 +144,7 @@ public class SuggestedVersionTest extends FDroidProviderTest { */ @Test public void dontSuggestUpstreamVersions() { - // By setting the "upstreamVersionCode" to 0, we are letting F-Droid choose the highest compatible version. + // By setting the "suggestedVersionCode" to 0, we are letting F-Droid choose the highest compatible version. App mainApp = TestUtils.insertApp(context, "single.app", "Single App (Main repo)", 0, "https://main.repo", TestUtils.UPSTREAM_SIG); From 3f64fd4930448bfba8a560cadf2895eed20798ae Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Jan 2020 17:18:28 +0100 Subject: [PATCH 8/8] init suggestedVersionCode to Integer.MIN_VALUE Java inits ints to 0. Since it is valid to have a negative Version Code, versionCodes are inited to Integer.MIN_VALUE; https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html closes #1063 --- app/src/main/java/org/fdroid/fdroid/data/App.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 ed6288c23..8086a7124 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -170,11 +170,13 @@ public class App extends ValueObject implements Comparable, Parcelable { public String suggestedVersionName; /** - * This matches {@code CurrentVersionCode} in build metadata files. + * This matches {@code CurrentVersionCode} in build metadata files. Java + * inits {@code int}s to 0. Since it is valid to have a negative Version + * Code, this is inited to {@link Integer#MIN_VALUE}; * * @see CurrentVersionCode */ - public int suggestedVersionCode; + public int suggestedVersionCode = Integer.MIN_VALUE; /** * Unlike other public fields, this is only accessible via a getter, to @@ -187,6 +189,7 @@ public class App extends ValueObject implements Comparable, Parcelable { /** * The version that will be automatically installed if the user does not * choose a specific version. + * TODO this should probably be converted to init to {@link Integer#MIN_VALUE} like {@link #suggestedVersionCode} */ public int autoInstallVersionCode;