*/
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 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();
+ }
}
});
@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();
+ }
}
});
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);
}
}
@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();
+ }
}
});
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);
}
}
@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();
+ }
+ }
+
+
+ }
+ }
}
});
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);
}
-
+
+
+
}