* #40232: Add traductions and fixes on tls settings
diff --git a/res/layout/frag_call.xml b/res/layout/frag_call.xml
index 0c40f74..7166dc2 100644
--- a/res/layout/frag_call.xml
+++ b/res/layout/frag_call.xml
@@ -58,7 +58,6 @@
android:id="@+id/main_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_below="@+id/call_status_bar"
android:focusable="true" />
<ToggleButton
diff --git a/res/values-fr/strings_account.xml b/res/values-fr/strings_account.xml
index 1e48584..8a9bbee 100644
--- a/res/values-fr/strings_account.xml
+++ b/res/values-fr/strings_account.xml
@@ -65,14 +65,16 @@
<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 activé</string>
+ <string name="account_tls_disabled_label">TLS désactivé</string>
+ <string name="account_tls_port_label">Port TLS Global</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>
<string name="account_tls_password_label">TLS Private Key Password</string>
- <string name="account_tls_method_label">TLS Method</string>
- <string name="account_tls_ciphers_label">TLS Ciphers</string>
+ <string name="account_tls_method_label">Méthode pour TLS</string>
+ <string name="account_tls_method_default">Défaut</string>
+ <string name="account_tls_ciphers_label">Cryptogrammes TLS</string>
<string name="account_tls_server_name_label">TLS Server Name</string>
<string name="account_tls_verify_label">TLS Verify Server</string>
<string name="account_tls_verify_client_label">TLS Verify Client</string>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 47bf70f..da6f65d 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -40,6 +40,21 @@
<item>@string/action_call_attended_transfer</item>
<item>@string/action_call_conference</item>
</string-array>
+
+ <!-- default = TLSv1 -->
+ <string-array name="tls_methods_values">
+ <item>TLSv1</item>
+ <item>TLSv1</item>
+ <item>SSLv3</item>
+ <item>SSLv23</item>
+ </string-array>
+ <string-array name="tls_methods_entries">
+ <item>@string/account_tls_method_default</item>
+ <item>TLSv1</item>
+ <item>SSLv3</item>
+ <item>SSLv23</item>
+ </string-array>
+
<string-array name="srtp_entry_values">
<item>NONE</item>
<item>ZRTP</item>
@@ -50,6 +65,7 @@
<item>ZRTP</item>
<item>SDES</item>
</string-array>
+
<string-array name="dtmf_types_values">
<item>overrtp</item>
<item>sipinfo</item>
diff --git a/res/values/strings_account.xml b/res/values/strings_account.xml
index 1b836a3..73bc700 100644
--- a/res/values/strings_account.xml
+++ b/res/values/strings_account.xml
@@ -66,15 +66,17 @@
<!-- TLS Details -->
- <string name="account_tls_enabled_label">TLS Enabled</string>
+ <string name="account_tls_enabled_label">TLS enabled</string>
+ <string name="account_tls_disabled_label">TLS disabled</string>
+ <string name="account_tls_port_label">TLS Listener Port</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>
<string name="account_tls_password_label">TLS Private Key Password</string>
<string name="account_tls_method_label">TLS Method</string>
+ <string name="account_tls_method_default">Default</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>
diff --git a/res/xml/account_tls.xml b/res/xml/account_tls.xml
index dd121ae..ac2da3b 100644
--- a/res/xml/account_tls.xml
+++ b/res/xml/account_tls.xml
@@ -30,8 +30,8 @@
as that of the covered work.
-->
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
-
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res/org.sflphone" >
<CheckBoxPreference
android:id="@+id/account_tls_verify_client"
android:key="TLS.enable"
@@ -43,6 +43,18 @@
android:persistent="false"
android:title="Listener Port" />
+ <org.sflphone.views.DoubleNumberPickerPreference
+ android:id="@+id/account_registration_expire"
+ android:key="Account.registrationExpire"
+ android:persistent="false"
+ android:title="@string/account_tls_port_label"
+ app:defaultValue1="6"
+ app:defaultValue2="0"
+ app:max1="99"
+ app:max2="99"
+ app:min1="1"
+ app:min2="0" />
+
<Preference
android:id="@+id/account_tls_certificate_list_file"
android:key="TLS.certificateListFile"
@@ -63,10 +75,13 @@
android:id="@+id/account_tls_password"
android:key="TLS.password"
android:persistent="false"
+ android:singleLine="true"
android:title="TLS Password" />
- <EditTextPreference
+ <ListPreference
android:id="@+id/account_tls_method"
android:key="TLS.method"
+ android:entries="@array/tls_methods_entries"
+ android:entryValues="@array/tls_methods_values"
android:persistent="false"
android:title="TLS Method" />
<EditTextPreference
@@ -78,6 +93,7 @@
android:id="@+id/account_tls_server_name"
android:key="TLS.serverName"
android:persistent="false"
+ android:singleLine="true"
android:title="TLS Server Name" />
<CheckBoxPreference
diff --git a/src/org/sflphone/account/TLSManager.java b/src/org/sflphone/account/TLSManager.java
index 090cfd6..0fcdb56 100644
--- a/src/org/sflphone/account/TLSManager.java
+++ b/src/org/sflphone/account/TLSManager.java
@@ -44,6 +44,8 @@
import android.preference.PreferenceScreen;
import android.util.Log;
+import java.io.File;
+
public class TLSManager {
PreferenceScreen mScreen;
private Account mAccount;
@@ -59,6 +61,9 @@
}
private void setDetails() {
+
+ boolean activated = mAccount.getTlsDetails().getDetailBoolean(AccountDetailTls.CONFIG_TLS_ENABLE);
+
for (int i = 0; i < mScreen.getPreferenceCount(); ++i) {
if (mScreen.getPreference(i) instanceof CheckBoxPreference) {
@@ -68,8 +73,10 @@
mScreen.getPreference(i).setSummary(mAccount.getTlsDetails().getDetailString(mScreen.getPreference(i).getKey()));
}
- // ((CheckBoxPreference)
- // mScreen.getPreference(i)).setChecked(mAccount.getSrtpDetails().getDetailBoolean(mScreen.getPreference(i).getKey()));
+ // First Preference should remain enabled, it's the actual switch
+ if(i > 0)
+ mScreen.getPreference(i).setEnabled(activated);
+
mScreen.getPreference(i).setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
@@ -83,7 +90,6 @@
if(preference.getKey().contentEquals(AccountDetailTls.CONFIG_TLS_CERTIFICATE_FILE)) {
performFileSearch(SELECT_CERTIFICATE_RC);
}
-
return false;
}
});
@@ -100,19 +106,30 @@
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
- Log.i("TLS", "Setting " + preference.getKey() + " to" + (Boolean) newValue);
- mAccount.getTlsDetails().setDetailString(preference.getKey(), Boolean.toString((Boolean) newValue));
+ Log.i("TLS", "Setting " + preference.getKey() + " to" + newValue);
+
+ if (preference.getKey().contentEquals("TLS.enable")){
+ togglePreferenceScreen((Boolean) newValue);
+ }
+
+ if(preference instanceof CheckBoxPreference){
+ mAccount.getTlsDetails().setDetailString(preference.getKey(), Boolean.toString((Boolean) newValue));
+ } else {
+ preference.setSummary((String) newValue);
+ mAccount.getTlsDetails().setDetailString(preference.getKey(), (String) newValue);
+ }
+
+
mAccount.notifyObservers();
return true;
}
};
-// @Override
-// public void onFileSelected(String path, String prefKey) {
-// mScreen.findPreference(prefKey).setSummary(path);
-// mAccount.getTlsDetails().setDetailString(prefKey, path);
-// mAccount.notifyObservers();
-// }
+ private void togglePreferenceScreen(Boolean state) {
+ for (int i = 1; i < mScreen.getPreferenceCount(); ++i) {
+ mScreen.getPreference(i).setEnabled(state);
+ }
+ }
private static final int SELECT_CA_LIST_RC = 42;
private static final int SELECT_PRIVATE_KEY_RC = 43;
@@ -138,6 +155,30 @@
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Extract returned filed for intent and populate correct preference
- Log.i(TAG, "file selected");
+
+ if(resultCode == Activity.RESULT_CANCELED)
+ return;
+
+ File myFile = new File( data.getData().toString());
+ Log.i(TAG, "file selected:"+ data.getData());
+ switch(requestCode){
+ case SELECT_CA_LIST_RC:
+ mScreen.findPreference(AccountDetailTls.CONFIG_TLS_CA_LIST_FILE).setSummary(myFile.getName());
+ mAccount.getTlsDetails().setDetailString(AccountDetailTls.CONFIG_TLS_CA_LIST_FILE, myFile.getAbsolutePath());
+ mAccount.notifyObservers();
+ break;
+ case SELECT_PRIVATE_KEY_RC:
+ mScreen.findPreference(AccountDetailTls.CONFIG_TLS_PRIVATE_KEY_FILE).setSummary(myFile.getName());
+ mAccount.getTlsDetails().setDetailString(AccountDetailTls.CONFIG_TLS_PRIVATE_KEY_FILE, myFile.getAbsolutePath());
+ mAccount.notifyObservers();
+ break;
+ case SELECT_CERTIFICATE_RC:
+ mScreen.findPreference(AccountDetailTls.CONFIG_TLS_CERTIFICATE_FILE).setSummary(myFile.getName());
+ mAccount.getTlsDetails().setDetailString(AccountDetailTls.CONFIG_TLS_CERTIFICATE_FILE, myFile.getAbsolutePath());
+ mAccount.notifyObservers();
+ break;
+ }
+
+
}
}
\ No newline at end of file
diff --git a/src/org/sflphone/fragments/SecurityAccountFragment.java b/src/org/sflphone/fragments/SecurityAccountFragment.java
index 2b22846..e7547b2 100644
--- a/src/org/sflphone/fragments/SecurityAccountFragment.java
+++ b/src/org/sflphone/fragments/SecurityAccountFragment.java
@@ -127,6 +127,12 @@
setSrtpPreferenceDetails(mCallbacks.getAccount().getSrtpDetails());
addPreferenceListener(mCallbacks.getAccount().getSrtpDetails(), changeSrtpModeListener);
+ if(mCallbacks.getAccount().getTlsDetails().getDetailBoolean("TLS.enable")){
+ findPreference("TLS.details").setSummary(getString(R.string.account_tls_enabled_label));
+ } else {
+ findPreference("TLS.details").setSummary(getString(R.string.account_tls_disabled_label));
+ }
+
findPreference("TLS.details").setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
diff --git a/src/org/sflphone/service/CallManagerCallBack.java b/src/org/sflphone/service/CallManagerCallBack.java
index 10d2e3b..6b67e24 100644
--- a/src/org/sflphone/service/CallManagerCallBack.java
+++ b/src/org/sflphone/service/CallManagerCallBack.java
@@ -38,10 +38,6 @@
Intent intent = new Intent(CALL_STATE_CHANGED);
intent.putExtra("com.savoirfairelinux.sflphone.service.newstate", bundle);
-
- /*if (newState.equals("INCOMING")) {
- mService.getConferences().get(callID).setCallState(callID, SipCall.state.CALL_STATE_INCOMING);
- } else*/
if (newState.equals("RINGING")) {
try {
mService.getConferences().get(callID).setCallState(callID, SipCall.state.CALL_STATE_RINGING);
@@ -316,7 +312,8 @@
@Override
public void on_show_sas(String callID, String sas, boolean verified) {
- Log.i(TAG, "on_show_sas");
+ Log.i(TAG, "on_show_sas:"+ sas);
+ Log.i(TAG, "SAS Verified:"+ verified);
}
@Override