Remove hack from EmojiPalettesView.startEmojiPalettes
Bug: 12115967 Change-Id: I91c567a9577012ec28c08430c55e56e9c2e25b5fmain
parent
b08a9e021c
commit
d227b00a72
|
@ -25,7 +25,6 @@ import android.content.res.Resources;
|
|||
import android.content.res.TypedArray;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Typeface;
|
||||
import android.os.Build;
|
||||
import android.os.CountDownTimer;
|
||||
import android.preference.PreferenceManager;
|
||||
|
@ -49,6 +48,8 @@ import android.widget.TextView;
|
|||
import com.android.inputmethod.keyboard.internal.DynamicGridKeyboard;
|
||||
import com.android.inputmethod.keyboard.internal.EmojiLayoutParams;
|
||||
import com.android.inputmethod.keyboard.internal.EmojiPageKeyboardView;
|
||||
import com.android.inputmethod.keyboard.internal.KeyDrawParams;
|
||||
import com.android.inputmethod.keyboard.internal.KeyVisualAttributes;
|
||||
import com.android.inputmethod.latin.Constants;
|
||||
import com.android.inputmethod.latin.R;
|
||||
import com.android.inputmethod.latin.SubtypeSwitcher;
|
||||
|
@ -634,20 +635,23 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
|
|||
// TODO:
|
||||
}
|
||||
|
||||
// Hack: These parameters are hacky.
|
||||
public void startEmojiPalettes(final String switchToAlphaLabel, final int switchToAlphaColor,
|
||||
final float switchToAlphaSize, final Typeface switchToAlphaTypeface) {
|
||||
private static void setupAlphabetKey(final TextView alphabetKey, final String label,
|
||||
final KeyDrawParams params) {
|
||||
alphabetKey.setText(label);
|
||||
alphabetKey.setTextColor(params.mTextColor);
|
||||
alphabetKey.setTextSize(TypedValue.COMPLEX_UNIT_PX, params.mLabelSize);
|
||||
alphabetKey.setTypeface(params.mTypeface);
|
||||
}
|
||||
|
||||
public void startEmojiPalettes(final String switchToAlphaLabel,
|
||||
final KeyVisualAttributes keyVisualAttr) {
|
||||
if (DEBUG_PAGER) {
|
||||
Log.d(TAG, "allocate emoji palettes memory " + mCurrentPagerPosition);
|
||||
}
|
||||
mAlphabetKeyLeft.setText(switchToAlphaLabel);
|
||||
mAlphabetKeyLeft.setTextColor(switchToAlphaColor);
|
||||
mAlphabetKeyLeft.setTextSize(TypedValue.COMPLEX_UNIT_PX, switchToAlphaSize);
|
||||
mAlphabetKeyLeft.setTypeface(switchToAlphaTypeface);
|
||||
mAlphabetKeyRight.setText(switchToAlphaLabel);
|
||||
mAlphabetKeyRight.setTextColor(switchToAlphaColor);
|
||||
mAlphabetKeyRight.setTextSize(TypedValue.COMPLEX_UNIT_PX, switchToAlphaSize);
|
||||
mAlphabetKeyRight.setTypeface(switchToAlphaTypeface);
|
||||
final KeyDrawParams params = new KeyDrawParams();
|
||||
params.updateParams(mEmojiLayoutParams.getActionBarHeight(), keyVisualAttr);
|
||||
setupAlphabetKey(mAlphabetKeyLeft, switchToAlphaLabel, params);
|
||||
setupAlphabetKey(mAlphabetKeyRight, switchToAlphaLabel, params);
|
||||
mEmojiPager.setAdapter(mEmojiPalettesAdapter);
|
||||
mEmojiPager.setCurrentItem(mCurrentPagerPosition);
|
||||
}
|
||||
|
|
|
@ -19,7 +19,6 @@ package com.android.inputmethod.keyboard;
|
|||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Paint;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
import android.view.ContextThemeWrapper;
|
||||
|
@ -31,7 +30,7 @@ import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
|
|||
import com.android.inputmethod.compat.InputMethodServiceCompatUtils;
|
||||
import com.android.inputmethod.keyboard.KeyboardLayoutSet.KeyboardLayoutSetException;
|
||||
import com.android.inputmethod.keyboard.internal.KeyboardState;
|
||||
import com.android.inputmethod.latin.Constants;
|
||||
import com.android.inputmethod.keyboard.internal.KeyboardTextsSet;
|
||||
import com.android.inputmethod.latin.InputView;
|
||||
import com.android.inputmethod.latin.LatinIME;
|
||||
import com.android.inputmethod.latin.LatinImeLogger;
|
||||
|
@ -81,8 +80,9 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
|
|||
private KeyboardState mState;
|
||||
|
||||
private KeyboardLayoutSet mKeyboardLayoutSet;
|
||||
// TODO: The following {@link KeyboardTextsSet} should be in {@link KeyboardLayoutSet}.
|
||||
private final KeyboardTextsSet mKeyboardTextsSet = new KeyboardTextsSet();
|
||||
private SettingsValues mCurrentSettingsValues;
|
||||
private Key mSwitchToAlphaKey;
|
||||
|
||||
/** mIsAutoCorrectionActive indicates that auto corrected word will be input instead of
|
||||
* what user actually typed. */
|
||||
|
@ -163,8 +163,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
|
|||
mCurrentSettingsValues = settingsValues;
|
||||
try {
|
||||
mState.onLoadKeyboard();
|
||||
final Keyboard symbols = mKeyboardLayoutSet.getKeyboard(KeyboardId.ELEMENT_SYMBOLS);
|
||||
mSwitchToAlphaKey = symbols.getKey(Constants.CODE_SWITCH_ALPHA_SYMBOL);
|
||||
mKeyboardTextsSet.setLocale(mSubtypeSwitcher.getCurrentSubtypeLocale());
|
||||
} catch (KeyboardLayoutSetException e) {
|
||||
Log.w(TAG, "loading keyboard failed: " + e.mKeyboardId, e.getCause());
|
||||
LatinImeLogger.logOnException(e.mKeyboardId.toString(), e.getCause());
|
||||
|
@ -290,10 +289,9 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
|
|||
@Override
|
||||
public void setEmojiKeyboard() {
|
||||
mMainKeyboardFrame.setVisibility(View.GONE);
|
||||
final Paint paint = mKeyboardView.newLabelPaint(mSwitchToAlphaKey);
|
||||
mEmojiPalettesView.startEmojiPalettes(
|
||||
mSwitchToAlphaKey.getLabel(), paint.getColor(), paint.getTextSize(),
|
||||
paint.getTypeface());
|
||||
mKeyboardTextsSet.getText(KeyboardTextsSet.SWITCH_TO_ALPHA_KEY_LABEL),
|
||||
mKeyboardView.getKeyVisualAttribute());
|
||||
mEmojiPalettesView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
|
|
|
@ -146,6 +146,10 @@ public class KeyboardView extends View {
|
|||
mPaint.setAntiAlias(true);
|
||||
}
|
||||
|
||||
public KeyVisualAttributes getKeyVisualAttribute() {
|
||||
return mKeyVisualAttributes;
|
||||
}
|
||||
|
||||
private static void blendAlpha(final Paint paint, final int alpha) {
|
||||
final int color = paint.getColor();
|
||||
paint.setARGB((paint.getAlpha() * alpha) / Constants.Color.ALPHA_OPAQUE,
|
||||
|
|
|
@ -73,9 +73,13 @@ public class EmojiLayoutParams {
|
|||
ll.setLayoutParams(lp);
|
||||
}
|
||||
|
||||
public int getActionBarHeight() {
|
||||
return mEmojiActionBarHeight - mBottomPadding;
|
||||
}
|
||||
|
||||
public void setActionBarProperties(final LinearLayout ll) {
|
||||
final LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) ll.getLayoutParams();
|
||||
lp.height = mEmojiActionBarHeight - mBottomPadding;
|
||||
lp.height = getActionBarHeight();
|
||||
ll.setLayoutParams(lp);
|
||||
}
|
||||
|
||||
|
|
|
@ -29,6 +29,8 @@ import java.util.Locale;
|
|||
|
||||
public final class KeyboardTextsSet {
|
||||
public static final String PREFIX_TEXT = "!text/";
|
||||
public static final String SWITCH_TO_ALPHA_KEY_LABEL = "label_to_alpha_key";
|
||||
|
||||
private static final char BACKSLASH = Constants.CODE_BACKSLASH;
|
||||
private static final int MAX_STRING_REFERENCE_INDIRECTION = 10;
|
||||
|
||||
|
|
Loading…
Reference in New Issue