abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2
diff options
context:
space:
mode:
authorJules Aguillon2024-12-08 11:43:40 +0100
committerJules Aguillon2024-12-08 11:43:40 +0100
commit7c85870352c93cc7f73f28c26effc37e4f5bfc9b (patch)
tree59fd7b35dee5af9fa3c9d9549207b02de2cc914a /srcs/juloo.keyboard2
parent2060e6ab07ea1b16b368e2bab2423cfa35fac760 (diff)
downloadunexpected-keyboard-7c85870352c93cc7f73f28c26effc37e4f5bfc9b.tar.gz
unexpected-keyboard-7c85870352c93cc7f73f28c26effc37e4f5bfc9b.zip
Fix empty text box when editing custom extra keys
Diffstat (limited to 'srcs/juloo.keyboard2')
-rw-r--r--srcs/juloo.keyboard2/prefs/CustomExtraKeysPreference.java7
-rw-r--r--srcs/juloo.keyboard2/prefs/LayoutsPreference.java7
-rw-r--r--srcs/juloo.keyboard2/prefs/ListGroupPreference.java13
3 files changed, 12 insertions, 15 deletions
diff --git a/srcs/juloo.keyboard2/prefs/CustomExtraKeysPreference.java b/srcs/juloo.keyboard2/prefs/CustomExtraKeysPreference.java
index fda07ec..6f4cf41 100644
--- a/srcs/juloo.keyboard2/prefs/CustomExtraKeysPreference.java
+++ b/srcs/juloo.keyboard2/prefs/CustomExtraKeysPreference.java
@@ -10,6 +10,7 @@ import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
+import android.widget.TextView;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -48,10 +49,12 @@ public class CustomExtraKeysPreference extends ListGroupPreference<String>
String label_of_value(String value, int i) { return value; }
@Override
- void select(final SelectionCallback<String> callback)
+ void select(final SelectionCallback<String> callback, String old_value)
{
+ View content = View.inflate(getContext(), R.layout.dialog_edit_text, null);
+ ((TextView)content.findViewById(R.id.text)).setText(old_value);
new AlertDialog.Builder(getContext())
- .setView(View.inflate(getContext(), R.layout.dialog_edit_text, null))
+ .setView(content)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which)
{
diff --git a/srcs/juloo.keyboard2/prefs/LayoutsPreference.java b/srcs/juloo.keyboard2/prefs/LayoutsPreference.java
index c1a863f..1798f8d 100644
--- a/srcs/juloo.keyboard2/prefs/LayoutsPreference.java
+++ b/srcs/juloo.keyboard2/prefs/LayoutsPreference.java
@@ -145,8 +145,7 @@ public class LayoutsPreference extends ListGroupPreference<LayoutsPreference.Lay
@Override
ListGroupPreference.Serializer<Layout> get_serializer() { return SERIALIZER; }
- @Override
- void select(final SelectionCallback callback)
+ void select_dialog(final SelectionCallback callback)
{
ArrayAdapter layouts = new ArrayAdapter(getContext(), android.R.layout.simple_list_item_1, _layout_display_names);
new AlertDialog.Builder(getContext())
@@ -207,10 +206,10 @@ public class LayoutsPreference extends ListGroupPreference<LayoutsPreference.Lay
@Override
void select(final SelectionCallback callback, Layout prev_layout)
{
- if (prev_layout instanceof CustomLayout)
+ if (prev_layout != null && prev_layout instanceof CustomLayout)
select_custom(callback, ((CustomLayout)prev_layout).xml);
else
- select(callback);
+ select_dialog(callback);
}
/** The initial text for the custom layout entry box. The qwerty_us layout is
diff --git a/srcs/juloo.keyboard2/prefs/ListGroupPreference.java b/srcs/juloo.keyboard2/prefs/ListGroupPreference.java
index e332764..b91bd82 100644
--- a/srcs/juloo.keyboard2/prefs/ListGroupPreference.java
+++ b/srcs/juloo.keyboard2/prefs/ListGroupPreference.java
@@ -54,14 +54,9 @@ public abstract class ListGroupPreference<E> extends PreferenceGroup
return true;
}
- /** Called when an item is added or modified. */
- abstract void select(SelectionCallback<E> callback);
-
- /** Called when an item is modified. */
- void select(SelectionCallback<E> callback, E _old_value)
- {
- select(callback);
- }
+ /** Called when an item is added or modified. [old_value] is [null] if the
+ item is being added. */
+ abstract void select(SelectionCallback<E> callback, E old_value);
/** A separate class is used as the same serializer must be used in the
static context. See [Serializer] below. */
@@ -261,7 +256,7 @@ public abstract class ListGroupPreference<E> extends PreferenceGroup
}
public boolean allow_remove() { return false; }
- });
+ }, null);
}
}