Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4f4fb5ef authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android (Google) Code Review
Browse files

Merge "Use the same label of switch-to-alphabet key on Emoji palette"

parents 4c680e7b fe39aec0
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -89,22 +89,22 @@
        android:layout_height="0dip"
        android:layout_weight="1"
    >
        <ImageButton
            android:id="@+id/emoji_keyboard_alphabet"
        <TextView
            android:id="@+id/emoji_keyboard_alphabet_left"
            android:layout_width="0dip"
            android:layout_weight="0.15"
            android:layout_height="match_parent"
            android:src="@drawable/ic_ime_switcher_dark" />
            android:gravity="center"
            android:layout_height="match_parent" />
        <ImageButton
            android:id="@+id/emoji_keyboard_space"
            android:layout_width="0dip"
            android:layout_weight="0.70"
            android:layout_height="match_parent" />
        <ImageButton
            android:id="@+id/emoji_keyboard_alphabet2"
        <TextView
            android:id="@+id/emoji_keyboard_alphabet_right"
            android:layout_width="0dip"
            android:layout_weight="0.15"
            android:layout_height="match_parent"
            android:src="@drawable/ic_ime_switcher_dark" />
            android:gravity="center"
            android:layout_height="match_parent" />
    </LinearLayout>
</com.android.inputmethod.keyboard.EmojiPalettesView>
+32 −15
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ 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;
@@ -34,6 +35,7 @@ import android.util.AttributeSet;
import android.util.Log;
import android.util.Pair;
import android.util.SparseArray;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
@@ -84,6 +86,8 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
    private EmojiPalettesAdapter mEmojiPalettesAdapter;
    private final EmojiLayoutParams mEmojiLayoutParams;

    private TextView mAlphabetKeyLeft;
    private TextView mAlphabetKeyRight;
    private TabHost mTabHost;
    private ViewPager mEmojiPager;
    private int mCurrentPagerPosition = 0;
@@ -487,20 +491,23 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
        deleteKey.setTag(Constants.CODE_DELETE);
        deleteKey.setOnTouchListener(mDeleteKeyOnTouchListener);

        // alphabetKey, alphabetKey2, and spaceKey depend on {@link View.OnClickListener} as well as
        // {@link View.OnTouchListener}. {@link View.OnTouchListener} is used as the trigger of
        // key-press, while {@link View.OnClickListener} is used as the trigger of key-release which
        // does not occur if the event is canceled by moving off the finger from the view.
        final ImageView alphabetKey = (ImageView)findViewById(R.id.emoji_keyboard_alphabet);
        alphabetKey.setBackgroundResource(mEmojiFunctionalKeyBackgroundId);
        alphabetKey.setTag(Constants.CODE_ALPHA_FROM_EMOJI);
        alphabetKey.setOnTouchListener(this);
        alphabetKey.setOnClickListener(this);
        final ImageView alphabetKey2 = (ImageView)findViewById(R.id.emoji_keyboard_alphabet2);
        alphabetKey2.setBackgroundResource(mEmojiFunctionalKeyBackgroundId);
        alphabetKey2.setTag(Constants.CODE_ALPHA_FROM_EMOJI);
        alphabetKey2.setOnTouchListener(this);
        alphabetKey2.setOnClickListener(this);
        // {@link #mAlphabetKeyLeft}, {@link #mAlphabetKeyRight, and spaceKey depend on
        // {@link View.OnClickListener} as well as {@link View.OnTouchListener}.
        // {@link View.OnTouchListener} is used as the trigger of key-press, while
        // {@link View.OnClickListener} is used as the trigger of key-release which does not occur
        // if the event is canceled by moving off the finger from the view.
        // The text on alphabet keys are set at
        // {@link #startEmojiPalettes(String,int,float,Typeface)}.
        mAlphabetKeyLeft = (TextView)findViewById(R.id.emoji_keyboard_alphabet_left);
        mAlphabetKeyLeft.setBackgroundResource(mEmojiFunctionalKeyBackgroundId);
        mAlphabetKeyLeft.setTag(Constants.CODE_ALPHA_FROM_EMOJI);
        mAlphabetKeyLeft.setOnTouchListener(this);
        mAlphabetKeyLeft.setOnClickListener(this);
        mAlphabetKeyRight = (TextView)findViewById(R.id.emoji_keyboard_alphabet_right);
        mAlphabetKeyRight.setBackgroundResource(mEmojiFunctionalKeyBackgroundId);
        mAlphabetKeyRight.setTag(Constants.CODE_ALPHA_FROM_EMOJI);
        mAlphabetKeyRight.setOnTouchListener(this);
        mAlphabetKeyRight.setOnClickListener(this);
        final ImageView spaceKey = (ImageView)findViewById(R.id.emoji_keyboard_space);
        spaceKey.setBackgroundResource(mKeyBackgroundId);
        spaceKey.setTag(Constants.CODE_SPACE);
@@ -627,10 +634,20 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
        // TODO:
    }

    public void startEmojiPalettes() {
    // Hack: These parameters are hacky.
    public void startEmojiPalettes(final String switchToAlphaLabel, final int switchToAlphaColor,
            final float switchToAlphaSize, final Typeface switchToAlphaTypeface) {
        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);
        mEmojiPager.setAdapter(mEmojiPalettesAdapter);
        mEmojiPager.setCurrentItem(mCurrentPagerPosition);
    }
+9 −3
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ 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;
@@ -30,6 +31,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.latin.InputView;
import com.android.inputmethod.latin.LatinIME;
import com.android.inputmethod.latin.LatinImeLogger;
@@ -74,13 +76,13 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
    private MainKeyboardView mKeyboardView;
    private EmojiPalettesView mEmojiPalettesView;
    private LatinIME mLatinIME;
    private Resources mResources;
    private boolean mIsHardwareAcceleratedDrawingEnabled;

    private KeyboardState mState;

    private KeyboardLayoutSet mKeyboardLayoutSet;
    private SettingsValues mCurrentSettingsValues;
    private Key mSwitchToAlphaKey;

    /** mIsAutoCorrectionActive indicates that auto corrected word will be input instead of
     * what user actually typed. */
@@ -106,7 +108,6 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {

    private void initInternal(final LatinIME latinIme, final SharedPreferences prefs) {
        mLatinIME = latinIme;
        mResources = latinIme.getResources();
        mPrefs = prefs;
        mSubtypeSwitcher = SubtypeSwitcher.getInstance();
        mState = new KeyboardState(this);
@@ -162,6 +163,8 @@ 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);
        } catch (KeyboardLayoutSetException e) {
            Log.w(TAG, "loading keyboard failed: " + e.mKeyboardId, e.getCause());
            LatinImeLogger.logOnException(e.mKeyboardId.toString(), e.getCause());
@@ -287,7 +290,10 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
    @Override
    public void setEmojiKeyboard() {
        mMainKeyboardFrame.setVisibility(View.GONE);
        mEmojiPalettesView.startEmojiPalettes();
        final Paint paint = mKeyboardView.newLabelPaint(mSwitchToAlphaKey);
        mEmojiPalettesView.startEmojiPalettes(
                mSwitchToAlphaKey.getLabel(), paint.getColor(), paint.getTextSize(),
                paint.getTypeface());
        mEmojiPalettesView.setVisibility(View.VISIBLE);
    }

+1 −0
Original line number Diff line number Diff line
@@ -582,6 +582,7 @@ public class KeyboardView extends View {
            paint.setTypeface(mKeyDrawParams.mTypeface);
            paint.setTextSize(mKeyDrawParams.mLabelSize);
        } else {
            paint.setColor(key.selectTextColor(mKeyDrawParams));
            paint.setTypeface(key.selectTypeface(mKeyDrawParams));
            paint.setTextSize(key.selectTextSize(mKeyDrawParams));
        }