summaryrefslogtreecommitdiff
path: root/src/us/minak/MinakView.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/us/minak/MinakView.java')
-rw-r--r--src/us/minak/MinakView.java84
1 files changed, 3 insertions, 81 deletions
diff --git a/src/us/minak/MinakView.java b/src/us/minak/MinakView.java
index fe8cd25..3f9373e 100644
--- a/src/us/minak/MinakView.java
+++ b/src/us/minak/MinakView.java
@@ -15,8 +15,7 @@ import java.util.*;
public class MinakView extends RelativeLayout {
private final Context mContext;
private OnCharacterEnteredListener mOnCharacterEnteredListener;
- private OnBackspacePressedListener mOnBackspacePressedListener;
- private Button mShiftButton;
+
private ShiftState mShiftState = ShiftState.OFF;
private final Queue<Character> mSymbolsQueue = new LinkedList<Character>();
@@ -40,31 +39,13 @@ public class MinakView extends RelativeLayout {
enterCharacter(character);
}
});
-
- final Button symbolsButton = (Button) findViewById(R.id.symbols_btn);
- symbolsButton.setOnClickListener(mButtonClickListener);
- symbolsButton.setOnLongClickListener(mButtonLongClickListener);
-
- mShiftButton = (Button) findViewById(R.id.shift_btn);
- mShiftButton.setOnClickListener(mButtonClickListener);
- mShiftButton.setOnLongClickListener(mButtonLongClickListener);
-
- final Button backspaceButton = (Button) findViewById(R.id.backspace_btn);
- backspaceButton.setOnClickListener(mButtonClickListener);
- backspaceButton.setOnLongClickListener(mButtonLongClickListener);
-
- final Button spaceButton = (Button) findViewById(R.id.space_btn);
- spaceButton.setOnClickListener(mButtonClickListener);
- spaceButton.setOnLongClickListener(mButtonLongClickListener);
}
public void setOnCharacterEnteredListener(OnCharacterEnteredListener onCharacterEnteredListener) {
mOnCharacterEnteredListener = onCharacterEnteredListener;
}
- public void setOnBackspacePressedListener(OnBackspacePressedListener onBackspacePressedListener) {
- mOnBackspacePressedListener = onBackspacePressedListener;
- }
+
public Queue<Character> getSymbolsQueue() {
return mSymbolsQueue;
@@ -85,74 +66,16 @@ public class MinakView extends RelativeLayout {
/**
* Listener handling pressing all buttons.
*/
- private final OnClickListener mButtonClickListener = new OnClickListener() {
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.symbols_btn:
- final Intent intent = new Intent(mContext, SymbolsActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- mContext.startActivity(intent);
- break;
- case R.id.shift_btn:
- shift();
- break;
- case R.id.backspace_btn:
- mOnBackspacePressedListener.backspacePressed(false);
- break;
- case R.id.space_btn:
- mOnCharacterEnteredListener.characterEntered(" ");
- break;
- default:
- throw new IllegalArgumentException();
- }
- }
- };
/**
* Listener handling long pressing all buttons.
*/
- private final OnLongClickListener mButtonLongClickListener = new OnLongClickListener() {
- @Override
- public boolean onLongClick(View v) {
- switch (v.getId()) {
- case R.id.symbols_btn:
- case R.id.shift_btn:
- break;
- case R.id.backspace_btn:
- mOnBackspacePressedListener.backspacePressed(true);
- return true;
- case R.id.space_btn:
- break;
- default:
- throw new IllegalArgumentException();
- }
- return false;
- }
- };
/**
* Changes shift state to the next one (OFF -> ON -> CAPS LOCK).
*/
- private void shift() {
- switch (mShiftState) {
- case OFF:
- mShiftState = ShiftState.ON;
- mShiftButton.setBackgroundResource(R.drawable.shift_on);
- break;
- case ON:
- mShiftState = ShiftState.CAPS_LOCK;
- mShiftButton.setBackgroundResource(R.drawable.shift_caps_lock);
- break;
- case CAPS_LOCK:
- mShiftState = ShiftState.OFF;
- mShiftButton.setBackgroundResource(R.drawable.shift_off);
- break;
- default:
- throw new IllegalArgumentException();
- }
- }
+
/**
* Passes the given character to the input service.
@@ -167,7 +90,6 @@ public class MinakView extends RelativeLayout {
break;
case ON:
mOnCharacterEnteredListener.characterEntered(character.toUpperCase(Locale.ENGLISH));
- shift();
break;
case CAPS_LOCK:
mOnCharacterEnteredListener.characterEntered(character.toUpperCase(Locale.ENGLISH));