diff options
author | Hung-ying Tyan <tyanh@google.com> | 2009-07-22 05:05:46 +0800 |
---|---|---|
committer | Hung-ying Tyan <tyanh@google.com> | 2009-07-22 05:13:51 +0800 |
commit | bfaa90725d02ba1f6c76102244d51c15df17b6b3 (patch) | |
tree | f3984e8ca0dd9335d7b70b6c081673bd07f985c7 /src/com/android/settings | |
parent | 241610e986a8d2823f519762737903779089c253 (diff) | |
download | packages_apps_Settings-bfaa90725d02ba1f6c76102244d51c15df17b6b3.zip packages_apps_Settings-bfaa90725d02ba1f6c76102244d51c15df17b6b3.tar.gz packages_apps_Settings-bfaa90725d02ba1f6c76102244d51c15df17b6b3.tar.bz2 |
Disable suggestion for certain types of text boxes.
+ Disable suggestion for password, server name and domain suffices.
+ Use a shorter string to indicate that a secret is set.
Diffstat (limited to 'src/com/android/settings')
-rw-r--r-- | src/com/android/settings/vpn/VpnProfileEditor.java | 17 | ||||
-rw-r--r-- | src/com/android/settings/vpn/VpnSettings.java | 29 |
2 files changed, 29 insertions, 17 deletions
diff --git a/src/com/android/settings/vpn/VpnProfileEditor.java b/src/com/android/settings/vpn/VpnProfileEditor.java index a1cdc76..bf2e57d 100644 --- a/src/com/android/settings/vpn/VpnProfileEditor.java +++ b/src/com/android/settings/vpn/VpnProfileEditor.java @@ -25,6 +25,7 @@ import android.preference.EditTextPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceGroup; +import android.text.InputType; import android.text.TextUtils; import android.text.method.PasswordTransformationMethod; @@ -32,6 +33,9 @@ import android.text.method.PasswordTransformationMethod; * The common class for editing {@link VpnProfile}. */ class VpnProfileEditor { + static final String SECRET_SET_INDICATOR = + new String(new byte[] {(byte) 1, (byte) 0}); + private static final String KEY_VPN_NAME = "vpn_name"; private EditTextPreference mName; @@ -95,7 +99,7 @@ class VpnProfileEditor { * Creates a preference for users to input domain suffices. */ protected EditTextPreference createDomainSufficesPreference(Context c) { - mDomainSuffices = createEditTextPreference(c, + EditTextPreference pref = mDomainSuffices = createEditTextPreference(c, R.string.vpn_dns_search_list_title, R.string.vpn_dns_search_list, mProfile.getDomainSuffices(), @@ -108,11 +112,12 @@ class VpnProfileEditor { return true; } }); - return mDomainSuffices; + pref.getEditText().setInputType(InputType.TYPE_TEXT_VARIATION_URI); + return pref; } private Preference createServerNamePreference(Context c) { - mServerName = createEditTextPreference(c, + EditTextPreference pref = mServerName = createEditTextPreference(c, R.string.vpn_vpn_server_title, R.string.vpn_vpn_server, mProfile.getServerName(), @@ -125,7 +130,8 @@ class VpnProfileEditor { return true; } }); - return mServerName; + pref.getEditText().setInputType(InputType.TYPE_TEXT_VARIATION_URI); + return pref; } protected EditTextPreference createEditTextPreference(Context c, int titleId, @@ -147,9 +153,10 @@ class VpnProfileEditor { EditTextPreference pref = new EditTextPreference(c); pref.setTitle(titleId); pref.setDialogTitle(titleId); + pref.getEditText().setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); pref.getEditText().setTransformationMethod( new PasswordTransformationMethod()); - pref.setText(value); + pref.setText(TextUtils.isEmpty(value) ? "" : SECRET_SET_INDICATOR); setSecretSummary(pref, fieldNameId, value); pref.setPersistent(true); pref.setOnPreferenceChangeListener(listener); diff --git a/src/com/android/settings/vpn/VpnSettings.java b/src/com/android/settings/vpn/VpnSettings.java index c41a105..f0e71f7 100644 --- a/src/com/android/settings/vpn/VpnSettings.java +++ b/src/com/android/settings/vpn/VpnSettings.java @@ -18,6 +18,7 @@ package com.android.settings.vpn; import com.android.settings.R; import com.android.settings.SecuritySettings; +import static com.android.settings.vpn.VpnProfileEditor.SECRET_SET_INDICATOR; import android.app.AlertDialog; import android.app.Dialog; @@ -109,6 +110,10 @@ public class VpnSettings extends PreferenceActivity implements private static final int NO_ERROR = 0; + private static final String NAMESPACE_VPN = "vpn"; + private static final String KEY_PREFIX_IPSEC_PSK = "ipsk000"; + private static final String KEY_PREFIX_L2TP_SECRET = "lscrt000"; + private PreferenceScreen mAddVpn; private PreferenceCategory mVpnListContainer; @@ -838,37 +843,37 @@ public class VpnSettings extends PreferenceActivity implements return mVpnManager.createVpnProfile(Enum.valueOf(VpnType.class, type)); } - private static final String NAMESPACE_VPN = "vpn"; - private static final String KEY_PREFIX_IPSEC_PSK = "ipsk000"; - private static final String KEY_PREFIX_L2TP_SECRET = "lscrt000"; + private String keyNameForDaemon(String keyName) { + return NAMESPACE_VPN + "_" + keyName; + } private void processSecrets(VpnProfile p) { Keystore ks = Keystore.getInstance(); switch (p.getType()) { case L2TP_IPSEC_PSK: L2tpIpsecPskProfile pskProfile = (L2tpIpsecPskProfile) p; - String keyName = KEY_PREFIX_IPSEC_PSK + p.getId(); - String keyNameForDaemon = NAMESPACE_VPN + "_" + keyName; String presharedKey = pskProfile.getPresharedKey(); - if (!presharedKey.equals(keyNameForDaemon)) { + if (!presharedKey.equals(SECRET_SET_INDICATOR)) { + String keyName = KEY_PREFIX_IPSEC_PSK + p.getId(); int ret = ks.put(NAMESPACE_VPN, keyName, presharedKey); - if (ret < 0) Log.e(TAG, "keystore write failed: key=" + keyName); - pskProfile.setPresharedKey(keyNameForDaemon); + if (ret < 0) { + Log.e(TAG, "keystore write failed: key=" + keyName); + } + pskProfile.setPresharedKey(keyNameForDaemon(keyName)); } // pass through case L2TP: L2tpProfile l2tpProfile = (L2tpProfile) p; - keyName = KEY_PREFIX_L2TP_SECRET + p.getId(); + String keyName = KEY_PREFIX_L2TP_SECRET + p.getId(); if (l2tpProfile.isSecretEnabled()) { - keyNameForDaemon = NAMESPACE_VPN + "_" + keyName; String secret = l2tpProfile.getSecretString(); - if (!secret.equals(keyNameForDaemon)) { + if (!secret.equals(SECRET_SET_INDICATOR)) { int ret = ks.put(NAMESPACE_VPN, keyName, secret); if (ret < 0) { Log.e(TAG, "keystore write failed: key=" + keyName); } - l2tpProfile.setSecretString(keyNameForDaemon); + l2tpProfile.setSecretString(keyNameForDaemon(keyName)); } } else { ks.remove(NAMESPACE_VPN, keyName); |