diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/packages/PackageProcessor.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/packages/PackageProcessor.java index 3fdd9629df..2e6f82aee8 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/packages/PackageProcessor.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/packages/PackageProcessor.java @@ -72,7 +72,8 @@ public class PackageProcessor { public String getPackageID(File path) { // Sometimes, downloading a kmp multiple times results in a filename with a suffix: // " (#).kmp" or "-#.kmp" in the filename, so strip out the number - String filename = path.getName().toLowerCase().replaceAll("(\\s+\\(|-)\\d+\\)?.kmp$", ".kmp"); + String filename = path.getName().toLowerCase().replaceAll( + "\\s*((\\(\\d+\\))|(-\\d+))\\.kmp$", ".kmp"); if(resourceRoot == null) { throw new IllegalStateException("The PackageProcessor has not been initialized!"); diff --git a/android/KMEA/app/src/test/java/com/tavultesoft/kmea/packages/PackageProcessorTest.java b/android/KMEA/app/src/test/java/com/tavultesoft/kmea/packages/PackageProcessorTest.java index 7fcbc8cad2..3969b6f5e7 100644 --- a/android/KMEA/app/src/test/java/com/tavultesoft/kmea/packages/PackageProcessorTest.java +++ b/android/KMEA/app/src/test/java/com/tavultesoft/kmea/packages/PackageProcessorTest.java @@ -245,10 +245,12 @@ public class PackageProcessorTest { Assert.assertEquals(TEST_EN_CUSTOM_MODEL_NAME, PP.getPackageID(TEST_EN_CUSTOM_MODEL_KMP_FILE)); // Test trimming " (#)" from kmp name + Assert.assertEquals("khmer_angkor", PP.getPackageID(new File("khmer_angkor(10).kmp"))); Assert.assertEquals("khmer_angkor", PP.getPackageID(new File("khmer_angkor (10).kmp"))); // Test trimming "-#" from kmp name Assert.assertEquals("khmer_angkor", PP.getPackageID(new File("khmer_angkor-10.kmp"))); + Assert.assertEquals("khmer_angkor", PP.getPackageID(new File("khmer_angkor -10.kmp"))); } @Test