summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings
diff options
context:
space:
mode:
authorHung-ying Tyan <tyanh@google.com>2009-07-22 05:05:46 +0800
committerHung-ying Tyan <tyanh@google.com>2009-07-22 05:13:51 +0800
commitbfaa90725d02ba1f6c76102244d51c15df17b6b3 (patch)
treef3984e8ca0dd9335d7b70b6c081673bd07f985c7 /src/com/android/settings
parent241610e986a8d2823f519762737903779089c253 (diff)
downloadpackages_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.java17
-rw-r--r--src/com/android/settings/vpn/VpnSettings.java29
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);