diff options
| author | Jules Aguillon | 2023-12-17 11:56:17 +0100 |
|---|---|---|
| committer | Jules Aguillon | 2023-12-17 11:58:41 +0100 |
| commit | 7af6adcf1132a85bd21339b97fd5fa9c2a731b94 (patch) | |
| tree | bf03c173aa63d19156b72d38615b5b2990389fb1 /srcs/juloo.keyboard2/KeyboardData.java | |
| parent | dd327cc812ccf7c37187294771b011af402b7189 (diff) | |
| download | unexpected-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.java | 13 |
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")) |
