From 815a2cd348e16a5166c9d3ad5c8acfb3ed1cbb90 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Tue, 21 Dec 2021 22:27:56 +0100 Subject: [PATCH] Quick fix for antifeature crash --- .../main/java/org/fdroid/fdroid/Utils.java | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/Utils.java b/app/src/main/java/org/fdroid/fdroid/Utils.java index 5173aa94b..56af645b6 100644 --- a/app/src/main/java/org/fdroid/fdroid/Utils.java +++ b/app/src/main/java/org/fdroid/fdroid/Utils.java @@ -1045,25 +1045,29 @@ public final class Utils { StringBuilder antiFeatureFilter = new StringBuilder(Schema.AppMetadataTable.NAME) .append(".") .append(Schema.AppMetadataTable.Cols.ANTI_FEATURES) - .append(" IS NULL OR ("); + .append(" IS NULL"); - for (int i = 0; i < unwantedAntifeatures.size(); i++) { - String unwantedAntifeature = unwantedAntifeatures.get(i); + if (!unwantedAntifeatures.isEmpty()) { + antiFeatureFilter.append(" OR ("); - if (i > 0) { - antiFeatureFilter.append(" AND "); + for (int i = 0; i < unwantedAntifeatures.size(); i++) { + String unwantedAntifeature = unwantedAntifeatures.get(i); + + if (i > 0) { + antiFeatureFilter.append(" AND "); + } + + antiFeatureFilter.append(Schema.AppMetadataTable.NAME) + .append(".") + .append(Schema.AppMetadataTable.Cols.ANTI_FEATURES) + .append(" NOT LIKE '%") + .append(unwantedAntifeature) + .append("%'"); } - antiFeatureFilter.append(Schema.AppMetadataTable.NAME) - .append(".") - .append(Schema.AppMetadataTable.Cols.ANTI_FEATURES) - .append(" NOT LIKE '%") - .append(unwantedAntifeature) - .append("%'"); + antiFeatureFilter.append(")"); } - antiFeatureFilter.append(")"); - return antiFeatureFilter.toString(); } }