diff options
| -rw-r--r-- | build.gradle | 12 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/LayoutsPreference.java | 18 |
2 files changed, 28 insertions, 2 deletions
diff --git a/build.gradle b/build.gradle index 57beb80..1fe3cf2 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ android { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['srcs'] - res.srcDirs = ['res'] + res.srcDirs = ['res', 'build/generated-resources'] assets.srcDirs = ['assets'] } } @@ -134,6 +134,7 @@ tasks.register('syncTranslations') { tasks.named("preBuild") { dependsOn += "initDebugKeystore" + dependsOn += "copyRawQwertyUS" } tasks.register('initDebugKeystore') { @@ -145,3 +146,12 @@ tasks.register('initDebugKeystore') { } } } + +// latn_qwerty_us is used as a raw resource by the custom layout option. +tasks.register('copyRawQwertyUS') +{ + copy { + from "res/xml/latn_qwerty_us.xml" + into "build/generated-resources/raw" + } +} diff --git a/srcs/juloo.keyboard2/LayoutsPreference.java b/srcs/juloo.keyboard2/LayoutsPreference.java index 313b46f..a9405e6 100644 --- a/srcs/juloo.keyboard2/LayoutsPreference.java +++ b/srcs/juloo.keyboard2/LayoutsPreference.java @@ -151,7 +151,7 @@ public class LayoutsPreference extends ListGroupPreference<LayoutsPreference.Lay callback.select(new SystemLayout()); break; case "custom": - select_custom(callback, ""); + select_custom(callback, read_initial_custom_layout()); break; default: callback.select(new NamedLayout(name)); @@ -203,6 +203,22 @@ public class LayoutsPreference extends ListGroupPreference<LayoutsPreference.Lay select(callback); } + /** The initial text for the custom layout entry box. The qwerty_us layout is + a good default and contains a bit of documentation. */ + String read_initial_custom_layout() + { + try + { + Resources res = getContext().getResources(); + byte[] raw = res.openRawResource(R.raw.latn_qwerty_us).readAllBytes(); + return new String(raw, "UTF-8"); + } + catch (Exception _e) + { + return ""; + } + } + class LayoutsAddButton extends AddButton { public LayoutsAddButton(Context ctx) |
