From af4de1217eca5005b374d04ea67af4e3530daaff Mon Sep 17 00:00:00 2001 From: Tobias_Groza <304016-Tobias_Groza@noreply.gitlab.com> Date: Mon, 2 Sep 2024 20:11:35 +0200 Subject: [PATCH 1/2] Remove unnecessary null check canAndWantToUpdate returns false if suggestedApk is null --- .../org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 1f0965f50..a680edc13 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java +++ b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java @@ -665,7 +665,7 @@ public class AppDetailsRecyclerViewAdapter buttonPrimaryView.setEnabled(true); buttonPrimaryView.setOnClickListener(v -> callbacks.installApk(suggestedApk)); } else if (app.isInstalled(context)) { - if (app.canAndWantToUpdate(suggestedApk) && suggestedApk != null) { + if (app.canAndWantToUpdate(suggestedApk)) { buttonPrimaryView.setText(R.string.menu_upgrade); buttonPrimaryView.setOnClickListener(v -> callbacks.installApk(suggestedApk)); } else { From 83139ed5e62444d2c26de0c115b7954c0346d253 Mon Sep 17 00:00:00 2001 From: Tobias_Groza <304016-Tobias_Groza@noreply.gitlab.com> Date: Mon, 2 Sep 2024 00:59:07 +0200 Subject: [PATCH 2/2] Fix visibility of install/update button when no compatible versions are available This fixes a regression introduced by 73ce4443b04d3a6f7da4cd5af131637deb2ef11b. --- .../fdroid/views/AppDetailsRecyclerViewAdapter.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 a680edc13..480b96e24 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java +++ b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java @@ -646,8 +646,17 @@ public class AppDetailsRecyclerViewAdapter antiFeaturesListingView.setApp(app); updateAntiFeaturesWarning(); + boolean hasCompatibleVersion = false; + for (Apk apk : versions) { + if (apk.compatible) { + hasCompatibleVersion = true; + break; + } + } + boolean showPrimaryButton = hasCompatibleVersion || app.isInstalled(context); + buttonPrimaryView.setText(R.string.menu_install); - buttonPrimaryView.setVisibility(versionsLoading ? View.GONE : View.VISIBLE); + buttonPrimaryView.setVisibility(showPrimaryButton ? View.VISIBLE : View.GONE); buttonSecondaryView.setText(R.string.menu_uninstall); buttonSecondaryView.setVisibility(app.isUninstallable(context) ? View.VISIBLE : View.GONE); buttonSecondaryView.setOnClickListener(v -> callbacks.uninstallApk());