diff options
| author | satok <satok@google.com> | 2011-04-21 15:35:07 +0900 |
|---|---|---|
| committer | satok <satok@google.com> | 2011-04-21 17:17:32 +0900 |
| commit | 15a0ba6d74feed57124938336f951ae14aa47ad9 (patch) | |
| tree | 38217dd144001cfbf35cb13dd35db4b6a5c50b80 /java/src/com/android/inputmethod/keyboard/KeyboardParser.java | |
| parent | 6d645e13e447632e48fdcdabcf4c3620a33cb268 (diff) | |
Check the availability of layouts for showing the input languages in the settings
Bug: 4316889
Change-Id: I746b3ff79c2a6cd4925fca1817d5b209623b5108
Diffstat (limited to 'java/src/com/android/inputmethod/keyboard/KeyboardParser.java')
| -rw-r--r-- | java/src/com/android/inputmethod/keyboard/KeyboardParser.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java index 9c556c309..69ae7886a 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java @@ -22,6 +22,7 @@ import com.android.inputmethod.latin.R; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; +import android.content.Context; import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.XmlResourceParser; @@ -163,6 +164,27 @@ public class KeyboardParser { } } + public static String parseKeyboardLocale( + Context context, int resId) throws XmlPullParserException, IOException { + final Resources res = context.getResources(); + final XmlResourceParser parser = res.getXml(resId); + if (parser == null) return ""; + int event; + while ((event = parser.next()) != XmlPullParser.END_DOCUMENT) { + if (event == XmlPullParser.START_TAG) { + final String tag = parser.getName(); + if (TAG_KEYBOARD.equals(tag)) { + final TypedArray keyboardAttr = res.obtainAttributes(Xml.asAttributeSet(parser), + R.styleable.Keyboard); + return keyboardAttr.getString(R.styleable.Keyboard_keyboardLocale); + } else { + throw new IllegalStartTag(parser, TAG_KEYBOARD); + } + } + } + return ""; + } + private void parseKeyboardAttributes(XmlResourceParser parser) { final Keyboard keyboard = mKeyboard; final TypedArray keyboardAttr = mResources.obtainAttributes(Xml.asAttributeSet(parser), |
