diff options
| author | Jules Aguillon | 2023-08-08 17:58:27 +0200 |
|---|---|---|
| committer | Jules Aguillon | 2023-08-16 12:20:40 +0200 |
| commit | 0269cd65ea57a5046783bcc88243f8f2407952d8 (patch) | |
| tree | 784af928a8fffc5d5f8941cbfc053ca38af15097 /srcs/juloo.keyboard2/LayoutsPreference.java | |
| parent | 20ab3915e8c7628e6e80c6bbb61b9a783b91d425 (diff) | |
| download | unexpected-keyboard-0269cd65ea57a5046783bcc88243f8f2407952d8.tar.gz unexpected-keyboard-0269cd65ea57a5046783bcc88243f8f2407952d8.zip | |
ListGroupPreference: Make items abstract
Allow items to be of any class instead of strings.
Item serialization and deserialization methods are in a separate class
because they are also used in a static context.
Diffstat (limited to 'srcs/juloo.keyboard2/LayoutsPreference.java')
| -rw-r--r-- | srcs/juloo.keyboard2/LayoutsPreference.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/srcs/juloo.keyboard2/LayoutsPreference.java b/srcs/juloo.keyboard2/LayoutsPreference.java index 4ce8dfa..a891ed8 100644 --- a/srcs/juloo.keyboard2/LayoutsPreference.java +++ b/srcs/juloo.keyboard2/LayoutsPreference.java @@ -13,10 +13,12 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -public class LayoutsPreference extends ListGroupPreference +public class LayoutsPreference extends ListGroupPreference<String> { static final String KEY = "layouts"; static final List<String> DEFAULT = Collections.singletonList("system"); + static final ListGroupPreference.Serializer<String> SERIALIZER = + new ListGroupPreference.StringSerializer(); /** Layout names as stored in the preferences. */ List<String> _layout_names; @@ -34,7 +36,7 @@ public class LayoutsPreference extends ListGroupPreference public static List<String> load_from_preferences(SharedPreferences prefs) { - return load_from_preferences(KEY, prefs, DEFAULT); + return load_from_preferences(KEY, prefs, DEFAULT, SERIALIZER); } @Override @@ -67,6 +69,9 @@ public class LayoutsPreference extends ListGroupPreference return (_values.size() > 1); } + @Override + Serializer<String> get_serializer() { return SERIALIZER; } + void select(final SelectionCallback callback) { ArrayAdapter layouts = new ArrayAdapter(getContext(), android.R.layout.simple_list_item_1, _layout_display_names); |
