Loading java/res/values/attrs.xml +0 −7 Original line number Diff line number Diff line Loading @@ -173,13 +173,6 @@ <attr name="themeId" format="integer" /> <!-- Touch position correction --> <attr name="touchPositionCorrectionData" format="reference" /> <!-- Default keyboard height --> <attr name="keyboardHeight" format="dimension|fraction" /> <!-- Maximum keyboard height, in pixels or percentage of display height --> <attr name="maxKeyboardHeight" format="dimension|fraction" /> <!-- Minimum keyboard height represented in pixels, percentage of display height if fraction is positive, or percentage of display width if fraction is negative. --> <attr name="minKeyboardHeight" format="dimension|fraction" /> <!-- Keyboard top, bottom, both horizontal edges paddings. --> <attr name="keyboardTopPadding" format="dimension|fraction" /> <attr name="keyboardBottomPadding" format="dimension|fraction" /> Loading java/res/values/styles.xml +0 −3 Original line number Diff line number Diff line Loading @@ -21,9 +21,6 @@ <item name="themeId">0</item> <item name="touchPositionCorrectionData">@array/touch_position_correction_data_default</item> <item name="rowHeight">25%p</item> <item name="keyboardHeight">@dimen/keyboardHeight</item> <item name="maxKeyboardHeight">@fraction/maxKeyboardHeight</item> <item name="minKeyboardHeight">@fraction/minKeyboardHeight</item> <item name="moreKeysTemplate">@xml/kbd_more_keys_keyboard_template</item> <item name="keyboardTopPadding">@fraction/keyboard_top_padding</item> <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding</item> Loading java/src/com/android/inputmethod/keyboard/KeyboardId.java +11 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.inputmethod.keyboard; import static com.android.inputmethod.latin.Constants.Subtype.ExtraValue.KEYBOARD_LAYOUT_SET; import android.content.res.Configuration; import android.text.InputType; import android.text.TextUtils; import android.view.inputmethod.EditorInfo; Loading Loading @@ -62,8 +63,10 @@ public final class KeyboardId { public final InputMethodSubtype mSubtype; public final Locale mLocale; public final int mDeviceFormFactor; // TODO: Remove this member. It is used only for logging purpose. public final int mOrientation; public final int mWidth; public final int mHeight; public final int mMode; public final int mElementId; private final EditorInfo mEditorInfo; Loading @@ -81,7 +84,8 @@ public final class KeyboardId { mLocale = SubtypeLocale.getSubtypeLocale(mSubtype); mDeviceFormFactor = params.mDeviceFormFactor; mOrientation = params.mOrientation; mWidth = params.mWidth; mWidth = params.mKeyboardWidth; mHeight = params.mKeyboardHeight; mMode = params.mMode; mElementId = elementId; mEditorInfo = params.mEditorInfo; Loading @@ -108,6 +112,7 @@ public final class KeyboardId { id.mElementId, id.mMode, id.mWidth, id.mHeight, id.passwordInput(), id.mClobberSettingsKey, id.mShortcutKeyEnabled, Loading @@ -130,6 +135,7 @@ public final class KeyboardId { && other.mElementId == mElementId && other.mMode == mMode && other.mWidth == mWidth && other.mHeight == mHeight && other.passwordInput() == passwordInput() && other.mClobberSettingsKey == mClobberSettingsKey && other.mShortcutKeyEnabled == mShortcutKeyEnabled Loading Loading @@ -187,11 +193,13 @@ public final class KeyboardId { @Override public String toString() { return String.format("[%s %s:%s %s-%s:%d %s %s %s%s%s%s%s%s%s%s%s]", final String orientation = (mOrientation == Configuration.ORIENTATION_PORTRAIT) ? "port" : "land"; return String.format("[%s %s:%s %s-%s:%dx%d %s %s %s%s%s%s%s%s%s%s%s]", elementIdToName(mElementId), mLocale, mSubtype.getExtraValueOf(KEYBOARD_LAYOUT_SET), deviceFormFactor(mDeviceFormFactor), (mOrientation == 1 ? "port" : "land"), mWidth, deviceFormFactor(mDeviceFormFactor), orientation, mWidth, mHeight, modeName(mMode), imeAction(), (navigateNext() ? "navigateNext" : ""), Loading java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java +37 −5 Original line number Diff line number Diff line Loading @@ -28,9 +28,11 @@ import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.XmlResourceParser; import android.text.InputType; import android.text.TextUtils; import android.util.Log; import android.util.SparseArray; import android.util.Xml; import android.view.ViewDebug.HierarchyTraceType; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputMethodSubtype; Loading @@ -44,6 +46,7 @@ import com.android.inputmethod.latin.InputAttributes; import com.android.inputmethod.latin.InputTypeUtils; import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.ResourceUtils; import com.android.inputmethod.latin.SubtypeLocale; import com.android.inputmethod.latin.SubtypeSwitcher; import com.android.inputmethod.latin.XmlParseUtils; Loading Loading @@ -106,7 +109,8 @@ public final class KeyboardLayoutSet { InputMethodSubtype mSubtype; int mDeviceFormFactor; int mOrientation; int mWidth; int mKeyboardWidth; int mKeyboardHeight; // Sparse array of KeyboardLayoutSet element parameters indexed by element's id. final SparseArray<ElementParams> mKeyboardLayoutSetElementIdToParamsMap = CollectionUtils.newSparseArray(); Loading Loading @@ -214,15 +218,43 @@ public final class KeyboardLayoutSet { mPackageName, NO_SETTINGS_KEY, mEditorInfo); } public Builder setScreenGeometry(final int deviceFormFactor, final int orientation, final int widthPixels) { public Builder setScreenGeometry(final int deviceFormFactor, final int widthPixels, final int heightPixels) { final Params params = mParams; params.mDeviceFormFactor = deviceFormFactor; params.mOrientation = orientation; params.mWidth = widthPixels; params.mOrientation = (heightPixels > widthPixels) ? Configuration.ORIENTATION_PORTRAIT : Configuration.ORIENTATION_LANDSCAPE; setDefaultKeyboardSize(widthPixels, heightPixels); return this; } private void setDefaultKeyboardSize(final int widthPixels, final int heightPixels) { final String keyboardHeightString = ResourceUtils.getDeviceOverrideValue( mResources, R.array.keyboard_heights); final float keyboardHeight; if (TextUtils.isEmpty(keyboardHeightString)) { keyboardHeight = mResources.getDimension(R.dimen.keyboardHeight); } else { keyboardHeight = Float.parseFloat(keyboardHeightString) * mResources.getDisplayMetrics().density; } final float maxKeyboardHeight = mResources.getFraction( R.fraction.maxKeyboardHeight, heightPixels, heightPixels); float minKeyboardHeight = mResources.getFraction( R.fraction.minKeyboardHeight, heightPixels, heightPixels); if (minKeyboardHeight < 0.0f) { // Specified fraction was negative, so it should be calculated against display // width. minKeyboardHeight = -mResources.getFraction( R.fraction.minKeyboardHeight, widthPixels, widthPixels); } // Keyboard height will not exceed maxKeyboardHeight and will not be less than // minKeyboardHeight. mParams.mKeyboardHeight = (int)Math.max( Math.min(keyboardHeight, maxKeyboardHeight), minKeyboardHeight); mParams.mKeyboardWidth = widthPixels; } public Builder setSubtype(final InputMethodSubtype subtype) { final boolean asciiCapable = subtype.containsExtraValueKey(ASCII_CAPABLE); @SuppressWarnings("deprecation") Loading java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +3 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.content.SharedPreferences; import android.content.res.Resources; import android.preference.PreferenceManager; import android.util.DisplayMetrics; import android.util.Log; import android.view.ContextThemeWrapper; import android.view.LayoutInflater; Loading Loading @@ -140,8 +141,9 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions { final KeyboardLayoutSet.Builder builder = new KeyboardLayoutSet.Builder( mThemeContext, editorInfo); final Resources res = mThemeContext.getResources(); final DisplayMetrics dm = res.getDisplayMetrics(); builder.setScreenGeometry(res.getInteger(R.integer.config_device_form_factor), res.getConfiguration().orientation, res.getDisplayMetrics().widthPixels); dm.widthPixels, dm.heightPixels); builder.setSubtype(mSubtypeSwitcher.getCurrentSubtype()); builder.setOptions( settingsValues.isVoiceKeyEnabled(editorInfo), Loading Loading
java/res/values/attrs.xml +0 −7 Original line number Diff line number Diff line Loading @@ -173,13 +173,6 @@ <attr name="themeId" format="integer" /> <!-- Touch position correction --> <attr name="touchPositionCorrectionData" format="reference" /> <!-- Default keyboard height --> <attr name="keyboardHeight" format="dimension|fraction" /> <!-- Maximum keyboard height, in pixels or percentage of display height --> <attr name="maxKeyboardHeight" format="dimension|fraction" /> <!-- Minimum keyboard height represented in pixels, percentage of display height if fraction is positive, or percentage of display width if fraction is negative. --> <attr name="minKeyboardHeight" format="dimension|fraction" /> <!-- Keyboard top, bottom, both horizontal edges paddings. --> <attr name="keyboardTopPadding" format="dimension|fraction" /> <attr name="keyboardBottomPadding" format="dimension|fraction" /> Loading
java/res/values/styles.xml +0 −3 Original line number Diff line number Diff line Loading @@ -21,9 +21,6 @@ <item name="themeId">0</item> <item name="touchPositionCorrectionData">@array/touch_position_correction_data_default</item> <item name="rowHeight">25%p</item> <item name="keyboardHeight">@dimen/keyboardHeight</item> <item name="maxKeyboardHeight">@fraction/maxKeyboardHeight</item> <item name="minKeyboardHeight">@fraction/minKeyboardHeight</item> <item name="moreKeysTemplate">@xml/kbd_more_keys_keyboard_template</item> <item name="keyboardTopPadding">@fraction/keyboard_top_padding</item> <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding</item> Loading
java/src/com/android/inputmethod/keyboard/KeyboardId.java +11 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.inputmethod.keyboard; import static com.android.inputmethod.latin.Constants.Subtype.ExtraValue.KEYBOARD_LAYOUT_SET; import android.content.res.Configuration; import android.text.InputType; import android.text.TextUtils; import android.view.inputmethod.EditorInfo; Loading Loading @@ -62,8 +63,10 @@ public final class KeyboardId { public final InputMethodSubtype mSubtype; public final Locale mLocale; public final int mDeviceFormFactor; // TODO: Remove this member. It is used only for logging purpose. public final int mOrientation; public final int mWidth; public final int mHeight; public final int mMode; public final int mElementId; private final EditorInfo mEditorInfo; Loading @@ -81,7 +84,8 @@ public final class KeyboardId { mLocale = SubtypeLocale.getSubtypeLocale(mSubtype); mDeviceFormFactor = params.mDeviceFormFactor; mOrientation = params.mOrientation; mWidth = params.mWidth; mWidth = params.mKeyboardWidth; mHeight = params.mKeyboardHeight; mMode = params.mMode; mElementId = elementId; mEditorInfo = params.mEditorInfo; Loading @@ -108,6 +112,7 @@ public final class KeyboardId { id.mElementId, id.mMode, id.mWidth, id.mHeight, id.passwordInput(), id.mClobberSettingsKey, id.mShortcutKeyEnabled, Loading @@ -130,6 +135,7 @@ public final class KeyboardId { && other.mElementId == mElementId && other.mMode == mMode && other.mWidth == mWidth && other.mHeight == mHeight && other.passwordInput() == passwordInput() && other.mClobberSettingsKey == mClobberSettingsKey && other.mShortcutKeyEnabled == mShortcutKeyEnabled Loading Loading @@ -187,11 +193,13 @@ public final class KeyboardId { @Override public String toString() { return String.format("[%s %s:%s %s-%s:%d %s %s %s%s%s%s%s%s%s%s%s]", final String orientation = (mOrientation == Configuration.ORIENTATION_PORTRAIT) ? "port" : "land"; return String.format("[%s %s:%s %s-%s:%dx%d %s %s %s%s%s%s%s%s%s%s%s]", elementIdToName(mElementId), mLocale, mSubtype.getExtraValueOf(KEYBOARD_LAYOUT_SET), deviceFormFactor(mDeviceFormFactor), (mOrientation == 1 ? "port" : "land"), mWidth, deviceFormFactor(mDeviceFormFactor), orientation, mWidth, mHeight, modeName(mMode), imeAction(), (navigateNext() ? "navigateNext" : ""), Loading
java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java +37 −5 Original line number Diff line number Diff line Loading @@ -28,9 +28,11 @@ import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.XmlResourceParser; import android.text.InputType; import android.text.TextUtils; import android.util.Log; import android.util.SparseArray; import android.util.Xml; import android.view.ViewDebug.HierarchyTraceType; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputMethodSubtype; Loading @@ -44,6 +46,7 @@ import com.android.inputmethod.latin.InputAttributes; import com.android.inputmethod.latin.InputTypeUtils; import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.ResourceUtils; import com.android.inputmethod.latin.SubtypeLocale; import com.android.inputmethod.latin.SubtypeSwitcher; import com.android.inputmethod.latin.XmlParseUtils; Loading Loading @@ -106,7 +109,8 @@ public final class KeyboardLayoutSet { InputMethodSubtype mSubtype; int mDeviceFormFactor; int mOrientation; int mWidth; int mKeyboardWidth; int mKeyboardHeight; // Sparse array of KeyboardLayoutSet element parameters indexed by element's id. final SparseArray<ElementParams> mKeyboardLayoutSetElementIdToParamsMap = CollectionUtils.newSparseArray(); Loading Loading @@ -214,15 +218,43 @@ public final class KeyboardLayoutSet { mPackageName, NO_SETTINGS_KEY, mEditorInfo); } public Builder setScreenGeometry(final int deviceFormFactor, final int orientation, final int widthPixels) { public Builder setScreenGeometry(final int deviceFormFactor, final int widthPixels, final int heightPixels) { final Params params = mParams; params.mDeviceFormFactor = deviceFormFactor; params.mOrientation = orientation; params.mWidth = widthPixels; params.mOrientation = (heightPixels > widthPixels) ? Configuration.ORIENTATION_PORTRAIT : Configuration.ORIENTATION_LANDSCAPE; setDefaultKeyboardSize(widthPixels, heightPixels); return this; } private void setDefaultKeyboardSize(final int widthPixels, final int heightPixels) { final String keyboardHeightString = ResourceUtils.getDeviceOverrideValue( mResources, R.array.keyboard_heights); final float keyboardHeight; if (TextUtils.isEmpty(keyboardHeightString)) { keyboardHeight = mResources.getDimension(R.dimen.keyboardHeight); } else { keyboardHeight = Float.parseFloat(keyboardHeightString) * mResources.getDisplayMetrics().density; } final float maxKeyboardHeight = mResources.getFraction( R.fraction.maxKeyboardHeight, heightPixels, heightPixels); float minKeyboardHeight = mResources.getFraction( R.fraction.minKeyboardHeight, heightPixels, heightPixels); if (minKeyboardHeight < 0.0f) { // Specified fraction was negative, so it should be calculated against display // width. minKeyboardHeight = -mResources.getFraction( R.fraction.minKeyboardHeight, widthPixels, widthPixels); } // Keyboard height will not exceed maxKeyboardHeight and will not be less than // minKeyboardHeight. mParams.mKeyboardHeight = (int)Math.max( Math.min(keyboardHeight, maxKeyboardHeight), minKeyboardHeight); mParams.mKeyboardWidth = widthPixels; } public Builder setSubtype(final InputMethodSubtype subtype) { final boolean asciiCapable = subtype.containsExtraValueKey(ASCII_CAPABLE); @SuppressWarnings("deprecation") Loading
java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +3 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.content.SharedPreferences; import android.content.res.Resources; import android.preference.PreferenceManager; import android.util.DisplayMetrics; import android.util.Log; import android.view.ContextThemeWrapper; import android.view.LayoutInflater; Loading Loading @@ -140,8 +141,9 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions { final KeyboardLayoutSet.Builder builder = new KeyboardLayoutSet.Builder( mThemeContext, editorInfo); final Resources res = mThemeContext.getResources(); final DisplayMetrics dm = res.getDisplayMetrics(); builder.setScreenGeometry(res.getInteger(R.integer.config_device_form_factor), res.getConfiguration().orientation, res.getDisplayMetrics().widthPixels); dm.widthPixels, dm.heightPixels); builder.setSubtype(mSubtypeSwitcher.getCurrentSubtype()); builder.setOptions( settingsValues.isVoiceKeyEnabled(editorInfo), Loading