diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java index f80c589eac6b5dffdd97a5c8d24585ac4e779f65..92793a3626755ce3bec525f126e1c3315a146f27 100755 --- a/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java +++ b/app/src/main/java/ohi/andre/consolelauncher/managers/AppsManager.java @@ -276,26 +276,30 @@ public class AppsManager { } private String getNewLabel(String oldLabel, String packageName) { - int firstDot = packageName.indexOf(".") + 1; - int secondDot = packageName.substring(firstDot).indexOf(".") + firstDot; - - StringBuilder newLabel = new StringBuilder(); - if (firstDot == -1) { - newLabel.append(packageName); - newLabel.append(" "); - newLabel.append(oldLabel); - } else if (secondDot == -1) { - newLabel.append(packageName.substring(firstDot, packageName.length())); - newLabel.append(" "); - newLabel.append(oldLabel); - } else { - newLabel.append(packageName.substring(firstDot, secondDot)); - newLabel.append(" "); - newLabel.append(oldLabel); - } + try { + int firstDot = packageName.indexOf(".") + 1; + int secondDot = packageName.substring(firstDot).indexOf(".") + firstDot; + + StringBuilder newLabel = new StringBuilder(); + if (firstDot == -1) { + newLabel.append(packageName); + newLabel.append(Tuils.SPACE); + newLabel.append(oldLabel); + } else if (secondDot == -1) { + newLabel.append(packageName.substring(firstDot, packageName.length())); + newLabel.append(Tuils.SPACE); + newLabel.append(oldLabel); + } else { + newLabel.append(packageName.substring(firstDot, secondDot)); + newLabel.append(Tuils.SPACE); + newLabel.append(oldLabel); + } - String label = newLabel.toString(); - return label.substring(0, 1).toUpperCase() + label.substring(1); + String label = newLabel.toString(); + return label.substring(0, 1).toUpperCase() + label.substring(1); + } catch (IndexOutOfBoundsException e) { + return packageName; + } } public void unregisterReceiver(Context context) {