diff --git a/leankeykeyboard/src/main/java/com/anysoftkeyboard/keyboards/KeyboardFactory.java b/leankeykeyboard/src/main/java/com/anysoftkeyboard/keyboards/KeyboardFactory.java index 799f0f0..08d1e70 100644 --- a/leankeykeyboard/src/main/java/com/anysoftkeyboard/keyboards/KeyboardFactory.java +++ b/leankeykeyboard/src/main/java/com/anysoftkeyboard/keyboards/KeyboardFactory.java @@ -26,7 +26,6 @@ import android.util.AttributeSet; import com.anysoftkeyboard.addons.AddOn; import com.anysoftkeyboard.addons.AddOnsFactory; import com.anysoftkeyboard.utils.Logger; -//import com.menny.android.anysoftkeyboard.R; import java.util.ArrayList; import java.util.List; diff --git a/leankeykeyboard/src/main/java/com/google/android/leanback/ime/LeanbackKeyboardContainer.java b/leankeykeyboard/src/main/java/com/google/android/leanback/ime/LeanbackKeyboardContainer.java index 41b0107..e3f095a 100644 --- a/leankeykeyboard/src/main/java/com/google/android/leanback/ime/LeanbackKeyboardContainer.java +++ b/leankeykeyboard/src/main/java/com/google/android/leanback/ime/LeanbackKeyboardContainer.java @@ -20,7 +20,6 @@ import android.text.InputType; import android.text.TextUtils; import android.util.Log; import android.view.View; -import android.view.ViewGroup; import android.view.ViewGroup.MarginLayoutParams; import android.view.animation.AccelerateInterpolator; import android.view.animation.Animation; @@ -312,7 +311,11 @@ public class LeanbackKeyboardContainer { onShiftDoubleClick(isCapsLockOn()); } - // NOTE: suggestions settings applied here + /** + * All keyboard settings applied here + * @param resources resources (not used) + * @param info current ime attributes + */ private void setImeOptions(Resources resources, EditorInfo info) { // do not erase last keyboard if (mInitialMainKeyboard == null) { @@ -355,6 +358,8 @@ public class LeanbackKeyboardContainer { mInitialMainKeyboard = this.mAbcKeyboard; } + // TODO: many empty ifs + if (mSuggestionsEnabled) { if ((info.inputType & InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS) == 0) { ; @@ -478,18 +483,22 @@ public class LeanbackKeyboardContainer { } private void setShiftState(int state) { - this.mMainKeyboardView.setShiftState(state); + mMainKeyboardView.setShiftState(state); } private void setTouchStateInternal(int state) { - this.mTouchState = state; + mTouchState = state; } + /** + * Speech recognizer routine + * @param context context + */ private void startRecognition(Context context) { - this.mRecognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); - this.mRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "free_form"); - this.mRecognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true); - this.mSpeechRecognizer.setRecognitionListener(new RecognitionListener() { + mRecognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); + mRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "free_form"); + mRecognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true); + mSpeechRecognizer.setRecognitionListener(new RecognitionListener() { float peakRmsLevel = 0.0F; int rmsCounter = 0; @@ -546,9 +555,9 @@ public class LeanbackKeyboardContainer { @Override public void onResults(Bundle bundle) { - ArrayList var2 = bundle.getStringArrayList("results_recognition"); - if (var2 != null && LeanbackKeyboardContainer.this.mVoiceListener != null) { - LeanbackKeyboardContainer.this.mVoiceListener.onVoiceResult((String) var2.get(0)); + ArrayList results = bundle.getStringArrayList("results_recognition"); + if (results != null && LeanbackKeyboardContainer.this.mVoiceListener != null) { + LeanbackKeyboardContainer.this.mVoiceListener.onVoiceResult((String) results.get(0)); } LeanbackKeyboardContainer.this.cancelVoiceRecording(); @@ -560,7 +569,7 @@ public class LeanbackKeyboardContainer { throw new IllegalStateException("method not implemented"); } }); - this.mSpeechRecognizer.startListening(this.mRecognizerIntent); + mSpeechRecognizer.startListening(this.mRecognizerIntent); } public void alignSelector(final float x, final float y, final boolean playAnimation) { @@ -648,21 +657,21 @@ public class LeanbackKeyboardContainer { } public LeanbackKeyboardContainer.KeyFocus getCurrFocus() { - return this.mCurrKeyInfo; + return mCurrKeyInfo; } public int getCurrKeyCode() { - int var1 = 0; - Key var2 = this.getKey(this.mCurrKeyInfo.type, this.mCurrKeyInfo.index); - if (var2 != null) { - var1 = var2.codes[0]; + int keyCode = 0; + Key key = getKey(mCurrKeyInfo.type, mCurrKeyInfo.index); + if (key != null) { + keyCode = key.codes[0]; } - return var1; + return keyCode; } public Button getGoButton() { - return this.mActionButtonView; + return mActionButtonView; } public Key getKey(int type, int index) { @@ -1036,6 +1045,10 @@ public class LeanbackKeyboardContainer { } } + /** + * Set touch state + * @param state {@link LeanbackKeyboardContainer LeanbackKeyboardContainer} constant + */ public void setTouchState(final int state) { switch (state) { case TOUCH_STATE_NO_TOUCH: @@ -1065,58 +1078,60 @@ public class LeanbackKeyboardContainer { setKbFocus(mCurrKeyInfo, true, true); } - public void setVoiceListener(LeanbackKeyboardContainer.VoiceListener var1) { - this.mVoiceListener = var1; + public void setVoiceListener(LeanbackKeyboardContainer.VoiceListener listener) { + mVoiceListener = listener; } public void startVoiceRecording() { - if (this.mVoiceEnabled) { - if (!this.mVoiceKeyDismissesEnabled) { - this.mVoiceAnimator.startEnterAnimation(); + if (mVoiceEnabled) { + if (!mVoiceKeyDismissesEnabled) { + mVoiceAnimator.startEnterAnimation(); return; } - this.mDismissListener.onDismiss(true); + mDismissListener.onDismiss(true); } - } + /** + * Switch to next keyboard (looped). + * {@link KeyboardManager KeyboardManager} is the source behind all keyboard implementations + */ public void switchToNextKeyboard() { - LeanbackKeyboardView var1 = this.mMainKeyboardView; - Keyboard var2 = this.mKeyboardManager.getNextKeyboard(); - this.mInitialMainKeyboard = var2; - var1.setKeyboard(var2); + LeanbackKeyboardView keyboardView = mMainKeyboardView; + Keyboard keyboard = mKeyboardManager.getNextKeyboard(); + mInitialMainKeyboard = keyboard; + keyboardView.setKeyboard(keyboard); } public void updateAddonKeyboard() { - KeyboardManager var1 = new KeyboardManager(this.mContext, this.mAbcKeyboard); - this.mKeyboardManager = var1; - this.mInitialMainKeyboard = var1.getNextKeyboard(); + KeyboardManager manager = new KeyboardManager(mContext, mAbcKeyboard); + mKeyboardManager = manager; + mInitialMainKeyboard = manager.getNextKeyboard(); } - public void updateSuggestions(ArrayList var1) { - int var2 = this.mSuggestions.getChildCount(); - int var3 = var1.size(); - if (var3 < var2) { - this.mSuggestions.removeViews(var3, var2 - var3); - } else if (var3 > var2) { - while (var2 < var3) { - View var4 = this.mContext.getLayoutInflater().inflate(R.layout.candidate, (ViewGroup) null); - this.mSuggestions.addView(var4); - ++var2; + public void updateSuggestions(ArrayList suggestions) { + int oldCount = mSuggestions.getChildCount(); + int newCount = suggestions.size(); + if (newCount < oldCount) { + mSuggestions.removeViews(newCount, oldCount - newCount); + } else if (newCount > oldCount) { + while (oldCount < newCount) { + View suggestion = mContext.getLayoutInflater().inflate(R.layout.candidate, null); + mSuggestions.addView(suggestion); + ++oldCount; } } - for (var2 = 0; var2 < var3; ++var2) { - Button var5 = (Button) this.mSuggestions.getChildAt(var2).findViewById(R.id.text); - var5.setText((CharSequence) var1.get(var2)); - var5.setContentDescription((CharSequence) var1.get(var2)); + for (oldCount = 0; oldCount < newCount; ++oldCount) { + Button suggestion = mSuggestions.getChildAt(oldCount).findViewById(R.id.text); + suggestion.setText(suggestions.get(oldCount)); + suggestion.setContentDescription(suggestions.get(oldCount)); } - if (this.getCurrFocus().type == 3) { - this.resetFocusCursor(); + if (getCurrFocus().type == KeyFocus.TYPE_SUGGESTION) { + resetFocusCursor(); } - } public interface DismissListener { diff --git a/leankeykeyboard/src/main/java/com/google/android/leanback/ime/LeanbackKeyboardController.java b/leankeykeyboard/src/main/java/com/google/android/leanback/ime/LeanbackKeyboardController.java index a60b741..222ac8c 100644 --- a/leankeykeyboard/src/main/java/com/google/android/leanback/ime/LeanbackKeyboardController.java +++ b/leankeykeyboard/src/main/java/com/google/android/leanback/ime/LeanbackKeyboardController.java @@ -185,6 +185,11 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi handleCommitKeyboardKey(keyCode, null); } + /** + * Fake key index + * @param index key index + * @param type {@link KeyFocus KeyFocus} constant + */ private void fakeKeyIndex(final int index, final int type) { LeanbackKeyboardContainer.KeyFocus focus = mContainer.getCurrFocus(); focus.index = index; @@ -669,29 +674,29 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi this.mDoubleClickDetector.reset(); } - public boolean onTouch(View var1, MotionEvent var2) { - Object var3 = var1.getTag(); - if (var3 != null && "Go".equals(var3)) { - this.fakeKeyIndex(0, 2); + public boolean onTouch(View view, MotionEvent event) { + Object tag = view.getTag(); + if (tag != null && "Go".equals(tag)) { + fakeKeyIndex(0, KeyFocus.TYPE_ACTION); } else { - switch (var2.getAction()) { - case 0: - this.moveSelectorToPoint(var2.getX(), var2.getY()); - this.fakeClickDown(); - this.beginLongClickCountdown(); + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + moveSelectorToPoint(event.getX(), event.getY()); + fakeClickDown(); + beginLongClickCountdown(); break; - case 1: - if (!this.clickConsumed) { - this.clickConsumed = true; - if (this.isDoubleClick()) { - this.mContainer.onKeyLongPress(); + case MotionEvent.ACTION_UP: + if (!clickConsumed) { + clickConsumed = true; + if (isDoubleClick()) { + mContainer.onKeyLongPress(); break; } - this.fakeClickUp(); + fakeClickUp(); } - this.fakeLongClickUp(); + fakeLongClickUp(); break; default: return false; @@ -701,35 +706,35 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi return true; } - public void onVoiceResult(String var1) { - this.mInputListener.onEntry(6, 0, var1); + public void onVoiceResult(String result) { + mInputListener.onEntry(InputListener.ENTRY_TYPE_VOICE, 0, result); } public void run() { - if (!this.clickConsumed) { - this.clickConsumed = true; - this.fakeLongClickDown(); + if (!clickConsumed) { + clickConsumed = true; + fakeLongClickDown(); } } - public void setKeyboardContainer(LeanbackKeyboardContainer var1) { - this.mContainer = var1; - var1.getView().addOnLayoutChangeListener(this.mOnLayoutChangeListener); + public void setKeyboardContainer(LeanbackKeyboardContainer container) { + mContainer = container; + container.getView().addOnLayoutChangeListener(mOnLayoutChangeListener); } - public void setSpaceTracker(TouchNavSpaceTracker var1) { - this.mSpaceTracker = var1; - var1.setLPFEnabled(true); - var1.setKeyEventListener(this.mTouchEventListener); + public void setSpaceTracker(TouchNavSpaceTracker tracker) { + mSpaceTracker = tracker; + tracker.setLPFEnabled(true); + tracker.setKeyEventListener(mTouchEventListener); } public void updateAddonKeyboard() { - this.mContainer.updateAddonKeyboard(); + mContainer.updateAddonKeyboard(); } - public void updateSuggestions(ArrayList var1) { - if (this.mContainer != null) { - this.mContainer.updateSuggestions(var1); + public void updateSuggestions(ArrayList suggestions) { + if (mContainer != null) { + mContainer.updateSuggestions(suggestions); } } @@ -740,23 +745,23 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi long mFirstClickTime; private DoubleClickDetector() { - this.DOUBLE_CLICK_TIMEOUT_MS = 200L; - this.mFirstClickTime = 0L; + DOUBLE_CLICK_TIMEOUT_MS = 200L; + mFirstClickTime = 0L; } - public void addEvent(long var1) { - if (var1 - this.mFirstClickTime > 200L) { - this.mFirstClickTime = var1; - this.mFirstClickShiftLocked = LeanbackKeyboardController.this.mContainer.isCapsLockOn(); + public void addEvent(long currTime) { + if (currTime - mFirstClickTime > DOUBLE_CLICK_TIMEOUT_MS) { + mFirstClickTime = currTime; + mFirstClickShiftLocked = LeanbackKeyboardController.this.mContainer.isCapsLockOn(); LeanbackKeyboardController.this.commitKey(); } else { - LeanbackKeyboardController.this.mContainer.onShiftDoubleClick(this.mFirstClickShiftLocked); - this.reset(); + LeanbackKeyboardController.this.mContainer.onShiftDoubleClick(mFirstClickShiftLocked); + reset(); } } public void reset() { - this.mFirstClickTime = 0L; + mFirstClickTime = 0L; } } diff --git a/leankeykeyboard/src/main/java/com/liskovsoft/keyboardaddons/KeyboardManager.java b/leankeykeyboard/src/main/java/com/liskovsoft/keyboardaddons/KeyboardManager.java index 2a061b9..74d2e50 100644 --- a/leankeykeyboard/src/main/java/com/liskovsoft/keyboardaddons/KeyboardManager.java +++ b/leankeykeyboard/src/main/java/com/liskovsoft/keyboardaddons/KeyboardManager.java @@ -16,8 +16,8 @@ public class KeyboardManager { private final KeyboardFactory mKeyboardFactory; private int mKeyboardIndex = 0; - public KeyboardManager(Context ctx, int defaultKeyboard1) { - this(ctx, new Keyboard(ctx, defaultKeyboard1)); + public KeyboardManager(Context ctx, int keyboardResId) { + this(ctx, new Keyboard(ctx, keyboardResId)); } public KeyboardManager(Context ctx, Keyboard englishKeyboard) { @@ -40,16 +40,19 @@ public class KeyboardManager { return keyboards; } + /** + * Get next keyboard from internal source (looped) + * @return keyboard + */ public Keyboard getNextKeyboard() { ++mKeyboardIndex; mKeyboardIndex = mKeyboardIndex < mAllKeyboards.size() ? mKeyboardIndex : 0; Keyboard kbd = mAllKeyboards.get(mKeyboardIndex); if (kbd == null) { - throw new UnsupportedOperationException(String.format("Keyboard %s not initialized", mKeyboardIndex)); + throw new IllegalStateException(String.format("Keyboard %s not initialized", mKeyboardIndex)); } - return kbd; } }