diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-04-01 23:27:28 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-04-01 23:27:28 +0200 |
commit | 0534717f1ed05bbcc8789f8105a77df6823c69e6 (patch) | |
tree | e453ede40d87ba478637eb80b976314804d1302d /src/main/java/de/pixart/messenger/xml | |
parent | 554266bbf63551547c82ada832469eddd59a356e (diff) |
use translated version of subject if available
Diffstat (limited to 'src/main/java/de/pixart/messenger/xml')
-rw-r--r-- | src/main/java/de/pixart/messenger/xml/Element.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/xml/Element.java b/src/main/java/de/pixart/messenger/xml/Element.java index 7ed08a483..13f5125ed 100644 --- a/src/main/java/de/pixart/messenger/xml/Element.java +++ b/src/main/java/de/pixart/messenger/xml/Element.java @@ -1,10 +1,13 @@ package de.pixart.messenger.xml; +import android.support.annotation.NonNull; import android.util.Log; import java.util.ArrayList; +import java.util.HashMap; import java.util.Hashtable; import java.util.List; +import java.util.Locale; import de.pixart.messenger.Config; import de.pixart.messenger.utils.XmlHelper; @@ -67,6 +70,29 @@ public class Element { return element == null ? null : element.getContent(); } + public String findInternationalizedChildContent(String name) { + return findInternationalizedChildContent(name, Locale.getDefault().getLanguage()); + } + + public String findInternationalizedChildContent(String name, @NonNull String language) { + HashMap<String, String> contents = new HashMap<>(); + for (Element child : this.children) { + if (name.equals(child.getName())) { + String lang = child.getAttribute("xml:lang"); + String content = child.getContent(); + if (content != null) { + if (language.equals(lang)) { + return content; + } else { + contents.put(lang, content); + } + } + } + } + + return contents.get(null); + } + public Element findChild(String name, String xmlns) { for (Element child : this.children) { if (name.equals(child.getName()) && xmlns.equals(child.getAttribute("xmlns"))) { |