diff options
author | Dominik <dominik@dominikschuermann.de> | 2012-03-12 00:12:19 +0100 |
---|---|---|
committer | Dominik <dominik@dominikschuermann.de> | 2012-03-12 00:12:19 +0100 |
commit | c6dc64742a4b28b1583ab03dff60b539172f9d90 (patch) | |
tree | aa53cd4ed05452f0440af507e9b6c1e7b2c24a73 /org_apg/src/org/apg/ui/PreferencesActivity.java | |
parent | 9b32cf87e2aaa01926cddbb1700b41eed4576dfb (diff) | |
download | open-keychain-c6dc64742a4b28b1583ab03dff60b539172f9d90.tar.gz open-keychain-c6dc64742a4b28b1583ab03dff60b539172f9d90.tar.bz2 open-keychain-c6dc64742a4b28b1583ab03dff60b539172f9d90.zip |
further ui developments
Diffstat (limited to 'org_apg/src/org/apg/ui/PreferencesActivity.java')
-rw-r--r-- | org_apg/src/org/apg/ui/PreferencesActivity.java | 245 |
1 files changed, 109 insertions, 136 deletions
diff --git a/org_apg/src/org/apg/ui/PreferencesActivity.java b/org_apg/src/org/apg/ui/PreferencesActivity.java index 421c9cc39..0679ee5d0 100644 --- a/org_apg/src/org/apg/ui/PreferencesActivity.java +++ b/org_apg/src/org/apg/ui/PreferencesActivity.java @@ -29,6 +29,10 @@ import org.spongycastle.bcpg.HashAlgorithmTags; import org.spongycastle.openpgp.PGPEncryptedData; import org.apg.R; +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.app.SherlockPreferenceActivity; +import com.actionbarsherlock.view.MenuItem; + import android.content.Intent; import android.os.Bundle; import android.preference.CheckBoxPreference; @@ -41,7 +45,7 @@ import java.util.Arrays; import java.util.HashSet; import java.util.Vector; -public class PreferencesActivity extends PreferenceActivity { +public class PreferencesActivity extends SherlockPreferenceActivity { private ListPreference mLanguage = null; private IntegerListPreference mPassPhraseCacheTtl = null; private IntegerListPreference mEncryptionAlgorithm = null; @@ -56,66 +60,35 @@ public class PreferencesActivity extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { mPreferences = Preferences.getPreferences(this); - BaseActivity.setLanguage(this, mPreferences.getLanguage()); super.onCreate(savedInstanceState); - addPreferencesFromResource(R.xml.apg_preferences); + final ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayShowTitleEnabled(true); + actionBar.setDisplayHomeAsUpEnabled(true); - mLanguage = (ListPreference) findPreference(Constants.pref.LANGUAGE); - Vector<CharSequence> entryVector = new Vector<CharSequence>(Arrays.asList(mLanguage.getEntries())); - Vector<CharSequence> entryValueVector = new Vector<CharSequence>(Arrays.asList(mLanguage.getEntryValues())); - String supportedLanguages[] = getResources().getStringArray(R.array.supported_languages); - HashSet<String> supportedLanguageSet = new HashSet<String>(Arrays.asList(supportedLanguages)); - for (int i = entryVector.size() - 1; i > -1; --i) - { - if (!supportedLanguageSet.contains(entryValueVector.get(i))) - { - entryVector.remove(i); - entryValueVector.remove(i); - } - } - CharSequence dummy[] = new CharSequence[0]; - mLanguage.setEntries(entryVector.toArray(dummy)); - mLanguage.setEntryValues(entryValueVector.toArray(dummy)); - mLanguage.setValue(mPreferences.getLanguage()); - mLanguage.setSummary(mLanguage.getEntry()); - mLanguage.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() - { - public boolean onPreferenceChange(Preference preference, Object newValue) - { - mLanguage.setValue(newValue.toString()); - mLanguage.setSummary(mLanguage.getEntry()); - mPreferences.setLanguage(newValue.toString()); - return false; - } - }); + addPreferencesFromResource(R.xml.apg_preferences); mPassPhraseCacheTtl = (IntegerListPreference) findPreference(Constants.pref.PASS_PHRASE_CACHE_TTL); mPassPhraseCacheTtl.setValue("" + mPreferences.getPassPhraseCacheTtl()); mPassPhraseCacheTtl.setSummary(mPassPhraseCacheTtl.getEntry()); - mPassPhraseCacheTtl.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() - { - public boolean onPreferenceChange(Preference preference, Object newValue) - { - mPassPhraseCacheTtl.setValue(newValue.toString()); - mPassPhraseCacheTtl.setSummary(mPassPhraseCacheTtl.getEntry()); - mPreferences.setPassPhraseCacheTtl(Integer.parseInt(newValue.toString())); - BaseActivity.startCacheService(PreferencesActivity.this, mPreferences); - return false; - } - }); + mPassPhraseCacheTtl + .setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + public boolean onPreferenceChange(Preference preference, Object newValue) { + mPassPhraseCacheTtl.setValue(newValue.toString()); + mPassPhraseCacheTtl.setSummary(mPassPhraseCacheTtl.getEntry()); + mPreferences.setPassPhraseCacheTtl(Integer.parseInt(newValue.toString())); + BaseActivity.startCacheService(PreferencesActivity.this, mPreferences); + return false; + } + }); mEncryptionAlgorithm = (IntegerListPreference) findPreference(Constants.pref.DEFAULT_ENCRYPTION_ALGORITHM); - int valueIds[] = { - PGPEncryptedData.AES_128, PGPEncryptedData.AES_192, PGPEncryptedData.AES_256, - PGPEncryptedData.BLOWFISH, PGPEncryptedData.TWOFISH, PGPEncryptedData.CAST5, - PGPEncryptedData.DES, PGPEncryptedData.TRIPLE_DES, PGPEncryptedData.IDEA, - }; - String entries[] = { - "AES-128", "AES-192", "AES-256", - "Blowfish", "Twofish", "CAST5", - "DES", "Triple DES", "IDEA", - }; + int valueIds[] = { PGPEncryptedData.AES_128, PGPEncryptedData.AES_192, + PGPEncryptedData.AES_256, PGPEncryptedData.BLOWFISH, PGPEncryptedData.TWOFISH, + PGPEncryptedData.CAST5, PGPEncryptedData.DES, PGPEncryptedData.TRIPLE_DES, + PGPEncryptedData.IDEA, }; + String entries[] = { "AES-128", "AES-192", "AES-256", "Blowfish", "Twofish", "CAST5", + "DES", "Triple DES", "IDEA", }; String values[] = new String[valueIds.length]; for (int i = 0; i < values.length; ++i) { values[i] = "" + valueIds[i]; @@ -124,28 +97,23 @@ public class PreferencesActivity extends PreferenceActivity { mEncryptionAlgorithm.setEntryValues(values); mEncryptionAlgorithm.setValue("" + mPreferences.getDefaultEncryptionAlgorithm()); mEncryptionAlgorithm.setSummary(mEncryptionAlgorithm.getEntry()); - mEncryptionAlgorithm.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() - { - public boolean onPreferenceChange(Preference preference, Object newValue) - { - mEncryptionAlgorithm.setValue(newValue.toString()); - mEncryptionAlgorithm.setSummary(mEncryptionAlgorithm.getEntry()); - mPreferences.setDefaultEncryptionAlgorithm(Integer.parseInt(newValue.toString())); - return false; - } - }); + mEncryptionAlgorithm + .setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + public boolean onPreferenceChange(Preference preference, Object newValue) { + mEncryptionAlgorithm.setValue(newValue.toString()); + mEncryptionAlgorithm.setSummary(mEncryptionAlgorithm.getEntry()); + mPreferences.setDefaultEncryptionAlgorithm(Integer.parseInt(newValue + .toString())); + return false; + } + }); mHashAlgorithm = (IntegerListPreference) findPreference(Constants.pref.DEFAULT_HASH_ALGORITHM); - valueIds = new int[] { - HashAlgorithmTags.MD5, HashAlgorithmTags.RIPEMD160, HashAlgorithmTags.SHA1, - HashAlgorithmTags.SHA224, HashAlgorithmTags.SHA256, HashAlgorithmTags.SHA384, - HashAlgorithmTags.SHA512, - }; - entries = new String[] { - "MD5", "RIPEMD-160", "SHA-1", - "SHA-224", "SHA-256", "SHA-384", - "SHA-512", - }; + valueIds = new int[] { HashAlgorithmTags.MD5, HashAlgorithmTags.RIPEMD160, + HashAlgorithmTags.SHA1, HashAlgorithmTags.SHA224, HashAlgorithmTags.SHA256, + HashAlgorithmTags.SHA384, HashAlgorithmTags.SHA512, }; + entries = new String[] { "MD5", "RIPEMD-160", "SHA-1", "SHA-224", "SHA-256", "SHA-384", + "SHA-512", }; values = new String[valueIds.length]; for (int i = 0; i < values.length; ++i) { values[i] = "" + valueIds[i]; @@ -154,10 +122,8 @@ public class PreferencesActivity extends PreferenceActivity { mHashAlgorithm.setEntryValues(values); mHashAlgorithm.setValue("" + mPreferences.getDefaultHashAlgorithm()); mHashAlgorithm.setSummary(mHashAlgorithm.getEntry()); - mHashAlgorithm.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() - { - public boolean onPreferenceChange(Preference preference, Object newValue) - { + mHashAlgorithm.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + public boolean onPreferenceChange(Preference preference, Object newValue) { mHashAlgorithm.setValue(newValue.toString()); mHashAlgorithm.setSummary(mHashAlgorithm.getEntry()); mPreferences.setDefaultHashAlgorithm(Integer.parseInt(newValue.toString())); @@ -166,18 +132,13 @@ public class PreferencesActivity extends PreferenceActivity { }); mMessageCompression = (IntegerListPreference) findPreference(Constants.pref.DEFAULT_MESSAGE_COMPRESSION); - valueIds = new int[] { - Id.choice.compression.none, - Id.choice.compression.zip, - Id.choice.compression.zlib, - Id.choice.compression.bzip2, - }; + valueIds = new int[] { Id.choice.compression.none, Id.choice.compression.zip, + Id.choice.compression.zlib, Id.choice.compression.bzip2, }; entries = new String[] { getString(R.string.choice_none) + " (" + getString(R.string.fast) + ")", "ZIP (" + getString(R.string.fast) + ")", "ZLIB (" + getString(R.string.fast) + ")", - "BZIP2 (" + getString(R.string.very_slow) + ")", - }; + "BZIP2 (" + getString(R.string.very_slow) + ")", }; values = new String[valueIds.length]; for (int i = 0; i < values.length; ++i) { values[i] = "" + valueIds[i]; @@ -186,26 +147,24 @@ public class PreferencesActivity extends PreferenceActivity { mMessageCompression.setEntryValues(values); mMessageCompression.setValue("" + mPreferences.getDefaultMessageCompression()); mMessageCompression.setSummary(mMessageCompression.getEntry()); - mMessageCompression.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() - { - public boolean onPreferenceChange(Preference preference, Object newValue) - { - mMessageCompression.setValue(newValue.toString()); - mMessageCompression.setSummary(mMessageCompression.getEntry()); - mPreferences.setDefaultMessageCompression(Integer.parseInt(newValue.toString())); - return false; - } - }); + mMessageCompression + .setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + public boolean onPreferenceChange(Preference preference, Object newValue) { + mMessageCompression.setValue(newValue.toString()); + mMessageCompression.setSummary(mMessageCompression.getEntry()); + mPreferences.setDefaultMessageCompression(Integer.parseInt(newValue + .toString())); + return false; + } + }); mFileCompression = (IntegerListPreference) findPreference(Constants.pref.DEFAULT_FILE_COMPRESSION); mFileCompression.setEntries(entries); mFileCompression.setEntryValues(values); mFileCompression.setValue("" + mPreferences.getDefaultFileCompression()); mFileCompression.setSummary(mFileCompression.getEntry()); - mFileCompression.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() - { - public boolean onPreferenceChange(Preference preference, Object newValue) - { + mFileCompression.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + public boolean onPreferenceChange(Preference preference, Object newValue) { mFileCompression.setValue(newValue.toString()); mFileCompression.setSummary(mFileCompression.getEntry()); mPreferences.setDefaultFileCompression(Integer.parseInt(newValue.toString())); @@ -215,60 +174,74 @@ public class PreferencesActivity extends PreferenceActivity { mAsciiArmour = (CheckBoxPreference) findPreference(Constants.pref.DEFAULT_ASCII_ARMOUR); mAsciiArmour.setChecked(mPreferences.getDefaultAsciiArmour()); - mAsciiArmour.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() - { - public boolean onPreferenceChange(Preference preference, Object newValue) - { - mAsciiArmour.setChecked((Boolean)newValue); - mPreferences.setDefaultAsciiArmour((Boolean)newValue); + mAsciiArmour.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + public boolean onPreferenceChange(Preference preference, Object newValue) { + mAsciiArmour.setChecked((Boolean) newValue); + mPreferences.setDefaultAsciiArmour((Boolean) newValue); return false; } }); mForceV3Signatures = (CheckBoxPreference) findPreference(Constants.pref.FORCE_V3_SIGNATURES); mForceV3Signatures.setChecked(mPreferences.getForceV3Signatures()); - mForceV3Signatures.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() - { - public boolean onPreferenceChange(Preference preference, Object newValue) - { - mForceV3Signatures.setChecked((Boolean)newValue); - mPreferences.setForceV3Signatures((Boolean)newValue); - return false; - } - }); + mForceV3Signatures + .setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + public boolean onPreferenceChange(Preference preference, Object newValue) { + mForceV3Signatures.setChecked((Boolean) newValue); + mPreferences.setForceV3Signatures((Boolean) newValue); + return false; + } + }); mKeyServerPreference = (PreferenceScreen) findPreference(Constants.pref.KEY_SERVERS); String servers[] = mPreferences.getKeyServers(); - mKeyServerPreference.setSummary(getResources().getString(R.string.nKeyServers, servers.length)); - mKeyServerPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { - public boolean onPreferenceClick(Preference preference) { - Intent intent = new Intent(PreferencesActivity.this, - KeyServerPreferenceActivity.class); - intent.putExtra(Apg.EXTRA_KEY_SERVERS, mPreferences.getKeyServers()); - startActivityForResult(intent, Id.request.key_server_preference); - return false; - } - }); + mKeyServerPreference.setSummary(getResources().getString(R.string.nKeyServers, + servers.length)); + mKeyServerPreference + .setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + public boolean onPreferenceClick(Preference preference) { + Intent intent = new Intent(PreferencesActivity.this, + KeyServerPreferenceActivity.class); + intent.putExtra(Apg.EXTRA_KEY_SERVERS, mPreferences.getKeyServers()); + startActivityForResult(intent, Id.request.key_server_preference); + return false; + } + }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { - case Id.request.key_server_preference: { - if (resultCode == RESULT_CANCELED || data == null) { - return; - } - String servers[] = data.getStringArrayExtra(Apg.EXTRA_KEY_SERVERS); - mPreferences.setKeyServers(servers); - mKeyServerPreference.setSummary(getResources().getString(R.string.nKeyServers, servers.length)); - break; + case Id.request.key_server_preference: { + if (resultCode == RESULT_CANCELED || data == null) { + return; } + String servers[] = data.getStringArrayExtra(Apg.EXTRA_KEY_SERVERS); + mPreferences.setKeyServers(servers); + mKeyServerPreference.setSummary(getResources().getString(R.string.nKeyServers, + servers.length)); + break; + } - default: { - super.onActivityResult(requestCode, resultCode, data); - break; - } + default: { + super.onActivityResult(requestCode, resultCode, data); + break; + } } } -} + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + + case android.R.id.home: + startActivity(new Intent(this, MainActivity.class)); + return true; + + default: + break; + + } + return false; + } +} |