package com.fancl.iloyalty.activity.purchase; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.RelativeLayout; import android.widget.TextView; import com.fancl.iloyalty.Constants; import com.fancl.iloyalty.R; import com.fancl.iloyalty.activity.MainNoTabActivity; import com.fancl.iloyalty.exception.FanclException; import com.fancl.iloyalty.factory.CustomServiceFactory; import com.fancl.iloyalty.factory.GeneralServiceFactory; import com.fancl.iloyalty.service.LocaleService; import com.gt.snssharinglibrary.util.LogController; public class PurchasePOSCodeEnterActivity extends MainNoTabActivity { private LocaleService localeService; private View posInputLayout; private TextView digit1TextView; private TextView digit2TextView; private TextView digit3TextView; private TextView digit4TextView; private RelativeLayout numberButton0; private RelativeLayout numberButton1; private RelativeLayout numberButton2; private RelativeLayout numberButton3; private RelativeLayout numberButton4; private RelativeLayout numberButton5; private RelativeLayout numberButton6; private RelativeLayout numberButton7; private RelativeLayout numberButton8; private RelativeLayout numberButton9; private RelativeLayout numberButtonDelete; // WRT <<iloyalty_flow_V1.7_20120713.pdf>> screen 4.8 /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); headerTitleTextView.setText(this.getResources().getString(R.string.purchase_title)); this.setupSpaceLayout(); navigationBarLeftBtn.setVisibility(View.VISIBLE); navigationBarLeftBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub onBackPressed(); } }); navigationBarRightBtn.setVisibility(View.VISIBLE); navigationBarRightTextView.setText(getResources().getString(R.string.confirm_btn_title)); navigationBarRightBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub confirmButtonClicked(); } }); } private void setupSpaceLayout() { // TODO Auto-generated method stub // Space Layout posInputLayout = (RelativeLayout) this.getLayoutInflater().inflate( R.layout.purchase_enter_4_digit_key_page, null); spaceLayout.addView(posInputLayout, new LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); digit1TextView = (TextView) this.findViewById(R.id.digit_1_textview); digit2TextView = (TextView) this.findViewById(R.id.digit_2_textview); digit3TextView = (TextView) this.findViewById(R.id.digit_3_textview); digit4TextView = (TextView) this.findViewById(R.id.digit_4_textview); numberButton0 = (RelativeLayout) this.findViewById(R.id.keyboard_0); numberButton0.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub keyboardOnClickedAction(0); } }); numberButton1 = (RelativeLayout) this.findViewById(R.id.keyboard_1); numberButton1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub keyboardOnClickedAction(1); } }); numberButton2 = (RelativeLayout) this.findViewById(R.id.keyboard_2); numberButton2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub keyboardOnClickedAction(2); } }); numberButton3 = (RelativeLayout) this.findViewById(R.id.keyboard_3); numberButton3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub keyboardOnClickedAction(3); } }); numberButton4 = (RelativeLayout) this.findViewById(R.id.keyboard_4); numberButton4.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub keyboardOnClickedAction(4); } }); numberButton5 = (RelativeLayout) this.findViewById(R.id.keyboard_5); numberButton5.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub keyboardOnClickedAction(5); } }); numberButton6 = (RelativeLayout) this.findViewById(R.id.keyboard_6); numberButton6.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub keyboardOnClickedAction(6); } }); numberButton7 = (RelativeLayout) this.findViewById(R.id.keyboard_7); numberButton7.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub keyboardOnClickedAction(7); } }); numberButton8 = (RelativeLayout) this.findViewById(R.id.keyboard_8); numberButton8.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub keyboardOnClickedAction(8); } }); numberButton9 = (RelativeLayout) this.findViewById(R.id.keyboard_9); numberButton9.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub keyboardOnClickedAction(9); } }); numberButtonDelete = (RelativeLayout) this.findViewById(R.id.keyboard_delete); numberButtonDelete.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub keyboardOnClickedAction(-1); } }); } private void keyboardOnClickedAction(int clickedKeyNum) { TextView currentTextView = getNextInputTextView(); switch (clickedKeyNum) { case 0: { currentTextView.setText("0"); } break; case 1: { currentTextView.setText("1"); } break; case 2: { currentTextView.setText("2"); } break; case 3: { currentTextView.setText("3"); } break; case 4: { currentTextView.setText("4"); } break; case 5: { currentTextView.setText("5"); } break; case 6: { currentTextView.setText("6"); } break; case 7: { currentTextView.setText("7"); } break; case 8: { currentTextView.setText("8"); } break; case 9: { currentTextView.setText("9"); } break; case -1: { if (digit4TextView.getText().toString().length() > 0) { digit4TextView.setText(null); } else if (digit3TextView.getText().toString().length() > 0) { digit3TextView.setText(null); } else if (digit2TextView.getText().toString().length() > 0) { digit2TextView.setText(null); } else if (digit1TextView.getText().toString().length() > 0) { digit1TextView.setText(null); } } break; default: break; } } private TextView getNextInputTextView() { if (digit1TextView.getText().toString().length() > 0 && digit2TextView.getText().toString().length() > 0 && digit3TextView.getText().toString().length() > 0) { return digit4TextView; } else if (digit1TextView.getText().toString().length() > 0 && digit2TextView.getText().toString().length() > 0) { return digit3TextView; } else if (digit1TextView.getText().toString().length() > 0) { return digit2TextView; } else { return digit1TextView; } } private void confirmButtonClicked() { String inputtedCode = ""; if (digit1TextView.getText().toString().length() > 0 && digit2TextView.getText().toString().length() > 0 && digit3TextView.getText().toString().length() > 0 && digit4TextView.getText().toString().length() > 0) { inputtedCode = digit1TextView.getText().toString() + digit2TextView.getText().toString() + digit3TextView.getText().toString() + digit4TextView.getText().toString(); if (inputtedCode.length() == 4) { String posCode = ""; try { posCode = CustomServiceFactory.getPurchaseService().getSecurityCodeWithInput(inputtedCode); } catch (FanclException e) { // TODO Auto-generated catch block e.printStackTrace(); } LogController.log("posCode:"+posCode); Intent intent = new Intent(PurchasePOSCodeEnterActivity.this, PurchasePOSCodeDisplayActivity.class); intent.putExtra(Constants.POS_CODE_KEY, posCode); startActivity(intent); finish(); } } else { GeneralServiceFactory.getAlertDialogService().makeNativeDialog(this, "", "Input Error", getString(R.string.ok_btn_title), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { // if this button is clicked, close // current activity dialog.cancel(); } }, "", null, false, false); } } @Override public void onBackPressed() { super.onBackPressed(); Intent intent = new Intent(PurchasePOSCodeEnterActivity.this, PurchaseQRCodeScanActivity.class); startActivity(intent); } }