diff --git a/java/res/drawable-hdpi/sym_bkeyboard_123_mic.png b/java/res/drawable-hdpi/sym_bkeyboard_123_mic.png new file mode 100644 index 000000000..3e4eff698 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_123_mic.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_delete.png b/java/res/drawable-hdpi/sym_bkeyboard_delete.png new file mode 100644 index 000000000..1d24cc85c Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_delete.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_done.png b/java/res/drawable-hdpi/sym_bkeyboard_done.png new file mode 100644 index 000000000..b77803d21 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_done.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_globe.png b/java/res/drawable-hdpi/sym_bkeyboard_globe.png new file mode 100644 index 000000000..f5dbe0cd1 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_globe.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_mic.png b/java/res/drawable-hdpi/sym_bkeyboard_mic.png new file mode 100644 index 000000000..512f46080 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_mic.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_num0.png b/java/res/drawable-hdpi/sym_bkeyboard_num0.png new file mode 100644 index 000000000..678a790de Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_num0.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_num1.png b/java/res/drawable-hdpi/sym_bkeyboard_num1.png new file mode 100644 index 000000000..4e68e35b3 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_num1.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_num2.png b/java/res/drawable-hdpi/sym_bkeyboard_num2.png new file mode 100644 index 000000000..546663fda Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_num2.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_num3.png b/java/res/drawable-hdpi/sym_bkeyboard_num3.png new file mode 100644 index 000000000..57f9a8d8e Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_num3.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_num4.png b/java/res/drawable-hdpi/sym_bkeyboard_num4.png new file mode 100644 index 000000000..de504388f Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_num4.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_num5.png b/java/res/drawable-hdpi/sym_bkeyboard_num5.png new file mode 100644 index 000000000..1d2e1ef89 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_num5.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_num6.png b/java/res/drawable-hdpi/sym_bkeyboard_num6.png new file mode 100644 index 000000000..39788b727 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_num6.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_num7.png b/java/res/drawable-hdpi/sym_bkeyboard_num7.png new file mode 100644 index 000000000..fff6f27bf Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_num7.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_num8.png b/java/res/drawable-hdpi/sym_bkeyboard_num8.png new file mode 100644 index 000000000..8cc1a955e Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_num8.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_num9.png b/java/res/drawable-hdpi/sym_bkeyboard_num9.png new file mode 100644 index 000000000..021742509 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_num9.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_numalt.png b/java/res/drawable-hdpi/sym_bkeyboard_numalt.png new file mode 100644 index 000000000..200714f66 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_numalt.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_numpound.png b/java/res/drawable-hdpi/sym_bkeyboard_numpound.png new file mode 100644 index 000000000..0a46122b2 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_numpound.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_numstar.png b/java/res/drawable-hdpi/sym_bkeyboard_numstar.png new file mode 100644 index 000000000..ca22bd535 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_numstar.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_return.png b/java/res/drawable-hdpi/sym_bkeyboard_return.png new file mode 100644 index 000000000..426e1599e Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_return.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_search.png b/java/res/drawable-hdpi/sym_bkeyboard_search.png new file mode 100644 index 000000000..1b6f884fa Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_search.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_shift.png b/java/res/drawable-hdpi/sym_bkeyboard_shift.png new file mode 100644 index 000000000..5a22dd309 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_shift.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_shift_locked.png b/java/res/drawable-hdpi/sym_bkeyboard_shift_locked.png new file mode 100644 index 000000000..566449126 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_shift_locked.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_space.png b/java/res/drawable-hdpi/sym_bkeyboard_space.png new file mode 100644 index 000000000..cd0ebe2f4 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_space.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_tab.png b/java/res/drawable-hdpi/sym_bkeyboard_tab.png new file mode 100644 index 000000000..3466e1271 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_tab.png differ diff --git a/java/res/drawable-hdpi/sym_bkeyboard_tabprev.png b/java/res/drawable-hdpi/sym_bkeyboard_tabprev.png new file mode 100644 index 000000000..eb4f0eb68 Binary files /dev/null and b/java/res/drawable-hdpi/sym_bkeyboard_tabprev.png differ diff --git a/java/res/drawable-mdpi/sym_keyboard_mic.png b/java/res/drawable-mdpi/sym_bbkeyboard_mic.png similarity index 100% rename from java/res/drawable-mdpi/sym_keyboard_mic.png rename to java/res/drawable-mdpi/sym_bbkeyboard_mic.png diff --git a/java/res/drawable-mdpi/sym_bkeyboard_123_mic.png b/java/res/drawable-mdpi/sym_bkeyboard_123_mic.png new file mode 100644 index 000000000..0749b5fc6 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_123_mic.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_delete.png b/java/res/drawable-mdpi/sym_bkeyboard_delete.png new file mode 100644 index 000000000..1a5ff439e Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_delete.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_done.png b/java/res/drawable-mdpi/sym_bkeyboard_done.png new file mode 100644 index 000000000..05ce7c643 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_done.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_globe.png b/java/res/drawable-mdpi/sym_bkeyboard_globe.png new file mode 100644 index 000000000..c6595cf62 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_globe.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_mic.png b/java/res/drawable-mdpi/sym_bkeyboard_mic.png new file mode 100644 index 000000000..a6cb1cc01 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_mic.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_num0.png b/java/res/drawable-mdpi/sym_bkeyboard_num0.png new file mode 100644 index 000000000..7188f9ca5 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_num0.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_num1.png b/java/res/drawable-mdpi/sym_bkeyboard_num1.png new file mode 100644 index 000000000..2a31bd458 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_num1.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_num2.png b/java/res/drawable-mdpi/sym_bkeyboard_num2.png new file mode 100644 index 000000000..c1e9cc9b1 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_num2.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_num3.png b/java/res/drawable-mdpi/sym_bkeyboard_num3.png new file mode 100644 index 000000000..e9987668c Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_num3.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_num4.png b/java/res/drawable-mdpi/sym_bkeyboard_num4.png new file mode 100644 index 000000000..7f0f3cccc Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_num4.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_num5.png b/java/res/drawable-mdpi/sym_bkeyboard_num5.png new file mode 100644 index 000000000..5f748b416 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_num5.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_num6.png b/java/res/drawable-mdpi/sym_bkeyboard_num6.png new file mode 100644 index 000000000..78aae74a0 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_num6.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_num7.png b/java/res/drawable-mdpi/sym_bkeyboard_num7.png new file mode 100644 index 000000000..5bb874c47 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_num7.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_num8.png b/java/res/drawable-mdpi/sym_bkeyboard_num8.png new file mode 100644 index 000000000..6b58fdc8a Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_num8.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_num9.png b/java/res/drawable-mdpi/sym_bkeyboard_num9.png new file mode 100644 index 000000000..f348c92af Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_num9.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_numalt.png b/java/res/drawable-mdpi/sym_bkeyboard_numalt.png new file mode 100644 index 000000000..4fa410b62 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_numalt.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_numpound.png b/java/res/drawable-mdpi/sym_bkeyboard_numpound.png new file mode 100644 index 000000000..9126eed0d Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_numpound.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_numstar.png b/java/res/drawable-mdpi/sym_bkeyboard_numstar.png new file mode 100644 index 000000000..9b9f1b986 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_numstar.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_return.png b/java/res/drawable-mdpi/sym_bkeyboard_return.png new file mode 100644 index 000000000..e76225d0f Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_return.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_search.png b/java/res/drawable-mdpi/sym_bkeyboard_search.png new file mode 100644 index 000000000..1f180155d Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_search.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_shift.png b/java/res/drawable-mdpi/sym_bkeyboard_shift.png new file mode 100644 index 000000000..c981188dd Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_shift.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_shift_locked.png b/java/res/drawable-mdpi/sym_bkeyboard_shift_locked.png new file mode 100644 index 000000000..b8cebd060 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_shift_locked.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_space.png b/java/res/drawable-mdpi/sym_bkeyboard_space.png new file mode 100644 index 000000000..4da7ee86e Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_space.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_tab.png b/java/res/drawable-mdpi/sym_bkeyboard_tab.png new file mode 100644 index 000000000..2cb991cbf Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_tab.png differ diff --git a/java/res/drawable-mdpi/sym_bkeyboard_tabprev.png b/java/res/drawable-mdpi/sym_bkeyboard_tabprev.png new file mode 100644 index 000000000..5298291d5 Binary files /dev/null and b/java/res/drawable-mdpi/sym_bkeyboard_tabprev.png differ 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()); }