abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Keyboard2.java
diff options
context:
space:
mode:
authorJules Aguillon2023-11-19 19:07:54 +0100
committerJules Aguillon2023-11-19 19:07:54 +0100
commit15de829138b7121fa6ad139782c5f192ecc1a402 (patch)
treee859522ba3ade53d4e35c686b2c6651844e3c38a /srcs/juloo.keyboard2/Keyboard2.java
parentc57d896d8d5fb7264cbc190a5ff8949e00ed8fbc (diff)
downloadunexpected-keyboard-15de829138b7121fa6ad139782c5f192ecc1a402.tar.gz
unexpected-keyboard-15de829138b7121fa6ad139782c5f192ecc1a402.zip
Persist current selected layout
Diffstat (limited to 'srcs/juloo.keyboard2/Keyboard2.java')
-rw-r--r--srcs/juloo.keyboard2/Keyboard2.java21
1 files changed, 10 insertions, 11 deletions
diff --git a/srcs/juloo.keyboard2/Keyboard2.java b/srcs/juloo.keyboard2/Keyboard2.java
index 5720f64..a0766ab 100644
--- a/srcs/juloo.keyboard2/Keyboard2.java
+++ b/srcs/juloo.keyboard2/Keyboard2.java
@@ -29,11 +29,9 @@ public class Keyboard2 extends InputMethodService
{
private Keyboard2View _keyboardView;
private KeyEventHandler _keyeventhandler;
- // If not 'null', the layout to use instead of [_currentTextLayout].
+ /** If not 'null', the layout to use instead of [_config.current_layout]. */
private KeyboardData _currentSpecialLayout;
- /** Current layout index in [Config.layouts]. */
- private int _currentTextLayout;
- // Layout associated with the currently selected locale. Not 'null'.
+ /** Layout associated with the currently selected locale. Not 'null'. */
private KeyboardData _localeTextLayout;
private ViewGroup _emojiPane = null;
public int actionId; // Action performed by the Action key.
@@ -46,10 +44,11 @@ public class Keyboard2 extends InputMethodService
if (_currentSpecialLayout != null)
return _currentSpecialLayout;
KeyboardData layout = null;
- if (_currentTextLayout >= _config.layouts.size())
- _currentTextLayout = 0;
- if (_currentTextLayout < _config.layouts.size())
- layout = _config.layouts.get(_currentTextLayout);
+ int layout_i = _config.current_layout;
+ if (layout_i >= _config.layouts.size())
+ layout_i = 0;
+ if (layout_i < _config.layouts.size())
+ layout = _config.layouts.get(layout_i);
if (layout == null)
layout = _localeTextLayout;
return layout;
@@ -63,9 +62,9 @@ public class Keyboard2 extends InputMethodService
void setTextLayout(int l)
{
- if (l == _currentTextLayout)
+ if (l == _config.current_layout)
return;
- _currentTextLayout = l;
+ _config.set_current_layout(l);
_currentSpecialLayout = null;
_keyboardView.setKeyboard(current_layout());
}
@@ -73,7 +72,7 @@ public class Keyboard2 extends InputMethodService
void incrTextLayout(int delta)
{
int s = _config.layouts.size();
- setTextLayout((_currentTextLayout + delta + s) % s);
+ setTextLayout((_config.current_layout + delta + s) % s);
}
void setSpecialLayout(KeyboardData l)