From 7d256dbadd7e961b22e61cb04871edf2d5419ed4 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 9 May 2017 12:35:55 +0200 Subject: [PATCH] Fix assistant Add prefix on proxy config Link phone number on the right account --- src/android/org/linphone/AccountPreferencesFragment.java | 1 + src/android/org/linphone/assistant/AssistantActivity.java | 3 +++ .../assistant/CreateAccountCodeActivationFragment.java | 8 +++++--- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/android/org/linphone/AccountPreferencesFragment.java b/src/android/org/linphone/AccountPreferencesFragment.java index f38767935..00be3bc26 100644 --- a/src/android/org/linphone/AccountPreferencesFragment.java +++ b/src/android/org/linphone/AccountPreferencesFragment.java @@ -254,6 +254,7 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen assistant.setClass(LinphoneActivity.instance(), AssistantActivity.class); assistant.putExtra("LinkPhoneNumber", true); assistant.putExtra("FromPref", true); + assistant.putExtra("AccountNumber", n); startActivity(assistant); return true; } diff --git a/src/android/org/linphone/assistant/AssistantActivity.java b/src/android/org/linphone/assistant/AssistantActivity.java index 2f3aa0b81..dd8b62081 100644 --- a/src/android/org/linphone/assistant/AssistantActivity.java +++ b/src/android/org/linphone/assistant/AssistantActivity.java @@ -376,6 +376,9 @@ private static AssistantActivity instance; if (LinphonePreferences.instance() != null) proxyConfig.setContactUriParameters(LinphonePreferences.instance().getPushNotificationRegistrationID()); + if (accountCreator.getPhoneNumber() != null && accountCreator.getPhoneNumber().length() > 0) + proxyConfig.setDialPrefix(accountCreator.getPrefix(accountCreator.getPhoneNumber())); + proxyConfig.done(); authInfo = LinphoneCoreFactory.instance().createAuthInfo( diff --git a/src/android/org/linphone/assistant/CreateAccountCodeActivationFragment.java b/src/android/org/linphone/assistant/CreateAccountCodeActivationFragment.java index 586f35991..0f4c94ed0 100644 --- a/src/android/org/linphone/assistant/CreateAccountCodeActivationFragment.java +++ b/src/android/org/linphone/assistant/CreateAccountCodeActivationFragment.java @@ -44,7 +44,7 @@ public class CreateAccountCodeActivationFragment extends Fragment implements Lin private TextView title, phonenumber; private EditText code; private boolean recoverAccount = false, linkAccount = false; - private int code_length; + private int code_length, accountNumber; private ImageView back; private Button checkAccount; private LinphoneAccountCreator accountCreator; @@ -59,6 +59,7 @@ public class CreateAccountCodeActivationFragment extends Fragment implements Lin dialcode = getArguments().getString("Dialcode"); recoverAccount = getArguments().getBoolean("RecoverAccount"); linkAccount = getArguments().getBoolean("LinkAccount"); + accountNumber = getArguments().getInt("AccountNumber"); code_length = LinphonePreferences.instance().getCodeLength(); accountCreator = LinphoneCoreFactory.instance().createAccountCreator(LinphoneManager.getLc(), LinphonePreferences.instance().getXmlrpcUrl()); @@ -118,8 +119,8 @@ public class CreateAccountCodeActivationFragment extends Fragment implements Lin } private void linkAccount(){ - accountCreator.setUsername(LinphonePreferences.instance().getAccountUsername(LinphonePreferences.instance().getDefaultAccountIndex())); - accountCreator.setHa1(LinphonePreferences.instance().getAccountHa1(LinphonePreferences.instance().getDefaultAccountIndex())); + accountCreator.setUsername(LinphonePreferences.instance().getAccountUsername(accountNumber)); + accountCreator.setHa1(LinphonePreferences.instance().getAccountHa1(accountNumber)); accountCreator.activatePhoneNumberLink(); } @@ -179,6 +180,7 @@ public class CreateAccountCodeActivationFragment extends Fragment implements Lin return; } if(status.equals(LinphoneAccountCreator.RequestStatus.Ok)){ + LinphonePreferences.instance().setPrefix(accountNumber, accountCreator.getPrefix(accountCreator.getPhoneNumber())); LinphonePreferences.instance().setLinkPopupTime(""); AssistantActivity.instance().hideKeyboard(); AssistantActivity.instance().success();