Skip to content
Snippets Groups Projects
Commit ae992935 authored by Alexandre Savard's avatar Alexandre Savard
Browse files

#16702: Use AccountDetailXXX in AccountManagementFragment

parent d0aa7910
No related branches found
No related tags found
No related merge requests found
......@@ -256,8 +256,6 @@ public class AccountCreationActivity extends PreferenceActivity
AlertDialog dialog = createAlertDialog();
dialog.show();
// super.onBackPressed();
}
private void updateAccountDetails(HashMap<String, String> accountDetails, AccountDetail det) {
......
......@@ -32,6 +32,7 @@
package com.savoirfairelinux.sflphone.client;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.preference.EditTextPreference;
import android.preference.Preference;
......@@ -52,7 +53,12 @@ import com.savoirfairelinux.sflphone.R;
import com.savoirfairelinux.sflphone.service.ISipService;
import com.savoirfairelinux.sflphone.service.SipService;
import com.savoirfairelinux.sflphone.service.ServiceConstants;
import com.savoirfairelinux.sflphone.utils.AccountDetail;
import com.savoirfairelinux.sflphone.utils.AccountDetailsHandler;
import com.savoirfairelinux.sflphone.utils.AccountDetailBasic;
import com.savoirfairelinux.sflphone.utils.AccountDetailAdvanced;
import com.savoirfairelinux.sflphone.utils.AccountDetailSrtp;
import com.savoirfairelinux.sflphone.utils.AccountDetailTls;
public class AccountManagementFragment extends PreferenceFragment
{
......@@ -60,20 +66,30 @@ public class AccountManagementFragment extends PreferenceFragment
static final String DEFAULT_ACCOUNT_ID = "IP2IP";
static final int ACCOUNT_CREATE_REQUEST = 1;
private ISipService service;
// HashMap<String, String> mAccountDetails = null;
// ArrayList<String> mAccountList = null;
HashMap<String,HashMap<String,String>> mAccountList = new HashMap<String,HashMap<String,String>>();
ArrayList<AccountDetailsHandler.PreferenceEntry> basicDetailKeys;
ArrayList<AccountDetailsHandler.PreferenceEntry> advancedDetailKeys;
ArrayList<AccountDetail.PreferenceEntry> basicDetailKeys;
ArrayList<AccountDetail.PreferenceEntry> advancedDetailKeys;
ArrayList<AccountDetail.PreferenceEntry> srtpDetailKeys;
ArrayList<AccountDetail.PreferenceEntry> tlsDetailKeys;
AccountDetailBasic basicDetails;
AccountDetailAdvanced advancedDetails;
AccountDetailSrtp srtpDetails;
AccountDetailTls tlsDetails;
Activity context = getActivity();
public AccountManagementFragment(ISipService s)
{
service = s;
basicDetailKeys = AccountDetailsHandler.getBasicDetailsKeys();
advancedDetailKeys = AccountDetailsHandler.getAdvancedDetailsKeys();
basicDetailKeys = AccountDetailBasic.getPreferenceEntries();
advancedDetailKeys = AccountDetailAdvanced.getPreferenceEntries();
basicDetails = new AccountDetailBasic();
advancedDetails = new AccountDetailAdvanced();
srtpDetails = new AccountDetailSrtp();
tlsDetails = new AccountDetailTls();
}
@Override
......@@ -83,7 +99,6 @@ public class AccountManagementFragment extends PreferenceFragment
Log.i(TAG, "Create Account Management Fragment");
// setPreferenceScreen(getAccountPreferenceScreen());
setPreferenceScreen(getAccountListPreferenceScreen());
}
......@@ -225,6 +240,29 @@ public class AccountManagementFragment extends PreferenceFragment
return root;
}
public PreferenceCategory createPreferenceSection(PreferenceScreen root, Context context, int titleId, ArrayList<AccountDetail.PreferenceEntry> detailEntries,
String accountID, HashMap<String, String> map)
{
// Inline preference
PreferenceCategory accountPrefCat = new PreferenceCategory(context);
accountPrefCat.setTitle(titleId);
root.addPreference(accountPrefCat);
for(AccountDetail.PreferenceEntry entry : detailEntries)
{
EditTextPreference accountPref = new EditTextPreference(context);
accountPref.setDialogTitle(entry.mLabelId);
accountPref.setPersistent(false);
accountPref.setTitle(entry.mLabelId);
accountPref.setSummary(getString(R.string.account_current_value_label) + map.get(entry.mKey));
accountPref.setOnPreferenceChangeListener(changeBasicTextEditListener);
accountPref.setKey(accountID);
accountPrefCat.addPreference(accountPref);
}
return accountPrefCat;
}
public PreferenceScreen getAccountPreferenceScreen(String accountID)
{
Activity currentContext = getActivity();
......@@ -235,12 +273,15 @@ public class AccountManagementFragment extends PreferenceFragment
PreferenceScreen root = getPreferenceManager().createPreferenceScreen(currentContext);
root.setTitle(map.get(ServiceConstants.CONFIG_ACCOUNT_ALIAS));
createPreferenceSection(root, currentContext, R.string.account_preferences_basic, basicDetailKeys, accountID, map);
createPreferenceSection(root, currentContext, R.string.account_preferences_advanced, advancedDetailKeys, accountID, map);
/*
// Inline preference
PreferenceCategory accountBasicPrefCat = new PreferenceCategory(currentContext);
accountBasicPrefCat.setTitle(R.string.account_preferences_basic);
root.addPreference(accountBasicPrefCat);
for(AccountDetailsHandler.PreferenceEntry entry : basicDetailKeys)
for(AccountDetail.PreferenceEntry entry : basicDetailKeys)
{
EditTextPreference accountPref = new EditTextPreference(currentContext);
accountPref.setDialogTitle(entry.mLabelId);
......@@ -256,7 +297,7 @@ public class AccountManagementFragment extends PreferenceFragment
accountAdvancedPrefCat.setTitle(R.string.account_preferences_advanced);
root.addPreference(accountAdvancedPrefCat);
for(AccountDetailsHandler.PreferenceEntry entry : advancedDetailKeys)
for(AccountDetail.PreferenceEntry entry : advancedDetailKeys)
{
EditTextPreference accountPref = new EditTextPreference(currentContext);
accountPref.setDialogTitle(entry.mLabelId);
......@@ -267,6 +308,8 @@ public class AccountManagementFragment extends PreferenceFragment
accountPref.setKey(accountID);
accountAdvancedPrefCat.addPreference(accountPref);
}
*/
return root;
}
......
......@@ -24,6 +24,7 @@ package com.savoirfairelinux.sflphone.utils;
import com.savoirfairelinux.sflphone.R;
import com.savoirfairelinux.sflphone.utils.AccountDetail;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Set;
import java.util.HashMap;
......@@ -61,6 +62,33 @@ public class AccountDetailAdvanced implements AccountDetail {
private HashMap<String, AccountDetail.PreferenceEntry> privateMap;
public static ArrayList<AccountDetail.PreferenceEntry> getPreferenceEntries()
{
ArrayList<AccountDetail.PreferenceEntry> preference = new ArrayList<AccountDetail.PreferenceEntry>();
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_REGISTRATION_EXPIRE, R.string.account_registration_exp_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_REGISTRATION_STATUS, R.string.account_registration_status_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_REGISTRATION_STATE_CODE, R.string.account_registration_code_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_REGISTRATION_STATE_DESC, R.string.account_registration_state_label));
preference.add(new PreferenceEntry(CONFIG_CREDENTIAL_NUMBER, R.string.account_credential_count_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_DTMF_TYPE, R.string.account_config_dtmf_type_label));
preference.add(new PreferenceEntry(CONFIG_RINGTONE_PATH, R.string.account_ringtone_path_label));
preference.add(new PreferenceEntry(CONFIG_RINGTONE_ENABLED, R.string.account_ringtone_enabled_label, true));
preference.add(new PreferenceEntry(CONFIG_KEEP_ALIVE_ENABLED, R.string.account_keep_alive_label, true));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_AUTOANSWER, R.string.account_account_interface_label, true));
preference.add(new PreferenceEntry(CONFIG_LOCAL_INTERFACE, R.string.account_local_interface_label));
preference.add(new PreferenceEntry(CONFIG_INTERFACE, R.string.account_account_interface_label));
preference.add(new PreferenceEntry(CONFIG_PUBLISHED_SAMEAS_LOCAL, R.string.account_published_same_as_local_label, true));
preference.add(new PreferenceEntry(CONFIG_LOCAL_PORT, R.string.account_local_port_label));
preference.add(new PreferenceEntry(CONFIG_PUBLISHED_PORT, R.string.account_published_port_label));
preference.add(new PreferenceEntry(CONFIG_PUBLISHED_ADDRESS, R.string.account_published_address_label));
preference.add(new PreferenceEntry(CONFIG_DISPLAY_NAME, R.string.account_displayname_label));
preference.add(new PreferenceEntry(CONFIG_STUN_SERVER, R.string.account_stun_server_label));
preference.add(new PreferenceEntry(CONFIG_STUN_ENABLE, R.string.account_stun_enable_label, true));
return preference;
}
public AccountDetailAdvanced()
{
privateMap = new HashMap<String, AccountDetail.PreferenceEntry>();
......
......@@ -24,6 +24,7 @@ package com.savoirfairelinux.sflphone.utils;
import com.savoirfairelinux.sflphone.R;
import com.savoirfairelinux.sflphone.utils.AccountDetail;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Set;
import java.util.HashMap;
......@@ -43,6 +44,25 @@ public class AccountDetailBasic implements AccountDetail {
private HashMap<String, AccountDetail.PreferenceEntry> privateMap;
public static ArrayList<AccountDetail.PreferenceEntry> getPreferenceEntries()
{
ArrayList<AccountDetail.PreferenceEntry> preference = new ArrayList<AccountDetail.PreferenceEntry>();
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_TYPE, R.string.account_type_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_ALIAS, R.string.account_alias_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_ENABLE, R.string.account_enabled_label, true));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_HOSTNAME, R.string.account_hostname_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_USERNAME, R.string.account_username_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_ROUTESET, R.string.account_routeset_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_PASSWORD, R.string.account_password_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_REALM, R.string.account_realm_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_DEFAULT_REALM, R.string.account_useragent_label));
preference.add(new PreferenceEntry(CONFIG_ACCOUNT_USERAGENT, R.string.account_autoanswer_label));
return preference;
}
public AccountDetailBasic()
{
privateMap = new HashMap<String, AccountDetail.PreferenceEntry>();
......
......@@ -24,6 +24,7 @@ package com.savoirfairelinux.sflphone.utils;
import com.savoirfairelinux.sflphone.R;
import com.savoirfairelinux.sflphone.utils.AccountDetail;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Set;
import java.util.HashMap;
......@@ -41,6 +42,22 @@ public class AccountDetailSrtp implements AccountDetail{
private HashMap<String, AccountDetail.PreferenceEntry> privateMap;
public static ArrayList<AccountDetail.PreferenceEntry> getPreferenceEntries()
{
ArrayList<AccountDetail.PreferenceEntry> preference = new ArrayList<AccountDetail.PreferenceEntry>();
preference.add(new PreferenceEntry(CONFIG_SRTP_ENABLE, R.string.account_srtp_enabled_label, true));
preference.add(new PreferenceEntry(CONFIG_SRTP_KEY_EXCHANGE, R.string.account_srtp_exchange_label, true));
preference.add(new PreferenceEntry(CONFIG_SRTP_ENCRYPTION_ALGO, R.string.account_encryption_algo_label, true));
preference.add(new PreferenceEntry(CONFIG_SRTP_RTP_FALLBACK, R.string.account_srtp_fallback_label, true));
preference.add(new PreferenceEntry(CONFIG_ZRTP_HELLO_HASH, R.string.account_hello_hash_enable_label, true));
preference.add(new PreferenceEntry(CONFIG_ZRTP_DISPLAY_SAS, R.string.account_display_sas_label, true));
preference.add(new PreferenceEntry(CONFIG_ZRTP_NOT_SUPP_WARNING, R.string.account_not_supported_warning_label, true));
preference.add(new PreferenceEntry(CONFIG_ZRTP_DISPLAY_SAS_ONCE, R.string.account_display_sas_once_label, true));
return preference;
}
public AccountDetailSrtp()
{
privateMap = new HashMap<String, AccountDetail.PreferenceEntry>();
......
......@@ -24,6 +24,7 @@ package com.savoirfairelinux.sflphone.utils;
import com.savoirfairelinux.sflphone.R;
import com.savoirfairelinux.sflphone.utils.AccountDetail;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Set;
import java.util.HashMap;
......@@ -47,6 +48,28 @@ public class AccountDetailTls implements AccountDetail {
private HashMap<String, AccountDetail.PreferenceEntry> privateMap;
public static ArrayList<AccountDetail.PreferenceEntry> getPreferenceEntries()
{
ArrayList<AccountDetail.PreferenceEntry> preference = new ArrayList<AccountDetail.PreferenceEntry>();
preference.add(new PreferenceEntry(CONFIG_TLS_LISTENER_PORT, R.string.account_listener_port_label));
preference.add(new PreferenceEntry(CONFIG_TLS_ENABLE, R.string.account_tls_enabled_label, true));
preference.add(new PreferenceEntry(CONFIG_TLS_CA_LIST_FILE, R.string.account_tls_certificate_list_label));
preference.add(new PreferenceEntry(CONFIG_TLS_CERTIFICATE_FILE, R.string.account_tls_certificate_file_label));
preference.add(new PreferenceEntry(CONFIG_TLS_PRIVATE_KEY_FILE, R.string.account_tls_private_key_file_label));
preference.add(new PreferenceEntry(CONFIG_TLS_PASSWORD, R.string.account_tls_password_label));
preference.add(new PreferenceEntry(CONFIG_TLS_METHOD, R.string.account_tls_method_label));
preference.add(new PreferenceEntry(CONFIG_TLS_CIPHERS, R.string.account_tls_ciphers_label));
preference.add(new PreferenceEntry(CONFIG_TLS_SERVER_NAME, R.string.account_tls_server_name_label));
preference.add(new PreferenceEntry(CONFIG_TLS_VERIFY_SERVER, R.string.account_tls_verify_label, true));
preference.add(new PreferenceEntry(CONFIG_TLS_VERIFY_CLIENT, R.string.account_tls_verify_client_label, true));
preference.add(new PreferenceEntry(CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE, R.string.account_tls_require_client_certificat_label, true));
preference.add(new PreferenceEntry(CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC, R.string.account_tls_negotiation_timeout_sec));
preference.add(new PreferenceEntry(CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC, R.string.account_tls_negotiation_timeout_msec));
return preference;
}
public AccountDetailTls()
{
privateMap = new HashMap<String, AccountDetail.PreferenceEntry>();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment