aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/KeyboardSwitcher.java18
-rw-r--r--java/src/com/android/inputmethod/latin/LatinKeyboard.java31
2 files changed, 38 insertions, 11 deletions
diff --git a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
index c8e226d75..ccf4c19aa 100644
--- a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
@@ -227,6 +227,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
LatinKeyboard keyboard = new LatinKeyboard(
mContext, id.mXml, id.mKeyboardMode);
keyboard.setVoiceMode(hasVoiceButton(id.mXml == R.xml.kbd_symbols), mHasVoice);
+ keyboard.setBlackFlag(isBlackSym());
keyboard.setLanguageSwitcher(mLanguageSwitcher);
if (id.mKeyboardMode == KEYBOARDMODE_NORMAL
|| id.mKeyboardMode == KEYBOARDMODE_URL
@@ -250,6 +251,8 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
private KeyboardId getKeyboardId(int mode, int imeOptions, boolean isSymbols) {
boolean hasVoice = hasVoiceButton(isSymbols);
+ // TODO: generalize for any KeyboardId
+ int keyboardRowsResId = isBlackSym() ? R.xml.kbd_qwerty_black : R.xml.kbd_qwerty;
if (isSymbols) {
return (mode == MODE_PHONE)
? new KeyboardId(R.xml.kbd_phone_symbols, hasVoice)
@@ -258,7 +261,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
switch (mode) {
case MODE_TEXT:
if (mTextMode == MODE_TEXT_QWERTY) {
- return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_NORMAL, true, hasVoice);
+ return new KeyboardId(keyboardRowsResId, KEYBOARDMODE_NORMAL, true, hasVoice);
} else if (mTextMode == MODE_TEXT_ALPHA) {
return new KeyboardId(R.xml.kbd_alpha, KEYBOARDMODE_NORMAL, true, hasVoice);
}
@@ -268,13 +271,13 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
case MODE_PHONE:
return new KeyboardId(R.xml.kbd_phone, hasVoice);
case MODE_URL:
- return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_URL, true, hasVoice);
+ return new KeyboardId(keyboardRowsResId, KEYBOARDMODE_URL, true, hasVoice);
case MODE_EMAIL:
- return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_EMAIL, true, hasVoice);
+ return new KeyboardId(keyboardRowsResId, KEYBOARDMODE_EMAIL, true, hasVoice);
case MODE_IM:
- return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_IM, true, hasVoice);
+ return new KeyboardId(keyboardRowsResId, KEYBOARDMODE_IM, true, hasVoice);
case MODE_WEB:
- return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_WEB, true, hasVoice);
+ return new KeyboardId(keyboardRowsResId, KEYBOARDMODE_WEB, true, hasVoice);
}
return null;
}
@@ -397,4 +400,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
Integer.valueOf(sharedPreferences.getString(key, DEFAULT_LAYOUT_ID)), false);
}
}
+
+ // TODO: Generalize for any theme
+ public boolean isBlackSym () {
+ return (mLayoutId == 6 && mLanguageSwitcher.getInputLanguage().indexOf("en_") >= 0);
+ }
}
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboard.java b/java/src/com/android/inputmethod/latin/LatinKeyboard.java
index c3be252c8..abc4992f5 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboard.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboard.java
@@ -81,8 +81,10 @@ public class LatinKeyboard extends Keyboard {
private int mPrefLetterY;
private int mPrefDistance;
- private int mExtensionResId;
-
+ private int mExtensionResId;
+ // TODO: generalize for any keyboardId
+ private boolean mIsBlackSym;
+
private static final int SHIFT_OFF = 0;
private static final int SHIFT_ON = 1;
private static final int SHIFT_LOCKED = 2;
@@ -177,8 +179,8 @@ public class LatinKeyboard extends Keyboard {
case EditorInfo.IME_ACTION_SEARCH:
mEnterKey.iconPreview = res.getDrawable(
R.drawable.sym_keyboard_feedback_search);
- mEnterKey.icon = res.getDrawable(
- R.drawable.sym_keyboard_search);
+ mEnterKey.icon = res.getDrawable(mIsBlackSym ?
+ R.drawable.sym_bkeyboard_search : R.drawable.sym_keyboard_search);
mEnterKey.label = null;
break;
case EditorInfo.IME_ACTION_SEND:
@@ -196,8 +198,8 @@ public class LatinKeyboard extends Keyboard {
} else {
mEnterKey.iconPreview = res.getDrawable(
R.drawable.sym_keyboard_feedback_return);
- mEnterKey.icon = res.getDrawable(
- R.drawable.sym_keyboard_return);
+ mEnterKey.icon = res.getDrawable(mIsBlackSym ?
+ R.drawable.sym_bkeyboard_return : R.drawable.sym_keyboard_return);
mEnterKey.label = null;
}
break;
@@ -279,6 +281,23 @@ public class LatinKeyboard extends Keyboard {
return mExtensionResId;
}
+ public void setBlackFlag(boolean f) {
+ mIsBlackSym = f;
+ if (f) {
+ mShiftLockIcon = mRes.getDrawable(R.drawable.sym_bkeyboard_shift_locked);
+ mSpaceIcon = mRes.getDrawable(R.drawable.sym_bkeyboard_space);
+ mMicIcon = mRes.getDrawable(R.drawable.sym_bkeyboard_mic);
+ m123MicIcon = mRes.getDrawable(R.drawable.sym_bkeyboard_123_mic);
+ mF1Key.icon = mRes.getDrawable(R.drawable.sym_bkeyboard_mic);
+ } else {
+ mShiftLockIcon = mRes.getDrawable(R.drawable.sym_keyboard_shift_locked);
+ mSpaceIcon = mRes.getDrawable(R.drawable.sym_keyboard_space);
+ mMicIcon = mRes.getDrawable(R.drawable.sym_keyboard_mic);
+ m123MicIcon = mRes.getDrawable(R.drawable.sym_keyboard_123_mic);
+ mF1Key.icon = mRes.getDrawable(R.drawable.sym_keyboard_mic);
+ }
+ }
+
private void setDefaultBounds(Drawable drawable) {
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
}