From a7c9be9b16fdbe4453777511573b19d74073115f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Wed, 17 Jun 2015 20:59:27 +0200 Subject: [PATCH] Don't read empty xml elements from the index This fixes cases where e.g. strings would be "" instead of null. Fixes #285. --- F-Droid/src/org/fdroid/fdroid/RepoXMLHandler.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/F-Droid/src/org/fdroid/fdroid/RepoXMLHandler.java b/F-Droid/src/org/fdroid/fdroid/RepoXMLHandler.java index 3fbd3e63a..6e72d0784 100644 --- a/F-Droid/src/org/fdroid/fdroid/RepoXMLHandler.java +++ b/F-Droid/src/org/fdroid/fdroid/RepoXMLHandler.java @@ -97,6 +97,7 @@ public class RepoXMLHandler extends DefaultHandler { super.endElement(uri, localName, qName); final String curel = localName; final String str = curchars.toString().trim(); + final boolean empty = (str == null || str.length() == 0); if (curel.equals("application") && curapp != null) { apps.add(curapp); @@ -112,7 +113,7 @@ public class RepoXMLHandler extends DefaultHandler { } else if (curel.equals("package") && curapk != null && curapp != null) { apksList.add(curapk); curapk = null; - } else if (curapk != null) { + } else if (!empty && curapk != null) { switch (curel) { case "version": curapk.version = str; @@ -162,7 +163,7 @@ public class RepoXMLHandler extends DefaultHandler { curapk.nativecode = Utils.CommaSeparatedList.make(str); break; } - } else if (curapp != null) { + } else if (!empty && curapp != null) { switch (curel) { case "name": curapp.name = str; @@ -235,7 +236,7 @@ public class RepoXMLHandler extends DefaultHandler { curapp.requirements = Utils.CommaSeparatedList.make(str); break; } - } else if (curel.equals("description")) { + } else if (!empty && curel.equals("description")) { description = cleanWhiteSpace(str); } }