Some fixes to PIN code
authorDavid A. Velasco <dvelasco@solidgear.es>
Wed, 11 Jul 2012 16:59:59 +0000 (18:59 +0200)
committerDavid A. Velasco <dvelasco@solidgear.es>
Wed, 11 Jul 2012 16:59:59 +0000 (18:59 +0200)
AndroidManifest.xml
src/eu/alefzero/owncloud/ui/activity/PinCodeActivity.java
src/eu/alefzero/owncloud/ui/activity/Preferences.java

index 0372a96..db414b6 100644 (file)
@@ -18,7 +18,7 @@
  -->\r
 <manifest package="eu.alefzero.owncloud"\r
     android:versionCode="1"\r
-    android:versionName="0.1.154B" xmlns:android="http://schemas.android.com/apk/res/android">\r
+    android:versionName="0.1.155B" 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 bd81913..d2ad198 100644 (file)
@@ -21,7 +21,6 @@ import com.actionbarsherlock.app.SherlockFragmentActivity;
 
 import eu.alefzero.owncloud.R;
 
-import android.app.ActionBar.LayoutParams;
 import android.app.AlertDialog;
 import android.content.DialogInterface;
 import android.content.Intent;
@@ -84,14 +83,29 @@ public class PinCodeActivity extends SherlockFragmentActivity {
         SharedPreferences appPrefs = PreferenceManager
                 .getDefaultSharedPreferences(getApplicationContext());
         
-        // Not PIN Code defined yet
-        if ( appPrefs.getString("PrefPinCode1", null) == null ){
-            setChangePincodeView();
+        // Not PIN Code defined yet.
+        // In a previous version settings is allow from start
+        if ( (appPrefs.getString("PrefPinCode1", null) == null ) ){
+            setInitView();
             pinCodeChecked = true; 
             newPasswordEntered = true;
             
-        } else {
-            setInitView(); 
+        }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 {
+            mPinHdr.setText(R.string.pincode_enter_pin_code);
+            pinCodeChecked = true;
+            setChangePincodeView(true); 
         }
            
        
@@ -107,20 +121,34 @@ public class PinCodeActivity extends SherlockFragmentActivity {
         mPinHdr.setText(R.string.pincode_enter_pin_code);
     }
     
-    
-    
-    protected void setChangePincodeView(){
-        mPinHdr.setText(R.string.pincode_configure_your_pin);
+   
+    protected void setChangePincodeView(boolean state){
+       
+        if(state){
+        bCancel.setVisibility(View.VISIBLE);
         bCancel.setOnClickListener(new OnClickListener() {
-
-            @Override
-            public void onClick(View v) {
-                finish();
+        @Override
+        public void onClick(View v) {
+            
+            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();
+            
+            finish();
             }
         });
+        }  
     
     }
     
+    
+    
     /*
      *  
      */
@@ -323,9 +351,7 @@ public class PinCodeActivity extends SherlockFragmentActivity {
                                    .getDefaultSharedPreferences(getApplicationContext()).edit();
                            appPrefs.putBoolean("set_pincode",false);
                            appPrefs.commit();
-                           // TODO Alert Message que salte y vuelva a la pantalla anterior
-                           
-                           finish();
+                           pinCodeEnd(false);
                            
                        }else{
                        
@@ -404,37 +430,9 @@ public class PinCodeActivity extends SherlockFragmentActivity {
     
     protected void pinCodeChangeRequest(){
     
-        AlertDialog.Builder aBuilder = new AlertDialog.Builder(this);
-        aBuilder.setMessage("Do yo want to set a new PIN Code")
-              .setCancelable(false)
-              .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
-                 
-                 @Override
-                 public void onClick(DialogInterface dialog, int which) {
-                     // TODO Auto-generated method stub
-                     setChangePincodeView();
-                     mPinHdr.setText(R.string.pincode_enter_new_pin_code);
-                     clearBoxes();
-                     newPasswordEntered = true;
-                 }
-             })
-             .setNegativeButton("No", new DialogInterface.OnClickListener() {
-                 
-                 @Override
-                 public void onClick(DialogInterface dialog, int which) {
-                     // TODO Auto-generated method stub
-                     SharedPreferences.Editor appPrefs = PreferenceManager
-                             .getDefaultSharedPreferences(getApplicationContext()).edit();
-                     appPrefs.putBoolean("set_pincode",false);
-                     appPrefs.commit();
-                     finish();
-                 }
-             });
-        
-        AlertDialog alert =aBuilder.create();
-      
-        alert.show();
-        
+        clearBoxes(); 
+        mPinHdr.setText(R.string.pincode_confirm_your_pincode); 
+        confirmingPinCode =true;
         
     }
     
@@ -520,6 +518,31 @@ public class PinCodeActivity extends SherlockFragmentActivity {
     
     }
    
+    
+    protected void pinCodeEnd(boolean state){
+        AlertDialog aDialog = new AlertDialog.Builder(this).create();
+        
+        if (state){
+            aDialog.setTitle("SAVE & EXIT");
+            aDialog.setMessage("PIN Code Activated");
+        }else{
+            aDialog.setTitle("SAVE & EXIT");
+            aDialog.setMessage("PIN Code Removed"); 
+        }
+        
+        aDialog.setButton("OK", new DialogInterface.OnClickListener(){
+
+            @Override
+            public void onClick(DialogInterface dialog, int which) {
+                // TODO Auto-generated method stub("");
+                finish();
+                return; 
+            }
+            
+        });
+        aDialog.show(); 
+    }
+    
     protected void savePincodeAndExit(){
         SharedPreferences.Editor appPrefs = PreferenceManager
                 .getDefaultSharedPreferences(getApplicationContext()).edit();
@@ -531,7 +554,10 @@ public class PinCodeActivity extends SherlockFragmentActivity {
         appPrefs.putBoolean("set_pincode",true);
         appPrefs.commit();
         
-        finish();
+        pinCodeEnd(true);
+        
+        
+        
     }
     
     
@@ -543,6 +569,20 @@ public class PinCodeActivity extends SherlockFragmentActivity {
         mText4.setText("");
         mText1.requestFocus(); 
     }
+    
+    
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event){
+        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()== 0){
+            
+            
+            return true; 
+            
+        }
+        
+        return super.onKeyDown(keyCode, event);
+    }
+    
             
             
 }
index ffc1397..e71dbdf 100644 (file)
@@ -22,10 +22,12 @@ import java.util.Vector;
 import android.accounts.Account;\r
 import android.accounts.AccountManager;\r
 import android.content.Intent;\r
+import android.content.SharedPreferences;\r
 import android.os.Bundle;\r
 import android.preference.CheckBoxPreference;\r
 import android.preference.ListPreference;\r
 import android.preference.Preference;\r
+import android.preference.PreferenceManager;\r
 import android.preference.Preference.OnPreferenceChangeListener;\r
 import android.preference.Preference.OnPreferenceClickListener;\r
 import android.util.Log;\r
@@ -54,7 +56,7 @@ import eu.alefzero.owncloud.syncadapter.FileSyncAdapter;
  * \r
  */\r
 public class Preferences extends SherlockPreferenceActivity implements\r
-        OnPreferenceChangeListener {\r
+        OnPreferenceChangeListener{\r
     private static final String TAG = "OwnCloudPreferences";\r
     private final int mNewSession = 47;\r
     private final int mEditSession = 48;\r
@@ -64,6 +66,7 @@ public class Preferences extends SherlockPreferenceActivity implements
     private ListPreference mAccountList;\r
     private ListPreference mTrackingUpdateInterval;\r
     private CheckBoxPreference mDeviceTracking;\r
+    private CheckBoxPreference pCode;\r
     private int mSelectedMenuItem;\r
 \r
     @Override\r
@@ -86,17 +89,19 @@ public class Preferences extends SherlockPreferenceActivity implements
             }\r
         });\r
         \r
-        CheckBoxPreference pCode = (CheckBoxPreference) findPreference("set_pincode");\r
+        pCode = (CheckBoxPreference) findPreference("set_pincode");\r
+         \r
+        \r
         if (pCode != null){\r
             \r
             pCode.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {\r
                 @Override\r
                 public boolean onPreferenceChange(Preference preference, Object newValue) {\r
-                    \r
-                                        \r
+                                          \r
                     Intent i = new Intent(getApplicationContext(), PinCodeActivity.class);\r
                     i.putExtra(PinCodeActivity.EXTRA_ACTIVITY, "preferences");\r
                     i.putExtra(PinCodeActivity.EXTRA_NEW_STATE, newValue.toString());\r
+                    \r
                     startActivity(i);\r
                     \r
                     return true;\r
@@ -107,6 +112,21 @@ public class Preferences extends SherlockPreferenceActivity implements
         \r
     }\r
 \r
+\r
+    @Override\r
+    protected void onResume() {\r
+        // TODO Auto-generated method stub\r
+        SharedPreferences appPrefs = PreferenceManager\r
+                .getDefaultSharedPreferences(getApplicationContext());\r
+        \r
+        boolean state = appPrefs.getBoolean("set_pincode", false);\r
+        pCode.setChecked(state);\r
+        \r
+        super.onResume();\r
+    }\r
+\r
+\r
+\r
     /**\r
      * Populates the account selector\r
      */\r
@@ -133,6 +153,8 @@ public class Preferences extends SherlockPreferenceActivity implements
         mAccountList.setEntryValues(accNames);\r
     }\r
 \r
+    \r
+    \r
     @Override\r
     public boolean onCreateOptionsMenu(Menu menu) {\r
         super.onCreateOptionsMenu(menu);\r
@@ -185,6 +207,8 @@ public class Preferences extends SherlockPreferenceActivity implements
         super.onDestroy();\r
     }\r
 \r
+    \r
+    \r
     @Override\r
     /**\r
      * Updates various summaries after updates. Also starts and stops \r
@@ -213,8 +237,10 @@ public class Preferences extends SherlockPreferenceActivity implements
             locationServiceIntent.putExtra("TRACKING_SETTING",\r
                     (Boolean) newValue);\r
             sendBroadcast(locationServiceIntent);\r
-        }\r
+        } \r
         return true;\r
     }\r
+    \r
+    \r
 \r
 }\r