From 661aebb75fa27941f0d9acc3bcca7605b53ec41a Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 5 Apr 2018 21:58:33 +0200 Subject: [PATCH] properly gather all requested permissions from index-v1.json The permissions from uses-permission and uses-permission-sdk-23 should be combined into a single list of permissions that are being requested for the current SDK version. The previous code was overwriting one or the other, based on the order that Jackson happen to call setRequestedPermissions(). closes #1139 #890 #1394 admin#65 --- app/src/main/java/org/fdroid/fdroid/data/Apk.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/org/fdroid/fdroid/data/Apk.java b/app/src/main/java/org/fdroid/fdroid/data/Apk.java index 77747d289..73b0993fe 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/Apk.java +++ b/app/src/main/java/org/fdroid/fdroid/data/Apk.java @@ -20,6 +20,7 @@ import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.data.Schema.ApkTable.Cols; import java.io.File; +import java.util.Collections; import java.util.Date; import java.util.HashSet; @@ -467,6 +468,9 @@ public class Apk extends ValueObject implements Comparable, Parcelable { private void setRequestedPermissions(Object[][] permissions, int minSdk) { HashSet set = new HashSet<>(); + if (requestedPermissions != null) { + Collections.addAll(set, requestedPermissions); + } for (Object[] versions : permissions) { int maxSdk = Integer.MAX_VALUE; if (versions[1] != null) {