summaryrefslogtreecommitdiff
path: root/java/src/com/android/inputmethod/keyboard/internal/EmojiPageKeyboardView.java
diff options
context:
space:
mode:
authorSatoshi Kataoka <satok@google.com>2013-12-13 04:15:33 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2013-12-13 04:15:33 +0000
commit18d033405c18a8dc28f60ca22d1d0df23a679384 (patch)
tree77ae6dc696eb7f2942e6d5bfebdccb95eebf8a6e /java/src/com/android/inputmethod/keyboard/internal/EmojiPageKeyboardView.java
parent95050f54e92ff5465e713990315e8cf421836a64 (diff)
parentc95efbbd575239b97db20b71fb347b543b5808f8 (diff)
Merge branch 'master' of https://googleplex-android.googlesource.com/_direct/platform/packages/inputmethods/LatinIME
Diffstat (limited to 'java/src/com/android/inputmethod/keyboard/internal/EmojiPageKeyboardView.java')
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/EmojiPageKeyboardView.java161
1 files changed, 0 insertions, 161 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/EmojiPageKeyboardView.java b/java/src/com/android/inputmethod/keyboard/internal/EmojiPageKeyboardView.java
deleted file mode 100644
index 5a996ff53..000000000
--- a/java/src/com/android/inputmethod/keyboard/internal/EmojiPageKeyboardView.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.inputmethod.keyboard.internal;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.GestureDetector;
-import android.view.MotionEvent;
-
-import com.android.inputmethod.keyboard.Key;
-import com.android.inputmethod.keyboard.KeyDetector;
-import com.android.inputmethod.keyboard.Keyboard;
-import com.android.inputmethod.keyboard.KeyboardView;
-import com.android.inputmethod.keyboard.PointerTracker;
-import com.android.inputmethod.latin.R;
-
-/**
- * This is an extended {@link KeyboardView} class that hosts an emoji page keyboard.
- * Multi-touch unsupported. No {@link PointerTracker}s. No gesture support.
- */
-// TODO: Implement key popup preview.
-public final class EmojiPageKeyboardView extends KeyboardView implements
- GestureDetector.OnGestureListener {
- public interface OnKeyClickListener {
- public void onKeyClick(Key key);
- }
-
- private static final OnKeyClickListener EMPTY_LISTENER = new OnKeyClickListener() {
- @Override
- public void onKeyClick(final Key key) {}
- };
-
- private OnKeyClickListener mListener = EMPTY_LISTENER;
- private final KeyDetector mKeyDetector = new KeyDetector(0.0f /*keyHysteresisDistance */);
- private final GestureDetector mGestureDetector;
-
- public EmojiPageKeyboardView(final Context context, final AttributeSet attrs) {
- this(context, attrs, R.attr.keyboardViewStyle);
- }
-
- public EmojiPageKeyboardView(final Context context, final AttributeSet attrs,
- final int defStyle) {
- super(context, attrs, defStyle);
- mGestureDetector = new GestureDetector(context, this);
- mGestureDetector.setIsLongpressEnabled(false /* isLongpressEnabled */);
- }
-
- public void setOnKeyClickListener(final OnKeyClickListener listener) {
- mListener = listener;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void setKeyboard(final Keyboard keyboard) {
- super.setKeyboard(keyboard);
- mKeyDetector.setKeyboard(keyboard, 0 /* correctionX */, 0 /* correctionY */);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean onTouchEvent(final MotionEvent e) {
- if (mGestureDetector.onTouchEvent(e)) {
- return true;
- }
- final Key key = getKey(e);
- if (key != null && key != mCurrentKey) {
- releaseCurrentKey();
- }
- return true;
- }
-
- // {@link GestureDetector#OnGestureListener} methods.
- private Key mCurrentKey;
-
- private Key getKey(final MotionEvent e) {
- final int index = e.getActionIndex();
- final int x = (int)e.getX(index);
- final int y = (int)e.getY(index);
- return mKeyDetector.detectHitKey(x, y);
- }
-
- public void releaseCurrentKey() {
- final Key currentKey = mCurrentKey;
- if (currentKey == null) {
- return;
- }
- currentKey.onReleased();
- invalidateKey(currentKey);
- mCurrentKey = null;
- }
-
- @Override
- public boolean onDown(final MotionEvent e) {
- final Key key = getKey(e);
- releaseCurrentKey();
- mCurrentKey = key;
- if (key == null) {
- return false;
- }
- // TODO: May call {@link KeyboardActionListener#onPressKey(int,int,boolean)}.
- key.onPressed();
- invalidateKey(key);
- return false;
- }
-
- @Override
- public void onShowPress(final MotionEvent e) {
- // User feedback is done at {@link #onDown(MotionEvent)}.
- }
-
- @Override
- public boolean onSingleTapUp(final MotionEvent e) {
- final Key key = getKey(e);
- releaseCurrentKey();
- if (key == null) {
- return false;
- }
- // TODO: May call {@link KeyboardActionListener#onReleaseKey(int,boolean)}.
- key.onReleased();
- invalidateKey(key);
- mListener.onKeyClick(key);
- return true;
- }
-
- @Override
- public boolean onScroll(final MotionEvent e1, final MotionEvent e2, final float distanceX,
- final float distanceY) {
- releaseCurrentKey();
- return false;
- }
-
- @Override
- public boolean onFling(final MotionEvent e1, final MotionEvent e2, final float velocityX,
- final float velocityY) {
- releaseCurrentKey();
- return false;
- }
-
- @Override
- public void onLongPress(final MotionEvent e) {
- // Long press detection of {@link #mGestureDetector} is disabled and not used.
- }
-}