2 * Copyright (C) 2009 The Android Open Source Project
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package com.android.settings.vpn;
19 import com.android.settings.R;
21 import android.content.Context;
22 import android.net.vpn.L2tpIpsecPskProfile;
23 import android.preference.EditTextPreference;
24 import android.preference.Preference;
25 import android.preference.PreferenceGroup;
28 * The class for editing {@link L2tpIpsecPskProfile}.
30 class L2tpIpsecPskEditor extends L2tpEditor {
31 private EditTextPreference mPresharedKey;
33 public L2tpIpsecPskEditor(L2tpIpsecPskProfile p) {
38 protected void loadExtraPreferencesTo(PreferenceGroup subpanel) {
39 Context c = subpanel.getContext();
40 subpanel.addPreference(createPresharedKeyPreference(c));
41 super.loadExtraPreferencesTo(subpanel);
45 public String validate() {
46 String result = super.validate();
48 return ((result != null)
50 : validate(mPresharedKey, R.string.vpn_a_ipsec_presharedkey));
53 private Preference createPresharedKeyPreference(Context c) {
54 final L2tpIpsecPskProfile profile = (L2tpIpsecPskProfile) getProfile();
55 mPresharedKey = createSecretPreference(c,
56 R.string.vpn_ipsec_presharedkey_title,
57 R.string.vpn_ipsec_presharedkey,
58 profile.getPresharedKey(),
59 new Preference.OnPreferenceChangeListener() {
60 public boolean onPreferenceChange(
61 Preference pref, Object newValue) {
62 profile.setPresharedKey((String) newValue);
63 setSecretSummary(mPresharedKey,
64 R.string.vpn_ipsec_presharedkey,