diff --git a/build.gradle b/build.gradle
index 2ca1e011..33dec8aa 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,7 +3,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:0.7.+'
+ classpath 'com.android.tools.build:gradle:0.9.0'
}
}
apply plugin: 'android'
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 56c8ec2c..79327a0c 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Mon Jan 13 17:37:00 EST 2014
+#Sat Mar 22 23:26:27 EST 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip
+distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-all.zip
diff --git a/res/layout/mainviewold.xml b/res/layout/mainviewold.xml
deleted file mode 100644
index a29858b9..00000000
--- a/res/layout/mainviewold.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index 01d4133f..1e467d8a 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -21,4 +21,73 @@
- 0
- 1
+
+
+
+ - улыбка
+ - клоун
+ - дурачок
+ - няшный
+ - усатый смайл
+ - злорадство
+ - очень счастливый
+ - счастливый
+ - усатый
+ - смеющийся
+
+ - смеющийся с открытыми глазами
+ - смеющийся с закрытыми глазами
+ - восторг
+ - крутой
+ - ученый
+ - хмурый взгляд
+ - грустный
+ - уныние
+ - грустный клоун
+ - растроенный усатый
+
+ - плачущий
+ - смех до слез
+ - ругается
+ - страх
+ - ужас
+ - кошмар
+ - тревога
+ - открыл рот от возмущения
+ - шок
+ - удивление
+
+ - поцелуй
+ - улыбка с подмигиванием
+ - смеющийся с подмигиванием
+ - игривый
+ - показать язык
+ - дразнится
+ - киска с языком
+ - раздражен
+ - скептик
+ - неопределился
+
+ - не понял
+ - зажмурил глаза
+ - без чувств
+ - рот закреполен скрепкой
+ - рот на замке
+ - Ношу подтяжки
+ - банкир
+ - лодырь
+ - зубастый вампир
+ - съел кислое
+
+ - святой
+ - невиновный
+ - дьявол подмигивает
+ - дьявол
+ - подозрительный
+ - день рождения
+ - ура
+ - сердце
+ - разбитое сердце
+ - милый
+
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 87031eae..0dae1220 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -50,7 +50,13 @@
О программе
Следущая страница
Предыдущая страница
+
+ Вставить символ
+ Вставить смайл
+ Стр: %1$s/%2$s
+
Добавить слово
Traditional T9 настройки
Включить поддержку Русского языка
+
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index b30ba8b4..fd14352e 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -22,4 +22,73 @@
- 0
- 1
+
+
+
+ - Smile
+ - Clown
+ - Sharp grin
+ - Cat
+ - Half nose
+ - Schadenfreude
+ - Big eye sharp grin
+ - Big eye smile
+ - Cheeky smile
+ - Laughing
+
+ - Bug eye laughing
+ - Laughing with eyes closed
+ - Big eye laughing
+ - Glasses pointy nose laughing
+ - Pointed hat smile
+ - Frown
+ - Sad
+ - Disheartened
+ - Sad clown
+ - Sad cheeky
+
+ - Crying
+ - Laughing to tears
+ - Expletive
+ - Shocked frown
+ - Bug eye\'d frown
+ - Sad with eyes closed
+ - Crying with mouth open
+ - Frown with mouth open
+ - Shocked
+ - Surprised
+
+ - Kiss
+ - Winking smile
+ - Winking laugh
+ - Cheeky tongue out
+ - Tongue out
+ - Teasing
+ - Big eye\'d tongue out
+ - Annoyed
+ - Skeptic
+ - Undecided
+
+ - Confused
+ - Closed eyes
+ - Unimpressed
+ - Bashful
+ - Mouth shut
+ - Censored
+ - Banker
+ - Very big sad mouth
+ - Mischievous/sarcasm
+ - Sour face
+
+ - Innocent cat
+ - Innocent smile
+ - Evil wink
+ - Evil grin
+ - Shifty eyes
+ - Party hat smile
+ - Arms up cheering
+ - Heart
+ - Broken heart
+ - big eye\'d cat
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ecfcfd65..5c9f2ecb 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -18,6 +18,10 @@
Hold Icon
Next Page
Prev Page
+ Insert Symbol
+ Insert Smiley
+ Page: %1$s/%2$s
+
Add word
OK
Close
diff --git a/res/xml/prefs.xml b/res/xml/prefs.xml
index 69fcf3a3..14c35f1c 100644
--- a/res/xml/prefs.xml
+++ b/res/xml/prefs.xml
@@ -10,6 +10,7 @@
android:dialogTitle="@string/pref_inputmode"
android:entries="@array/pref_inputmode_entries"
android:entryValues="@array/pref_inputmode_values"
+ android:persistent="true"
android:defaultValue="0" android:summary="@string/pref_inputmode_desc"/>
= symsize - 1) {
nomore = symsize - 1;
}
+ TextView tv;
+ String[] cd = getContentDescription();
+
for (int buttx = 0; symbx <= stop; symbx++) {
// Log.d("SymbolDialog - updateButtons", "buttx: " + buttx +
// " symbx: " + symbx);
if (symbx > nomore) {
((TextView) mainview.findViewById(buttons[buttx])).setText("");
} else {
- ((TextView) mainview.findViewById(buttons[buttx]))
- .setText(String.valueOf(getSymbol(symbx)));
+ tv = (TextView) mainview.findViewById(buttons[buttx]);
+ tv.setText(String.valueOf(getSymbol(symbx)));
+ if (cd != null) {
+ tv.setContentDescription(cd[symbx]);
+ }
}
buttx++;
}
diff --git a/src/org/nyanya/android/traditionalt9/LangHelper.java b/src/org/nyanya/android/traditionalt9/LangHelper.java
index 6200b611..db066739 100644
--- a/src/org/nyanya/android/traditionalt9/LangHelper.java
+++ b/src/org/nyanya/android/traditionalt9/LangHelper.java
@@ -51,6 +51,14 @@ public class LangHelper {
iansize++;
}
}
- return ian;
+ return ian;
+ }
+
+ protected static int findIndex(int[] ia, int target) {
+ for (int x=0; x", "=]", "=)", ":}", ":-D", ":D", "8-D",
- "8D", "X-D", "XD", "=-D", "=D", "B^D", ">:[", ":-(", ":(", ":c", ":-<", ":<", ":-[",
- ":[", ":{", ":'-(", ":'(", ":'-)", ":')", ":@", "D:<", "D:", "D8", "D;", "D=", "DX",
- "v.v", "D-':", ">:O", ":-O", ":O", ":O", "o_O", "o_0", "o.O", "8-0", ":*", ";-)", ";)",
- ";-]", ";]", ";D", ">:P", ":-P", ":P", "XP", "xp", ":-p", ":p", "=p", ":-b", ":b",
- ">:\\", ">:/", ":-/", ":-.", ":/", ":\\", "=/", "=\\", ":L", "=L", ":S", ">.<", ":|",
- ":-|", ":$", ":-X", ":X", ":-#", ":#", "O:-)", "0:-3", "0:3", "0:-)", "0:)", ">:)",
- ">;)", ">:-)", ">_>", "<_<", "\\o/", "<3", "3", "=-3", "=3", };
+ ":-)", ":o)", ":]", ":3", ":c)", ":>", "=]", "=)", ":}", ":-D",
+ "8-D", "X-D", "=-D", "B^D", "<:-)", ">:-[", ":-(", ":-<", ":o(", ":{",
+ ":'-(", ":'-)", ":@", "D:<", "D8", "v.v","D-':", ">:O", ":-O", "o_0",
+ ":*", ";-)", ";-D", ">:-P", ":-P", "X-P", "=p", ">:-/", ":-/", ":-.",
+ ":S", ">.<", ":-|", ":$", ":-X", ":-#", ":-%", ":С", ":-E", ":-*",
+ "0:-3", "0:-)", ">;-)", ">:-)", ">_>", "*<|:-)", "\\o/", "<3", "3", "=-3", };
private static final int MAX_PAGE = (int) Math.ceil(symbols.length / 10.0);
public SmileyDialog(Context c, View mv) {
super(c, mv);
+
+ }
+
+ @Override
+ String[] getContentDescription() {
+ return context.getResources().getStringArray(R.array.smileyContentDescription);
}
@Override
@@ -29,7 +33,7 @@ public class SmileyDialog extends AbsSymDialog {
@Override
protected String getTitleText() {
- return "Smiley";
+ return context.getString(R.string.smiley_insert);
}
@Override
diff --git a/src/org/nyanya/android/traditionalt9/SymbolDialog.java b/src/org/nyanya/android/traditionalt9/SymbolDialog.java
index 08e3206b..68846b2c 100644
--- a/src/org/nyanya/android/traditionalt9/SymbolDialog.java
+++ b/src/org/nyanya/android/traditionalt9/SymbolDialog.java
@@ -5,8 +5,8 @@ import android.view.View;
public class SymbolDialog extends AbsSymDialog {
- private static final char[] symbols = {
- '.', ',', '!', '?', '$', '&', '%', '#', '@', '"', '\'', ':', ';', '(', ')', '/', '\\',
+ private static final char[] symbols = {
+ '.', ',', '!', '?', '$', '&', '%', '#', '@', '"', '\'', ':', ';', '(', ')', '/', '\\',
'-', '+', '=', '*', '<', '>', '[', ']', '{', '}', '^', '|', '_', '~', '`' }; // 32
private static final int MAX_PAGE = (int) Math.ceil(symbols.length / 10.0);
@@ -14,6 +14,11 @@ public class SymbolDialog extends AbsSymDialog {
super(c, mv);
}
+ @Override
+ String[] getContentDescription() {
+ return null;
+ }
+
@Override
protected String getSymbol(int index) {
return String.valueOf(symbols[index]);
@@ -21,7 +26,7 @@ public class SymbolDialog extends AbsSymDialog {
@Override
protected String getTitleText() {
- return "Symbol";
+ return context.getString(R.string.symbol_insert);
}
@Override
@@ -34,4 +39,4 @@ public class SymbolDialog extends AbsSymDialog {
return MAX_PAGE;
}
-}
\ No newline at end of file
+}
diff --git a/src/org/nyanya/android/traditionalt9/TraditionalT9.java b/src/org/nyanya/android/traditionalt9/TraditionalT9.java
index dc0ed992..0a229b42 100644
--- a/src/org/nyanya/android/traditionalt9/TraditionalT9.java
+++ b/src/org/nyanya/android/traditionalt9/TraditionalT9.java
@@ -112,12 +112,15 @@ public class TraditionalT9 extends InputMethodService implements
@Override
public boolean onEvaluateInputViewShown() {
Log.d("T9.onEvaluateInputViewShown", "whatis");
+ Log.d("T9.onEval", "fullscreen?: " + isFullscreenMode() + " isshow?: " + isInputViewShown() + " isrequestedshow?: " + isShowInputRequested());
+ Log.d("T9.onEval", "noshow?: " + mEditing);
if (mEditing == EDITING_NOSHOW) {
return false;
}
- if (interfacehandler != null) {
- interfacehandler.showView();
- }
+ // TODO: Verify if need this:
+// if (interfacehandler != null) {
+// interfacehandler.showView();
+// }
return true;
}
@@ -196,17 +199,17 @@ public class TraditionalT9 extends InputMethodService implements
// sanitize lang and set index for cycling lang
// Need to check if last lang is available, if not, set index to -1 and set lang to default to 0
private int sanitizeLang(int lang) {
+ mLangIndex = 0;
if (mLangsAvailable.length < 1 || lang == -1) {
- Log.w("T9.sanitizeLang", "This shouldn't happen.");
+ Log.e("T9.sanitizeLang", "This shouldn't happen.");
return 0;
}
if (lang >= LangHelper.NLANGS) {
Log.w("T9.sanitizeLang", "Previous lang not supported: " + lang + " langs: " + Arrays.toString(LangHelper.LANGS));
return mLangsAvailable[0];
} else {
- int index = Arrays.asList(mLangsAvailable).indexOf(lang);
+ int index = LangHelper.findIndex(mLangsAvailable, lang);
if (index == -1) {
- mLangIndex = 0;
return mLangsAvailable[mLangIndex];
} else {
mLangIndex = index;
@@ -223,9 +226,9 @@ public class TraditionalT9 extends InputMethodService implements
@Override
public void onStartInput(EditorInfo attribute, boolean restarting) {
super.onStartInput(attribute, restarting);
-// Log.d("onStartInput", "attribute.inputType: " + attribute.inputType +
-// " restarting? " + restarting);
- //Utils.printFlags(attribute.inputType);
+ Log.d("onStartInput", "attribute.inputType: " + attribute.inputType +
+ " restarting? " + restarting);
+ Utils.printFlags(attribute.inputType);
if (attribute.inputType == 0) {
// don't do anything when not in any kind of edit field.
@@ -233,9 +236,10 @@ public class TraditionalT9 extends InputMethodService implements
mEditing = NON_EDIT;
requestHideSelf(0);
hideStatusIcon();
- if (interfacehandler != null) {
- interfacehandler.hideView();
- }
+ // TODO: verify if need this
+// if (interfacehandler != null) {
+// interfacehandler.hideView();
+// }
return;
}
mFirstPress = true;
@@ -248,6 +252,7 @@ public class TraditionalT9 extends InputMethodService implements
mLangsAvailable = LangHelper.buildLangs(pref.getString("pref_lang_support", null));
mLang = sanitizeLang(pref.getInt("last_lang", 0));
+ Log.d("onStartInput", "lang: " + mLang);
updateCandidates();
//TODO: Check if "restarting" variable will make things faster/more effecient
@@ -305,11 +310,12 @@ public class TraditionalT9 extends InputMethodService implements
mKeyMode = Integer.parseInt(pref.getString("pref_inputmode", "0"));
}
+ // TODO: Do we need the following:
// handle filter list cases... do not hijack DPAD center and make
// sure back's go through proper
- if ((attribute.inputType & InputType.TYPE_TEXT_VARIATION_FILTER) != 0) {
- mEditing = EDITING_NOSHOW;
- }
+ //if (variation == InputType.TYPE_TEXT_VARIATION_FILTER) {
+ // mEditing = EDITING_NOSHOW;
+ //}
// We also want to look at the current state of the editor
// to decide whether our alphabetic keyboard should start out
@@ -372,6 +378,7 @@ public class TraditionalT9 extends InputMethodService implements
// Log.d("onFinishInput", "When is this called?");
Editor prefedit = pref.edit();
prefedit.putInt("last_lang", mLang);
+ Log.d("onFinishInput", "last_lang: " + mLang);
prefedit.commit();
if (mEditing == EDITING) {
commitTyped();
@@ -757,6 +764,9 @@ public class TraditionalT9 extends InputMethodService implements
// Log.d("onKeyUp", "showing window.");
// //showWindow(true);
// }
+ if (! isInputViewShown ()) {
+ showWindow (true);
+ }
onKey(keyCode, null);
return true;
default:
@@ -1200,9 +1210,11 @@ public class TraditionalT9 extends InputMethodService implements
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_DOWN:
mCandidateView.scrollSuggestion(1);
+ getCurrentInputConnection().setComposingText(mSuggestionStrings.get(mCandidateView.mSelectedIndex), 1);
return true;
case KeyEvent.KEYCODE_DPAD_UP:
mCandidateView.scrollSuggestion(-1);
+ getCurrentInputConnection().setComposingText(mSuggestionStrings.get(mCandidateView.mSelectedIndex), 1);
return true;
case KeyEvent.KEYCODE_DPAD_LEFT:
case KeyEvent.KEYCODE_DPAD_RIGHT: