From c549bb39a4a03078972841f702baebaaefb2908c Mon Sep 17 00:00:00 2001 From: Joshua <8Joshua@web.de> Date: Mon, 17 Dec 2018 16:06:41 +0100 Subject: [PATCH] fehler bei anzeigen von Ordnern mit umlauten behoben --- .../services/KVV/ModulesResources.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/ModulesResources.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/ModulesResources.java index 5250ed9..3c7df2c 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/ModulesResources.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/ModulesResources.java @@ -1,6 +1,7 @@ package de.sebse.fuplanner.services.KVV; import android.content.Context; +import android.os.Build; import android.os.Environment; import org.json.JSONArray; @@ -9,6 +10,9 @@ import org.json.JSONObject; import java.io.File; import java.io.FileOutputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import de.sebse.fuplanner.services.KVV.types.Modules; @@ -95,9 +99,17 @@ public class ModulesResources extends PartModules> { } else { // in sub folder for (Resource res2: resources) { - if (res2.getUrl().endsWith(res.getContainer()) && res2 instanceof Resource.Folder) { - // Append File/Folder to list - ((Resource.Folder) res2).add(res); + try { + String utf8Name; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) + utf8Name = StandardCharsets.UTF_8.name(); + else utf8Name = "UTF-8"; + if (URLDecoder.decode(res2.getUrl(), utf8Name).endsWith(res.getContainer()) && res2 instanceof Resource.Folder) { + // Append File/Folder to list + ((Resource.Folder) res2).add(res); + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); } } }