*/
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;
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) {
mText4 = (EditText) findViewById(R.id.txt4);
+
SharedPreferences appPrefs = PreferenceManager
.getDefaultSharedPreferences(getApplicationContext());
// 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);
boolean state = appPrefs.getBoolean("set_pincode", false);
appPrefsE.putBoolean("set_pincode",!state);
appPrefsE.commit();
-
+ setInitVars();
finish();
}
});
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
+
}
});
if (!confirmingPinCode){
tempText[1] = mText2.getText().toString();
}
+
mText3.requestFocus();
+
}
}
mText1.setText("");
mText1.requestFocus();
- tempText[0] = "";
+ if (!confirmingPinCode)
+ tempText[0] = "";
bChange= false;
}else if(!bChange){
@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);
}
}
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;
@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);
}
}
.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;
@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);
}
}
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");
- 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) {
});
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");
- 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) {
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) {
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;
}
return super.onKeyDown(keyCode, event);
}
-
+
+
+
}