From 45ab80bb2947de5e3a91d14515070d4d1397bdf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 30 Apr 2015 20:51:19 +0200 Subject: [PATCH] Make CommaSeparatedList.make() also take String[] --- .../src/org/fdroid/fdroid/UpdateService.java | 6 +++--- F-Droid/src/org/fdroid/fdroid/Utils.java | 13 +++++++++++++ F-Droid/src/org/fdroid/fdroid/data/App.java | 17 ++++------------- .../src/org/fdroid/fdroid/data/AppProvider.java | 4 ++-- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/F-Droid/src/org/fdroid/fdroid/UpdateService.java b/F-Droid/src/org/fdroid/fdroid/UpdateService.java index 65bf627df..8b36429dc 100644 --- a/F-Droid/src/org/fdroid/fdroid/UpdateService.java +++ b/F-Droid/src/org/fdroid/fdroid/UpdateService.java @@ -480,9 +480,9 @@ public class UpdateService extends IntentService implements ProgressListener { * in order to see if, and why an apk is not compatible. */ private static void calcApkCompatibilityFlags(Context context, List apks) { - CompatibilityChecker checker = new CompatibilityChecker(context); - for (Apk apk : apks) { - List reasons = checker.getIncompatibleReasons(apk); + final CompatibilityChecker checker = new CompatibilityChecker(context); + for (final Apk apk : apks) { + final List reasons = checker.getIncompatibleReasons(apk); if (reasons.size() > 0) { apk.compatible = false; apk.incompatible_reasons = Utils.CommaSeparatedList.make(reasons); diff --git a/F-Droid/src/org/fdroid/fdroid/Utils.java b/F-Droid/src/org/fdroid/fdroid/Utils.java index a85c9ce0c..9ef05446b 100644 --- a/F-Droid/src/org/fdroid/fdroid/Utils.java +++ b/F-Droid/src/org/fdroid/fdroid/Utils.java @@ -430,6 +430,19 @@ public final class Utils { return new CommaSeparatedList(sb.toString()); } + public static CommaSeparatedList make(String[] list) { + if (list == null || list.length == 0) + return null; + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < list.length; i++) { + if (i > 0) { + sb.append(','); + } + sb.append(list[i]); + } + return new CommaSeparatedList(sb.toString()); + } + public static CommaSeparatedList make(String list) { if (list == null || list.length() == 0) return null; diff --git a/F-Droid/src/org/fdroid/fdroid/data/App.java b/F-Droid/src/org/fdroid/fdroid/data/App.java index 93be6b3cc..2ed4f3f87 100644 --- a/F-Droid/src/org/fdroid/fdroid/data/App.java +++ b/F-Droid/src/org/fdroid/fdroid/data/App.java @@ -262,27 +262,18 @@ public class App extends ValueObject implements Comparable { apk.minSdkVersion = Utils.getMinSdkVersion(context, packageName); apk.id = this.id; apk.installedFile = apkFile; - if (packageInfo.requestedPermissions == null) - apk.permissions = null; - else - apk.permissions = Utils.CommaSeparatedList.make( - Arrays.asList(packageInfo.requestedPermissions)); + apk.permissions = Utils.CommaSeparatedList.make(packageInfo.requestedPermissions); apk.apkName = apk.id + "_" + apk.vercode + ".apk"; final FeatureInfo[] features = packageInfo.reqFeatures; - if (features != null && features.length > 0) { - final List featureNames = new ArrayList<>(features.length); - - for (FeatureInfo feature : features) { - featureNames.add(feature.name); + final String[] featureNames = new String[features.length]; + for (int i = 0; i < features.length; i++) { + featureNames[i] = features[i].name; } - apk.features = Utils.CommaSeparatedList.make(featureNames); } - // Signature[] sigs = pkgInfo.signatures; - byte[] rawCertBytes; final JarFile apkJar = new JarFile(apkFile); diff --git a/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java b/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java index 80633d670..7647de731 100644 --- a/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java +++ b/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java @@ -91,8 +91,8 @@ public class AppProvider extends FDroidProvider { final ContentResolver resolver = context.getContentResolver(); final Uri uri = getContentUri(); final String[] projection = { DataColumns.CATEGORIES }; - Cursor cursor = resolver.query(uri, projection, null, null, null); - Set categorySet = new HashSet<>(); + final Cursor cursor = resolver.query(uri, projection, null, null, null); + final Set categorySet = new HashSet<>(); if (cursor != null) { if (cursor.getCount() > 0) { cursor.moveToFirst();