]> gitweb.fperrin.net Git - DictionaryPC.git/commitdiff
Move code out of loop that had no reason to be in it.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sun, 15 Oct 2017 13:36:19 +0000 (15:36 +0200)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sun, 15 Oct 2017 13:36:19 +0000 (15:36 +0200)
src/com/hughes/android/dictionary/engine/WiktionarySplitter.java

index 0624025387b7f134242de98736ec4082e4915029..28b11bc669f3cbdb146a4a41c4dc2afc802ae2a9 100644 (file)
@@ -209,22 +209,25 @@ public class WiktionarySplitter extends org.xml.sax.helpers.DefaultHandler {
             text = text.substring(startMatcher.end());
 
             final String heading = startMatcher.group();
-            for (final Selector selector : currentSelectors) {
-                if (heading.indexOf("Translingual") != -1) {
-                    // Find end.
-                    final int depth = startMatcher.group(1).length();
-                    final Pattern endPattern = getEndPattern(depth);
 
-                    final Matcher endMatcher = endPattern.matcher(text);
-                    if (endMatcher.find()) {
-                        int end = endMatcher.start();
-                        translingual = text.substring(0, endMatcher.start());
-                        text = text.substring(end);
-                        break;
-                    }
+            // For Translingual entries just store the text for later
+            // use in the per-language sections
+            if (heading.indexOf("Translingual") != -1) {
+                // Find end.
+                final int depth = startMatcher.group(1).length();
+                final Pattern endPattern = getEndPattern(depth);
+
+                final Matcher endMatcher = endPattern.matcher(text);
+                if (endMatcher.find()) {
+                    int end = endMatcher.start();
+                    translingual = text.substring(0, endMatcher.start());
+                    text = text.substring(end);
+                    continue;
                 }
-                if (selector.pattern.matcher(heading).find()) {
+            }
 
+            for (final Selector selector : currentSelectors) {
+                if (selector.pattern.matcher(heading).find()) {
                     // Find end.
                     final int depth = startMatcher.group(1).length();
                     final Pattern endPattern = getEndPattern(depth);