Reduce the number of keystore connections to 1

at entering the security settings.
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 7f8cec7..d9f4952 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -233,10 +233,10 @@
         PreferenceCategory credStoreCat = new PreferenceCategory(this);
         credStoreCat.setTitle(R.string.cstor_settings_category);
         root.addPreference(credStoreCat);
-        boolean i = mCstorHelper.isCstorInitialized();
-        credStoreCat.addPreference(mCstorHelper.createAccessCheckBox(i));
+        int s = mCstorHelper.getCstorState();
+        credStoreCat.addPreference(mCstorHelper.createAccessCheckBox(s));
         credStoreCat.addPreference(mCstorHelper.createSetPasswordPreference());
-        credStoreCat.addPreference(mCstorHelper.createResetPreference(i));
+        credStoreCat.addPreference(mCstorHelper.createResetPreference(s));
 
         return root;
     }
@@ -486,6 +486,10 @@
             }
         }
 
+        private int getCstorState() {
+            return mKeystore.getState();
+        }
+
         private boolean isCstorUnlocked() {
             return (mKeystore.getState() == Keystore.UNLOCKED);
         }
@@ -794,27 +798,25 @@
             mResetButton.setEnabled(enabled);
         }
 
-        private Preference createAccessCheckBox(boolean isInitialized) {
+        private Preference createAccessCheckBox(int state) {
             CheckBoxPreference pref = new CheckBoxPreference(
                     SecuritySettings.this);
             pref.setTitle(R.string.cstor_access_title);
             pref.setSummary(R.string.cstor_access_summary);
-            if (isInitialized) pref.setChecked(isCstorUnlocked());
+            pref.setEnabled(state != Keystore.UNINITIALIZED);
+            pref.setChecked(state == Keystore.UNLOCKED);
             pref.setOnPreferenceChangeListener(
                     new Preference.OnPreferenceChangeListener() {
                         public boolean onPreferenceChange(
                                 Preference pref, Object value) {
                             if (((Boolean) value)) {
-                                showCstorDialog(isCstorInitialized()
-                                        ? CSTOR_UNLOCK_DIALOG
-                                        : CSTOR_INIT_DIALOG);
+                                showCstorDialog(CSTOR_UNLOCK_DIALOG);
                             } else {
                                 lockCstor();
                             }
                             return true;
                         }
                     });
-            pref.setEnabled(isInitialized);
             mAccessCheckBox = pref;
             return pref;
         }
@@ -835,7 +837,7 @@
             return pref;
         }
 
-        private Preference createResetPreference(boolean isInitialized) {
+        private Preference createResetPreference(int state) {
             Preference pref = new Preference(SecuritySettings.this);
             pref.setTitle(R.string.cstor_reset_title);
             pref.setSummary(R.string.cstor_reset_summary);
@@ -846,7 +848,7 @@
                             return true;
                         }
                     });
-            pref.setEnabled(isInitialized);
+            pref.setEnabled(state != Keystore.UNINITIALIZED);
             mResetButton = pref;
             return pref;
         }