X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/f757b74ced1c8370850bba7fbf97673663197a5e..6a9eaaf9aa6ce01ed788d057c56face20fa88dc3:/src/eu/alefzero/owncloud/ui/activity/PinCodeActivity.java diff --git a/src/eu/alefzero/owncloud/ui/activity/PinCodeActivity.java b/src/eu/alefzero/owncloud/ui/activity/PinCodeActivity.java index d2ad198d..5fd7213a 100644 --- a/src/eu/alefzero/owncloud/ui/activity/PinCodeActivity.java +++ b/src/eu/alefzero/owncloud/ui/activity/PinCodeActivity.java @@ -17,23 +17,31 @@ */ package eu.alefzero.owncloud.ui.activity; +import java.util.Arrays; + import com.actionbarsherlock.app.SherlockFragmentActivity; import eu.alefzero.owncloud.R; + import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; +import android.graphics.Typeface; import android.os.Bundle; +import android.os.Handler; import android.preference.PreferenceManager; import android.text.Editable; +import android.text.InputType; import android.text.TextWatcher; +import android.text.method.PasswordTransformationMethod; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnFocusChangeListener; import android.view.View.OnKeyListener; +import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; @@ -60,7 +68,7 @@ public class PinCodeActivity extends SherlockFragmentActivity { boolean pinCodeChecked = false; boolean newPasswordEntered = false; boolean bChange = true; // to control that only one blocks jump - int tCounter ; // Count the number of attempts an user could introduce de PIN code + int tCounter ; // Count the number of attempts an user could introduce the PIN code protected void onCreate(Bundle savedInstanceState) { @@ -80,6 +88,7 @@ public class PinCodeActivity extends SherlockFragmentActivity { mText4 = (EditText) findViewById(R.id.txt4); + SharedPreferences appPrefs = PreferenceManager .getDefaultSharedPreferences(getApplicationContext()); @@ -87,33 +96,48 @@ public class PinCodeActivity extends SherlockFragmentActivity { // Not PIN Code defined yet. // In a previous version settings is allow from start if ( (appPrefs.getString("PrefPinCode1", null) == null ) ){ - setInitView(); + setChangePincodeView(true); pinCodeChecked = true; newPasswordEntered = true; - }else if (appPrefs.getBoolean("set_pincode", false)){ - if (activity.equals("preferences")){ - mPinHdr.setText(R.string.pincode_configure_your_pin); - setChangePincodeView(true); - }else{ - bCancel.setVisibility(View.INVISIBLE); - bCancel.setVisibility(View.GONE); - mPinHdr.setText(R.string.pincode_enter_pin_code); - setChangePincodeView(false); - } + }else{ - }else { - mPinHdr.setText(R.string.pincode_enter_pin_code); - pinCodeChecked = true; - setChangePincodeView(true); - } + if (appPrefs.getBoolean("set_pincode", false)){ + // pincode activated + if (activity.equals("preferences")){ + // PIN has been activated yet + mPinHdr.setText(R.string.pincode_configure_your_pin); + pinCodeChecked = true ; // No need to check it + setChangePincodeView(true); + }else{ + // PIN active + bCancel.setVisibility(View.INVISIBLE); + bCancel.setVisibility(View.GONE); + mPinHdr.setText(R.string.pincode_enter_pin_code); + setChangePincodeView(false); + } + + }else { + // pincode removal + mPinHdr.setText(R.string.pincode_remove_your_pincode); + pinCodeChecked = false; + setChangePincodeView(true); + } - + } setTextListeners(); } - + + + + protected void setInitVars(){ + confirmingPinCode = false; + pinCodeChecked = false; + newPasswordEntered = false; + + } protected void setInitView(){ bCancel.setVisibility(View.INVISIBLE); @@ -139,7 +163,7 @@ public class PinCodeActivity extends SherlockFragmentActivity { boolean state = appPrefs.getBoolean("set_pincode", false); appPrefsE.putBoolean("set_pincode",!state); appPrefsE.commit(); - + setInitVars(); finish(); } }); @@ -163,27 +187,22 @@ public class PinCodeActivity extends SherlockFragmentActivity { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - // TODO Auto-generated method stub - if (s.length() > 0) { - if (!confirmingPinCode){ - tempText[0] = mText1.getText().toString(); - - } - mText2.requestFocus(); - } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { - // TODO Auto-generated method stub - } @Override public void afterTextChanged(Editable s) { - // TODO Auto-generated method stub - + if (s.length() > 0) { + if (!confirmingPinCode){ + tempText[0] = mText1.getText().toString(); + + } + mText2.requestFocus(); + } } }); @@ -197,26 +216,22 @@ public class PinCodeActivity extends SherlockFragmentActivity { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - // TODO Auto-generated method stub - if (s.length() > 0) { - if (!confirmingPinCode){ - tempText[1] = mText2.getText().toString(); - } - mText3.requestFocus(); - } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { - // TODO Auto-generated method stub - } @Override public void afterTextChanged(Editable s) { - // TODO Auto-generated method stub - + if (s.length() > 0) { + if (!confirmingPinCode){ + tempText[1] = mText2.getText().toString(); + } + + mText3.requestFocus(); + } } }); @@ -230,7 +245,8 @@ public class PinCodeActivity extends SherlockFragmentActivity { mText1.setText(""); mText1.requestFocus(); - tempText[0] = ""; + if (!confirmingPinCode) + tempText[0] = ""; bChange= false; }else if(!bChange){ @@ -246,8 +262,14 @@ public class PinCodeActivity extends SherlockFragmentActivity { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub + + mText2.setCursorVisible(true); if (mText1.getText().toString().equals("")){ + mText2.setSelected(false); + mText2.setCursorVisible(false); mText1.requestFocus(); + mText1.setSelected(true); + mText1.setSelection(0); } } @@ -262,26 +284,21 @@ public class PinCodeActivity extends SherlockFragmentActivity { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - // TODO Auto-generated method stub - if (s.length() > 0) { - if (!confirmingPinCode){ - tempText[2] = mText3.getText().toString(); - } - mText4.requestFocus(); - } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { - // TODO Auto-generated method stub - } @Override public void afterTextChanged(Editable s) { - // TODO Auto-generated method stub - + if (s.length() > 0) { + if (!confirmingPinCode){ + tempText[2] = mText3.getText().toString(); + } + mText4.requestFocus(); + } } }); @@ -293,7 +310,8 @@ public class PinCodeActivity extends SherlockFragmentActivity { if (keyCode == KeyEvent.KEYCODE_DEL && bChange) { mText2.requestFocus(); - tempText[1] = ""; + if (!confirmingPinCode) + tempText[1] = ""; mText2.setText(""); bChange= false; @@ -310,10 +328,19 @@ public class PinCodeActivity extends SherlockFragmentActivity { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub + mText3.setCursorVisible(true); if (mText1.getText().toString().equals("")){ - mText1.requestFocus(); + mText3.setSelected(false); + mText3.setCursorVisible(false); + mText1.requestFocus(); + mText1.setSelected(true); + mText1.setSelection(0); }else if (mText2.getText().toString().equals("")){ - mText2.requestFocus(); + mText3.setSelected(false); + mText3.setCursorVisible(false); + mText2.requestFocus(); + mText2.setSelected(true); + mText2.setSelection(0); } } @@ -327,62 +354,55 @@ public class PinCodeActivity extends SherlockFragmentActivity { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - - if (s.length() > 0) { - - if (!confirmingPinCode){ - tempText[3] = mText4.getText().toString(); - } - mText1.requestFocus(); - - if (!pinCodeChecked){ - pinCodeChecked = checkPincode(); - } - - if (pinCodeChecked && activity.equals("FileDisplayActivity")){ - finish(); - } else if (pinCodeChecked){ - - Intent intent = getIntent(); - String newState = intent.getStringExtra(EXTRA_NEW_STATE); - - if (newState.equals("false")){ - SharedPreferences.Editor appPrefs = PreferenceManager - .getDefaultSharedPreferences(getApplicationContext()).edit(); - appPrefs.putBoolean("set_pincode",false); - appPrefs.commit(); - pinCodeEnd(false); - - }else{ - - if (!confirmingPinCode && !newPasswordEntered){ - pinCodeChangeRequest(); - } else if (newPasswordEntered && !confirmingPinCode){ - mPinHdr.setText(R.string.pincode_confirm_your_pincode); - confirmingPinCode = true; - clearBoxes(); - } else { - confirmPincode(); - } - } - - - } - - } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { - // TODO Auto-generated method stub - } @Override public void afterTextChanged(Editable s) { - // TODO Auto-generated method stub + if (s.length() > 0) { + + if (!confirmingPinCode){ + tempText[3] = mText4.getText().toString(); + } + mText1.requestFocus(); + if (!pinCodeChecked){ + pinCodeChecked = checkPincode(); + } + + if (pinCodeChecked && activity.equals("FileDisplayActivity")){ + finish(); + } else if (pinCodeChecked){ + + Intent intent = getIntent(); + String newState = intent.getStringExtra(EXTRA_NEW_STATE); + + if (newState.equals("false")){ + SharedPreferences.Editor appPrefs = PreferenceManager + .getDefaultSharedPreferences(getApplicationContext()).edit(); + appPrefs.putBoolean("set_pincode",false); + appPrefs.commit(); + + setInitVars(); + pinCodeEnd(false); + + }else{ + + if (!confirmingPinCode){ + pinCodeChangeRequest(); + + } else { + confirmPincode(); + } + } + + + } + } } }); @@ -396,7 +416,8 @@ public class PinCodeActivity extends SherlockFragmentActivity { if (keyCode == KeyEvent.KEYCODE_DEL && bChange) { mText3.requestFocus(); - tempText[2]=""; + if (!confirmingPinCode) + tempText[2]=""; mText3.setText(""); bChange= false; @@ -412,12 +433,27 @@ public class PinCodeActivity extends SherlockFragmentActivity { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub + + mText4.setCursorVisible(true); + if (mText1.getText().toString().equals("")){ - mText1.requestFocus(); + mText4.setSelected(false); + mText4.setCursorVisible(false); + mText1.requestFocus(); + mText1.setSelected(true); + mText1.setSelection(0); }else if (mText2.getText().toString().equals("")){ - mText2.requestFocus(); + mText4.setSelected(false); + mText4.setCursorVisible(false); + mText2.requestFocus(); + mText2.setSelected(true); + mText2.setSelection(0); }else if (mText3.getText().toString().equals("")){ - mText3.requestFocus(); + mText4.setSelected(false); + mText4.setCursorVisible(false); + mText3.requestFocus(); + mText3.setSelected(true); + mText3.setSelection(0); } } @@ -431,7 +467,7 @@ public class PinCodeActivity extends SherlockFragmentActivity { protected void pinCodeChangeRequest(){ clearBoxes(); - mPinHdr.setText(R.string.pincode_confirm_your_pincode); + mPinHdr.setText(R.string.pincode_reenter_your_pincode); confirmingPinCode =true; } @@ -457,10 +493,14 @@ public class PinCodeActivity extends SherlockFragmentActivity { }else { + Arrays.fill(tempText, null); AlertDialog aDialog = new AlertDialog.Builder(this).create(); - aDialog.setTitle("ERROR"); - aDialog.setMessage("Wrong PIN"); - aDialog.setButton("OK", new DialogInterface.OnClickListener(){ + CharSequence errorSeq = getString(R.string.common_error); + aDialog.setTitle(errorSeq); + CharSequence cseq = getString(R.string.pincode_wrong); + aDialog.setMessage(cseq); + CharSequence okSeq = getString(R.string.common_ok); + aDialog.setButton(okSeq, new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { @@ -471,7 +511,7 @@ public class PinCodeActivity extends SherlockFragmentActivity { }); aDialog.show(); clearBoxes(); - mPinHdr.setText(R.string.pincode_configure_your_pin); + mPinHdr.setText(R.string.pincode_enter_pin_code); newPasswordEntered = true; confirmingPinCode = false; @@ -499,10 +539,14 @@ public class PinCodeActivity extends SherlockFragmentActivity { } else { + Arrays.fill(tempText, null); AlertDialog aDialog = new AlertDialog.Builder(this).create(); - aDialog.setTitle("ERROR"); - aDialog.setMessage("PIN Code Mismatch"); - aDialog.setButton("OK", new DialogInterface.OnClickListener(){ + CharSequence errorSeq = getString(R.string.common_error); + aDialog.setTitle(errorSeq); + CharSequence cseq = getString(R.string.pincode_mismatch); + aDialog.setMessage(cseq); + CharSequence okSeq = getString(R.string.common_ok); + aDialog.setButton(okSeq, new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { @@ -523,14 +567,20 @@ public class PinCodeActivity extends SherlockFragmentActivity { AlertDialog aDialog = new AlertDialog.Builder(this).create(); if (state){ - aDialog.setTitle("SAVE & EXIT"); - aDialog.setMessage("PIN Code Activated"); + CharSequence saveSeq = getString(R.string.common_save_exit); + aDialog.setTitle(saveSeq); + CharSequence cseq = getString(R.string.pincode_stored); + aDialog.setMessage(cseq); + }else{ - aDialog.setTitle("SAVE & EXIT"); - aDialog.setMessage("PIN Code Removed"); + CharSequence saveSeq = getString(R.string.common_save_exit); + aDialog.setTitle(saveSeq); + CharSequence cseq = getString(R.string.pincode_removed); + aDialog.setMessage(cseq); + } - - aDialog.setButton("OK", new DialogInterface.OnClickListener(){ + CharSequence okSeq = getString(R.string.common_ok); + aDialog.setButton(okSeq, new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { @@ -575,7 +625,20 @@ public class PinCodeActivity extends SherlockFragmentActivity { public boolean onKeyDown(int keyCode, KeyEvent event){ if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()== 0){ + if (activity.equals("preferences")){ + SharedPreferences.Editor appPrefsE = PreferenceManager + + .getDefaultSharedPreferences(getApplicationContext()).edit(); + + SharedPreferences appPrefs = PreferenceManager + .getDefaultSharedPreferences(getApplicationContext()); + boolean state = appPrefs.getBoolean("set_pincode", false); + appPrefsE.putBoolean("set_pincode",!state); + appPrefsE.commit(); + setInitVars(); + finish(); + } return true; } @@ -583,6 +646,8 @@ public class PinCodeActivity extends SherlockFragmentActivity { return super.onKeyDown(keyCode, event); } - + + + }