*/
package eu.alefzero.owncloud.ui.activity;
+import java.util.Arrays;
+
import com.actionbarsherlock.app.SherlockFragmentActivity;
import eu.alefzero.owncloud.R;
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) {
mPinHdr = (TextView) findViewById(R.id.pinHdr);
mText1 = (EditText) findViewById(R.id.txt1);
mText1.requestFocus();
- getWindow().setSoftInputMode(android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
+ getWindow().setSoftInputMode(android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
mText2 = (EditText) findViewById(R.id.txt2);
mText3 = (EditText) findViewById(R.id.txt3);
mText4 = (EditText) findViewById(R.id.txt4);
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_enter_pin_code);
+ pinCodeChecked = false;
+ setChangePincodeView(true);
+ }
-
+ }
setTextListeners();
}
-
+
+ protected void setInitVars(){
+ confirmingPinCode = false;
+ pinCodeChecked = false;
+ newPasswordEntered = false;
+
+ }
protected void setInitView(){
bCancel.setVisibility(View.INVISIBLE);
boolean state = appPrefs.getBoolean("set_pincode", false);
appPrefsE.putBoolean("set_pincode",!state);
appPrefsE.commit();
-
+ setInitVars();
finish();
}
});
tempText[0] = mText1.getText().toString();
}
+
mText2.requestFocus();
+
}
}
if (!confirmingPinCode){
tempText[1] = mText2.getText().toString();
}
+
mText3.requestFocus();
+
}
}
mText1.setText("");
mText1.requestFocus();
- tempText[0] = "";
+ if (!confirmingPinCode)
+ tempText[0] = "";
bChange= false;
}else if(!bChange){
// TODO Auto-generated method stub
if (mText1.getText().toString().equals("")){
mText1.requestFocus();
+ }else {
+ mText1.append("");
}
}
tempText[2] = mText3.getText().toString();
}
mText4.requestFocus();
+
}
}
if (keyCode == KeyEvent.KEYCODE_DEL && bChange) {
mText2.requestFocus();
- tempText[1] = "";
+ if (!confirmingPinCode)
+ tempText[1] = "";
mText2.setText("");
bChange= false;
.getDefaultSharedPreferences(getApplicationContext()).edit();
appPrefs.putBoolean("set_pincode",false);
appPrefs.commit();
+
+ setInitVars();
pinCodeEnd(false);
}else{
- if (!confirmingPinCode && !newPasswordEntered){
+ if (!confirmingPinCode){
pinCodeChangeRequest();
- } else if (newPasswordEntered && !confirmingPinCode){
- mPinHdr.setText(R.string.pincode_confirm_your_pincode);
- confirmingPinCode = true;
- clearBoxes();
+
} else {
confirmPincode();
}
if (keyCode == KeyEvent.KEYCODE_DEL && bChange) {
mText3.requestFocus();
- tempText[2]="";
+ if (!confirmingPinCode)
+ tempText[2]="";
mText3.setText("");
bChange= false;
protected void pinCodeChangeRequest(){
clearBoxes();
- mPinHdr.setText(R.string.pincode_confirm_your_pincode);
+ mPinHdr.setText(R.string.pincode_reenter_your_pincode);
confirmingPinCode =true;
}
}else {
+ Arrays.fill(tempText, null);
AlertDialog aDialog = new AlertDialog.Builder(this).create();
aDialog.setTitle("ERROR");
- aDialog.setMessage("Wrong PIN");
+ CharSequence cseq = getString(R.string.pincode_wrong);
+ aDialog.setMessage(cseq);
aDialog.setButton("OK", new DialogInterface.OnClickListener(){
@Override
});
aDialog.show();
clearBoxes();
- mPinHdr.setText(R.string.pincode_configure_your_pin);
+ mPinHdr.setText(R.string.pincode_enter_pin_code);
newPasswordEntered = true;
confirmingPinCode = false;
} else {
+ Arrays.fill(tempText, null);
AlertDialog aDialog = new AlertDialog.Builder(this).create();
aDialog.setTitle("ERROR");
- aDialog.setMessage("PIN Code Mismatch");
+ CharSequence cseq = getString(R.string.pincode_mismatch);
+ aDialog.setMessage(cseq);
aDialog.setButton("OK", new DialogInterface.OnClickListener(){
@Override
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;
}