@Override
        public void onClick(View v) {
          if ((isTurn && cardSelected != null)
              && currentState != FIRST_ROUND_BETTING
              && currentState != SECOND_ROUND_BETTING
              && (currentState == PICK_IT_UP
                  || currentState == PLAY_LEAD_CARD
                  || gameRules.checkCard(cardSelected, trumpSuit, cardLead, cardHand))
              && cardHand.size() != 0) {
            // play card or discard if it is pick_it_up mode

            connection.write(currentState, cardSelected);

            playerContext.removeFromHand(cardSelected.getIdNum());

            cardSelected = null;
            if (currentState == PICK_IT_UP) {
              play.setText(R.string.Play);
              playingView();
            }

            setButtonsEnabled(false);
            isTurn = false;
            cardSuggestedId = -1;
            playerContext.setSelected(-1, cardSuggestedId);
          } else if (currentState == FIRST_ROUND_BETTING || currentState == SECOND_ROUND_BETTING) {
            EuchreBet bet = new EuchreBet(trumpSuit, false, false);

            connection.write(currentState, bet.toString());

            isBettingNow = false;

            playingView();
            setButtonsEnabled(false);
            isTurn = false;
            cardSuggestedId = -1;
            playerContext.setSelected(-1, cardSuggestedId);
          }
        }