diff --git a/android-app-core/res/values-ru/text_strings.xml b/android-app-core/res/values-ru/text_strings.xml
index ed37c983..636ad7cc 100644
--- a/android-app-core/res/values-ru/text_strings.xml
+++ b/android-app-core/res/values-ru/text_strings.xml
@@ -327,4 +327,6 @@
Если у вас есть вопросы или проблемы вы всегда можете обратиться ко мне напрямую (конакты доступны в Меню->О
приложении)
+ Показать греческий алфавит
+ Скрыть греческий алфавит
diff --git a/android-app-core/res/values/text_strings.xml b/android-app-core/res/values/text_strings.xml
index a96817d2..8c4b083f 100644
--- a/android-app-core/res/values/text_strings.xml
+++ b/android-app-core/res/values/text_strings.xml
@@ -322,4 +322,6 @@
Yes
No
+ Show Greek letters
+ Hide Greek letters
diff --git a/android-app/res/layout/var_edit.xml b/android-app/res/layout/var_edit.xml
index 06df2ea1..1f3599a4 100644
--- a/android-app/res/layout/var_edit.xml
+++ b/android-app/res/layout/var_edit.xml
@@ -46,68 +46,20 @@
style="@style/cpp_default_text_size"
a:inputType="text"/>
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ a:id="@+id/var_greek_keyboard"
+ a:visibility="gone"
+ a:layout_width="match_parent"
+ a:layout_height="wrap_content"
+ a:orientation="vertical"/>
acceptableChars = Arrays.asList(Strings.toObjects("1234567890abcdefghijklmnopqrstuvwxyzйцукенгшщзхъфывапролджэячсмитьбюёαβγδεζηθικλμνξοπρστυφχψω_".toCharArray()));
+ private final static String greekAlphabet = "αβγδεζηθικλμνξοπρστυφχψω";
+ private final static List acceptableChars = Arrays.asList(Strings.toObjects(("1234567890abcdefghijklmnopqrstuvwxyzйцукенгшщзхъфывапролджэячсмитьбюё_" + greekAlphabet).toCharArray()));
@Nonnull
private final Input input;
@@ -111,7 +110,7 @@ public class VarEditDialogFragment extends DialogFragment implements CalculatorE
public void afterTextChanged(Editable s) {
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
- if (!acceptableChars.contains(c)) {
+ if (!acceptableChars.contains(Character.toLowerCase(c))) {
s.delete(i, i + 1);
Toast.makeText(getActivity(), String.format(errorMsg, c), Toast.LENGTH_SHORT).show();
}
@@ -119,8 +118,7 @@ public class VarEditDialogFragment extends DialogFragment implements CalculatorE
}
});
- processGreekButtons(root, editName, R.id.var_edit_greek_buttons_1);
- processGreekButtons(root, editName, R.id.var_edit_greek_buttons_2);
+ fillGreekKeyboard(root, editName);
// show soft keyboard automatically
editName.requestFocus();
@@ -162,19 +160,66 @@ public class VarEditDialogFragment extends DialogFragment implements CalculatorE
}
}
- private void processGreekButtons(@Nonnull View root, @Nonnull final EditText editName, int greekButtonsViewId) {
- final ViewGroup greekButtons = (ViewGroup) root.findViewById(greekButtonsViewId);
- Views.processViewsOfType(greekButtons, Button.class, new Views.ViewProcessor