diff options
| -rw-r--r-- | srcs/juloo.keyboard2/prefs/CustomExtraKeysPreference.java | 7 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/prefs/LayoutsPreference.java | 7 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/prefs/ListGroupPreference.java | 13 |
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); } } |
