am ef2c5ac2
: Merge change 8071 into donut
Merge commit 'ef2c5ac2e4c42d0280c4c4839ec7286180fe4be8' * commit 'ef2c5ac2e4c42d0280c4c4839ec7286180fe4be8': Disable suggestion for certain types of text boxes.
This commit is contained in:
committed by
Android Git Automerger
commit
c877113d4a
@@ -25,6 +25,7 @@ import android.preference.EditTextPreference;
|
|||||||
import android.preference.ListPreference;
|
import android.preference.ListPreference;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceGroup;
|
import android.preference.PreferenceGroup;
|
||||||
|
import android.text.InputType;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.text.method.PasswordTransformationMethod;
|
import android.text.method.PasswordTransformationMethod;
|
||||||
|
|
||||||
@@ -32,6 +33,9 @@ import android.text.method.PasswordTransformationMethod;
|
|||||||
* The common class for editing {@link VpnProfile}.
|
* The common class for editing {@link VpnProfile}.
|
||||||
*/
|
*/
|
||||||
class VpnProfileEditor {
|
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 static final String KEY_VPN_NAME = "vpn_name";
|
||||||
|
|
||||||
private EditTextPreference mName;
|
private EditTextPreference mName;
|
||||||
@@ -95,7 +99,7 @@ class VpnProfileEditor {
|
|||||||
* Creates a preference for users to input domain suffices.
|
* Creates a preference for users to input domain suffices.
|
||||||
*/
|
*/
|
||||||
protected EditTextPreference createDomainSufficesPreference(Context c) {
|
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_title,
|
||||||
R.string.vpn_dns_search_list,
|
R.string.vpn_dns_search_list,
|
||||||
mProfile.getDomainSuffices(),
|
mProfile.getDomainSuffices(),
|
||||||
@@ -108,11 +112,12 @@ class VpnProfileEditor {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return mDomainSuffices;
|
pref.getEditText().setInputType(InputType.TYPE_TEXT_VARIATION_URI);
|
||||||
|
return pref;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Preference createServerNamePreference(Context c) {
|
private Preference createServerNamePreference(Context c) {
|
||||||
mServerName = createEditTextPreference(c,
|
EditTextPreference pref = mServerName = createEditTextPreference(c,
|
||||||
R.string.vpn_vpn_server_title,
|
R.string.vpn_vpn_server_title,
|
||||||
R.string.vpn_vpn_server,
|
R.string.vpn_vpn_server,
|
||||||
mProfile.getServerName(),
|
mProfile.getServerName(),
|
||||||
@@ -125,7 +130,8 @@ class VpnProfileEditor {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return mServerName;
|
pref.getEditText().setInputType(InputType.TYPE_TEXT_VARIATION_URI);
|
||||||
|
return pref;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected EditTextPreference createEditTextPreference(Context c, int titleId,
|
protected EditTextPreference createEditTextPreference(Context c, int titleId,
|
||||||
@@ -147,9 +153,10 @@ class VpnProfileEditor {
|
|||||||
EditTextPreference pref = new EditTextPreference(c);
|
EditTextPreference pref = new EditTextPreference(c);
|
||||||
pref.setTitle(titleId);
|
pref.setTitle(titleId);
|
||||||
pref.setDialogTitle(titleId);
|
pref.setDialogTitle(titleId);
|
||||||
|
pref.getEditText().setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
|
||||||
pref.getEditText().setTransformationMethod(
|
pref.getEditText().setTransformationMethod(
|
||||||
new PasswordTransformationMethod());
|
new PasswordTransformationMethod());
|
||||||
pref.setText(value);
|
pref.setText(TextUtils.isEmpty(value) ? "" : SECRET_SET_INDICATOR);
|
||||||
setSecretSummary(pref, fieldNameId, value);
|
setSecretSummary(pref, fieldNameId, value);
|
||||||
pref.setPersistent(true);
|
pref.setPersistent(true);
|
||||||
pref.setOnPreferenceChangeListener(listener);
|
pref.setOnPreferenceChangeListener(listener);
|
||||||
|
@@ -18,6 +18,7 @@ package com.android.settings.vpn;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.SecuritySettings;
|
import com.android.settings.SecuritySettings;
|
||||||
|
import static com.android.settings.vpn.VpnProfileEditor.SECRET_SET_INDICATOR;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
@@ -109,6 +110,10 @@ public class VpnSettings extends PreferenceActivity implements
|
|||||||
|
|
||||||
private static final int NO_ERROR = 0;
|
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 PreferenceScreen mAddVpn;
|
||||||
private PreferenceCategory mVpnListContainer;
|
private PreferenceCategory mVpnListContainer;
|
||||||
|
|
||||||
@@ -838,37 +843,37 @@ public class VpnSettings extends PreferenceActivity implements
|
|||||||
return mVpnManager.createVpnProfile(Enum.valueOf(VpnType.class, type));
|
return mVpnManager.createVpnProfile(Enum.valueOf(VpnType.class, type));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final String NAMESPACE_VPN = "vpn";
|
private String keyNameForDaemon(String keyName) {
|
||||||
private static final String KEY_PREFIX_IPSEC_PSK = "ipsk000";
|
return NAMESPACE_VPN + "_" + keyName;
|
||||||
private static final String KEY_PREFIX_L2TP_SECRET = "lscrt000";
|
}
|
||||||
|
|
||||||
private void processSecrets(VpnProfile p) {
|
private void processSecrets(VpnProfile p) {
|
||||||
Keystore ks = Keystore.getInstance();
|
Keystore ks = Keystore.getInstance();
|
||||||
switch (p.getType()) {
|
switch (p.getType()) {
|
||||||
case L2TP_IPSEC_PSK:
|
case L2TP_IPSEC_PSK:
|
||||||
L2tpIpsecPskProfile pskProfile = (L2tpIpsecPskProfile) p;
|
L2tpIpsecPskProfile pskProfile = (L2tpIpsecPskProfile) p;
|
||||||
String keyName = KEY_PREFIX_IPSEC_PSK + p.getId();
|
|
||||||
String keyNameForDaemon = NAMESPACE_VPN + "_" + keyName;
|
|
||||||
String presharedKey = pskProfile.getPresharedKey();
|
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);
|
int ret = ks.put(NAMESPACE_VPN, keyName, presharedKey);
|
||||||
if (ret < 0) Log.e(TAG, "keystore write failed: key=" + keyName);
|
if (ret < 0) {
|
||||||
pskProfile.setPresharedKey(keyNameForDaemon);
|
Log.e(TAG, "keystore write failed: key=" + keyName);
|
||||||
|
}
|
||||||
|
pskProfile.setPresharedKey(keyNameForDaemon(keyName));
|
||||||
}
|
}
|
||||||
// pass through
|
// pass through
|
||||||
|
|
||||||
case L2TP:
|
case L2TP:
|
||||||
L2tpProfile l2tpProfile = (L2tpProfile) p;
|
L2tpProfile l2tpProfile = (L2tpProfile) p;
|
||||||
keyName = KEY_PREFIX_L2TP_SECRET + p.getId();
|
String keyName = KEY_PREFIX_L2TP_SECRET + p.getId();
|
||||||
if (l2tpProfile.isSecretEnabled()) {
|
if (l2tpProfile.isSecretEnabled()) {
|
||||||
keyNameForDaemon = NAMESPACE_VPN + "_" + keyName;
|
|
||||||
String secret = l2tpProfile.getSecretString();
|
String secret = l2tpProfile.getSecretString();
|
||||||
if (!secret.equals(keyNameForDaemon)) {
|
if (!secret.equals(SECRET_SET_INDICATOR)) {
|
||||||
int ret = ks.put(NAMESPACE_VPN, keyName, secret);
|
int ret = ks.put(NAMESPACE_VPN, keyName, secret);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
Log.e(TAG, "keystore write failed: key=" + keyName);
|
Log.e(TAG, "keystore write failed: key=" + keyName);
|
||||||
}
|
}
|
||||||
l2tpProfile.setSecretString(keyNameForDaemon);
|
l2tpProfile.setSecretString(keyNameForDaemon(keyName));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ks.remove(NAMESPACE_VPN, keyName);
|
ks.remove(NAMESPACE_VPN, keyName);
|
||||||
|
Reference in New Issue
Block a user