From b7715b4a885e6c854da585e62d9c3bb9b9db74c8 Mon Sep 17 00:00:00 2001 From: Francesco Andreuzzi <andreuzzi.francesco@gmail.com> Date: Tue, 7 Jun 2016 21:37:05 +0200 Subject: [PATCH] fixed wildcard problem --- .../consolelauncher/managers/FileManager.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java index ff27caa..dae3556 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java @@ -277,13 +277,22 @@ public class FileManager { } public static WildcardInfo wildcard(String path) { - if (path == null || !path.contains(ASTERISK) || path.contains("/")) + if (path == null || !path.contains(ASTERISK) || path.contains(File.separator)) { return null; + } - String beforeDot = path.substring(0, path.lastIndexOf(DOT)); - String afterDot = path.substring(path.lastIndexOf(DOT) + 1); + if(path.trim().equals(ASTERISK)) { + return new WildcardInfo(true); + } - return new WildcardInfo(beforeDot, afterDot); + int dot = path.lastIndexOf(DOT); + try { + String beforeDot = path.substring(0, dot); + String afterDot = path.substring(dot + 1); + return new WildcardInfo(beforeDot, afterDot); + } catch (Exception e) { + return null; + } } public static class DirInfo { @@ -310,5 +319,12 @@ public class FileManager { allNames = name.length() == 0 || name.equals(ASTERISK); allExtensions = extension.length() == 0 || extension.equals(ASTERISK); } + + public WildcardInfo(boolean all) { + if(all) { + this.allExtensions = all; + this.allNames = all; + } + } } } -- GitLab