diff --git a/res/values-fr/strings_account.xml b/res/values-fr/strings_account.xml index 0520ca9b47fa9a07bb3d57ac3a32d4c0701d7d4f..481af33f164f7c786ddd564e30033a1ce4dcd62f 100644 --- a/res/values-fr/strings_account.xml +++ b/res/values-fr/strings_account.xml @@ -8,34 +8,34 @@ <string name="action_create"><b>Enregistrer le compte</b></string> <string name="action_create_short">Enregistrer</string> <string name="error_field_required">Ce champ est requis</string> - + <!-- AccountManagementFragment --> + <string name="preference_section1">Comptes</string> <string name="empty_account_list">Aucun compte enregistré</string> <string name="normal_accounts_titles">Comptes</string> <string name="ip2ip_account">Compte IP2IP</string> <string name="ip2ip_state">PRÊT</string> - <!-- Preferences --> - <string name="preference_section1">Comptes</string> - <string name="account_preferences_audio">Audio</string> - <string name="account_preferences">Préférences de compte</string> - <string name="account_preferences_basic">Général</string> + <!-- Basic Details --> + <string name="account_preferences_basic_tab">Général</string> <string name="account_basic_category">Réglages basiques</string> - <string name="account_preferences_advanced">Avancé</string> - <string name="account_preferences_security">Sécurité</string> - <string name="account_preferences_srtp">SRTP Account Preferences</string> - <string name="account_preferences_tls">TLS Account Preferences</string> - <string name="audio_preferences">Audio Preferences</string> - <string name="account_hostname_label">Hostname</string> - <string name="account_username_label">Username</string> - <string name="account_routeset_label">Route Set</string> - <string name="account_password_label">Password</string> - <string name="account_realm_label">Realm</string> + <string name="account_alias_label">Alias</string> + <string name="account_hostname_label">Serveur</string> + <string name="account_username_label">Utilisateur</string> + <string name="account_password_label">Mot de passe</string> <string name="account_optionnal_category">Réglages Optionnels</string> <string name="account_useragent_label">User-agent</string> + <string name="account_proxy_field">Proxy</string> <string name="account_autoanswer_label">Décroche automatiquement l\'appel</string> + + <!-- Audio Details --> + <string name="account_preferences_audio_tab">Audio</string> + + <!-- Advanced Details --> + <string name="account_preferences_advanced_tab">Avancé</string> + <string name="account_routeset_label">Route Set</string> + <string name="account_realm_label">Realm</string> <string name="account_type_label">Account Type</string> - <string name="account_alias_label">Alias</string> <string name="account_mailbox_label">Mailbox</string> <string name="account_enabled_label">Account Enabled</string> <string name="account_registration_exp_label">Registration Expire</string> @@ -55,16 +55,22 @@ <string name="account_displayname_label">Displayname Label</string> <string name="account_stun_server_label">Stun Server</string> <string name="account_stun_enable_label">Stun Enabled</string> - <string name="account_srtp_enabled_label">SRTP Enabled</string> - <string name="account_srtp_exchange_label">SRTP Key Exchange</string> + + <!-- SRTP Details --> + <string name="account_preferences_security_tab">Sécurité</string> + <string name="account_srtp_enabled_label">SRTP Activé</string> + <string name="account_srtp_exchange_label">Échange de clé SRTP</string> + <string name="account_srtp_deactivated">Désactivé</string> <string name="account_encryption_algo_label">Encryption Algo</string> <string name="account_srtp_fallback_label">SRTP Fallback</string> <string name="account_hello_hash_enable_label">Hello Hash Enabled</string> <string name="account_display_sas_label">Display SAS</string> <string name="account_not_supported_warning_label">Not Supported Warning</string> <string name="account_display_sas_once_label">Display SAS Once</string> + + <!-- TLS Details --> + <string name="account_tls_enabled_label">TLS Activé</string> <string name="account_listener_port_label">TLS Listener Port</string> - <string name="account_tls_enabled_label">TLS Enabled</string> <string name="account_tls_certificate_list_label">TLS Certificate List File</string> <string name="account_tls_certificate_file_label">TLS Certificate File</string> <string name="account_tls_private_key_file_label">TLS Private Key File</string> @@ -78,39 +84,5 @@ <string name="account_tls_negotiation_timeout_sec">TLS Negotiation Timeout (sec)</string> <string name="account_tls_negotiation_timeout_msec">TLS Negotiation Timeout (msec)</string> <string name="account_alias_field">Alias</string> - <string name="title_account_alias_field">Alias</string> - <string name="dialogtitle_account_alias_field">Enter the alias for this account</string> - <string name="account_hostname_field">Hostname</string> - <string name="title_account_hostname_field">Hostname</string> - <string name="dialogtitle_account_hostname_field">Enter hostname</string> - <string name="account_username_field">Username</string> - <string name="title_account_username_field">Username</string> - <string name="dialogtitle_account_username_field">Enter username</string> - <string name="account_proxy_field">Proxy</string> - <string name="title_account_proxy_field">Proxy</string> - <string name="dialogtitle_account_proxy_field">Enter proxy</string> - <string name="account_registration_field">Registration Timeout</string> - <string name="title_account_registration_field">Registration Timeout</string> - <string name="dialogtitle_account_registration_field">Enter registration timeout</string> - <string name="account_network_field">Network Interface</string> - <string name="title_account_network_field">Network Interface</string> - <string name="dialogtitle_account_network_field">Enter registration timeout</string> - <string name="account_stun_field">Stun Server</string> - <string name="title_account_stun_field">Stun Server</string> - <string name="dialogtitle_account_stun_field">Enter stun server</string> - <string name="account_security_field">Security</string> - <string name="title_account_security_field">Security</string> - <string name="dialogtitle_account_security_field">Activate security feature</string> - <string name="account_tls_field">TLS</string> - <string name="title_account_tls_field">TLS</string> - <string name="dialogtitle_account_tls_field">Activate TLS feature</string> - <string name="account_srtp_field">SRTP</string> - <string name="title_account_srtp_field">SRTP</string> - <string name="dialogtitle_account_srtp_field">Activate SRTP feature</string> - <string name="title_audio_codec_list">Audio Codec</string> - <string name="dialogtitle_audio_codec_list">Audio Codec Available</string> - <string name="title_audio_ringtone_field">Ringtone</string> - <string name="dialogtitle_audio_ringtone_field">Ringtone</string> - -</resources> +</resources> \ No newline at end of file diff --git a/res/values/arrays.xml b/res/values/arrays.xml index be6f9d4b107652fd60fbc1ca2cfcdae4cc761d60..f3e4d4d7ffc2c4ff4ee0b30606faf708eb648a3e 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -58,13 +58,13 @@ as that of the covered work. </string-array> <string-array name="srtp_entry_values"> - <item>Deactivated</item> + <item>NONE</item> <item>ZRTP</item> <item>SDES</item> </string-array> <string-array name="srtp_entry"> - <item>Deactivated</item> + <item>@string/account_srtp_deactivated</item> <item>ZRTP</item> <item>SDES</item> </string-array> diff --git a/res/values/strings_account.xml b/res/values/strings_account.xml index 91fa69b01948a146eb4794bd86fc8f4d73a74ed6..b0aa059916b0b890d8864a503f851eef51b8edf6 100644 --- a/res/values/strings_account.xml +++ b/res/values/strings_account.xml @@ -10,32 +10,29 @@ <string name="error_field_required">This field is required</string> <!-- AccountManagementFragment --> + <string name="preference_section1">Accounts</string> <string name="empty_account_list">No account registered</string> <string name="normal_accounts_titles">Accounts</string> <string name="ip2ip_account">IP2IP Account</string> <string name="ip2ip_state">READY</string> - <!-- Preferences --> - <string name="preference_section1">Accounts</string> - <string name="account_preferences_audio">Audio</string> - <string name="account_preferences">Account Preferences</string> - <string name="account_preferences_basic">General</string> + <!-- Basic Details --> + <string name="account_preferences_basic_tab">General</string> <string name="account_basic_category">Basic Settings</string> - <string name="account_preferences_advanced">Advanced</string> - <string name="account_preferences_security">Security</string> - <string name="audio_preferences">Audio Preferences</string> + <string name="account_alias_label">Alias</string> <string name="account_hostname_label">Hostname</string> <string name="account_username_label">Username</string> - <string name="account_routeset_label">Route Set</string> <string name="account_password_label">Password</string> - <string name="account_realm_label">Realm</string> <string name="account_optionnal_category">Optionnal Settings</string> <string name="account_useragent_label">User Agent</string> <string name="account_autoanswer_label">Auto Answer</string> - <string name="account_type_label">Account Type</string> - <string name="account_alias_label">Alias</string> - <string name="account_mailbox_label">Mailbox</string> - <string name="account_enabled_label">Account Enabled</string> + <string name="account_proxy_field">Proxy</string> + + <!-- Audio Details --> + <string name="account_preferences_audio_tab">Audio</string> + + <!-- Advanced Details --> + <string name="account_preferences_advanced_tab">Advanced</string> <string name="account_registration_exp_label">Registration Expire</string> <string name="account_registration_status_label">Registration Status</string> <string name="account_registration_code_label">Registration Code</string> @@ -53,15 +50,21 @@ <string name="account_displayname_label">Displayname Label</string> <string name="account_stun_server_label">Stun Server</string> <string name="account_stun_enable_label">Stun Enabled</string> + + <!-- SRTP Details --> + <string name="account_preferences_security_tab">Security</string> <string name="account_srtp_enabled_label">SRTP Enabled</string> + <string name="account_srtp_deactivated">Deactivated</string> <string name="account_srtp_exchange_label">SRTP Key Exchange</string> <string name="account_encryption_algo_label">Encryption Algo</string> <string name="account_srtp_fallback_label">SRTP Fallback</string> - <string name="account_hello_hash_enable_label">Hello Hash Enabled</string> + <string name="account_hello_hash_enable_label">Send Hello Hash in SDP</string> <string name="account_display_sas_label">Display SAS</string> <string name="account_not_supported_warning_label">Not Supported Warning</string> <string name="account_display_sas_once_label">Display SAS Once</string> - <string name="account_listener_port_label">TLS Listener Port</string> + + + <!-- TLS Details --> <string name="account_tls_enabled_label">TLS Enabled</string> <string name="account_tls_certificate_list_label">TLS Certificate List File</string> <string name="account_tls_certificate_file_label">TLS Certificate File</string> @@ -70,44 +73,11 @@ <string name="account_tls_method_label">TLS Method</string> <string name="account_tls_ciphers_label">TLS Ciphers</string> <string name="account_tls_server_name_label">TLS Server Name</string> + <string name="account_listener_port_label">TLS Listener Port</string> <string name="account_tls_verify_label">TLS Verify Server</string> <string name="account_tls_verify_client_label">TLS Verify Client</string> <string name="account_tls_require_client_certificat_label">TLS Require Client Certificate</string> <string name="account_tls_negotiation_timeout_sec">TLS Negotiation Timeout (sec)</string> <string name="account_tls_negotiation_timeout_msec">TLS Negotiation Timeout (msec)</string> - <string name="account_alias_field">Alias</string> - <string name="title_account_alias_field">Alias</string> - <string name="dialogtitle_account_alias_field">Enter the alias for this account</string> - <string name="account_hostname_field">Hostname</string> - <string name="title_account_hostname_field">Hostname</string> - <string name="dialogtitle_account_hostname_field">Enter hostname</string> - <string name="account_username_field">Username</string> - <string name="title_account_username_field">Username</string> - <string name="dialogtitle_account_username_field">Enter username</string> - <string name="account_proxy_field">Proxy</string> - <string name="title_account_proxy_field">Proxy</string> - <string name="dialogtitle_account_proxy_field">Enter proxy</string> - <string name="account_registration_field">Registration Timeout</string> - <string name="title_account_registration_field">Registration Timeout</string> - <string name="dialogtitle_account_registration_field">Enter registration timeout</string> - <string name="account_network_field">Network Interface</string> - <string name="title_account_network_field">Network Interface</string> - <string name="dialogtitle_account_network_field">Enter registration timeout</string> - <string name="account_stun_field">Stun Server</string> - <string name="title_account_stun_field">Stun Server</string> - <string name="dialogtitle_account_stun_field">Enter stun server</string> - <string name="account_security_field">Security</string> - <string name="title_account_security_field">Security</string> - <string name="dialogtitle_account_security_field">Activate security feature</string> - <string name="account_tls_field">TLS</string> - <string name="title_account_tls_field">TLS</string> - <string name="dialogtitle_account_tls_field">Activate TLS feature</string> - <string name="account_srtp_field">SRTP</string> - <string name="title_account_srtp_field">SRTP</string> - <string name="dialogtitle_account_srtp_field">Activate SRTP feature</string> - <string name="title_audio_codec_list">Audio Codec</string> - <string name="dialogtitle_audio_codec_list">Audio Codec Available</string> - <string name="title_audio_ringtone_field">Ringtone</string> - <string name="dialogtitle_audio_ringtone_field">Ringtone</string> </resources> \ No newline at end of file diff --git a/res/xml/account_general_prefs.xml b/res/xml/account_general_prefs.xml index 9417ae590b8f4c98200bddfe0dc749798fe08f4a..d3d0c8bfcb7bf8b0b2f6ed4a58b13d56abdc9013 100644 --- a/res/xml/account_general_prefs.xml +++ b/res/xml/account_general_prefs.xml @@ -37,32 +37,28 @@ as that of the covered work. android:title="@string/account_basic_category" > <EditTextPreference android:id="@+id/account_alias" - android:defaultValue="" android:key="Account.alias" android:persistent="false" android:summary="" - android:title="Alias" /> + android:title="@string/account_alias_label" /> <EditTextPreference android:id="@+id/account_hostname" - android:defaultValue="" android:key="Account.hostname" android:persistent="false" android:summary="" - android:title="Hostname" /> + android:title="@string/account_hostname_label" /> <EditTextPreference android:id="@+id/account_username" - android:defaultValue="" android:key="Account.username" android:persistent="false" android:summary="" - android:title="Username" /> + android:title="@string/account_username_label" /> <EditTextPreference android:id="@+id/account_password" - android:defaultValue="" android:key="Account.password" android:persistent="false" android:summary="" - android:title="Password" /> + android:title="@string/account_password_label" /> </PreferenceCategory> <PreferenceCategory android:id="@+id/account_optionnal_category" @@ -89,303 +85,5 @@ as that of the covered work. android:summaryOn="enabled" android:title="@string/account_autoanswer_label" /> </PreferenceCategory> - <!-- <PreferenceCategory --> - <!-- android:id="@+id/account_advanced_category" --> - <!-- android:title="Advanced settings"> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_registration_expire" --> - <!-- android:key="Account.registrationExpire" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="60" --> - <!-- android:title="Registration Expire" --> - <!-- android:summary="60"/> --> - - - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_registration_status" --> - <!-- android:key="Account.registrationStatus" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="Registration Status" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_registration_state_code" --> - <!-- android:key="Account.registrationCode" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="Registration Code" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_registration_state_desc" --> - <!-- android:key="Account.registrationDescription" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="Registration Desciption" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_credential_number" --> - <!-- android:key="Credential.count" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="0" --> - <!-- android:title="Credential Number" --> - <!-- android:summary="0"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_dtmf_type" --> - <!-- android:key="Account.dtmfType" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="SIP" --> - <!-- android:title="DTMF Type" --> - <!-- android:summary="SIP"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_ringtone_path" --> - <!-- android:key="Account.ringtonePath" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="Ringtone Path"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_ringtone_enabled" --> - <!-- android:key="Account.ringtoneEnabled" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="true" --> - <!-- android:title="Ringtone Enabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_keep_alive" --> - <!-- android:key="Account.keepAliveEnabled" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="Keep Alive"/> --> - <!-- <ListPreference --> - <!-- android:id="@+id/account_creation_local_interface" --> - <!-- android:key="Account.localInterface" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="wlan0" --> - <!-- android:title="Local Interface" --> - <!-- android:summary="wlan0"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_published_sameas_local" --> - <!-- android:key="Account.publishedSameAsLocal" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="Published same as local" --> - <!-- android:summaryOn="yes" --> - <!-- android:summaryOff="no"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_local_port" --> - <!-- android:key="Account.localPort" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="5070" --> - <!-- android:title="Local Port" --> - <!-- android:summary="5070"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_published_port" --> - <!-- android:key="Account.publishedPort" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="5070" --> - <!-- android:title="Published Port" --> - <!-- android:summary="5070"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_published_address" --> - <!-- android:key="Account.publishedAddress" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="0.0.0.0" --> - <!-- android:title="Published Address" --> - <!-- android:summary="0.0.0.0"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_display_name" --> - <!-- android:key="Account.displayName" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="SFLPhone" --> - <!-- android:title="Display Name" --> - <!-- android:summary="SFLPhone"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_stun_enable" --> - <!-- android:key="STUN.enable" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="Stun Enabled" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_stun_server" --> - <!-- android:key="STUN.server" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="Stun Server" --> - <!-- android:summary=""/> --> - <!-- </PreferenceCategory> --> - <!-- <PreferenceCategory --> - <!-- android:id="@+id/account_srtp_category" --> - <!-- android:title="SRTP settings"> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_enable" --> - <!-- android:key="SRTP.enable" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="SRTP Enabled" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_key_exchange" --> - <!-- android:key="SRTP.keyExchange" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="SRTP Key Exchange" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_encryp_algo" --> - <!-- android:key="SRTP.encryptionAlgorithm" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="SRTP Encrypt Algo" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_rtp_fallback" --> - <!-- android:key="SRTP.rtpFallback" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="SRTP RTP Fallback" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_hello_hash" --> - <!-- android:key="ZRTP.helloHashEnable" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="disabled" --> - <!-- android:title="ZRTP Hello Hash" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_display_sas" --> - <!-- android:key="ZRTP.displaySAS" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="ZRTP Display SAS" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_supported_warning" --> - <!-- android:key="ZRTP.notSuppWarning" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="ZRTP Not Supported Warning" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_displaysas_once" --> - <!-- android:key="ZRTP.displaySasOnce" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="ZRTP Display SAS Once" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- </PreferenceCategory> --> - <!-- <PreferenceCategory --> - <!-- android:id="@+id/account_tls_category" --> - <!-- android:title="TLS settings"> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_tls_enable" --> - <!-- android:key="TLS.enable" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="TLS Enabled" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_listener_port" --> - <!-- android:key="TLS.listenerPort" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="5061" --> - <!-- android:title="Listener Port" --> - <!-- android:summary="5061"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_certificate_list_file" --> - <!-- android:key="TLS.certificateListFile" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Certificate List File" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_certificate_file" --> - <!-- android:key="TLS.certificateFile" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Certificate File" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_private_key_file" --> - <!-- android:key="TLS.privateKeyFile" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="disabled" --> - <!-- android:title="TLS Private Key File" --> - <!-- android:summary="disabled"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_password" --> - <!-- android:key="TLS.password" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Password" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_method" --> - <!-- android:key="TLS.method" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Method" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_ciphers" --> - <!-- android:key="TLS.ciphers" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Ciphers" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_server_name" --> - <!-- android:key="TLS.serverName" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Server Name" --> - <!-- android:summary=""/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_tls_verify_server" --> - <!-- android:key="TLS.verifyServer" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="TLS Verify Server" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_tls_verify_client" --> - <!-- android:key="TLS.verifyClient" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="TLS Verify Client" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_tls_require_client_cert" --> - <!-- android:key="TLS.requireClientCertificate" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="TLS Require Client Certificate" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_timeout_sec" --> - <!-- android:key="TLS.negotiationTimeoutSec" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="60" --> - <!-- android:title="TLS Timeout Sec" --> - <!-- android:summary="60"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_timeout_msec" --> - <!-- android:key="TLS.negotiationTimeoutMsec" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="0" --> - <!-- android:title="TLS Timeout Msec" --> - <!-- android:summary="0"/> --> - <!-- </PreferenceCategory> --> </PreferenceScreen> \ No newline at end of file diff --git a/res/xml/account_security_prefs.xml b/res/xml/account_security_prefs.xml index deeded42a6fe7acf77fae127c7cfe9f4a812621a..d170fc1464bdccbdfe63b1e10bbb854f12c0eeb0 100644 --- a/res/xml/account_security_prefs.xml +++ b/res/xml/account_security_prefs.xml @@ -44,212 +44,25 @@ as that of the covered work. <PreferenceCategory android:id="@+id/account_security_category" android:title="Security" > - <CheckBoxPreference - android:id="@+id/account_creation_tls_enable" - android:defaultValue="false" - android:key="TLS.enable" + <Preference + android:id="@+id/account_tls" + android:key="TLS.details" android:persistent="false" - android:summaryOff="disabled" - android:summaryOn="enabled" android:title="TLS" /> <ListPreference android:id="@+id/account_srtp_enable" - android:defaultValue="Deactivated" android:entries="@array/srtp_entry" android:entryValues="@array/srtp_entry_values" android:key="SRTP.enable" android:persistent="false" - android:summary="Deactivated" android:title="SRTP Exchange" /> - <PreferenceScreen + <Preference android:enabled="false" + android:key="SRTP.details" android:title="SRTP Preferences" > - <CheckBoxPreference - android:id="@+id/account_creation_tls_enable" - android:defaultValue="false" - android:key="TLS.enable" - android:persistent="false" - android:summaryOff="disabled" - android:summaryOn="enabled" - android:title="TLS Enabled" /> - <CheckBoxPreference - android:id="@+id/account_creation_tls_enable" - android:defaultValue="false" - android:key="TLS.enable" - android:persistent="false" - android:summaryOff="disabled" - android:summaryOn="enabled" - android:title="TLS Enabled" /> - <CheckBoxPreference - android:id="@+id/account_creation_tls_enable" - android:defaultValue="false" - android:key="TLS.enable" - android:persistent="false" - android:summaryOff="disabled" - android:summaryOn="enabled" - android:title="TLS Enabled" /> - <CheckBoxPreference - android:id="@+id/account_creation_tls_enable" - android:defaultValue="false" - android:key="TLS.enable" - android:persistent="false" - android:summaryOff="disabled" - android:summaryOn="enabled" - android:title="TLS" /> - </PreferenceScreen> + </Preference> </PreferenceCategory> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_key_exchange" --> - <!-- android:key="SRTP.keyExchange" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="SRTP Key Exchange" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - - - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_rtp_fallback" --> - <!-- android:key="SRTP.rtpFallback" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="SRTP RTP Fallback" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_hello_hash" --> - <!-- android:key="ZRTP.helloHashEnable" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="disabled" --> - <!-- android:title="ZRTP Hello Hash" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_display_sas" --> - <!-- android:key="ZRTP.displaySAS" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="ZRTP Display SAS" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_supported_warning" --> - <!-- android:key="ZRTP.notSuppWarning" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="ZRTP Not Supported Warning" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_srtp_displaysas_once" --> - <!-- android:key="ZRTP.displaySasOnce" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="ZRTP Display SAS Once" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - - <!-- <PreferenceCategory --> - <!-- android:id="@+id/account_tls_category" --> - <!-- android:title="TLS settings"> --> - - - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_listener_port" --> - <!-- android:key="TLS.listenerPort" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="5061" --> - <!-- android:title="Listener Port" --> - <!-- android:summary="5061"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_certificate_list_file" --> - <!-- android:key="TLS.certificateListFile" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Certificate List File" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_certificate_file" --> - <!-- android:key="TLS.certificateFile" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Certificate File" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_private_key_file" --> - <!-- android:key="TLS.privateKeyFile" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="disabled" --> - <!-- android:title="TLS Private Key File" --> - <!-- android:summary="disabled"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_password" --> - <!-- android:key="TLS.password" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Password" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_method" --> - <!-- android:key="TLS.method" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Method" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_ciphers" --> - <!-- android:key="TLS.ciphers" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Ciphers" --> - <!-- android:summary=""/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_server_name" --> - <!-- android:key="TLS.serverName" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="" --> - <!-- android:title="TLS Server Name" --> - <!-- android:summary=""/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_tls_verify_server" --> - <!-- android:key="TLS.verifyServer" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="TLS Verify Server" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_tls_verify_client" --> - <!-- android:key="TLS.verifyClient" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="TLS Verify Client" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <CheckBoxPreference --> - <!-- android:id="@+id/account_creation_tls_require_client_cert" --> - <!-- android:key="TLS.requireClientCertificate" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="false" --> - <!-- android:title="TLS Require Client Certificate" --> - <!-- android:summaryOn="enabled" --> - <!-- android:summaryOff="disabled"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_timeout_sec" --> - <!-- android:key="TLS.negotiationTimeoutSec" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="60" --> - <!-- android:title="TLS Timeout Sec" --> - <!-- android:summary="60"/> --> - <!-- <EditTextPreference --> - <!-- android:id="@+id/account_creation_tls_timeout_msec" --> - <!-- android:key="TLS.negotiationTimeoutMsec" --> - <!-- android:persistent="false" --> - <!-- android:defaultValue="0" --> - <!-- android:title="TLS Timeout Msec" --> - <!-- android:summary="0"/> --> - <!-- </PreferenceCategory> --> </PreferenceScreen> \ No newline at end of file diff --git a/src/org/sflphone/account/AccountDetail.java b/src/org/sflphone/account/AccountDetail.java index 3678a0b6cb0d819e41c4f51d2110ca1135155db8..194bc3d1b3d1746f25c0f20ceed2bb31b3ea3ea5 100644 --- a/src/org/sflphone/account/AccountDetail.java +++ b/src/org/sflphone/account/AccountDetail.java @@ -1,5 +1,5 @@ /** - * Copyright (C) 2004-2012 Savoir-Faire Linux Inc. + * Copyright (C) 2004-2013 Savoir-Faire Linux Inc. * * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * @@ -26,6 +26,9 @@ import java.util.HashMap; public interface AccountDetail { + public static final String TRUE_STR = "true"; + public static final String FALSE_STR = "false"; + public static class PreferenceEntry { public String mKey; public int mLabelId; diff --git a/src/org/sflphone/account/AccountDetailAdvanced.java b/src/org/sflphone/account/AccountDetailAdvanced.java index 236602e1c9a1a0b09bc269f7c5817fd147e503f8..e2a08e2ccaadcb89f6450f249e49cad156341a74 100644 --- a/src/org/sflphone/account/AccountDetailAdvanced.java +++ b/src/org/sflphone/account/AccountDetailAdvanced.java @@ -53,9 +53,6 @@ public class AccountDetailAdvanced implements AccountDetail { public static final String CONFIG_STUN_SERVER = "STUN.server"; public static final String CONFIG_STUN_ENABLE = "STUN.enable"; - public static final String TRUE_STR = "true"; - public static final String FALSE_STR = "false"; - private ArrayList<AccountDetail.PreferenceEntry> privateArray; public static ArrayList<AccountDetail.PreferenceEntry> getPreferenceEntries() { diff --git a/src/org/sflphone/account/AccountDetailSrtp.java b/src/org/sflphone/account/AccountDetailSrtp.java index 05d54514725ff06265fe56007b28a915010ea520..016e7133c6f1bf0867f3c18093cc67739166b77e 100644 --- a/src/org/sflphone/account/AccountDetailSrtp.java +++ b/src/org/sflphone/account/AccountDetailSrtp.java @@ -31,7 +31,6 @@ import android.util.Log; public class AccountDetailSrtp implements AccountDetail{ private static final String TAG = "AccountDetailSrtp"; - public static final String BUNDLE_TAG = "SrtpPreferenceArrayList"; public static final String CONFIG_SRTP_ENABLE = "SRTP.enable"; public static final String CONFIG_SRTP_KEY_EXCHANGE = "SRTP.keyExchange"; @@ -49,7 +48,7 @@ public class AccountDetailSrtp implements AccountDetail{ 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_KEY_EXCHANGE, R.string.account_srtp_exchange_label, false)); 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)); @@ -68,9 +67,10 @@ public class AccountDetailSrtp implements AccountDetail{ public AccountDetailSrtp(HashMap<String, String> pref) { privateArray = getPreferenceEntries(); - for(AccountDetail.PreferenceEntry p : privateArray) { + p.mValue = pref.get(p.mKey); + Log.i(TAG,p.mKey+" : "+p.mValue); } } @@ -146,9 +146,12 @@ public class AccountDetailSrtp implements AccountDetail{ } - - public boolean getDetailBoolean() - { - return true; + public boolean getDetailBoolean(String srtpParam) { + for(AccountDetail.PreferenceEntry p : privateArray) { + if(p.mKey.equals(srtpParam)) { + return p.mValue.contentEquals("true"); + } + } + return false; } } diff --git a/src/org/sflphone/account/CredentialsManager.java b/src/org/sflphone/account/CredentialsManager.java index 1f60a85a8b60ca3a0e28f0971441d554be14ab60..278a3593a3da734e910d1a320ab32ef6b546eb7b 100644 --- a/src/org/sflphone/account/CredentialsManager.java +++ b/src/org/sflphone/account/CredentialsManager.java @@ -2,7 +2,6 @@ * Copyright (C) 2004-2013 Savoir-Faire Linux Inc. * * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> - * Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -35,7 +34,6 @@ package org.sflphone.account; import java.util.ArrayList; import java.util.HashMap; -import org.sflphone.fragments.NestedSettingsFragment.Callbacks; import org.sflphone.model.Account; import org.sflphone.views.CredentialsPreference; @@ -120,7 +118,6 @@ public class CredentialsManager { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { - mAccount.addCredential((AccountCredentials) newValue); mAccount.notifyObservers(); reloadCredentials(); return false; diff --git a/src/org/sflphone/account/TLSManager.java b/src/org/sflphone/account/TLSManager.java index 3f2a9140176c93ac83e0cb9b1798af0990b639bc..c9c23cb87ccbc4a373cd0a5cd04cb7e45238a2f2 100644 --- a/src/org/sflphone/account/TLSManager.java +++ b/src/org/sflphone/account/TLSManager.java @@ -36,6 +36,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; +import java.util.Locale; import org.sflphone.R; import org.sflphone.model.Account; @@ -141,7 +142,7 @@ public class TLSManager { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); - View rootView = inflater.inflate(R.layout.activity_browser, container); + View rootView = inflater.inflate(R.layout.file_explorer_dfrag, container); myPath = (TextView) rootView.findViewById(R.id.path); comparator = filecomparatorByAlphabetically; @@ -236,7 +237,7 @@ public class TLSManager { if (file1.isDirectory()) { if (file2.isDirectory()) { - return String.valueOf(file1.getName().toLowerCase()).compareTo(file2.getName().toLowerCase()); + return String.valueOf(file1.getName().toLowerCase(Locale.getDefault())).compareTo(file2.getName().toLowerCase()); } else { return -1; } @@ -244,7 +245,7 @@ public class TLSManager { if (file2.isDirectory()) { return 1; } else { - return String.valueOf(file1.getName().toLowerCase()).compareTo(file2.getName().toLowerCase()); + return String.valueOf(file1.getName().toLowerCase(Locale.getDefault())).compareTo(file2.getName().toLowerCase()); } } diff --git a/src/org/sflphone/client/AccountEditionActivity.java b/src/org/sflphone/client/AccountEditionActivity.java index ce42e26bc51e0be9243b1e2ebef5fc9187902f7f..091d805cb8482c4209b85168597fc8facd3f2b06 100644 --- a/src/org/sflphone/client/AccountEditionActivity.java +++ b/src/org/sflphone/client/AccountEditionActivity.java @@ -291,16 +291,16 @@ public class AccountEditionActivity extends Activity implements GeneralAccountFr switch (position) { case 0: if (acc_selected.isIP2IP()) { - return getString(R.string.account_preferences_audio).toUpperCase(Locale.getDefault()); + return getString(R.string.account_preferences_audio_tab).toUpperCase(Locale.getDefault()); } else { - return getString(R.string.account_preferences_basic).toUpperCase(Locale.getDefault()); + return getString(R.string.account_preferences_basic_tab).toUpperCase(Locale.getDefault()); } case 1: - return getString(R.string.account_preferences_audio).toUpperCase(Locale.getDefault()); + return getString(R.string.account_preferences_audio_tab).toUpperCase(Locale.getDefault()); case 2: - return getString(R.string.account_preferences_advanced).toUpperCase(Locale.getDefault()); + return getString(R.string.account_preferences_advanced_tab).toUpperCase(Locale.getDefault()); case 3: - return getString(R.string.account_preferences_security).toUpperCase(Locale.getDefault()); + return getString(R.string.account_preferences_security_tab).toUpperCase(Locale.getDefault()); default: Log.e(TAG, "getPreferencePageTitle: unknown tab position " + position); break; @@ -333,4 +333,22 @@ public class AccountEditionActivity extends Activity implements GeneralAccountFr getFragmentManager().beginTransaction().replace(R.id.hidden_container, toDisplay).commit(); } + @Override + public void displaySRTPScreen() { + toDisplay = new NestedSettingsFragment(); + Bundle b = new Bundle(); + b.putInt("MODE", 1); + toDisplay.setArguments(b); + getFragmentManager().beginTransaction().replace(R.id.hidden_container, toDisplay).commit(); + } + + @Override + public void displayTLSScreen() { + toDisplay = new NestedSettingsFragment(); + Bundle b = new Bundle(); + b.putInt("MODE", 2); + toDisplay.setArguments(b); + getFragmentManager().beginTransaction().replace(R.id.hidden_container, toDisplay).commit(); + } + } diff --git a/src/org/sflphone/fragments/AudioManagementFragment.java b/src/org/sflphone/fragments/AudioManagementFragment.java index 6afdbdbd71bc581c1a4806af4846f8a9ef5eaab5..8539ba56f00731cbf0323d674d0d642e52d572ee 100644 --- a/src/org/sflphone/fragments/AudioManagementFragment.java +++ b/src/org/sflphone/fragments/AudioManagementFragment.java @@ -63,7 +63,7 @@ public class AudioManagementFragment extends PreferenceFragment { protected Callbacks mCallbacks = sDummyCallbacks; ArrayList<Codec> codecs; - private DragSortListView v; + private DragSortListView mCodecList; CodecAdapter listAdapter; private static Callbacks sDummyCallbacks = new Callbacks() { @@ -139,10 +139,10 @@ public class AudioManagementFragment extends PreferenceFragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); View rootView = LayoutInflater.from(getActivity()).inflate(R.layout.frag_audio_mgmt, null); - v = (DragSortListView) rootView.findViewById(R.id.dndlistview); - v.setAdapter(listAdapter); - v.setDropListener(onDrop); - v.setOnItemClickListener(new OnItemClickListener() { + mCodecList = (DragSortListView) rootView.findViewById(R.id.dndlistview); + mCodecList.setAdapter(listAdapter); + mCodecList.setDropListener(onDrop); + mCodecList.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) { @@ -167,7 +167,7 @@ public class AudioManagementFragment extends PreferenceFragment { @Override public void run() { - setListViewHeight(v, holder); + setListViewHeight(mCodecList, holder); } }); diff --git a/src/org/sflphone/fragments/MenuFragment.java b/src/org/sflphone/fragments/MenuFragment.java index 83c2001d4bd6d531d49ed4b6e9a21a5512b1fca7..6276db64a1a0dd247df96e6926deee8c97d6adef 100644 --- a/src/org/sflphone/fragments/MenuFragment.java +++ b/src/org/sflphone/fragments/MenuFragment.java @@ -54,8 +54,6 @@ import android.app.LoaderManager.LoaderCallbacks; import android.content.Intent; import android.content.IntentFilter; import android.content.Loader; -import android.database.Cursor; -import android.net.Uri; import android.os.Bundle; import android.os.RemoteException; import android.provider.ContactsContract.Profile; diff --git a/src/org/sflphone/fragments/NestedSettingsFragment.java b/src/org/sflphone/fragments/NestedSettingsFragment.java index 2678fc417a2d80b882720bca504e0fb2550b78b9..2ae83648a8f0c2eb0c64fe854a1a74dc356ea1b6 100644 --- a/src/org/sflphone/fragments/NestedSettingsFragment.java +++ b/src/org/sflphone/fragments/NestedSettingsFragment.java @@ -1,7 +1,40 @@ +/* + * Copyright (C) 2004-2013 Savoir-Faire Linux Inc. + * + * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + package org.sflphone.fragments; import org.sflphone.R; import org.sflphone.account.CredentialsManager; +import org.sflphone.account.SRTPManager; +import org.sflphone.account.TLSManager; import org.sflphone.model.Account; import android.app.Activity; @@ -17,10 +50,12 @@ public class NestedSettingsFragment extends PreferenceFragment { private static final String TAG = AdvancedAccountFragment.class.getSimpleName(); - private Callbacks mCallbacks = sDummyCallbacks; CredentialsManager mCredsManager; + SRTPManager mSrtpManager; + + TLSManager mTlsManager; private static Callbacks sDummyCallbacks = new Callbacks() { @@ -60,17 +95,30 @@ public class NestedSettingsFragment extends PreferenceFragment { // Load the preferences from an XML resource switch (getArguments().getInt("MODE")) { - case 0: + case 0: // Credentials addPreferencesFromResource(R.xml.account_credentials); mCredsManager = new CredentialsManager(); mCredsManager.onCreate(getActivity(), getPreferenceScreen(), mCallbacks.getAccount()); mCredsManager.reloadCredentials(); mCredsManager.setAddCredentialListener(); break; - case 1: - + case 1: // SRTP + mSrtpManager = new SRTPManager(); + if (mCallbacks.getAccount().hasSDESEnabled()) { // SDES + addPreferencesFromResource(R.xml.account_sdes); + mSrtpManager.onCreate(getPreferenceScreen(), mCallbacks.getAccount()); + mSrtpManager.setSDESListener(); + } else { // ZRTP + addPreferencesFromResource(R.xml.account_zrtp); + mSrtpManager.onCreate(getPreferenceScreen(), mCallbacks.getAccount()); + mSrtpManager.setZRTPListener(); + } break; case 2: + addPreferencesFromResource(R.xml.account_tls); + mTlsManager = new TLSManager(); + mTlsManager.onCreate(getActivity(), getPreferenceScreen(), mCallbacks.getAccount()); + mTlsManager.setTLSListener(); break; } @@ -88,4 +136,6 @@ public class NestedSettingsFragment extends PreferenceFragment { return view; } + + } \ No newline at end of file diff --git a/src/org/sflphone/fragments/SecurityAccountFragment.java b/src/org/sflphone/fragments/SecurityAccountFragment.java index 0e30be57d2b6f4d94e293f6b70e0e299610a5508..750ad1d6ff617eb2c63b60f73c67e81758d66517 100644 --- a/src/org/sflphone/fragments/SecurityAccountFragment.java +++ b/src/org/sflphone/fragments/SecurityAccountFragment.java @@ -1,23 +1,23 @@ package org.sflphone.fragments; +import java.util.Locale; + import org.sflphone.R; import org.sflphone.account.AccountDetail; +import org.sflphone.account.AccountDetailSrtp; import org.sflphone.model.Account; import android.app.Activity; import android.os.Bundle; -import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceFragment; -import android.util.Log; public class SecurityAccountFragment extends PreferenceFragment { private static final String TAG = SecurityAccountFragment.class.getSimpleName(); - private boolean isDifferent = false; private Callbacks mCallbacks = sDummyCallbacks; private static Callbacks sDummyCallbacks = new Callbacks() { @@ -30,6 +30,14 @@ public class SecurityAccountFragment extends PreferenceFragment { public void displayCredentialsScreen() { } + @Override + public void displaySRTPScreen() { + } + + @Override + public void displayTLSScreen() { + } + }; public interface Callbacks { @@ -38,6 +46,10 @@ public class SecurityAccountFragment extends PreferenceFragment { public void displayCredentialsScreen(); + public void displaySRTPScreen(); + + public void displayTLSScreen(); + } @Override @@ -62,15 +74,8 @@ public class SecurityAccountFragment extends PreferenceFragment { // Load the preferences from an XML resource addPreferencesFromResource(R.xml.account_security_prefs); - setPreferenceDetails(mCallbacks.getAccount().getTlsDetails()); - // setPreferenceDetails(mCallbacks.getAccount().getSrtpDetails()); - // addPreferenceListener(mCallbacks.getAccount().getTlsDetails(), changeTlsPreferenceListener); - // addPreferenceListener(mCallbacks.getAccount().getSrtpDetails(), changeSrtpPreferenceListener); - - } - - private void setPreferenceDetails(AccountDetail details) { + findPreference("Credential.count").setSummary("" + mCallbacks.getAccount().getCredentials().size()); findPreference("Credential.count").setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override @@ -80,60 +85,65 @@ public class SecurityAccountFragment extends PreferenceFragment { } }); + setSrtpPreferenceDetails(mCallbacks.getAccount().getSrtpDetails()); + addPreferenceListener(mCallbacks.getAccount().getSrtpDetails(), changeSrtpModeListener); + + findPreference("TLS.details").setOnPreferenceClickListener(new OnPreferenceClickListener() { + + @Override + public boolean onPreferenceClick(Preference preference) { + mCallbacks.displayTLSScreen(); + return false; + } + }); + } - private void addPreferenceListener(AccountDetail details, OnPreferenceChangeListener listener) { - for (AccountDetail.PreferenceEntry p : details.getDetailValues()) { - Log.i(TAG, "addPreferenceListener: pref " + p.mKey + p.mValue); - Preference pref = findPreference(p.mKey); - if (pref != null) { + private void setSrtpPreferenceDetails(AccountDetailSrtp details) { - pref.setOnPreferenceChangeListener(listener); + if (details.getDetailBoolean(AccountDetailSrtp.CONFIG_SRTP_ENABLE)) { + findPreference("SRTP.enable").setSummary( + details.getDetailString(AccountDetailSrtp.CONFIG_SRTP_KEY_EXCHANGE).toUpperCase(Locale.getDefault())); + + } else { + findPreference("SRTP.enable").setSummary(getResources().getString(R.string.account_srtp_deactivated)); - } else { - Log.w(TAG, "addPreferenceListener: pref not found"); - } } + + findPreference("SRTP.details").setEnabled(details.getDetailBoolean(AccountDetailSrtp.CONFIG_SRTP_ENABLE)); } - Preference.OnPreferenceChangeListener changeTlsPreferenceListener = new Preference.OnPreferenceChangeListener() { - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) { - setDifferent(true); - if (preference instanceof CheckBoxPreference) { - if ((Boolean) newValue == true) - mCallbacks.getAccount().getTlsDetails().setDetailString(preference.getKey(), ((Boolean) newValue).toString()); - } else { - preference.setSummary((CharSequence) newValue); - Log.i(TAG, "Changing preference value:" + newValue); - mCallbacks.getAccount().getTlsDetails().setDetailString(preference.getKey(), ((CharSequence) newValue).toString()); + private void addPreferenceListener(AccountDetail details, OnPreferenceChangeListener listener) { + + findPreference("SRTP.enable").setOnPreferenceChangeListener(changeSrtpModeListener); + findPreference("SRTP.details").setOnPreferenceClickListener(new OnPreferenceClickListener() { + + @Override + public boolean onPreferenceClick(Preference preference) { + mCallbacks.displaySRTPScreen(); + return false; } - return true; - } - }; + }); + + } - Preference.OnPreferenceChangeListener changeSrtpPreferenceListener = new Preference.OnPreferenceChangeListener() { + Preference.OnPreferenceChangeListener changeSrtpModeListener = new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { - setDifferent(true); - if (preference instanceof CheckBoxPreference) { - if ((Boolean) newValue == true) - mCallbacks.getAccount().getSrtpDetails().setDetailString(preference.getKey(), ((Boolean) newValue).toString()); + + if (((String) newValue).contentEquals("NONE")) { + mCallbacks.getAccount().getSrtpDetails().setDetailString(AccountDetailSrtp.CONFIG_SRTP_ENABLE, AccountDetail.FALSE_STR); + preference.setSummary(getResources().getString(R.string.account_srtp_deactivated)); } else { - preference.setSummary((CharSequence) newValue); - Log.i(TAG, "Changing preference value:" + newValue); - mCallbacks.getAccount().getSrtpDetails().setDetailString(preference.getKey(), ((CharSequence) newValue).toString()); + mCallbacks.getAccount().getSrtpDetails().setDetailString(AccountDetailSrtp.CONFIG_SRTP_ENABLE, AccountDetail.TRUE_STR); + mCallbacks.getAccount().getSrtpDetails() + .setDetailString(AccountDetailSrtp.CONFIG_SRTP_KEY_EXCHANGE, ((String) newValue).toLowerCase(Locale.getDefault())); + preference.setSummary(((String) newValue)); } + findPreference("SRTP.details").setEnabled(!((String) newValue).contentEquals("NONE")); + mCallbacks.getAccount().notifyObservers(); return true; } }; - public boolean isDifferent() { - return isDifferent; - } - - public void setDifferent(boolean isDifferent) { - this.isDifferent = isDifferent; - } - } \ No newline at end of file diff --git a/src/org/sflphone/model/Account.java b/src/org/sflphone/model/Account.java index a7586c8d75cc2bcec235a07d239190a6dac22b9d..36a1d1ecf819f3be87d056bb5fac942224101c6c 100644 --- a/src/org/sflphone/model/Account.java +++ b/src/org/sflphone/model/Account.java @@ -58,6 +58,8 @@ public class Account extends java.util.Observable implements Parcelable { accountID = bAccountID; basicDetails = new AccountDetailBasic(details); advancedDetails = new AccountDetailAdvanced(details); + + Log.e("Account","details.get(AccountDetailSrtp.CONFIG_SRTP_ENABLE) "+details.get(AccountDetailSrtp.CONFIG_SRTP_ENABLE)); srtpDetails = new AccountDetailSrtp(details); tlsDetails = new AccountDetailTls(details); credentialsDetails = new ArrayList<AccountCredentials>(); @@ -113,8 +115,8 @@ public class Account extends java.util.Observable implements Parcelable { dest.writeString(accountID); dest.writeSerializable(basicDetails.getDetailsHashMap()); dest.writeSerializable(advancedDetails.getDetailsHashMap()); - dest.writeSerializable(tlsDetails.getDetailsHashMap()); dest.writeSerializable(srtpDetails.getDetailsHashMap()); + dest.writeSerializable(tlsDetails.getDetailsHashMap()); dest.writeInt(credentialsDetails.size()); for (AccountCredentials cred : credentialsDetails) { dest.writeSerializable(cred.getDetailsHashMap()); @@ -236,4 +238,8 @@ public class Account extends java.util.Observable implements Parcelable { return result; } + public boolean hasSDESEnabled() { + return srtpDetails.getDetailString(AccountDetailSrtp.CONFIG_SRTP_KEY_EXCHANGE).contentEquals("sdes"); + } + }