abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/KeyboardData.java
diff options
context:
space:
mode:
authorJules Aguillon2023-12-17 11:56:17 +0100
committerJules Aguillon2023-12-17 11:58:41 +0100
commit7af6adcf1132a85bd21339b97fd5fa9c2a731b94 (patch)
treebf03c173aa63d19156b72d38615b5b2990389fb1 /srcs/juloo.keyboard2/KeyboardData.java
parentdd327cc812ccf7c37187294771b011af402b7189 (diff)
downloadunexpected-keyboard-7af6adcf1132a85bd21339b97fd5fa9c2a731b94.tar.gz
unexpected-keyboard-7af6adcf1132a85bd21339b97fd5fa9c2a731b94.zip
prefs: Report errors while editing custom layouts
Errors are obtained by running the parser, validation is throttle to when the user stops editing for a second.
Diffstat (limited to 'srcs/juloo.keyboard2/KeyboardData.java')
-rw-r--r--srcs/juloo.keyboard2/KeyboardData.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/srcs/juloo.keyboard2/KeyboardData.java b/srcs/juloo.keyboard2/KeyboardData.java
index 8ecd053..9326ad8 100644
--- a/srcs/juloo.keyboard2/KeyboardData.java
+++ b/srcs/juloo.keyboard2/KeyboardData.java
@@ -201,9 +201,7 @@ class KeyboardData
{
try
{
- XmlPullParser parser = Xml.newPullParser();
- parser.setInput(new StringReader(src));
- return parse_keyboard(parser);
+ return load_string_exn(src);
}
catch (Exception e)
{
@@ -211,6 +209,15 @@ class KeyboardData
}
}
+ /** Like [load_string] but throws an exception on error and do not return
+ [null]. */
+ public static KeyboardData load_string_exn(String src) throws Exception
+ {
+ XmlPullParser parser = Xml.newPullParser();
+ parser.setInput(new StringReader(src));
+ return parse_keyboard(parser);
+ }
+
private static KeyboardData parse_keyboard(XmlPullParser parser) throws Exception
{
if (!expect_tag(parser, "keyboard"))