More fixes to PIN code
authorDavid A. Velasco <dvelasco@solidgear.es>
Fri, 13 Jul 2012 12:46:40 +0000 (14:46 +0200)
committerDavid A. Velasco <dvelasco@solidgear.es>
Fri, 13 Jul 2012 12:46:40 +0000 (14:46 +0200)
AndroidManifest.xml
res/values/strings.xml
src/eu/alefzero/owncloud/ui/activity/PinCodeActivity.java

index 3af24ef..5a3060e 100644 (file)
@@ -18,7 +18,7 @@
  -->\r
 <manifest package="eu.alefzero.owncloud"\r
     android:versionCode="1"\r
-    android:versionName="0.1.157B" xmlns:android="http://schemas.android.com/apk/res/android">\r
+    android:versionName="0.1.158B" xmlns:android="http://schemas.android.com/apk/res/android">\r
 \r
     <uses-permission android:name="android.permission.GET_ACCOUNTS" />\r
     <uses-permission android:name="android.permission.USE_CREDENTIALS" />\r
index b62ba9b..c53e475 100644 (file)
     <string name="use_ssl">Use Secure Connection</string>
     <string name="location_no_provider">ownCloud cannot track your device. Please check your location settings</string>
     
-    <string name="pincode_enter_pin_code">Please, insert your PIN code</string>
-    <string name="pincode_enter_new_pin_code">Please, insert your new PIN code</string>
-    <string name="pincode_configure_your_pin">Configure your PIN code</string>
-    <string name="pincode_confirm_your_pincode">"Confirm your PIN code, please"</string>
+    <string name="pincode_enter_pin_code">Please, insert your App PIN</string>
+    <string name="pincode_enter_new_pin_code">Please, insert your new App PIN</string>
+    <string name="pincode_configure_your_pin">Enter ownCloud App PIN</string>
+    <string name="pincode_reenter_your_pincode">Reenter ownCloud App PIN, please;</string>
+    <string name="pincode_remove_your_pincode">Remove your ownCloud App PIN;</string>
+    <string name="pincode_mismatch">Both ownCloud App PIN are not the same;</string> 
+    <string name="pincode_wrong">Incorrect ownCloud App PIN;</string>
+    
     
     <string-array name="prefs_trackmydevice_intervall_keys">
        <item>15 Minutes</item>
     <string name="common_rename">Rename</string>
     <string name="common_remove">Remove</string>
     
-    <string name="confirmation_alert_prefix">"Do you really want "</string>
-    <string name="confirmation_alert_suffix">"?"</string>
-    
-    <string name="remove_success_msg">"Successful removal"</string>
-    <string name="remove_fail_msg">"Removal could not be completed"</string>
-    
+    <string name="confirmation_alert_prefix">Do you really want </string>
+       <string name="confirmation_alert_suffix">"?"</string>
+       
+       <string name="remove_success_msg">"Successful removal"</string>
+       <string name="remove_fail_msg">"Removal could not be completed"</string>
+       
 </resources>
index d2ad198..d9ae73c 100644 (file)
@@ -60,7 +60,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) {
@@ -74,7 +74,7 @@ public class PinCodeActivity extends SherlockFragmentActivity {
         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);
@@ -91,29 +91,42 @@ public class PinCodeActivity extends SherlockFragmentActivity {
             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);
@@ -139,7 +152,7 @@ public class PinCodeActivity extends SherlockFragmentActivity {
             boolean state = appPrefs.getBoolean("set_pincode", false);
             appPrefsE.putBoolean("set_pincode",!state); 
             appPrefsE.commit();
-            
+            setInitVars();
             finish();
             }
         });
@@ -351,6 +364,8 @@ public class PinCodeActivity extends SherlockFragmentActivity {
                                    .getDefaultSharedPreferences(getApplicationContext()).edit();
                            appPrefs.putBoolean("set_pincode",false);
                            appPrefs.commit();
+                           
+                           setInitVars();
                            pinCodeEnd(false);
                            
                        }else{
@@ -358,7 +373,7 @@ public class PinCodeActivity extends SherlockFragmentActivity {
                            if (!confirmingPinCode && !newPasswordEntered){
                                pinCodeChangeRequest();
                            } else if (newPasswordEntered && !confirmingPinCode){
-                               mPinHdr.setText(R.string.pincode_confirm_your_pincode);
+                               mPinHdr.setText(R.string.pincode_reenter_your_pincode);
                                confirmingPinCode = true;
                                clearBoxes();
                            } else {
@@ -431,7 +446,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;
         
     }
@@ -459,7 +474,8 @@ public class PinCodeActivity extends SherlockFragmentActivity {
         }else {
             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
@@ -471,7 +487,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;
             
@@ -501,7 +517,8 @@ public class PinCodeActivity extends SherlockFragmentActivity {
             
             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
@@ -575,7 +592,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; 
             
         }