From 620653dad3943e309a94b084362de04c400188e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Fri, 13 Nov 2020 16:52:14 -0500 Subject: [PATCH] sip: allow to set proxy during creation Change-Id: I18dff6a2fc5de0da40385af413e76d00257dd26d --- .../cx/ring/client/ConversationActivity.java | 1 - .../fragments/SIPAccountCreationFragment.java | 11 ++-------- .../main/res/layout/frag_acc_sip_create.xml | 22 +++++++++---------- .../src/main/res/values/strings_account.xml | 2 ++ .../java/cx/ring/mvp/SIPCreationView.java | 2 -- .../cx/ring/wizard/SIPCreationPresenter.java | 11 +++------- 6 files changed, 18 insertions(+), 31 deletions(-) diff --git a/ring-android/app/src/main/java/cx/ring/client/ConversationActivity.java b/ring-android/app/src/main/java/cx/ring/client/ConversationActivity.java index 12e5ac9a4..307c21981 100644 --- a/ring-android/app/src/main/java/cx/ring/client/ConversationActivity.java +++ b/ring-android/app/src/main/java/cx/ring/client/ConversationActivity.java @@ -47,7 +47,6 @@ import cx.ring.fragments.ConversationFragment; import cx.ring.interfaces.Colorable; import cx.ring.services.NotificationServiceImpl; import cx.ring.utils.ConversationPath; -import cx.ring.utils.MediaButtonsHelper; public class ConversationActivity extends AppCompatActivity implements Colorable { diff --git a/ring-android/app/src/main/java/cx/ring/fragments/SIPAccountCreationFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/SIPAccountCreationFragment.java index ab5d2b17a..36edb7b49 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/SIPAccountCreationFragment.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/SIPAccountCreationFragment.java @@ -84,11 +84,11 @@ public class SIPAccountCreationFragment extends BaseSupportFragment<SIPCreationP //orientation is locked during the create of account to avoid the destruction of the thread getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED); - String alias = binding.alias.getText().toString(); String hostname = binding.hostname.getText().toString(); + String proxy = binding.proxy.getText().toString(); String username = binding.username.getText().toString(); String password = binding.password.getText().toString(); - presenter.startCreation(alias, hostname, username, password, bypassWarnings); + presenter.startCreation(hostname, proxy, username, password, bypassWarnings); } @Override @@ -109,16 +109,9 @@ public class SIPAccountCreationFragment extends BaseSupportFragment<SIPCreationP @Override public void resetErrors() { - binding.alias.setError(null); binding.password.setError(null); } - @Override - public void showAliasError() { - binding.alias.setError(getString(R.string.error_field_required)); - binding.alias.requestFocus(); - } - @Override public void showPasswordError() { binding.password.setError(getString(R.string.error_field_required)); diff --git a/ring-android/app/src/main/res/layout/frag_acc_sip_create.xml b/ring-android/app/src/main/res/layout/frag_acc_sip_create.xml index c1ab74173..22b65e506 100644 --- a/ring-android/app/src/main/res/layout/frag_acc_sip_create.xml +++ b/ring-android/app/src/main/res/layout/frag_acc_sip_create.xml @@ -112,16 +112,17 @@ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"> <com.google.android.material.textfield.TextInputEditText - android:id="@+id/alias" + android:id="@+id/hostname" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="8dp" - android:hint="@string/prompt_alias" - android:drawableStart="@drawable/baseline_account_crop_24" - android:drawablePadding="5dp" + android:hint="@string/prompt_hostname" + android:drawableStart="@drawable/baseline_language_18" android:imeOptions="flagNoExtractUi" + android:drawablePadding="5dp" android:maxLines="1" - android:singleLine="true" /> + android:singleLine="true" + android:typeface="monospace" /> </com.google.android.material.textfield.TextInputLayout> <com.google.android.material.textfield.TextInputLayout @@ -130,17 +131,16 @@ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"> <com.google.android.material.textfield.TextInputEditText - android:id="@+id/hostname" + android:id="@+id/proxy" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="8dp" - android:hint="@string/prompt_hostname" - android:drawableStart="@drawable/baseline_language_18" - android:imeOptions="flagNoExtractUi" + android:hint="@string/account_sip_proxy_label" + android:drawableStart="@drawable/baseline_dns_24" android:drawablePadding="5dp" + android:imeOptions="flagNoExtractUi" android:maxLines="1" - android:singleLine="true" - android:typeface="monospace" /> + android:singleLine="true" /> </com.google.android.material.textfield.TextInputLayout> <com.google.android.material.textfield.TextInputLayout diff --git a/ring-android/app/src/main/res/values/strings_account.xml b/ring-android/app/src/main/res/values/strings_account.xml index 63e81fc78..0ffde5a80 100644 --- a/ring-android/app/src/main/res/values/strings_account.xml +++ b/ring-android/app/src/main/res/values/strings_account.xml @@ -137,6 +137,8 @@ along with this program; if not, write to the Free Software <string name="account_proxy_server_label">DHT proxy address</string> <string name="account_proxy_server_list_label">DHT proxy list URL</string> + <string name="account_sip_proxy_label">Proxy</string> + <string name="account_peer_discovery_label">Local peer discovery</string> <string name="account_peer_discovery_enable_label">Enable local peer discovery</string> <string name="account_peer_discovery_enable_summary">Connect to other DHT nodes advertising on our local network</string> diff --git a/ring-android/libringclient/src/main/java/cx/ring/mvp/SIPCreationView.java b/ring-android/libringclient/src/main/java/cx/ring/mvp/SIPCreationView.java index 459a89765..3a7d53dcf 100644 --- a/ring-android/libringclient/src/main/java/cx/ring/mvp/SIPCreationView.java +++ b/ring-android/libringclient/src/main/java/cx/ring/mvp/SIPCreationView.java @@ -27,8 +27,6 @@ public interface SIPCreationView { void resetErrors(); - void showAliasError(); - void showPasswordError(); void showIP2IPWarning(); diff --git a/ring-android/libringclient/src/main/java/cx/ring/wizard/SIPCreationPresenter.java b/ring-android/libringclient/src/main/java/cx/ring/wizard/SIPCreationPresenter.java index 6c3e3d142..cb3831154 100644 --- a/ring-android/libringclient/src/main/java/cx/ring/wizard/SIPCreationPresenter.java +++ b/ring-android/libringclient/src/main/java/cx/ring/wizard/SIPCreationPresenter.java @@ -83,19 +83,13 @@ public class SIPCreationPresenter extends RootPresenter<SIPCreationView> { * @param password password account value * @param bypassWarning Report eventual warning to the user */ - public void startCreation(String alias, String hostname, String username, String password, boolean bypassWarning) { + public void startCreation(String hostname, String proxy, String username, String password, boolean bypassWarning) { getView().resetErrors(); // Store values at the time of the login attempt. boolean warningIPAccount = false; - // Alias is mandatory - if (alias == null || alias.isEmpty()) { - getView().showAliasError(); - return; - } - if (hostname != null && hostname.isEmpty()) { warningIPAccount = true; } @@ -116,9 +110,10 @@ public class SIPCreationPresenter extends RootPresenter<SIPCreationView> { HashMap<String, String> accountDetails = initAccountDetails(); if (accountDetails != null) { - accountDetails.put(ConfigKey.ACCOUNT_ALIAS.key(), alias); + accountDetails.put(ConfigKey.ACCOUNT_ALIAS.key(), username); if (hostname != null && !hostname.isEmpty()) { accountDetails.put(ConfigKey.ACCOUNT_HOSTNAME.key(), hostname); + accountDetails.put(ConfigKey.ACCOUNT_ROUTESET.key(), proxy); accountDetails.put(ConfigKey.ACCOUNT_USERNAME.key(), username); accountDetails.put(ConfigKey.ACCOUNT_PASSWORD.key(), password); } -- GitLab