Reduce the number of keystore connections to 1
at entering the security settings.
This commit is contained in:
@@ -233,10 +233,10 @@ public class SecuritySettings extends PreferenceActivity implements
|
|||||||
PreferenceCategory credStoreCat = new PreferenceCategory(this);
|
PreferenceCategory credStoreCat = new PreferenceCategory(this);
|
||||||
credStoreCat.setTitle(R.string.cstor_settings_category);
|
credStoreCat.setTitle(R.string.cstor_settings_category);
|
||||||
root.addPreference(credStoreCat);
|
root.addPreference(credStoreCat);
|
||||||
boolean i = mCstorHelper.isCstorInitialized();
|
int s = mCstorHelper.getCstorState();
|
||||||
credStoreCat.addPreference(mCstorHelper.createAccessCheckBox(i));
|
credStoreCat.addPreference(mCstorHelper.createAccessCheckBox(s));
|
||||||
credStoreCat.addPreference(mCstorHelper.createSetPasswordPreference());
|
credStoreCat.addPreference(mCstorHelper.createSetPasswordPreference());
|
||||||
credStoreCat.addPreference(mCstorHelper.createResetPreference(i));
|
credStoreCat.addPreference(mCstorHelper.createResetPreference(s));
|
||||||
|
|
||||||
return root;
|
return root;
|
||||||
}
|
}
|
||||||
@@ -486,6 +486,10 @@ public class SecuritySettings extends PreferenceActivity implements
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int getCstorState() {
|
||||||
|
return mKeystore.getState();
|
||||||
|
}
|
||||||
|
|
||||||
private boolean isCstorUnlocked() {
|
private boolean isCstorUnlocked() {
|
||||||
return (mKeystore.getState() == Keystore.UNLOCKED);
|
return (mKeystore.getState() == Keystore.UNLOCKED);
|
||||||
}
|
}
|
||||||
@@ -794,27 +798,25 @@ public class SecuritySettings extends PreferenceActivity implements
|
|||||||
mResetButton.setEnabled(enabled);
|
mResetButton.setEnabled(enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Preference createAccessCheckBox(boolean isInitialized) {
|
private Preference createAccessCheckBox(int state) {
|
||||||
CheckBoxPreference pref = new CheckBoxPreference(
|
CheckBoxPreference pref = new CheckBoxPreference(
|
||||||
SecuritySettings.this);
|
SecuritySettings.this);
|
||||||
pref.setTitle(R.string.cstor_access_title);
|
pref.setTitle(R.string.cstor_access_title);
|
||||||
pref.setSummary(R.string.cstor_access_summary);
|
pref.setSummary(R.string.cstor_access_summary);
|
||||||
if (isInitialized) pref.setChecked(isCstorUnlocked());
|
pref.setEnabled(state != Keystore.UNINITIALIZED);
|
||||||
|
pref.setChecked(state == Keystore.UNLOCKED);
|
||||||
pref.setOnPreferenceChangeListener(
|
pref.setOnPreferenceChangeListener(
|
||||||
new Preference.OnPreferenceChangeListener() {
|
new Preference.OnPreferenceChangeListener() {
|
||||||
public boolean onPreferenceChange(
|
public boolean onPreferenceChange(
|
||||||
Preference pref, Object value) {
|
Preference pref, Object value) {
|
||||||
if (((Boolean) value)) {
|
if (((Boolean) value)) {
|
||||||
showCstorDialog(isCstorInitialized()
|
showCstorDialog(CSTOR_UNLOCK_DIALOG);
|
||||||
? CSTOR_UNLOCK_DIALOG
|
|
||||||
: CSTOR_INIT_DIALOG);
|
|
||||||
} else {
|
} else {
|
||||||
lockCstor();
|
lockCstor();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
pref.setEnabled(isInitialized);
|
|
||||||
mAccessCheckBox = pref;
|
mAccessCheckBox = pref;
|
||||||
return pref;
|
return pref;
|
||||||
}
|
}
|
||||||
@@ -835,7 +837,7 @@ public class SecuritySettings extends PreferenceActivity implements
|
|||||||
return pref;
|
return pref;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Preference createResetPreference(boolean isInitialized) {
|
private Preference createResetPreference(int state) {
|
||||||
Preference pref = new Preference(SecuritySettings.this);
|
Preference pref = new Preference(SecuritySettings.this);
|
||||||
pref.setTitle(R.string.cstor_reset_title);
|
pref.setTitle(R.string.cstor_reset_title);
|
||||||
pref.setSummary(R.string.cstor_reset_summary);
|
pref.setSummary(R.string.cstor_reset_summary);
|
||||||
@@ -846,7 +848,7 @@ public class SecuritySettings extends PreferenceActivity implements
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
pref.setEnabled(isInitialized);
|
pref.setEnabled(state != Keystore.UNINITIALIZED);
|
||||||
mResetButton = pref;
|
mResetButton = pref;
|
||||||
return pref;
|
return pref;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user