package com.pinthecloud.athere.dialog; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.EditText; import android.widget.ImageButton; import android.widget.TextView; import com.pinthecloud.athere.R; import com.pinthecloud.athere.interfaces.AhDialogCallback; import com.pinthecloud.athere.model.Square; public class SquareEnterDialog extends AhDialogFragment{ private TextView titleText; private TextView warningText; private EditText codeText; private ImageButton enterButton; private AhDialogCallback ahDialogCallback; private Square square; public SquareEnterDialog(Square square, AhDialogCallback ahDialogCallback) { super(); this.ahDialogCallback = ahDialogCallback; this.square = square; setStyle(STYLE_NO_TITLE, 0); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.dialog_square_enter, container, false); findComponent(view); setComponent(); setEditText(); setButtonEvent(); return view; } private void findComponent(View view){ titleText = (TextView) view.findViewById(R.id.square_enter_dialog_title); warningText = (TextView) view.findViewById(R.id.square_enter_dialog_code_warning_text); codeText = (EditText) view.findViewById(R.id.square_enter_dialog_code_text); enterButton = (ImageButton) view.findViewById(R.id.square_enter_dialog_enter_button); } private void setComponent(){ titleText.setText(square.getName()); } private void setEditText(){ codeText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { String code = s.toString().trim(); if(code.length() < 1){ enterButton.setEnabled(false); }else{ enterButton.setEnabled(true); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); } private void setButtonEvent(){ enterButton.setEnabled(false); enterButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String code = codeText.getText().toString().trim(); if(code.equals(square.getCode())){ ahDialogCallback.doPositiveThing(null); dismiss(); }else{ codeText.setText(code); codeText.setSelection(code.length()); warningText.setText(getResources().getString(R.string.bad_entry_code_message)); } } }); } }