blob: eaa700cdbcd689f6661c3ae1211b4f9fafd9fbe8 [file] [log] [blame]
Alexandre Savard2b370f02012-09-06 16:06:01 -04001/*
2 * Copyright (C) 2004-2012 Savoir-Faire Linux Inc.
3 *
4 * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 *
20 * Additional permission under GNU GPL version 3 section 7:
21 *
22 * If you modify this program, or any covered work, by linking or
23 * combining it with the OpenSSL project's OpenSSL library (or a
24 * modified version of that library), containing parts covered by the
25 * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc.
26 * grants you additional permission to convey the resulting work.
27 * Corresponding Source for a non-source form of such a combination
28 * shall include the source code for the parts of OpenSSL used as well
29 * as that of the covered work.
30 */
31
32package com.savoirfairelinux.sflphone.client;
33
Alexandre Savard9a93f062012-09-11 10:42:43 -040034import android.app.Activity;
35import android.preference.EditTextPreference;
36import android.preference.Preference;
37import android.preference.PreferenceCategory;
38import android.preference.PreferenceFragment;
39import android.preference.PreferenceScreen;
Alexandre Savard70982012012-09-27 17:15:50 -040040import android.preference.ListPreference;
Alexandre Savard2b370f02012-09-06 16:06:01 -040041import android.os.Bundle;
Alexandre Savard12dc3ac2012-09-27 11:17:39 -040042import android.os.RemoteException;
Alexandre Savard2b370f02012-09-06 16:06:01 -040043import android.util.Log;
Alexandre Savard2b370f02012-09-06 16:06:01 -040044import android.view.View;
Alexandre Savard9a93f062012-09-11 10:42:43 -040045import android.widget.ArrayAdapter;
46import android.widget.ListView;
47import java.util.HashMap;
Alexandre Savard52a72522012-09-27 16:40:13 -040048import java.util.ArrayList;
Alexandre Savard2b370f02012-09-06 16:06:01 -040049
50import com.savoirfairelinux.sflphone.R;
Alexandre Savard12dc3ac2012-09-27 11:17:39 -040051import com.savoirfairelinux.sflphone.service.ISipService;
52import com.savoirfairelinux.sflphone.service.SipService;
53import com.savoirfairelinux.sflphone.service.ServiceConstants;
Alexandre Savard2b370f02012-09-06 16:06:01 -040054
Alexandre Savard9a93f062012-09-11 10:42:43 -040055public class AccountManagementFragment extends PreferenceFragment
Alexandre Savard2b370f02012-09-06 16:06:01 -040056{
57 static final String TAG = "AccountManagementFragment";
Alexandre Savarda6c0d992012-09-28 09:24:13 -040058 static final String CURRENT_VALUE = "Current value:: ";
59 static final String DEFAULT_ACCOUNT_ID = "IP2IP";
Alexandre Savard12dc3ac2012-09-27 11:17:39 -040060 private ISipService service;
Alexandre Savarda6c0d992012-09-28 09:24:13 -040061 HashMap<String, String> mAccountDetails = null;
Alexandre Savard9c966e32012-09-28 14:41:28 -040062 ArrayList<String> mAccountList = null;
63 ArrayList<PreferenceEntry> basicDetailKeys = new ArrayList<PreferenceEntry>();
64 ArrayList<PreferenceEntry> advancedDetailKeys = new ArrayList<PreferenceEntry>();
65 Activity context = getActivity();
Alexandre Savard12dc3ac2012-09-27 11:17:39 -040066
67 public AccountManagementFragment(ISipService s)
68 {
69 service = s;
Alexandre Savard9c966e32012-09-28 14:41:28 -040070
71 basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_TYPE,
72 R.string.account_type_label));
73 basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_ALIAS,
74 R.string.account_alias_label));
75 basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_ENABLE,
76 R.string.account_enabled_label));
77 basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_HOSTNAME,
78 R.string.account_hostname_label));
79 basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_USERNAME,
80 R.string.account_username_label));
81 basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_ROUTESET,
82 R.string.account_routeset_label));
83 basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_PASSWORD,
84 R.string.account_password_label));
85 basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_REALM,
86 R.string.account_realm_label));
87 basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_DEFAULT_REALM,
88 R.string.account_useragent_label));
89 basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_USERAGENT,
90 R.string.account_autoanswer_label));
91
92 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_EXPIRE,
93 R.string.account_registration_exp_label));
94 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATUS,
95 R.string.account_registration_status_label));
96 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE,
97 R.string.account_registration_code_label));
98 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC,
99 R.string.account_registration_state_label));
100 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_CREDENTIAL_NUMBER,
101 R.string.account_credential_count_label));
102 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_DTMF_TYPE,
103 R.string.account_config_dtmf_type_label));
104 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_RINGTONE_PATH,
105 R.string.account_ringtone_path_label));
106 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_RINGTONE_ENABLED,
107 R.string.account_ringtone_enabled_label));
108 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_KEEP_ALIVE_ENABLED,
109 R.string.account_keep_alive_label));
110 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_AUTOANSWER,
111 R.string.account_account_interface_label));
112 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_LOCAL_INTERFACE,
113 R.string.account_local_interface_label));
114 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_INTERFACE,
115 R.string.account_account_interface_label));
116 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_PUBLISHED_SAMEAS_LOCAL,
117 R.string.account_published_same_as_local_label));
118 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_LOCAL_PORT,
119 R.string.account_local_port_label));
120 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_PUBLISHED_PORT,
121 R.string.account_published_port_label));
122 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_PUBLISHED_ADDRESS,
123 R.string.account_published_address_label));
124 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_DISPLAY_NAME,
125 R.string.account_displayname_label));
126 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_STUN_SERVER,
127 R.string.account_stun_server_label));
128 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_STUN_ENABLE,
129 R.string.account_stun_enable_label));
130 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_SRTP_ENABLE,
131 R.string.account_srtp_enabled_label));
132 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_SRTP_KEY_EXCHANGE,
133 R.string.account_srtp_exchange_label));
134 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_SRTP_ENCRYPTION_ALGO,
135 R.string.account_encryption_algo_label));
136 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_SRTP_RTP_FALLBACK,
137 R.string.account_srtp_fallback_label));
138 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ZRTP_HELLO_HASH,
139 R.string.account_hello_hash_enable_label));
140 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS,
141 R.string.account_display_sas_label));
142 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ZRTP_NOT_SUPP_WARNING,
143 R.string.account_not_supported_warning_label));
144 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS_ONCE,
145 R.string.account_display_sas_once_label));
146 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_LISTENER_PORT,
147 R.string.account_listener_port_label));
148 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_ENABLE,
149 R.string.account_tls_enabled_label));
150 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_CA_LIST_FILE,
151 R.string.account_tls_certificate_list_label));
152 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_CERTIFICATE_FILE,
153 R.string.account_tls_certificate_file_label));
154 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_PRIVATE_KEY_FILE,
155 R.string.account_tls_private_key_file_label));
156 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_PASSWORD,
157 R.string.account_tls_password_label));
158 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_METHOD,
159 R.string.account_tls_method_label));
160 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_CIPHERS,
161 R.string.account_tls_ciphers_label));
162 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_SERVER_NAME,
163 R.string.account_tls_server_name_label));
164 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_VERIFY_SERVER,
165 R.string.account_tls_verify_label));
166 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_VERIFY_CLIENT,
167 R.string.account_tls_verify_client_label));
168 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE,
169 R.string.account_tls_require_client_certificat_label));
170 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC,
171 R.string.account_tls_negotiation_timeout_sec));
172 advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC,
173 R.string.account_tls_negotiation_timeout_msec));
Alexandre Savard12dc3ac2012-09-27 11:17:39 -0400174 }
Alexandre Savard2b370f02012-09-06 16:06:01 -0400175
176 @Override
177 public void onCreate(Bundle savedInstanceState)
178 {
179 super.onCreate(savedInstanceState);
180
Alexandre Savard9a93f062012-09-11 10:42:43 -0400181 Log.i(TAG, "Create Account Management Fragment");
Alexandre Savard2b370f02012-09-06 16:06:01 -0400182
Alexandre Savard70982012012-09-27 17:15:50 -0400183 // setPreferenceScreen(getAccountPreferenceScreen());
184 setPreferenceScreen(getAccountListPreferenceScreen());
Alexandre Savard2b370f02012-09-06 16:06:01 -0400185 }
186
Alexandre Savard9a93f062012-09-11 10:42:43 -0400187 boolean onTextEditPreferenceChange(Preference preference, Object newValue)
Alexandre Savard2b370f02012-09-06 16:06:01 -0400188 {
Alexandre Savard9a93f062012-09-11 10:42:43 -0400189 Log.i(TAG, "Account Preference Changed " + preference.getTitle());
Alexandre Savard2b370f02012-09-06 16:06:01 -0400190
Alexandre Savard9a93f062012-09-11 10:42:43 -0400191 preference.setSummary(CURRENT_VALUE + (CharSequence)newValue);
192
193 return true;
194 }
195
196 Preference.OnPreferenceChangeListener changeTextEditListener = new Preference.OnPreferenceChangeListener() {
197 public boolean onPreferenceChange(Preference preference, Object newValue) {
198 preference.setSummary(CURRENT_VALUE + (CharSequence)newValue);
199 return true;
200 }
201 };
202
203
204 Preference.OnPreferenceClickListener preferenceClick = new Preference.OnPreferenceClickListener() {
205 public boolean onPreferenceClick(Preference preference) {
206 return false;
207 }
208 };
209
Alexandre Savard52a72522012-09-27 16:40:13 -0400210 ArrayList<String> getAccountList()
211 {
212 ArrayList<String> accountList = null;
213 try {
214 accountList = (ArrayList) service.getAccountList();
215 } catch (RemoteException e) {
216 Log.e(TAG, "Cannot call service method", e);
217 }
218
Alexandre Savarda6c0d992012-09-28 09:24:13 -0400219 // Remove the default account from list
220 accountList.remove(DEFAULT_ACCOUNT_ID);
221
Alexandre Savard52a72522012-09-27 16:40:13 -0400222 return accountList;
223 }
224
Alexandre Savard70982012012-09-27 17:15:50 -0400225 HashMap getAccountDetails(String accountID)
Alexandre Savard9a93f062012-09-11 10:42:43 -0400226 {
Alexandre Savard12dc3ac2012-09-27 11:17:39 -0400227 HashMap accountDetails = null;
228 try {
Alexandre Savard70982012012-09-27 17:15:50 -0400229 accountDetails = (HashMap) service.getAccountDetails(accountID);
Alexandre Savard12dc3ac2012-09-27 11:17:39 -0400230 } catch (RemoteException e) {
231 Log.e(TAG, "Cannot call service method", e);
232 }
Alexandre Savard9a93f062012-09-11 10:42:43 -0400233
234 return accountDetails;
235 }
236
Alexandre Savard70982012012-09-27 17:15:50 -0400237 public PreferenceScreen getAccountListPreferenceScreen()
Alexandre Savard9a93f062012-09-11 10:42:43 -0400238 {
Alexandre Savard9a93f062012-09-11 10:42:43 -0400239 Activity currentContext = getActivity();
Alexandre Savard52a72522012-09-27 16:40:13 -0400240
241 mAccountList = getAccountList();
242 Log.i(TAG, "GetAccountList: " + mAccountList);
243
Alexandre Savard70982012012-09-27 17:15:50 -0400244 PreferenceScreen root = getPreferenceManager().createPreferenceScreen(currentContext);
245
Alexandre Savarda6c0d992012-09-28 09:24:13 -0400246 // Default account category
Alexandre Savard70982012012-09-27 17:15:50 -0400247 PreferenceCategory defaultAccountCat = new PreferenceCategory(currentContext);
Alexandre Savarda6c0d992012-09-28 09:24:13 -0400248 defaultAccountCat.setTitle(R.string.default_account_category);
Alexandre Savard70982012012-09-27 17:15:50 -0400249 root.addPreference(defaultAccountCat);
250
Alexandre Savarda6c0d992012-09-28 09:24:13 -0400251 root.addPreference(getAccountPreferenceScreen(DEFAULT_ACCOUNT_ID));
Alexandre Savard70982012012-09-27 17:15:50 -0400252
Alexandre Savarda6c0d992012-09-28 09:24:13 -0400253 // Account list category
Alexandre Savard70982012012-09-27 17:15:50 -0400254 PreferenceCategory accountListCat = new PreferenceCategory(currentContext);
Alexandre Savarda6c0d992012-09-28 09:24:13 -0400255 accountListCat.setTitle(R.string.default_account_category);
Alexandre Savard70982012012-09-27 17:15:50 -0400256 root.addPreference(accountListCat);
257
Alexandre Savarda6c0d992012-09-28 09:24:13 -0400258 for(String s : mAccountList)
259 root.addPreference(getAccountPreferenceScreen(s));
Alexandre Savard70982012012-09-27 17:15:50 -0400260
Alexandre Savarda6c0d992012-09-28 09:24:13 -0400261 return root;
Alexandre Savard70982012012-09-27 17:15:50 -0400262 }
263
264 public PreferenceScreen getAccountPreferenceScreen(String accountID)
265 {
266 Activity currentContext = getActivity();
267
268 mAccountDetails = getAccountDetails(accountID);
Alexandre Savard52a72522012-09-27 16:40:13 -0400269 Log.i(TAG, "GetAccountDetails: " + mAccountDetails.size());
Alexandre Savard9a93f062012-09-11 10:42:43 -0400270
271 PreferenceScreen root = getPreferenceManager().createPreferenceScreen(currentContext);
272
Alexandre Savarda6c0d992012-09-28 09:24:13 -0400273 root.setTitle(mAccountDetails.get(ServiceConstants.CONFIG_ACCOUNT_ALIAS));
Alexandre Savard70982012012-09-27 17:15:50 -0400274
Alexandre Savard9a93f062012-09-11 10:42:43 -0400275 // Inline preference
276 PreferenceCategory accountPrefCat = new PreferenceCategory(currentContext);
277 accountPrefCat.setTitle(R.string.account_preferences);
278 root.addPreference(accountPrefCat);
279
Alexandre Savard9c966e32012-09-28 14:41:28 -0400280 //
281 for(PreferenceEntry entry : basicDetailKeys)
282 {
283 EditTextPreference accountAliasPref = new EditTextPreference(currentContext);
284 accountAliasPref.setDialogTitle(entry.mLabelId);
285 accountAliasPref.setPersistent(false);
286 accountAliasPref.setTitle(entry.mLabelId);
287 accountAliasPref.setSummary(CURRENT_VALUE + mAccountDetails.get(entry.mKey));
288 accountAliasPref.setOnPreferenceChangeListener(changeTextEditListener);
289 accountPrefCat.addPreference(accountAliasPref);
290 }
291
292 //
293 for(PreferenceEntry entry : advancedDetailKeys)
294 {
295 EditTextPreference accountAliasPref = new EditTextPreference(currentContext);
296 accountAliasPref.setDialogTitle(entry.mLabelId);
297 accountAliasPref.setPersistent(false);
298 accountAliasPref.setTitle(entry.mLabelId);
299 accountAliasPref.setSummary(CURRENT_VALUE + mAccountDetails.get(entry.mKey));
300 accountAliasPref.setOnPreferenceChangeListener(changeTextEditListener);
301 accountPrefCat.addPreference(accountAliasPref);
302 }
303
304 /*
Alexandre Savard9a93f062012-09-11 10:42:43 -0400305 // Alias
306 EditTextPreference accountAliasPref = new EditTextPreference(currentContext);
307 accountAliasPref.setDialogTitle(R.string.dialogtitle_account_alias_field);
Alexandre Savard700c1942012-09-11 15:30:38 -0400308 accountAliasPref.setPersistent(false);
Alexandre Savard9a93f062012-09-11 10:42:43 -0400309 accountAliasPref.setTitle(R.string.title_account_alias_field);
Alexandre Savard52a72522012-09-27 16:40:13 -0400310 accountAliasPref.setSummary(CURRENT_VALUE + mAccountDetails.get(ServiceConstants.CONFIG_ACCOUNT_ALIAS));
Alexandre Savard9a93f062012-09-11 10:42:43 -0400311 accountAliasPref.setOnPreferenceChangeListener(changeTextEditListener);
312 accountPrefCat.addPreference(accountAliasPref);
313
314 // Hostname
315 EditTextPreference accountHostnamePref = new EditTextPreference(currentContext);
316 accountHostnamePref.setDialogTitle(R.string.dialogtitle_account_hostname_field);
Alexandre Savard700c1942012-09-11 15:30:38 -0400317 accountHostnamePref.setPersistent(false);
Alexandre Savard9a93f062012-09-11 10:42:43 -0400318 accountHostnamePref.setTitle(R.string.title_account_hostname_field);
Alexandre Savard52a72522012-09-27 16:40:13 -0400319 accountHostnamePref.setSummary(CURRENT_VALUE + mAccountDetails.get(ServiceConstants.CONFIG_ACCOUNT_HOSTNAME));
Alexandre Savard9a93f062012-09-11 10:42:43 -0400320 accountHostnamePref.setOnPreferenceChangeListener(changeTextEditListener);
321 accountPrefCat.addPreference(accountHostnamePref);
322
323 // Username
324 EditTextPreference accountUsernamePref = new EditTextPreference(currentContext);
325 accountUsernamePref.setDialogTitle(R.string.dialogtitle_account_username_field);
Alexandre Savard700c1942012-09-11 15:30:38 -0400326 accountUsernamePref.setPersistent(false);
Alexandre Savard9a93f062012-09-11 10:42:43 -0400327 accountUsernamePref.setTitle(R.string.title_account_username_field);
Alexandre Savard52a72522012-09-27 16:40:13 -0400328 accountUsernamePref.setSummary(CURRENT_VALUE + mAccountDetails.get(ServiceConstants.CONFIG_ACCOUNT_USERNAME));
Alexandre Savard9a93f062012-09-11 10:42:43 -0400329 accountUsernamePref.setOnPreferenceChangeListener(changeTextEditListener);
330 accountPrefCat.addPreference(accountUsernamePref);
331
332 // Proxy
333 EditTextPreference accountProxyPref = new EditTextPreference(currentContext);
334 accountProxyPref.setDialogTitle(R.string.dialogtitle_account_proxy_field);
Alexandre Savard700c1942012-09-11 15:30:38 -0400335 accountProxyPref.setPersistent(false);
Alexandre Savard9a93f062012-09-11 10:42:43 -0400336 accountProxyPref.setTitle(R.string.title_account_proxy_field);
Alexandre Savard52a72522012-09-27 16:40:13 -0400337 accountProxyPref.setSummary(CURRENT_VALUE + mAccountDetails.get(ServiceConstants.CONFIG_ACCOUNT_ROUTESET));
Alexandre Savard9a93f062012-09-11 10:42:43 -0400338 accountProxyPref.setOnPreferenceChangeListener(changeTextEditListener);
339 accountPrefCat.addPreference(accountProxyPref);
340
341 // Registration Timeout
342 EditTextPreference accountRegistrationPref = new EditTextPreference(currentContext);
343 accountRegistrationPref.setDialogTitle(R.string.dialogtitle_account_registration_field);
Alexandre Savard700c1942012-09-11 15:30:38 -0400344 accountRegistrationPref.setPersistent(false);
Alexandre Savard9a93f062012-09-11 10:42:43 -0400345 accountRegistrationPref.setTitle(R.string.title_account_registration_field);
Alexandre Savard52a72522012-09-27 16:40:13 -0400346 accountRegistrationPref.setSummary(CURRENT_VALUE + mAccountDetails.get(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_EXPIRE));
Alexandre Savard9a93f062012-09-11 10:42:43 -0400347 accountRegistrationPref.setOnPreferenceChangeListener(changeTextEditListener);
348 accountPrefCat.addPreference(accountRegistrationPref);
349
350 // Netowrk interface
351 EditTextPreference accountNetworkPref = new EditTextPreference(currentContext);
352 accountNetworkPref.setDialogTitle(R.string.dialogtitle_account_network_field);
Alexandre Savard700c1942012-09-11 15:30:38 -0400353 accountNetworkPref.setPersistent(false);
Alexandre Savard9a93f062012-09-11 10:42:43 -0400354 accountNetworkPref.setTitle(R.string.title_account_network_field);
Alexandre Savard52a72522012-09-27 16:40:13 -0400355 accountNetworkPref.setSummary(CURRENT_VALUE + mAccountDetails.get(ServiceConstants.CONFIG_LOCAL_INTERFACE));
Alexandre Savard9a93f062012-09-11 10:42:43 -0400356 accountNetworkPref.setOnPreferenceChangeListener(changeTextEditListener);
357 accountPrefCat.addPreference(accountNetworkPref);
358
359 // Account stun server
360 EditTextPreference accountSecurityPref = new EditTextPreference(currentContext);
361 accountSecurityPref.setDialogTitle(R.string.dialogtitle_account_security_field);
Alexandre Savard700c1942012-09-11 15:30:38 -0400362 accountSecurityPref.setPersistent(false);
Alexandre Savard9a93f062012-09-11 10:42:43 -0400363 accountSecurityPref.setTitle(R.string.title_account_security_field);
Alexandre Savard52a72522012-09-27 16:40:13 -0400364 accountSecurityPref.setSummary(CURRENT_VALUE + mAccountDetails.get(ServiceConstants.CONFIG_STUN_SERVER));
Alexandre Savard9a93f062012-09-11 10:42:43 -0400365 accountSecurityPref.setOnPreferenceChangeListener(changeTextEditListener);
366 accountPrefCat.addPreference(accountSecurityPref);
367
368 // Account tls feature
369 EditTextPreference accountTlsPref = new EditTextPreference(currentContext);
370 accountTlsPref.setDialogTitle(R.string.dialogtitle_account_tls_field);
Alexandre Savard700c1942012-09-11 15:30:38 -0400371 accountTlsPref.setPersistent(false);
Alexandre Savard9a93f062012-09-11 10:42:43 -0400372 accountTlsPref.setTitle(R.string.title_account_tls_field);
Alexandre Savard52a72522012-09-27 16:40:13 -0400373 accountTlsPref.setSummary(CURRENT_VALUE + mAccountDetails.get(ServiceConstants.CONFIG_TLS_ENABLE));
Alexandre Savard9a93f062012-09-11 10:42:43 -0400374 accountTlsPref.setOnPreferenceChangeListener(changeTextEditListener);
375 accountPrefCat.addPreference(accountTlsPref);
376
377 // Account srtp feature
378 EditTextPreference accountSrtpPref = new EditTextPreference(currentContext);
379 accountSrtpPref.setDialogTitle(R.string.dialogtitle_account_srtp_field);
Alexandre Savard700c1942012-09-11 15:30:38 -0400380 accountSrtpPref.setPersistent(false);
Alexandre Savard9a93f062012-09-11 10:42:43 -0400381 accountSrtpPref.setTitle(R.string.title_account_srtp_field);
Alexandre Savard52a72522012-09-27 16:40:13 -0400382 accountSrtpPref.setSummary(CURRENT_VALUE + mAccountDetails.get(ServiceConstants.CONFIG_SRTP_ENABLE));
Alexandre Savard9a93f062012-09-11 10:42:43 -0400383 accountSrtpPref.setOnPreferenceChangeListener(changeTextEditListener);
384 accountPrefCat.addPreference(accountSrtpPref);
Alexandre Savard9c966e32012-09-28 14:41:28 -0400385 */
Alexandre Savard9a93f062012-09-11 10:42:43 -0400386
387 return root;
388 }
Alexandre Savard9c966e32012-09-28 14:41:28 -0400389
390 public static class PreferenceEntry
391 {
392 public String mKey;
393 public int mLabelId;
394
395 public PreferenceEntry(String key, int labelId)
396 {
397 mKey = key;
398 mLabelId = labelId;
399 }
400 }
Alexandre Savard2b370f02012-09-06 16:06:01 -0400401}